v1.1.0
v1.1.0
2026-06-23
🆕 New Features
- @visactor/vrender: add app-scoped runtime entries and shared app lifecycle support while keeping root/default usage compatible.
- @visactor/vrender-core: stabilize the state engine around the explicit static truth model:
baseAttributes + resolvedStatePatch -> attribute. - @visactor/vrender-core: add
sharedStateDefinitionsas the recommended group-first shared state definition surface. - @visactor/vrender-core: support same-state refresh through
graphic.setStates(states, { animate, animateSameStatePatchChange }). - @visactor/vrender-animate: align animation runtime with static-truth ownership and support explicit
scaleInstart options:fromScale,fromScaleX, andfromScaleY. - @visactor/vrender-animate: expose optional custom animation registers for basic, richtext, disappear, and story profiles.
- @visactor/vrender-components: expose optional component public subpaths for bundle-sensitive upper-layer profiles.
- @visactor/vrender-kits: move environment, renderer, picker, and graphic setup to app-scoped installers for browser, node, miniapp, Lynx, and Harmony profiles.
- @visactor/react-vrender: align Stage lifecycle and host bindings with the VRender app-scoped runtime contract.
🐛 Bug Fixes
- @visactor/vrender-core: invalidate state resolver cache when resolve context base attributes change, preventing stale resolved patches in same-state updates.
- @visactor/vrender-components: register poptip through the app-scoped runtime context so shared-app stages can resolve
poptipForText. - @visactor/vrender: restore app-scoped renderer contribution wiring for runtime-installer based stages.
- @visactor/vrender: prevent renderer namespace collisions in app-scoped bootstrap flows.
- @visactor/vrender-core: keep inline SVG parsing compatible with browser bundles.
💥 Breaking Changes
- @visactor/vrender-core: remove
graphic.stateProxy; usestateswithStateDefinition.resolverorsharedStateDefinitions. - @visactor/vrender-core: shared-state scoped graphics no longer fall back to local
graphic.statesfor missing state definitions. - @visactor/react-vrender: JSX/React
stateProxyusage should migrate tostatesand resolver-based state definitions. - @visactor/vrender-core: remove or narrow alpha-only internal paths, old deferred state/perf hooks, old animation target fallback drafts, and unused internal source files.
⚡ Performance & Bundle Size
- @visactor/vrender-core: remove dead source and legacy internal paths, reducing core package content while preserving full/default behavior.
- @visactor/vrender-animate: split optional custom animation registers so upper layers can avoid loading full custom animation capability in lite profiles.
- @visactor/vrender-components: add component-level public subpaths so VChart/VTable can build narrower optional profiles without deep imports.
- @visactor/vrender: keep root/default entries full-featured; bundle-size savings require upper layers to opt into narrower public profiles.
🔨 Chores
- @visactor/vrender: document the VRender 1.1.0 upgrade guide, app-scoped runtime migration, breaking changes, and optional capability boundaries.
- @visactor/vrender: consolidate release notes around the state/animation refactor, app-scoped runtime, and bundle-size optimization work.
- @visactor/vrender: add release verification reports for upgrade functionality, business usage, and code/package size changes.
Full Changelog: v1.0.43...v1.1.0