@tdesign/uniapp@0.8.0
DateTimePicker: 废弃custom-locale属性,请用ConfigProvider替换该功能 @novlan1 (#4350)
Cascader: 新增PopupProps属性,透传至Popup@novlan1 (#4320)ConfigProvider: 新增ConfigProvider全局特性配置组件 @novlan1 (#4350)Picker: 支持v-model:value语法糖 @novlan1 (#4320)
ColorPicker: 修复弹窗模式下预设颜色(swatch-colors)无法横向滚动 @novlan1 (#4350)DateTimePicker: 修复format含非日期token(如ddd)时,格式化后的值回传导致Invalid Date的问题 @novlan1 (#4320)Form: 修复required-mark无效问题 @novlan1 (#4350)Tabs: 修复开启animation和lazy时,跳跃切换选项卡内容区域显示异常的问题 @novlan1 (#4350)Toast: 修复setup语法下,函数式调用时找不到实例的问题 @novlan1 (#4312)Upload:
@tdesign/uniapp-chat@0.2.2
Release 2026-03-23 07:37
Release 2026-03-23 07:37
- sync main branch with store refactor (#7001) (72323492af) by @brenelz
- @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
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."
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.
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.
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.
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.
- 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
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.
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 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 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.
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
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
3.0.0
V3 is a complete rewrite focused on modern React patterns, smaller bundle size, and a more intuitive API.
useJoyridehook — replacesgetHelperswith a proper hook returning controls, state, current step, failures, and event subscriptions- New event system — discriminated event types (
tour:start,step:before,tooltip, etc.) withonEvent(data, controls)and selective subscription viaon() - Step hooks — async
before/aftercallbacks for per-step logic - Floating UI — replaced Popper.js/react-floater with direct
@floating-ui/react-domintegration - Flexible targets —
scrollTargetandspotlightTargetfor independent positioning; targets acceptRefObject, 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 props —
arrowComponent,loaderComponent - React 16.8–19 support
- ~30% smaller bundle through dependency replacement
- Named export:
import { Joyride } from 'react-joyride' callbackreplaced byonEventproprundefaults tofalsegetHelpersreplaced byuseJoyride()hook- Step-level props consolidated into flat
options(set globally or per-step) styles.optionstheming moved tooptionsprop- Button visibility via
buttonsarray (['back', 'close', 'primary']) - Multiple prop renames (
disableBeacon→skipBeacon,disableCloseOnEsc→dismissKeyAction,floaterProps→floatingOptions, 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
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
Release 2026-03-22 17:45
Release 2026-03-22 17:45
- eslint-plugin: add allowlist option to exhaustive-deps rule (#10295) (3443736e2) by @Newbie012
- @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