3 hours ago
tdesign-miniprogram

@tdesign/uniapp@0.8.0

🌈 0.8.0 2026-03-23

🚨 Breaking Changes

  • DateTimePicker: 废弃 custom-locale 属性,请用 ConfigProvider 替换该功能 @novlan1 (#4350)

🚀 Features

  • Cascader: 新增 PopupProps 属性,透传至 Popup @novlan1 (#4320)
  • ConfigProvider: 新增 ConfigProvider 全局特性配置组件 @novlan1 (#4350)
  • Picker: 支持 v-model:value 语法糖 @novlan1 (#4320)

🐞 Bug Fixes

  • ColorPicker: 修复弹窗模式下预设颜色(swatch-colors)无法横向滚动 @novlan1 (#4350)
  • DateTimePicker: 修复 format 含非日期 token(如 ddd)时,格式化后的值回传导致 Invalid Date 的问题 @novlan1 (#4320)
  • Form: 修复 required-mark 无效问题 @novlan1 (#4350)
  • Tabs: 修复开启 animationlazy 时,跳跃切换选项卡内容区域显示异常的问题 @novlan1 (#4350)
  • Toast: 修复 setup 语法下,函数式调用时找不到实例的问题 @novlan1 (#4312)
  • Upload:
    • 修复 @upload-disabled-mask 变量默认值错误 @anlyyao (#4303)
    • 修复 H5 环境下回调中 URL 错误问题 @novlan1 (#4320)
3 hours ago
tdesign-miniprogram

@tdesign/uniapp-chat@0.2.2

🌈 0.2.2 2026-03-23

🚨 Breaking Changes

  • ChatSender: 附件末尾没有添加入口,移除无实际意义的 fileAdd 事件 @zydemail (#4331)

🐞 Bug Fixes

  • Attachments: 修复小程序下使用标签选择器的警告问题 @novlan1 (#4320)
  • ChatActionbar: 修复 actionBar 属性无效以及长按气泡框不显示浮层的问题 @zydemail (#4348)
  • ChatMarkdown: 修复组件输入值为一个空项的列表时出现 undefined 的问题 @mimaoxiao (#4334)

📝 Documentation

  • Attachments: 移除 addable 属性相关文档描述 @zydemail (#4331)
3 hours ago
router

Release 2026-03-23 08:06

Release 2026-03-23 08:06

Changes

Chore

  • bump solid-query to 6.0.0-alpha.1 (#7016) (0fb8dfa67b) by @birkskyum

Packages

  • @tanstack/solid-router-ssr-query@2.0.0-alpha.8
4 hours ago
router

Release 2026-03-23 07:37

Release 2026-03-23 07:37

Changes

Chore

  • sync main branch with store refactor (#7001) (72323492af) by @brenelz

Packages

  • @tanstack/solid-router@2.0.0-alpha.7
  • @tanstack/solid-router-devtools@2.0.0-alpha.5
  • @tanstack/solid-router-ssr-query@2.0.0-alpha.7
  • @tanstack/solid-start@2.0.0-alpha.8
  • @tanstack/solid-start-client@2.0.0-alpha.7
  • @tanstack/solid-start-server@2.0.0-alpha.7
5 hours ago
vmprint

VMPrint 1.0 — The Real Thing

VMPrint 1.0 — The Real Thing

I have been building toward this moment since the first experimental commits. VMPrint 1.0 is not an incremental update. It is the line in the sand that separates "something interesting is happening here" from "you can build real things with this."


A New Kind of Layout Engine

At the core of VMPrint 1.0 is a ground-up reimagination of how a document layout engine works.

Most layout systems are glorified paginators — they march line by line through a document and hope for the best when things get complicated. VMPrint 1.0 replaces that model with something entirely different: a simulation runtime built around a spatial-temporal model of document layout.

The spatial-temporal layout engine is patent pending.

Instead of a linear pagination loop, the engine now operates as a simulation with explicit phases: placement, collision detection, physics, transitions, and lifecycle dispatch. Documents are settled, not merely paginated. Complex behaviors — keep-with-next, page reservations, column spanning, heading telemetry, nested continuations, live table-of-contents generation — emerge naturally from the simulation substrate rather than being bolted on as special cases.

The result is a layout engine capable of things that simply cannot be expressed in traditional paginators.


This Is the Real Deal

Previous releases were honest technology previews. The architecture was exploratory, the surface area was shifting, and I was candid that it was not yet the foundation you would build a product on.

That changes today.

VMPrint 1.0 is production-ready. The document model (AST 1.1) is stable. The layout contracts are locked. The regression suite covers 26 complex fixtures — multi-column flows, nested tables, nested stories, zone maps, column spans, RTL/bidi, drop caps, floats, live TOC, headers/footers, total-page footers, and more — and every one of them must pass deterministically on every build. You can depend on this.


What's New in 1.0

The Simulation Runtime

The engine was rebuilt around an explicit simulation kernel with collaborator-based coordination. Speculative layout, rollback, and deterministic replay are now first-class capabilities. Simulation reports expose post-layout facts to downstream tooling without leaking engine internals. This is the architecture that makes ambitious documents possible.

Scripting Series 1

Documents can now think. A post-settlement scripting runtime gives document blueprints direct access to lifecycle hooks, element messaging, receiver-oriented mutation, and structural replacement/insertion/deletion flows. Live reactive content — a table of contents that updates as pages reflow, a footer that knows the total page count — is no longer a trick. It is just scripting.

Spatial Layout: Floats, Column Spans, Zone Maps

  • Block-level floats for non-image content inside stories
  • Column spanning via properties.columnSpan — full-width breaks inside multi-column flows, exactly where you want them
  • Zone maps as a first-class layout primitive: bounded side-by-side regions with fully independent strip layout, perfect for sidebars, callouts, and complex editorial compositions

AST 1.1

The document model was upgraded to AST 1.1. onLoad and onCreate now run as a formal blueprint preprocessing phase, before layout settlement begins. All fixtures, transmuters, and tooling have been updated consistently.


Practical Tools, Ready to Use

@vmprint/web-fonts — Browser-First Font Manager

Loading beautiful typography in the browser used to mean fighting CORS, managing fetch timing, and hoping your font cache stayed warm. @vmprint/web-fonts handles all of it — remote font loading, optional persistent caching, and clean integration with the engine's font registration surface. Drop it into any browser-based VMPrint pipeline.

@vmprint/context-canvas — Live Browser Preview

@vmprint/context-canvas builds SVG-backed page scenes and renders them directly into canvas targets. Feed it a Document AST and get a live, pixel-accurate preview of your layout running entirely in the browser — no server, no PDF round-trip, no waiting.


The /docs Examples: Living Proof

The best way to understand what VMPrint 1.0 can do is to see it running. I've included a set of self-contained static examples under /docs/examples that you can open directly in a browser — no build step, no server, no install:

Example What it shows
ast-to-canvas-webfonts Document AST → canvas rendering with remote web fonts
ast-to-pdf-webfonts Document AST → PDF generation with web fonts, in the browser
ast-to-pdf Core AST-to-PDF pipeline, zero dependencies
mkd-to-ast Markdown → VMPrint AST transmutation

These are not toy demos. They are complete, production-weight pipelines running in a static HTML page. Fork them. Strip them down. Build your own renderer on top of them. They are yours.


What You Can Build

VMPrint 1.0 is a foundation. Here is a taste of what it makes possible:

  • Editorial and publishing tools — multi-column magazine layouts, flowing long-form text, drop caps, floats, and rich inline typography
  • Live document editors — canvas preview in the browser, PDF export on demand, fonts loaded remotely or from cache
  • Programmatic document generation — legal filings, technical reports, invoices, books — authored as data and settled by the simulation engine into pixel-perfect pages
  • Reactive documents — scripted live content: auto-generated TOCs, dynamic page counts, content that adapts to its own layout
  • Multilingual typesetting — full Unicode bidi (UAX #9), Arabic shaping, complex scripts, and JIT font loading for CJK and global scripts

Thank You

VMPrint started as a question: what would a layout engine look like if it were designed from first principles for the modern web, without the baggage of decades of pagination assumptions?

Version 1.0 is my answer. I hope it sparks your imagination.


Full technical changelog: CHANGELOG.md

11 hours ago
react-joyride

3.0.0

V3 is a complete rewrite focused on modern React patterns, smaller bundle size, and a more intuitive API.

Highlights

  • useJoyride hook — replaces getHelpers with a proper hook returning controls, state, current step, failures, and event subscriptions
  • New event system — discriminated event types (tour:start, step:before, tooltip, etc.) with onEvent(data, controls) and selective subscription via on()
  • Step hooks — async before/after callbacks for per-step logic
  • Floating UI — replaced Popper.js/react-floater with direct @floating-ui/react-dom integration
  • Flexible targetsscrollTarget and spotlightTarget for independent positioning; targets accept RefObject, callbacks, and CSS selectors
  • SVG overlay — precise spotlight rendering replacing CSS box-shadow
  • Portal rendering — tour UI renders via React portal with custom container support
  • New component propsarrowComponent, loaderComponent
  • React 16.8–19 support
  • ~30% smaller bundle through dependency replacement

Breaking changes

  • Named export: import { Joyride } from 'react-joyride'
  • callback replaced by onEvent prop
  • run defaults to false
  • getHelpers replaced by useJoyride() hook
  • Step-level props consolidated into flat options (set globally or per-step)
  • styles.options theming moved to options prop
  • Button visibility via buttons array (['back', 'close', 'primary'])
  • Multiple prop renames (disableBeaconskipBeacon, disableCloseOnEscdismissKeyAction, floaterPropsfloatingOptions, etc.)
  • Removed: disableScrollParentFix, styles.spotlight, legacy overlay styles

Full migration guide: https://react-joyride.com/docs/migration What's new: https://react-joyride.com/docs/new-in-v3

For a complete list of changes, check the PR.


We'd love your feedback! If you run into issues, have questions about migrating, or want to share ideas, join the discussion: https://github.com/gilbarbara/react-joyride/discussions/1196

12 hours ago
next.js

v16.2.1-canary.5

Misc Changes

  • docs: use ErrorInfo type consistently in catchError docs: #91744

Credits

Huge thanks to @devjiwonchoi for helping!

14 hours ago
core-js

4.0.0-alpha.1 - 2026.03.22

Early release for testing some concepts.

NOT FOR USAGE IN REAL PROJECTS.

See more info here: https://github.com/zloirock/core-js/pull/1310

18 hours ago
react-query

Release 2026-03-22 17:45

Release 2026-03-22 17:45

Changes

Features

  • eslint-plugin: add allowlist option to exhaustive-deps rule (#10295) (3443736e2) by @Newbie012

Packages

  • @tanstack/angular-query-experimental@5.95.0
  • @tanstack/eslint-plugin-query@5.95.0
  • @tanstack/preact-query@5.95.0
  • @tanstack/preact-query-devtools@5.95.0
  • @tanstack/preact-query-persist-client@5.95.0
  • @tanstack/query-async-storage-persister@5.95.0
  • @tanstack/query-broadcast-client-experimental@5.95.0
  • @tanstack/query-core@5.95.0
  • @tanstack/query-devtools@5.95.0
  • @tanstack/query-persist-client-core@5.95.0
  • @tanstack/query-sync-storage-persister@5.95.0
  • @tanstack/react-query@5.95.0
  • @tanstack/react-query-devtools@5.95.0
  • @tanstack/react-query-next-experimental@5.95.0
  • @tanstack/react-query-persist-client@5.95.0
  • @tanstack/solid-query@5.95.0
  • @tanstack/solid-query-devtools@5.95.0
  • @tanstack/solid-query-persist-client@5.95.0
  • @tanstack/svelte-query@6.1.8
  • @tanstack/svelte-query-devtools@6.1.8
  • @tanstack/svelte-query-persist-client@6.1.8
  • @tanstack/vue-query@5.95.0
  • @tanstack/vue-query-devtools@6.1.8