v16.2.1-canary.2
- Turbopack: enable server HMR for app route handlers: #91466
- Skip loadBindings() Lightning CSS check during next start: #91538
- refactor: extract build infra and alias changes: #90422
- feat(node-streams): add config flag, define-env, and env precedence test: #90427
- Rename /_next/webpack-hmr to /_next/hmr: #91415
- ci: add node-stream test coverage workflow: #89861
- Add per-slot error attribution for instant validation using slot markers and config depth preference: #91610
- Handle encoded params further: #91627
- Fix missing route in otel spans without base-server: #91665
- turbo-tasks-backend: batch find_and_schedule_dirty using for_each_task_meta: #91497
- Restructure pr-status-triage skill: merge command into skill files: #91514
- [turbopack] Use bail! instead of panic! for duplicate module ident error: #91636
- turbo-tasks-backend: batch schedule dirty tasks in aggregation_update: #91461
- Turbopack: Add importModule() support to webpack loaders: #89630
- turbo-persistence: fix mmap page alignment and improve error context in MetaFile::open_internal: #91640
- turbopack-css: demote recoverable CSS parse warnings to Warning severity: #91524
- [test] Unflake "infinite streaming fetch" test: #91645
- [test] Unflake
deterministic build - changing deployment idtest: #91646 - Skip CI for agent/editor config directory changes: #91622
- Update Rspack production test manifest: #91635
- [test] Increase
retrytimeouts for two flakyapp-actiontests: #91647 - Revert "ci: add node-stream test coverage workflow (#89861)"
- [test] Fix flaky
url-hashtests: #91649 - Add instant validation tests for parallel slot config attribution: #91656
- [turbopack] Respect
{eval:true}in worker_threads constructors: #91666
Huge thanks to @wbinnssmith, @sokra, @unstubbable, @devjiwonchoi, @timneutkens, @feedthejim, @vercel-release-bot, @gnoff, @ijjk, and @lukesandberg for helping!
v0.42.0
v0.42.0 is a monthly release with a huge number of fixes and features from a lot of new contributors. The most notable fixes are related to tables, links, extensions, and markdown. @lexical/eslint-plugin is now fully compatible with eslint 9+. The production builds are also now generated in an ascii-only format which may considerably reduce memory usage in some deployment environments.
Prism highlighting now lives in @lexical/code-prism and the Prism related functionality in @lexical/code is now deprecated. Transitionally, there is a @lexical/code-core package which has the implementation of Lexical's code functionality without a Prism dependency.
Due to its experimental nature and incomplete implementation, the in-progress hasFitNestedTables functionality has been moved to the playground
After $copyNode is used it now calls copiedNode.resetOnCopyNodeFrom(originalNode) which will reset every NodeState that has resetOnCopyNode: true in its configuration. Subclasses can override this method to reset other "ephemeral" state such as whether a ListNodeItem is checked or not.
Note that this does not influence serialization or copy and paste operations, it only affects calls to $copyNode.
The current behavior RangeSelection.insertNodes can split an inline ElementNode (e.g. a LinkNode) when inserting content, even if that content is also inline and could be a child of the given node. $insertNodeIntoLeaf is now provided to insert a node without splitting any containing nodes.
Core:
- 🧹 #8190 Change EditorThemeClasses from type to interface
- ✅ #8218 Respect CSS scroll-padding in scrollIntoViewIfNeeded
- ✅ #8220 deleteWord now behaves the same as deleteCharacter when at the edge of an ElementNode
- 🆕 #8221 resetOnCopyNode configuration to NodeState and LexicalNode.resetOnCopyNodeFrom hook
- 🆕 #8219 LexicalEditor RootListener and EditableListener can return unregister callbacks
- ✅ #8222 Consecutive Linebreak insertion now preserves selection format
Code:
⚠️ #8198 Extract Prism highlighting code to@lexical/code-prismand add@lexical/code-coreto provide a dependency that does not include Prism.@lexical/coderemains backwards compatible with Prism included, but you should migrate to using highlighting from@lexical/code-shikior@lexical/code-prism.
Devtools:
- ✅ #8230 Clean up strict mode useLexicalCommandsLog behavior
Extension:
- 🆕 #8202 LexicalExtensionEditorComposer, NestedEditorExtension, and fixed SharedHistoryExtension with playground refactor
Markdown:
- ✅ #8170 Enforce CommonMark flanking rules for trailing spaces
- ✅ #8192 Update backslash handling to comply with CommonMark
- ✅ #8211 Convert tabs to TabNode on import
Link:
- ✅ #8165 Enable autolink matching when unlinked
- 🆕 #8236 Merge adjacent LinkNodes with identical attributes
Eslint Plugin:
- 🧹 #8227 Add flat configuration and full eslint 9+ support for
@lexical/eslint-plugin
List:
- 🆕 #8213 Create copies of ListNode/ListItemNode in split-like operations
React:
- 🧹#8199 Remove deprecated ContextMenu, consolidate menu rendering with backward-compatible menuRenderFn
Table:
- ✅ #8187 Use monolithic listener for
SELECTION_CHANGE_COMMANDand deselection handler - ✅ #8193 Improve nested table selection by using monolithic pointer event handling
- ✅ #8195 Prevent single-cell table selection after exiting table selection
- ✅ #8200 Call $handleTableSelectionChangeCommand once instead of per-table
- 🧹 #8215 Add test for mouse leaving browser window during table selection
⚠️ #8210 hasFitNestedTables functionality moved to the playground- ✅ #8234 Handle table selections crossing into/out of nested tables
Utils:
- 🆕 #8206 Add $insertNodeIntoLeaf with example usage in playground DateTimeNode
Misc:
- 🧹 #8229 #8235 #8226 #8241 Add and fix afterCloneFrom and accessor implementations
Infrastructure
- 🧹 #8239 Upgrade rollup packages and configure terser for ascii_only output
Playground:
- ✅ #8186 Add fallback for dimensionless images to prevent collapse
- 🧹 #8188 Remove legacy events mode
- 🆕 #8183 Nested tables resize themselves with hasFitNestedTables: true
- ✅ #8214 Use inline style for LayoutContainerNode import
- ✅ #8228 Fix cursor position after EquationNode
- ✅ #8224 make clear formatting work on multiple paragraphs
- v0.41.0 by @etrepum in https://github.com/facebook/lexical/pull/8166
- Update examples for v0.41.0 by @etrepum in https://github.com/facebook/lexical/pull/8171
- [lexical] Chore: Fix minimatch CVE-2026-26996 in example projects by @thatmichael85 in https://github.com/facebook/lexical/pull/8169
- Fix cross-spawn vulnerability (CVE-2024-21538) by removing child-process-promise by @thatmichael85 in https://github.com/facebook/lexical/pull/8177
- [lexical] Security: Fix qs vulnerability (CVE-2025-15284) by @thatmichael85 in https://github.com/facebook/lexical/pull/8176
- [lexical-markdown] Fix: enforce CommonMark flanking rules for trailing spaces by @Sa-Te in https://github.com/facebook/lexical/pull/8170
- [lexical] Chore: Fix form-data CVE-2025-7783 in root lockfile by @thatmichael85 in https://github.com/facebook/lexical/pull/8174
- [lexical] Security: Fix @isaacs/brace-expansion vulnerability (CVE-2026-25547) by @thatmichael85 in https://github.com/facebook/lexical/pull/8175
- [lexical] Chore: Fix rollup CVE-2026-27606 across all lockfiles by @thatmichael85 in https://github.com/facebook/lexical/pull/8173
- Fix rollup CVE-2026-27606 in example project lockfiles by @thatmichael85 in https://github.com/facebook/lexical/pull/8182
- [lexical-link] Bug Fix: Enable autolink matching when it unlinked by @levensta in https://github.com/facebook/lexical/pull/8165
- [lexical-playground] Fix: add fallback for dimensionless images to prevent collapse by @Sa-Te in https://github.com/facebook/lexical/pull/8186
- [lexical-playground] Chore: Remove legacy-events mode by @levensta in https://github.com/facebook/lexical/pull/8188
- [lexical] Chore: Change alias from type to interface for
EditorThemeClassesby @levensta in https://github.com/facebook/lexical/pull/8190 - [lexical-table] Refactor: use monolithic listener for table SELECTION_CHANGE_COMMAND and deselection handler by @randal-atticus in https://github.com/facebook/lexical/pull/8187
- [lexical-table][lexical-playground] Feature: nested tables resize themselves if hasFitNestedTables: true by @randal-atticus in https://github.com/facebook/lexical/pull/8183
- [lexical-markdown] Bug Fix: update backslash escape handling to align with CommonMark by @kimseongyu in https://github.com/facebook/lexical/pull/8192
- [lexical-table] Bug Fix: Improve nested table selection by using monolithic pointer event handling by @randal-atticus in https://github.com/facebook/lexical/pull/8193
- [lexical-code] Breaking Change: Extract Prism code highlighting to @lexical/code-prism (with internal module @lexical/code-core to avoid circular import) by @etrepum in https://github.com/facebook/lexical/pull/8198
- [lexical-table] Bug Fix: Prevent single-cell table selection after exiting table selection by @randal-atticus in https://github.com/facebook/lexical/pull/8195
- [lexical-react] Revert revert: Remove deprecated ContextMenu, consolidate menu rendering with backward-compatible menuRenderFn by @thatmichael85 in https://github.com/facebook/lexical/pull/8199
- [lexical-table] Refactor: Call $handleTableSelectionChangeCommand once instead of per-table by @randal-atticus in https://github.com/facebook/lexical/pull/8200
- [lexical-website] Bug Fix: Removed blog route from lexical.dev by @m-santanna in https://github.com/facebook/lexical/pull/8209
- [lexical-playground] Fix: use inline style for LayoutContainerNode import by @WhyBusyy in https://github.com/facebook/lexical/pull/8214
- [lexical-table] Chore: add test for mouse leaving browser window during table selection by @takenosuke-code in https://github.com/facebook/lexical/pull/8215
- [lexical-utils][lexical-playground] Feature: Add $insertNodeIntoLeaf and insert deeply DateTimeNode by @levensta in https://github.com/facebook/lexical/pull/8206
- [lexical] Bug Fix: respect CSS scroll-padding in scrollIntoViewIfNeeded by @takenosuke-code in https://github.com/facebook/lexical/pull/8218
- [lexical] Bug Fix: When the editor starts with an empty list item, pressing ctrl+backspace (deleteWord) should replace the list with a paragraph by @Jynx2004 in https://github.com/facebook/lexical/pull/8220
- [lexical][lexical-list][lexical-markdown] Feature: resetOnCopyNode configuration to NodeState and LexicalNode.resetOnCopyNodeFrom hook by @etrepum in https://github.com/facebook/lexical/pull/8221
- [lexical] Feature: LexicalEditor RootListener and EditableListener can return unregister callbacks by @etrepum in https://github.com/facebook/lexical/pull/8219
- [lexical-markdown][lexical-playground] Bug Fix: Convert tabs in TabNode at import by @lytion in https://github.com/facebook/lexical/pull/8211
- [lexical] Fix: Consecutive Linebreak insertion resets selection format by @Jynx2004 in https://github.com/facebook/lexical/pull/8222
- [lexical-table][lexical-playground] Breaking change: Move hasFitNestedTables logic to Playground plugin by @randal-atticus in https://github.com/facebook/lexical/pull/8210
- [lexical-website] Fix: Correct the mistake in the argument in the example on the Updates page by @levensta in https://github.com/facebook/lexical/pull/8225
- [lexical-list] Fix: create copies ListNode/ListItemNode in split-like operations by @levensta in https://github.com/facebook/lexical/pull/8213
- [lexical-link]: Refactor: add
afterCloneFrommethod to LinkNode/AutoLinkNode by @levensta in https://github.com/facebook/lexical/pull/8226 - [lexical] Fix: Fixing cursor position after inline equation, fix block equations by @Jynx2004 in https://github.com/facebook/lexical/pull/8228
- [lexical-eslint-plugin] Chore: update @lexical/eslint-plugin for better eslint 9+ support, finish jest to vitest migration by @etrepum in https://github.com/facebook/lexical/pull/8227
- [lexical-playground] Bug fix: make clear formatting work on multiple paragraphs by @dabrpio in https://github.com/facebook/lexical/pull/8224
- [lexical-code][lexical-mark][lexical-react][lexical-table][lexical-rich-text][lexical-link] Bug Fix: Add and fix afterCloneFrom implementations by @etrepum in https://github.com/facebook/lexical/pull/8229
- [lexical-extension][lexical-react] Feature: LexicalExtensionEditorComposer, NestedEditorExtension, and fixed SharedHistoryExtension with playground refactor by @etrepum in https://github.com/facebook/lexical/pull/8202
- [lexical-playground] Chore: Remove unused code from playground TablePlugin by @etrepum in https://github.com/facebook/lexical/pull/8231
- [lexical-devtools-core] Bug Fix: Clean up strict mode useLexicalCommandsLog behavior by @etrepum in https://github.com/facebook/lexical/pull/8230
- [lexical-rich-text] Bug Fix: use writable node in HeadingNode.setTag by @karesansui-u in https://github.com/facebook/lexical/pull/8235
- build(deps): bump next from 15.5.11 to 16.1.7 in /scripts/tests/integration/fixtures/lexical-esm-nextjs by @dependabot[bot] in https://github.com/facebook/lexical/pull/8232
- [lexical-link] Feature : Merge adjacent LinkNodes with identical attributes by @achaljhawar in https://github.com/facebook/lexical/pull/8236
- [lexical-table] Bug Fix: handle table selections crossing into/out of nested tables by @randal-atticus in https://github.com/facebook/lexical/pull/8234
- [*] Chore: Upgrade rollup packages and configure terser for ascii_only output by @etrepum in https://github.com/facebook/lexical/pull/8239
- [lexical-playground][lexical-react] Bug Fix: Fix accessor implementations to use getLatest/getWritable consistently by @etrepum in https://github.com/facebook/lexical/pull/8241
- @m-santanna made their first contribution in https://github.com/facebook/lexical/pull/8209
- @WhyBusyy made their first contribution in https://github.com/facebook/lexical/pull/8214
- @takenosuke-code made their first contribution in https://github.com/facebook/lexical/pull/8215
- @Jynx2004 made their first contribution in https://github.com/facebook/lexical/pull/8220
- @dabrpio made their first contribution in https://github.com/facebook/lexical/pull/8224
- @karesansui-u made their first contribution in https://github.com/facebook/lexical/pull/8235
Full Changelog: https://github.com/facebook/lexical/compare/v0.41.0...v0.42.0
shadcn@4.1.0
-
#10115
687f09817b614a3450f0f56779edf367082e1e53Thanks @shadcn! - add fontHeading to presets -
#10115
687f09817b614a3450f0f56779edf367082e1e53Thanks @shadcn! - add chartColor
v5.0.7
5.0.7 (2026-03-19)
- LCEVC: Fix live support when using DASH dual track (#9841) (b3cfa4c)
- LCEVC: Fix multi-period VOD support (#9837) (7d88692)
- MSF: Improve buffer management (#9831) (631369c)
- Prevent live stream infinite buffering when isAudioMuxedInVideo is present (#9835) (924ce61)
- UI: Close overflow and settings menus when user seeks (#9834) (47f40f4)
- UI: Fix delay updating the styles after seeks (#9846) (dad983b)
- UI: sync seekbar on timestamp position value between mousemove and onChange in firefox (#9840) (0b06e89)
astro@6.0.7
-
#15950
acce5e8Thanks @matthewp! - Fixes a build regression in projects with multiple frontend integrations whereserver:deferserver islands could fail at runtime when all pages are prerendered. -
#15988
c93b4a0Thanks @ossaidqadri! - Fix styles from dynamically imported components not being injected on first dev server load. -
#15968
3e7a9d5Thanks @chasemccoy! - FixesrenderMarkdownin custom content loaders not resolving images in markdown content. Images referenced in markdown processed byrenderMarkdownare now correctly optimized, matching the behavior of the built-inglob()loader. -
#15990
1e6017fThanks @ematipico! - Fixes an issue whereAstro.currentLocalewould always be the default locale instead of the actual one when using a dynamic route like[locale].astroor[locale]/index.astro. It now resolves to the correct locale from the URL. -
#15990
1e6017fThanks @ematipico! - Fixes an issue where visiting an invalid locale URL (e.g./asdf/) would show the content of a dynamic[locale]page with a 404 status code, instead of showing your custom 404 page. Now, the correct 404 page is rendered when the locale in the URL doesn't match any configured locale. -
#15960
1d84020Thanks @matthewp! - Fixes Cloudflare dev server islands withprerenderEnvironment: 'node'by sharing the serialized manifest encryption key across dev environments and routing server island requests through the SSR runtime. -
#15735
9685e2dThanks @fa-sharp! - Fixes an EventEmitter memory leak when serving static pages from Node.js middleware.When using the middleware handler, requests that were being passed on to Express / Fastify (e.g. static files / pre-rendered pages / etc.) weren't cleaning up socket listeners before calling
next(), causing a memory leak warning. This fix makes sure to run the cleanup before callingnext().
@astrojs/node@10.0.3
-
#15735
9685e2dThanks @fa-sharp! - Fixes an EventEmitter memory leak when serving static pages from Node.js middleware.When using the middleware handler, requests that were being passed on to Express / Fastify (e.g. static files / pre-rendered pages / etc.) weren't cleaning up socket listeners before calling
next(), causing a memory leak warning. This fix makes sure to run the cleanup before callingnext().