## R9 — ToggleCount animation stability - Schedules animation frames by absolute offsets to prevent cumulative timer drift. - Cancels stale ToggleCount animation frames with per-animation tokens. - Binds generated browser peer functions through a scoped function table. # WRNexusJS v0.6.0 changed files - Canonicalized v0.6 syntax helpers through `@wrnexus/syntax`; removed the public `@wrnexus/syntax/v060` subpath and editor-bundle alias. ## R3 correction - Regenerated/aligned `editors/vscode/src/compiler.cjs`. - Added `FIXES-0.6.0-VSCODE-COMPILER-BUNDLE.md`. Comparison base: `WRNexusJS(4).zip`. Dependency directories, `.git`, and `.wrnexus` caches are excluded from this comparison. - Added: **57** files - Modified: **284** files - Removed: **0** files ## Added files - `MIGRATION-DRY-RUN-0.6.0.json` - `MIGRATION-DRY-RUN-0.6.0.md` - `OLD-PROJECT-TEST-CHECKLIST.md` - `PUBLISHING-0.6.0.md` - `RELEASE_MANIFEST.json` - `RELEASE_NOTES-0.6.0.md` - `ROLLBACK-0.6.0.md` - `UPGRADE-0.6.0.md` - `VALIDATION-0.6.0.md` - `docs/v0.6/architecture.md` - `docs/v0.6/language.md` - `examples/component-showcase/app/pages/v06-functions.wrn` - `examples/component-showcase/app/pages/v06-imports.wrn` - `examples/component-showcase/app/pages/v06-migration.wrn` - `examples/component-showcase/app/pages/v06-outputs.wrn` - `examples/component-showcase/app/pages/v06-runtime.wrn` - `examples/component-showcase/app/pages/v06-state.wrn` - `examples/component-showcase/app/pages/v06-stores.wrn` - `examples/component-showcase/app/pages/v06-types.wrn` - `integration/fixtures/v0.5-legacy-app/app/components/LegacyModal.wrn` - `integration/fixtures/v0.5-legacy-app/app/layouts/PublicLayout.wrn` - `integration/fixtures/v0.5-legacy-app/app/pages/index.wrn` - `integration/fixtures/v0.5-legacy-app/app/types/global.d.ts` - `integration/fixtures/v0.5-legacy-app/package.json` - `packages/cli/test/update-v060.test.ts` - `packages/compiler/src/client-codegen.ts` - `packages/compiler/src/component-contract.ts` - `packages/compiler/src/import-resolver.ts` - `packages/compiler/src/server-codegen.ts` - `packages/compiler/src/source-map.ts` - `packages/compiler/src/store-codegen.ts` - `packages/compiler/src/targets.ts` - `packages/compiler/src/type-codegen.ts` - `packages/compiler/test/v060-targets.test.ts` - `packages/csr/src/client-functions.ts` - `packages/csr/src/outputs.ts` - `packages/csr/src/refs.ts` - `packages/csr/src/server-client.ts` - `packages/csr/src/types.ts` - `packages/ssr/src/rpc.ts` - `packages/ssr/src/store-context.ts` - `packages/ssr/test/rpc-v060.test.ts` - `packages/store/package.json` - `packages/store/src/client.ts` - `packages/store/src/index.ts` - `packages/store/src/server.ts` - `packages/store/src/types.ts` - `packages/store/test/store.test.ts` - `packages/syntax/src/v060.ts` - `packages/syntax/test/v060.test.ts` - `packages/typecheck/package.json` - `packages/typecheck/src/contracts.ts` - `packages/typecheck/src/index.ts` - `packages/typecheck/src/project.ts` - `packages/typecheck/test/imports-and-components.test.ts` - `packages/typecheck/test/typecheck.test.ts` - `scripts/validate-0.6.mjs` ## Modified files - `bun.lock` - `editors/vscode/package.json` - `editors/vscode/snippets/wrn.json` - `editors/vscode/src/completion.js` - `editors/vscode/src/diagnostics.js` - `editors/vscode/syntaxes/wrn.tmLanguage.json` - `examples/component-showcase/app/layouts/showcase.wrn` - `examples/component-showcase/app/pages/components/accordion.wrn` - `examples/component-showcase/app/pages/components/advanced-date-picker.wrn` - `examples/component-showcase/app/pages/components/advanced-range-slider.wrn` - `examples/component-showcase/app/pages/components/advanced-select.wrn` - `examples/component-showcase/app/pages/components/alert.wrn` - `examples/component-showcase/app/pages/components/announcement-bar.wrn` - `examples/component-showcase/app/pages/components/auth-form.wrn` - `examples/component-showcase/app/pages/components/auth-split-layout.wrn` - `examples/component-showcase/app/pages/components/avatar-group.wrn` - `examples/component-showcase/app/pages/components/avatar.wrn` - `examples/component-showcase/app/pages/components/back-to-top.wrn` - `examples/component-showcase/app/pages/components/badge.wrn` - `examples/component-showcase/app/pages/components/blockquote.wrn` - `examples/component-showcase/app/pages/components/breadcrumb.wrn` - `examples/component-showcase/app/pages/components/button-group.wrn` - `examples/component-showcase/app/pages/components/button.wrn` - `examples/component-showcase/app/pages/components/card.wrn` - `examples/component-showcase/app/pages/components/carousel.wrn` - `examples/component-showcase/app/pages/components/chart.wrn` - `examples/component-showcase/app/pages/components/chat-bubble.wrn` - `examples/component-showcase/app/pages/components/checkbox.wrn` - `examples/component-showcase/app/pages/components/clipboard.wrn` - `examples/component-showcase/app/pages/components/collapse.wrn` - `examples/component-showcase/app/pages/components/color-picker.wrn` - `examples/component-showcase/app/pages/components/columns.wrn` - `examples/component-showcase/app/pages/components/combo-box.wrn` - `examples/component-showcase/app/pages/components/confetti.wrn` - `examples/component-showcase/app/pages/components/container.wrn` - `examples/component-showcase/app/pages/components/context-menu.wrn` - `examples/component-showcase/app/pages/components/copy-markup.wrn` - `examples/component-showcase/app/pages/components/ctasection.wrn` - `examples/component-showcase/app/pages/components/custom-scrollbar.wrn` - `examples/component-showcase/app/pages/components/data-map.wrn` - `examples/component-showcase/app/pages/components/data-table.wrn` - `examples/component-showcase/app/pages/components/date-picker.wrn` - `examples/component-showcase/app/pages/components/device-frame.wrn` - `examples/component-showcase/app/pages/components/divider.wrn` - `examples/component-showcase/app/pages/components/drag-and-drop.wrn` - `examples/component-showcase/app/pages/components/drawer.wrn` - `examples/component-showcase/app/pages/components/dropdown.wrn` - `examples/component-showcase/app/pages/components/feature-card.wrn` - `examples/component-showcase/app/pages/components/feature-grid.wrn` - `examples/component-showcase/app/pages/components/feature-icon-card.wrn` - `examples/component-showcase/app/pages/components/file-input.wrn` - `examples/component-showcase/app/pages/components/file-upload-progress.wrn` - `examples/component-showcase/app/pages/components/file-upload.wrn` - `examples/component-showcase/app/pages/components/footer.wrn` - `examples/component-showcase/app/pages/components/grid.wrn` - `examples/component-showcase/app/pages/components/hero-actions.wrn` - `examples/component-showcase/app/pages/components/hero.wrn` - `examples/component-showcase/app/pages/components/image.wrn` - `examples/component-showcase/app/pages/components/input-group.wrn` - `examples/component-showcase/app/pages/components/input-number.wrn` - `examples/component-showcase/app/pages/components/input.wrn` - `examples/component-showcase/app/pages/components/kbd.wrn` - `examples/component-showcase/app/pages/components/layout-splitter.wrn` - `examples/component-showcase/app/pages/components/legend-indicator.wrn` - `examples/component-showcase/app/pages/components/link.wrn` - `examples/component-showcase/app/pages/components/list-group.wrn` - `examples/component-showcase/app/pages/components/list.wrn` - `examples/component-showcase/app/pages/components/map.wrn` - `examples/component-showcase/app/pages/components/marketing-section-header.wrn` - `examples/component-showcase/app/pages/components/marquee.wrn` - `examples/component-showcase/app/pages/components/mega-menu.wrn` - `examples/component-showcase/app/pages/components/metric-card.wrn` - `examples/component-showcase/app/pages/components/metric-grid.wrn` - `examples/component-showcase/app/pages/components/modal.wrn` - `examples/component-showcase/app/pages/components/nav.wrn` - `examples/component-showcase/app/pages/components/navbar.wrn` - `examples/component-showcase/app/pages/components/page-header.wrn` - `examples/component-showcase/app/pages/components/pagination.wrn` - `examples/component-showcase/app/pages/components/pin-input.wrn` - `examples/component-showcase/app/pages/components/popover.wrn` - `examples/component-showcase/app/pages/components/portal-dashboard.wrn` - `examples/component-showcase/app/pages/components/preference-switcher.wrn` - `examples/component-showcase/app/pages/components/progress.wrn` - `examples/component-showcase/app/pages/components/public-page-shell.wrn` - `examples/component-showcase/app/pages/components/radio.wrn` - `examples/component-showcase/app/pages/components/range-slider.wrn` - `examples/component-showcase/app/pages/components/rating.wrn` - `examples/component-showcase/app/pages/components/scrollspy.wrn` - `examples/component-showcase/app/pages/components/search-box.wrn` - `examples/component-showcase/app/pages/components/section-header.wrn` - `examples/component-showcase/app/pages/components/section.wrn` - `examples/component-showcase/app/pages/components/select.wrn` - `examples/component-showcase/app/pages/components/sidebar.wrn` - `examples/component-showcase/app/pages/components/skeleton.wrn` - `examples/component-showcase/app/pages/components/spinner.wrn` - `examples/component-showcase/app/pages/components/split-hero.wrn` - `examples/component-showcase/app/pages/components/stats-bar.wrn` - `examples/component-showcase/app/pages/components/stepper.wrn` - `examples/component-showcase/app/pages/components/strong-password.wrn` - `examples/component-showcase/app/pages/components/styled-icon.wrn` - `examples/component-showcase/app/pages/components/switch.wrn` - `examples/component-showcase/app/pages/components/table.wrn` - `examples/component-showcase/app/pages/components/tabs.wrn` - `examples/component-showcase/app/pages/components/text-link.wrn` - `examples/component-showcase/app/pages/components/textarea.wrn` - `examples/component-showcase/app/pages/components/time-picker.wrn` - `examples/component-showcase/app/pages/components/timeline.wrn` - `examples/component-showcase/app/pages/components/toast-notifications.wrn` - `examples/component-showcase/app/pages/components/toast.wrn` - `examples/component-showcase/app/pages/components/toggle-count.wrn` - `examples/component-showcase/app/pages/components/toggle-password.wrn` - `examples/component-showcase/app/pages/components/tooltip.wrn` - `examples/component-showcase/app/pages/components/tree-view.wrn` - `examples/component-showcase/app/pages/components/typography.wrn` - `examples/component-showcase/app/pages/components/wysiwyg-editor.wrn` - `examples/component-showcase/public/playground.js` - `examples/component-showcase/scripts/generate-showcase.mjs` - `llms.txt` - `package.json` - `packages/ai/package.json` - `packages/auth/package.json` - `packages/authz/package.json` - `packages/captcha/package.json` - `packages/cli/package.json` - `packages/cli/src/update.ts` - `packages/compiler/package.json` - `packages/compiler/src/codegen.ts` - `packages/compiler/src/index.ts` - `packages/core/package.json` - `packages/csr/package.json` - `packages/csr/src/index.ts` - `packages/csr/src/nav-runtime.ts` - `packages/csr/src/reactive-runtime.ts` - `packages/db/package.json` - `packages/dev-server/package.json` - `packages/dev-server/src/assets.ts` - `packages/dev-server/src/index.ts` - `packages/dev-server/src/pipeline.ts` - `packages/dev-server/src/runtime.ts` - `packages/dev-toolbar/package.json` - `packages/dev-toolbar/src/client/runtime.ts` - `packages/dev-toolbar/src/client/styles.ts` - `packages/dev-toolbar/src/types.ts` - `packages/encryption/package.json` - `packages/helpers/package.json` - `packages/i18n/package.json` - `packages/jwt/package.json` - `packages/mobile/package.json` - `packages/native/package.json` - `packages/oauth/package.json` - `packages/plugin/package.json` - `packages/pubsub/package.json` - `packages/queue/package.json` - `packages/reactive/package.json` - `packages/router/package.json` - `packages/ssr/package.json` - `packages/ssr/src/index.ts` - `packages/styles/package.json` - `packages/styles/src/config.ts` - `packages/syntax/package.json` - `packages/syntax/src/diagnostics.ts` - `packages/syntax/src/index.ts` - `packages/syntax/src/parser.ts` - `packages/syntax/src/spec.ts` - `packages/syntax/src/tokenizer.ts` - `packages/test/package.json` - `packages/tracking/package.json` - `packages/ui/COMPONENTS.md` - `packages/ui/component-reference.json` - `packages/ui/components/Accordion.wrn` - `packages/ui/components/AdvancedDatePicker.wrn` - `packages/ui/components/AdvancedRangeSlider.wrn` - `packages/ui/components/AdvancedSelect.wrn` - `packages/ui/components/AnnouncementBar.wrn` - `packages/ui/components/AuthForm.wrn` - `packages/ui/components/AuthSplitLayout.wrn` - `packages/ui/components/AvatarGroup.wrn` - `packages/ui/components/BackToTop.wrn` - `packages/ui/components/Badge.wrn` - `packages/ui/components/Blockquote.wrn` - `packages/ui/components/Breadcrumb.wrn` - `packages/ui/components/ButtonGroup.wrn` - `packages/ui/components/CTASection.wrn` - `packages/ui/components/Card.wrn` - `packages/ui/components/Chart.wrn` - `packages/ui/components/ChatBubble.wrn` - `packages/ui/components/Checkbox.wrn` - `packages/ui/components/Clipboard.wrn` - `packages/ui/components/Collapse.wrn` - `packages/ui/components/ColorPicker.wrn` - `packages/ui/components/Columns.wrn` - `packages/ui/components/Combobox.wrn` - `packages/ui/components/Confetti.wrn` - `packages/ui/components/Container.wrn` - `packages/ui/components/ContextMenu.wrn` - `packages/ui/components/CopyMarkup.wrn` - `packages/ui/components/CustomScrollbar.wrn` - `packages/ui/components/DataMap.wrn` - `packages/ui/components/DataTable.wrn` - `packages/ui/components/DatePicker.wrn` - `packages/ui/components/DeviceFrame.wrn` - `packages/ui/components/Divider.wrn` - `packages/ui/components/DragAndDrop.wrn` - `packages/ui/components/Drawer.wrn` - `packages/ui/components/Dropdown.wrn` - `packages/ui/components/FeatureCard.wrn` - `packages/ui/components/FeatureGrid.wrn` - `packages/ui/components/FeatureIconCard.wrn` - `packages/ui/components/FileInput.wrn` - `packages/ui/components/FileUpload.wrn` - `packages/ui/components/FileUploadProgress.wrn` - `packages/ui/components/Footer.wrn` - `packages/ui/components/Grid.wrn` - `packages/ui/components/Hero.wrn` - `packages/ui/components/HeroActions.wrn` - `packages/ui/components/Image.wrn` - `packages/ui/components/Input.wrn` - `packages/ui/components/InputGroup.wrn` - `packages/ui/components/InputNumber.wrn` - `packages/ui/components/Kbd.wrn` - `packages/ui/components/LayoutSplitter.wrn` - `packages/ui/components/LegendIndicator.wrn` - `packages/ui/components/Link.wrn` - `packages/ui/components/List.wrn` - `packages/ui/components/ListGroup.wrn` - `packages/ui/components/Map.wrn` - `packages/ui/components/MarketingSectionHeader.wrn` - `packages/ui/components/Marquee.wrn` - `packages/ui/components/MegaMenu.wrn` - `packages/ui/components/MetricCard.wrn` - `packages/ui/components/MetricGrid.wrn` - `packages/ui/components/Modal.wrn` - `packages/ui/components/Nav.wrn` - `packages/ui/components/Navbar.wrn` - `packages/ui/components/PageHeader.wrn` - `packages/ui/components/Pagination.wrn` - `packages/ui/components/PinInput.wrn` - `packages/ui/components/Popover.wrn` - `packages/ui/components/PortalDashboard.wrn` - `packages/ui/components/PreferenceSwitcher.wrn` - `packages/ui/components/PublicPageShell.wrn` - `packages/ui/components/Radio.wrn` - `packages/ui/components/RangeSlider.wrn` - `packages/ui/components/Rating.wrn` - `packages/ui/components/Scrollspy.wrn` - `packages/ui/components/SearchBox.wrn` - `packages/ui/components/Section.wrn` - `packages/ui/components/SectionHeader.wrn` - `packages/ui/components/Select.wrn` - `packages/ui/components/Sidebar.wrn` - `packages/ui/components/SplitHero.wrn` - `packages/ui/components/StatsBar.wrn` - `packages/ui/components/Stepper.wrn` - `packages/ui/components/StrongPassword.wrn` - `packages/ui/components/StyledIcon.wrn` - `packages/ui/components/Switch.wrn` - `packages/ui/components/Tabs.wrn` - `packages/ui/components/TextLink.wrn` - `packages/ui/components/Textarea.wrn` - `packages/ui/components/TimePicker.wrn` - `packages/ui/components/Timeline.wrn` - `packages/ui/components/Toast.wrn` - `packages/ui/components/ToastNotifications.wrn` - `packages/ui/components/ToggleCount.wrn` - `packages/ui/components/TogglePassword.wrn` - `packages/ui/components/Tooltip.wrn` - `packages/ui/components/TreeView.wrn` - `packages/ui/components/Typography.wrn` - `packages/ui/components/WysiwygEditor.wrn` - `packages/ui/components/alert.wrn` - `packages/ui/components/avatar.wrn` - `packages/ui/components/button.wrn` - `packages/ui/components/carousel.wrn` - `packages/ui/components/progress.wrn` - `packages/ui/components/skeleton.wrn` - `packages/ui/components/spinner.wrn` - `packages/ui/components/table.wrn` - `packages/ui/package.json` - `packages/uploader/package.json` - `packages/validation/package.json` - `scripts/generate-ui-component-reference.mjs` - `services/managed-captcha/package.json` - `tsconfig.json` - `update-package-versions.mjs` ## Removed files - None ## R7 test-cascade corrections - Restored synchronous CSR hydration for inline behavior and unresolved direct-compile module placeholders. - Restored strict component/store lifecycle hook validation. - Prevented browser runtime API names from colliding with generated prop/state aliases. - Preserved synchronous page exports when no imported store requires asynchronous initialization. - Allowed store dispose lifecycle hooks to mutate store state through the internal mutation context. - Updated UI tests and generated references for typed props and `outputs {}` contracts. - Added universal size/color support to FeatureGrid and complete RangeSlider output metadata. ## R8 UI compiler regression fixes - Fixed readonly-prop false positives for comparisons, string literals, object/member access, and shadowing function parameters. - Restored compilation and runtime tests for AuthForm, Carousel, RangeSlider, InputNumber, Select, AdvancedSelect, ComboBox, ContextMenu, and Tooltip. - Synchronized component catalog and generated component reference with all 108 bundled UI declarations. - Added full UI compilation and native-attribute forwarding checks to `validate:0.6`. ## R10 peer-function scoped-state correction - Peer client/shared functions are invoked through synchronized scoped wrappers. - Nested peer calls no longer have their state changes overwritten by stale outer aliases. - Synchronous, asynchronous, and throwing peer calls refresh shared state correctly. - Added an executable `validate:0.6` regression probe for the exact compiler failure. ## R11 peer-function test correction - Corrected the compiler regression test export-stripping regex from an over-escaped literal `\\s` match to the intended whitespace `\s` match. - Confirmed the generated peer-function browser module executes and updates shared state from `0` to `1`. - Added a release validator guard for the exact test source regression.