Core Changes
- 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
Misc Changes
- 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
Credits
Huge thanks to @wbinnssmith, @sokra, @unstubbable, @devjiwonchoi, @timneutkens, @feedthejim, @vercel-release-bot, @gnoff, @ijjk, and @lukesandberg for helping!