Repository navigation
Version Packages - #6488
Open
github-actions[bot] wants to merge 1 commit into
Open
Version Packages#6488github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
30 times, most recently
from
October 6, 2026 13:09
1e2ead0 to
aeab1bb
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
16 times, most recently
from
October 7, 2026 10:45
f35f037 to
beda0fd
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
October 7, 2026 13:38
beda0fd to
1d010cd
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@dextinity/cms-admin@10.9.0
Minor Changes
e84ba03: TipTap Rich Text Block: define text block styles inside the text blocks
A text block style had to be configured in two places: globally in
textBlockStyles, and again through anappliesTolisting the text block types it was allowed for. Reading what a text block offers meant scanning every style'sappliesTo.A text block now carries its style definitions directly, and
textBlockStylesis gone. Text blocks that offer the same style share its definition, which makes the shared set explicit instead of implying it through repeated names.Example
In the API the styles are
{ name }objects, mirroring the Admin configuration without the labels and elements.A text block that needs no style choice carries its own
elementinstead ofstyles. The two exclude each other, so a text block offers a style choice or renders one way, never both:Migrating an existing configuration
textBlockStylesand a style'sappliesTo→ thestylesof the text blocks that offer the style.appliesTo: ["ordered-list", "unordered-list"]→orderedList/unorderedListaccept{ styles }instead oftrue.An inline style's
appliesTonow lists text block names (plusordered-list/unordered-list) instead of text block types.In the Admin, a style's
elementreceives the tag of the text block it is applied to, so one style can be shared:element: (props, Tag) => <Tag {...props} />.A style's
namestill identifies it in the content'stextBlockStyleattribute, so the stored content format is unchanged.Patch Changes
58aef82: Focus the rich text editor when editing a cell in
TableBlockf899c6b: Fix block editor keeping the previously selected block's content
Clicking a block in the block preview opens that block's editor in the block list. When the newly selected block had the same type as the previously selected one, React reused the already mounted admin component instead of remounting it. Editors that build internal state on mount, most notably the TipTap rich text block whose document is created once from the initial content, therefore kept showing the previous block's content.
The admin component rendered by
createBlocksBlockandcreateListBlockis now keyed by the selected block, so it remounts whenever the selection changes.f486058: Fix the first scroll in the preview sometimes not working
When the preview loaded while the mouse was outside of it, the preview sometimes ignored the first attempt to scroll, for instance in mail previews.
fad8ab4: Scroll to and highlight the
TableBlockcell that was clicked in the block preview013a03f: Fix scrolling in the cell editor of the
TableBlockThe RTE toolbar no longer moves down and leaves a gap above it, and text below the window can now be reached with the mouse wheel.
be674a9: Fix pasting more text blocks than
maxTextBlocksallows into the TipTap Rich Text BlockInstead of cutting the content off at the limit, the editor threw an error. The extra text blocks stayed in the editor, and changes were missing from the saved content until it was back within the limit.
e9067c3: Fix saving a TipTap rich text that ends with a list
Since v10.8.0, the editor added an empty list after a list at the end of the content. The API rejects a list without items, so saving failed with "Validation failed". Removing the list didn't fix it: the empty list stayed at the end of the content, where editors couldn't see or remove it.
ProseMirror fills content with the schema's first block node, for instance after a list at the end of the content or when all content is deleted. When the
textBlocknode replaced the paragraph and heading nodes, it lost the paragraph's priority, so a list became the first block node. ThetextBlocknode gets the paragraph's priority again, so the editor adds an empty text block after a list, as it did before v10.8.0.With
maxTextBlocks, the editor only adds this empty text block when the content stays within the limit. Otherwise, a list as the last allowed block was followed by a block over the limit, and the content couldn't be saved.Updated dependencies [847b2a0]
@dextinity/cms-api@10.9.0
Minor Changes
d32c558: Write a block's description to
block-meta.jsonTools that read
block-meta.jsoncan use the description to tell the blocks of an application apart.Example
{ "name": "Headline", "description": "A headline with an optional eyebrow text above it. Use it to introduce a section.", "fields": [{ "name": "eyebrow", "kind": "String", "nullable": true }], "inputFields": [{ "name": "eyebrow", "kind": "String", "nullable": true }] }d32c558: Describe blocks whose purpose isn't obvious from their name and fields
RichTextandTipTapRichTextnow carry a description that says which rich text editor they use, since an application typically has both and their fields look alike.Seocarries a description of the fields it bundles (title, description, social preview, sitemap settings, canonical URL), since "Seo" alone doesn't say which of those it covers.The description reaches an application through
block-meta.json.e84ba03: TipTap Rich Text Block: define text block styles inside the text blocks
A text block style had to be configured in two places: globally in
textBlockStyles, and again through anappliesTolisting the text block types it was allowed for. Reading what a text block offers meant scanning every style'sappliesTo.A text block now carries its style definitions directly, and
textBlockStylesis gone. Text blocks that offer the same style share its definition, which makes the shared set explicit instead of implying it through repeated names.Example
In the API the styles are
{ name }objects, mirroring the Admin configuration without the labels and elements.A text block that needs no style choice carries its own
elementinstead ofstyles. The two exclude each other, so a text block offers a style choice or renders one way, never both:Migrating an existing configuration
textBlockStylesand a style'sappliesTo→ thestylesof the text blocks that offer the style.appliesTo: ["ordered-list", "unordered-list"]→orderedList/unorderedListaccept{ styles }instead oftrue.An inline style's
appliesTonow lists text block names (plusordered-list/unordered-list) instead of text block types.In the Admin, a style's
elementreceives the tag of the text block it is applied to, so one style can be shared:element: (props, Tag) => <Tag {...props} />.A style's
namestill identifies it in the content'stextBlockStyleattribute, so the stored content format is unchanged.Patch Changes
fa3c71f: Allow
class-validatorv0.15 as peer dependencyThe peer dependency range is widened to
^0.14.0 || ^0.15.0.class-validatorv0.15 changes the signature of@IsIBAN(): it now accepts an options argument, which breaks existing calls that pass an argument, e.g.@IsIBAN({ forbidUnknownValues: false }). Check your usage of@IsIBAN()before upgrading to v0.15.4446a81: Fix validation error for block inputs without validation annotations
Saving a document failed with
an unknown value was passed to the validate functionas soon as it contained a block whose input class has no class-validator annotations at all, for instance a block without fields. class-validator rejects such classes since v0.14, whereforbidUnknownValuesis enabled by default. Affected were, among others, link blocks in rich text blocks (DraftJS and TipTap) as their links are validated with a directvalidate()call.BlockInputnow provides validation metadata, so block inputs validate as expected no matter which validation path is used.8c8f1c4: Update
nodemailerto v10nodemailer now ships its own type definitions, so
@types/nodemaileris no longer needed. The return type ofMailerService#sendMailis now theSentMessageInforeturned by the transport instead of the (incorrect)Mailtype.Since v9, nodemailer validates TLS certificates when fetching remote content (e.g., attachments with an
href). To fetch from a host with a self-signed certificate, add its certificate or CA to the trusted ones (e.g., viaNODE_EXTRA_CA_CERTSor thetls.caoption of the attachment) instead of disabling certificate verification.e9067c3: Fix saving a TipTap rich text that ends with a list
Since v10.8.0, the editor added an empty list after a list at the end of the content. The API rejects a list without items, so saving failed with "Validation failed". Removing the list didn't fix it: the empty list stayed at the end of the content, where editors couldn't see or remove it.
ProseMirror fills content with the schema's first block node, for instance after a list at the end of the content or when all content is deleted. When the
textBlocknode replaced the paragraph and heading nodes, it lost the paragraph's priority, so a list became the first block node. ThetextBlocknode gets the paragraph's priority again, so the editor adds an empty text block after a list, as it did before v10.8.0.With
maxTextBlocks, the editor only adds this empty text block when the content stays within the limit. Otherwise, a list as the last allowed block was followed by a block over the limit, and the content couldn't be saved.@dextinity/mail-react@10.9.0
Minor Changes
aca736f: Add
createTipTapRichTextBlockRenders CMS Tip-Tap rich text block data in emails, the successor to the draft-js block that
createRichTextBlockrenders. It goes through the same components and class names, so styling written for one block applies to the other.Example
@dextinity/admin@10.9.0
Patch Changes
847b2a0: Restore the search field's
searchboxrole inGridToolbarQuickFilterThe role and id that MUI's
QuickFilterControlsupplies for the input element were dropped, leaving the placeholder as the only way to address the field — for assistive technology as well as for end-to-end tests.@dextinity/admin-color-picker@10.9.0
Patch Changes
@dextinity/admin-date-time@10.9.0
Patch Changes
@dextinity/admin-generator@10.9.0
Patch Changes
@dextinity/admin-rte@10.9.0
Patch Changes
@dextinity/brevo-admin@10.9.0
Patch Changes
@dextinity/agent-features@10.9.0
Patch Changes
2a1aba3: Limit the TypeScript rule about
@src/…imports to projects that define the aliasLibrary packages compiled with plain
tsccan't use path aliases, becausetscdoesn't rewrite them in its output.Agents and review bots no longer flag their relative imports of ancestor files.
@dextinity/api-generator@10.9.0
Patch Changes
fa3c71f: Allow
class-validatorv0.15 as peer dependencyThe peer dependency range is widened to
^0.14.0 || ^0.15.0.class-validatorv0.15 changes the signature of@IsIBAN(): it now accepts an options argument, which breaks existing calls that pass an argument, e.g.@IsIBAN({ forbidUnknownValues: false }). Check your usage of@IsIBAN()before upgrading to v0.15.91131d2: Fix import paths in nested entity resolvers when the nested entity is located in a different directory
The resolver is written to the parent entity's
generateddirectory, but the import paths were calculated relative to the nested entity'sgenerateddirectory.Updated dependencies [fa3c71f]
Updated dependencies [d32c558]
Updated dependencies [d32c558]
Updated dependencies [4446a81]
Updated dependencies [8c8f1c4]
Updated dependencies [e9067c3]
Updated dependencies [e84ba03]
@dextinity/brevo-api@10.9.0
Patch Changes
@dextinity/cli@10.9.0
Patch Changes
43c28ef: Resolve all 1Password references in
inject-site-configswith a singleop injectcallPreviously,
inject-site-configsstarted oneop readprocess per reference and site-config placeholder, which took about 1.2 seconds each.Now each unique reference is read once, which also reduces the reads counted against the 1Password rate limits.
4bc8293: Insert 1Password secrets literally in
inject-site-configsPreviously,
$&,$'and$`in a secret were interpreted as replacement patterns, so the injected value differed from the secret stored in 1Password.@dextinity/eslint-config@10.9.0
Patch Changes
@dextinity/site-nextjs@10.9.0
Patch Changes
@dextinity/admin-babel-preset@10.9.0
@dextinity/admin-icons@10.9.0
@dextinity/eslint-plugin@10.9.0
@dextinity/site-react@10.9.0