Skip to content

Version Packages#2402

Merged
christianhg merged 1 commit intomainfrom
changeset-release/main
Mar 30, 2026
Merged

Version Packages#2402
christianhg merged 1 commit intomainfrom
changeset-release/main

Conversation

@ecoscript
Copy link
Copy Markdown
Contributor

@ecoscript ecoscript bot commented Mar 20, 2026

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

@portabletext/editor@6.6.0

Minor Changes

  • #2387 055bdb1 Thanks @christianhg! - feat: simplify internal DOM mapping

    Introduces a new data-pt-path attribute on editor DOM nodes to aid the mapping between the internal model and the DOM.

    Path attributes use serialized paths like data-pt-path="[_key=="k0"].children[_key=="s1"]" for a text block span.

  • #2398 041fef0 Thanks @christianhg! - feat: internal Portable Text-native node traversal

    Replaces the vendored Slate traversal system with schema-driven functions that resolve children on any node type, not just .children. The old system hardcoded .children as the only child field, which blocks first-class nesting where children will live in schema-defined fields like rows, cells, or content.

Patch Changes

  • #2414 ff8220d Thanks @christianhg! - fix: add proper internal check for leaf nodes

    Add an isLeaf predicate that correctly distinguishes between nodes that cannot have children and nodes that currently have no children. This replaces ad-hoc isSpan || isObjectNode checks in operations with a proper leaf node check that is aware of editable containers.

  • #2430 f1a6fb4 Thanks @christianhg! - fix: allow set patch to replace entire editor value

  • #2427 a8bdabb Thanks @christianhg! - fix: inline extractProps into applySplitNode

  • #2421 b97146c Thanks @christianhg! - fix: use lax type guards for text block and span identification

  • #2429 4247d17 Thanks @christianhg! - fix(perf): reduce unnecessary memory allocations in editor hot path

  • #2420 56c20c3 Thanks @christianhg! - fix: handle spans with missing text property during normalization and rendering

  • #2425 d1928a2 Thanks @christianhg! - fix: move text/plain inherit-formatting to deserialize.data

    Consumer behaviors on deserialize.data can now override the default text/plain paste handling. Previously, the inherit-formatting logic ran on deserialization.success, which stripped structure from any blocks produced by consumer deserialize.data behaviors.

  • Updated dependencies [251c51b]:

    • @portabletext/markdown@1.2.0

@portabletext/markdown@1.2.0

Minor Changes

  • #2417 251c51b Thanks @christianhg! - feat: add first-class GFM callout support

    GFM callouts (> [!NOTE], > [!TIP], > [!WARNING], etc.) are now parsed as structured callout objects instead of regular blockquotes. A DefaultCalloutRenderer is also available for serializing callout objects back to GFM syntax. Consumers can customize callout handling via the types.callout matcher option.

    import {markdownToPortableText} from '@portabletext/markdown'
    
    markdownToPortableText('> [!NOTE]\n> This is a note')
    // => [{_type: 'callout', tone: 'note', content: [...]}]
    import {
      DefaultCalloutRenderer,
      portableTextToMarkdown,
    } from '@portabletext/markdown'
    
    portableTextToMarkdown(blocks, {
      types: {callout: DefaultCalloutRenderer},
    })
    // => '> [!NOTE]\n> This is a note'

@portabletext/plugin-character-pair-decorator@7.0.23

Patch Changes

@portabletext/plugin-emoji-picker@6.0.23

Patch Changes

@portabletext/plugin-input-rule@4.0.23

Patch Changes

@portabletext/plugin-markdown-shortcuts@7.0.23

Patch Changes

@portabletext/plugin-one-line@6.0.23

Patch Changes

@portabletext/plugin-paste-link@3.0.23

Patch Changes

@portabletext/plugin-sdk-value@6.0.23

Patch Changes

@portabletext/plugin-typeahead-picker@5.0.23

Patch Changes

@portabletext/plugin-typography@7.0.23

Patch Changes

@portabletext/toolbar@7.0.23

Patch Changes

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
portable-text-editor-documentation Ready Ready Preview, Comment Mar 30, 2026 8:02am
portable-text-example-basic Ready Ready Preview, Comment Mar 30, 2026 8:02am
portable-text-playground Ready Ready Preview, Comment Mar 30, 2026 8:02am

Request Review

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 20, 2026

📦 Bundle Stats — @portabletext/editor

Compared against main (f1a6fb46)

@portabletext/editor

Metric Value vs main (f1a6fb4)
Internal (raw) 758.4 KB -
Internal (gzip) 142.7 KB -
Bundled (raw) 1.37 MB -
Bundled (gzip) 306.7 KB -
Import time 98ms +1ms, +0.5%

@portabletext/editor/behaviors

Metric Value vs main (f1a6fb4)
Internal (raw) 467 B -
Internal (gzip) 207 B -
Bundled (raw) 424 B -
Bundled (gzip) 171 B -
Import time 6ms -0ms, -1.5%

@portabletext/editor/plugins

Metric Value vs main (f1a6fb4)
Internal (raw) 2.5 KB -
Internal (gzip) 910 B -
Bundled (raw) 2.3 KB -
Bundled (gzip) 839 B -
Import time 12ms -0ms, -1.8%

@portabletext/editor/selectors

Metric Value vs main (f1a6fb4)
Internal (raw) 60.5 KB -
Internal (gzip) 9.5 KB -
Bundled (raw) 56.9 KB -
Bundled (gzip) 8.7 KB -
Import time 10ms -0ms, -0.5%

@portabletext/editor/utils

Metric Value vs main (f1a6fb4)
Internal (raw) 24.2 KB -
Internal (gzip) 4.7 KB -
Bundled (raw) 22.2 KB -
Bundled (gzip) 4.4 KB -
Import time 9ms -0ms, -0.7%

🗺️ . · ./behaviors · ./plugins · ./selectors · ./utils · Artifacts

Details
  • Import time regressions over 10% are flagged with ⚠️
  • Sizes shown as raw / gzip 🗜️. Internal bytes = own code only. Total bytes = with all dependencies. Import time = Node.js cold-start median.

@ecoscript ecoscript bot force-pushed the changeset-release/main branch from 21be859 to 2328ce6 Compare March 24, 2026 13:33
@ecoscript ecoscript bot force-pushed the changeset-release/main branch from 2328ce6 to f49a3e1 Compare March 24, 2026 14:52
@ecoscript ecoscript bot force-pushed the changeset-release/main branch from f49a3e1 to 18cbf0b Compare March 25, 2026 09:33
@ecoscript ecoscript bot force-pushed the changeset-release/main branch from 18cbf0b to b954e4e Compare March 27, 2026 14:14
@ecoscript ecoscript bot force-pushed the changeset-release/main branch 2 times, most recently from b3241f8 to ec4e382 Compare March 27, 2026 22:09
@ecoscript ecoscript bot force-pushed the changeset-release/main branch from ec4e382 to 6e1c5a2 Compare March 29, 2026 08:26
@ecoscript ecoscript bot force-pushed the changeset-release/main branch from 3d96d2d to 14e92ff Compare March 29, 2026 12:57
@ecoscript ecoscript bot force-pushed the changeset-release/main branch from 14e92ff to 6e98cad Compare March 29, 2026 12:59
@ecoscript ecoscript bot force-pushed the changeset-release/main branch from 6e98cad to 023dd82 Compare March 29, 2026 13:28
@ecoscript ecoscript bot force-pushed the changeset-release/main branch from 023dd82 to 6511961 Compare March 30, 2026 06:50
@ecoscript ecoscript bot force-pushed the changeset-release/main branch from 6511961 to 85e187d Compare March 30, 2026 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant