Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions docs/css/pills.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion docs/js/release-notes.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,13 @@
const releaseNotesItems = [...releaseNotesNodes].map((releaseNotesNode) => {
const tagsNodes = releaseNotesNode.querySelectorAll('.release-note__tags .pill');
const tagsItems = [...tagsNodes].map((tagNode) => `filter-${tagNode.dataset.filter}`);
const id = releaseNotesNode.getElementsByTagName('h2')[0].getAttribute('id');
const tocEntry = doc.querySelector(`.md-sidebar--secondary a[href="#${id}"]`).parentNode;

return {
node: releaseNotesNode,
tags: tagsItems,
toc: tocEntry,
};
});
const handleClickOutside = ({ target }) => {
Expand All @@ -46,10 +49,11 @@
filterItem.addEventListener('change', () => {
const checkedItems = [...filterItems].filter(({ checked }) => checked).map(({ id }) => id);

releaseNotesItems.forEach(({ node, tags }) => {
releaseNotesItems.forEach(({ node, tags, toc }) => {
const isVisible = checkedItems.length === 0 || tags.some((tag) => checkedItems.includes(tag));

node.classList.toggle('release-note--hidden', !isVisible);
toc.classList.toggle('release-note--hidden', !isVisible);
});
visibleItems.forEach((visibleItem) => {
const isVisible = checkedItems.includes(visibleItem.dataset.filter);
Expand Down
104 changes: 82 additions & 22 deletions docs/release_notes/ibexa_dxp_v4.6.md

Large diffs are not rendered by default.

19 changes: 11 additions & 8 deletions docs/release_notes/ibexa_dxp_v5.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ month_change: false

<!-- vale VariablesVersion = NO -->

[[= release_notes_filters('Ibexa DXP v5.0 LTS', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
[[= release_notes_filters('Ibexa DXP v5.0 LTS', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]

<div class="release-notes" markdown="1">

Expand Down Expand Up @@ -67,7 +67,7 @@ The [Collaborative editing](collaborative_editing.md) REST API endpoints are now

[[% set version = 'v5.0.4' %]]

[[= release_note_entry_begin("Integrated help " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
[[= release_note_entry_begin("Integrated help " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]

Integrated help brings contextual documentation, guidance, and partner-specific resources right into the user interface of [[= product_name =]].
It helps editors, store managers, and developers to quickly access relevant content, training and resources without leaving the UI, narrowing the gap between product and documentation.
Expand All @@ -80,7 +80,7 @@ For more information, see [Integrated help](integrated_help.md).

[[= release_note_entry_end() =]]

[[= release_note_entry_begin("Anthropic connector " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
[[= release_note_entry_begin("Anthropic connector " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]

This release introduces a new AI connector that allows you to integrate [AI Actions](ai_actions.md) with [Anthropic Claude](https://claude.com/product/overview).

Expand Down Expand Up @@ -145,7 +145,6 @@ The following additions were made to the PHP API:
- [`Ibexa\Contracts\FieldTypeRichTextRTE\ToS\ToSServiceInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-FieldTypeRichTextRTE-ToS-ToSServiceInterface.html)
- [`Ibexa\Contracts\Share\Mapper\Action\ShareActionItemsMapperInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Share-Mapper-Action-ShareActionItemsMapperInterface.html)


##### AI Taxonomy suggestions:

- [`Ibexa\Contracts\ConnectorAi\Action\DataType\Taxonomy`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-ConnectorAi-Action-DataType-Taxonomy.html)
Expand Down Expand Up @@ -176,22 +175,24 @@ The following additions were made to the PHP API:
- [`Ibexa\Contracts\Taxonomy\Embedding\TaxonomyEmbeddingFieldProviderInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Taxonomy-Embedding-TaxonomyEmbeddingFieldProviderInterface.html)
- [`Ibexa\Contracts\Taxonomy\Search\Query\Value\TaxonomyEmbedding`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Taxonomy-Search-Query-Value-TaxonomyEmbedding.html)

##### Search:
##### Search

- [`Ibexa\Contracts\AdminUi\ContentType\ContentTypeFieldsByExpressionServiceInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-AdminUi-ContentType-ContentTypeFieldsByExpressionServiceInterface.html)
- [`Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-CoreSearch-Values-Query-PaginationAwareInterface.html)
- [`Ibexa\Contracts\SiteFactory\Values\Query\Criterion\MatchTreeRootLocationIds`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-SiteFactory-Values-Query-Criterion-MatchTreeRootLocationIds.html)

##### Other:
##### Other

- [`Ibexa\Contracts\ProductCatalog\CapabilitiesEnum`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-CapabilitiesEnum.html)
- [`Ibexa\Contracts\ProductCatalog\CapabilitiesServiceInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-CapabilitiesServiceInterface.html)
- [`Ibexa\Contracts\User\PasswordReset\NotifierInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-User-PasswordReset-NotifierInterface.html)

[[% include 'snippets/release_50.md' %]]

[[= release_note_entry_end() =]]

[[% set version = 'v5.0.3' %]]

[[= release_note_entry_begin("Ibexa DXP " + version, '2024-10-17', ['Headless', 'Experience', 'Commerce']) =]]

### Security
Expand Down Expand Up @@ -234,12 +235,13 @@ The PHP API has been expanded with the following:
- [`Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Id`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Values-ContentType-Query-SortClause-Id.html)
- [`Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Identifier`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Values-ContentType-Query-SortClause-Identifier.html)
- [`Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Name`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Values-ContentType-Query-SortClause-Name.html)


[[% include 'snippets/release_50.md' %]]

[[= release_note_entry_end() =]]

[[% set version = 'v5.0.2' %]]

[[= release_note_entry_begin("Ibexa DXP " + version, '2025-09-09', ['Headless', 'Experience', 'Commerce', 'New feature']) =]]

### Collaboration
Expand Down Expand Up @@ -423,7 +425,8 @@ This release brings additional minor improvements to the developer's experience
[[= release_note_entry_end() =]]

[[% set version = 'v5.0.0' %]]
[[= release_note_entry_begin("Ibexa DXP " + version, '2025-07-22', ['Headless', 'Experience', 'Commerce', 'New feature']) =]]

[[= release_note_entry_begin("Ibexa DXP " + version, '2025-07-22', ['Headless', 'Experience', 'Commerce', 'New feature', 'First release']) =]]

### Notable changes

Expand Down
2 changes: 1 addition & 1 deletion main.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ def slugify(text: str) -> str:
return text.lower().replace(' ', '-')

def validate_categories(categories: List[str]) -> None:
available_categories = ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']
available_categories = ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']

for category in categories:
if category not in available_categories:
Expand Down
9 changes: 9 additions & 0 deletions scss/_variables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,12 @@ $color-light-400: #ECECF1;

$color-dark: #131C26;
$color-dark-400: #71767C;

$color-headless: #C4234A;
$color-experience: #D3822B;
$color-commerce: #A32768;
$color-lts-update: #5DA7C0;
$color-new-feature: #2C9445;
$color-first-release: #2C9445;

$color-new-doc: #3562A0;
14 changes: 7 additions & 7 deletions scss/pills.scss
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@
color: variables.$color-primary-main;

$types: (
"headless": (variables.$color-error-main, "Headless"),
"experience": (variables.$color-warning-dark-01, "Experience"),
"commerce": (variables.$color-primary-main, "Commerce"),
"lts-update": (variables.$color-info-main, "LTS Update"),
"new-feature": (variables.$color-success-main, "New feature")
"headless": (variables.$color-headless, "Headless"),
"experience": (variables.$color-experience, "Experience"),
"commerce": (variables.$color-commerce, "Commerce"),
"lts-update": (variables.$color-lts-update, "LTS Update"),
"new-feature": (variables.$color-new-feature, "New feature"),
"first-release": (variables.$color-first-release, "First release")
);

@each $name, $values in $types {
Expand All @@ -41,8 +42,7 @@
&--new {
margin-right: 15px;
align-self: center;
color: #d9e8ff;
color: #3562a0;
color: variables.$color-new-doc;
text-transform: lowercase;
}
}
Expand Down
Loading