Bridge Releases
Release notes sourced from the Devtools Bridge package changelog (Changesets).
Source: packages/devtools-bridge/CHANGELOG.md
1.0.0-rc.1
Major Changes
-
1cdde02: ## Breaking changes
Protocol v4
The bridge now communicates over protocol v4 envelopes with capability metadata, observation events, and execution-path queries.
Aligned with the new core API
The bridge now targets
createJourneyMachine(), the simplifiedJourneyDefinitiongenerics, and the plugin-based core architecture.Added
Legacy v3 compatibility
Incoming
registerenvelopes without capability metadata are still accepted so extension-first rollouts can interoperate with older inspected apps.Observation event envelopes
The bridge can forward
JourneyObservationEventpayloads to power transition tracing and async state inspection in devtools.Execution-path query envelopes
The extension can request execution-path enumeration when the inspected machine has the execution-paths plugin registered.
Changed
- Kept compatibility with the core timeout, constant-removal, and internal runtime refactors
Patch Changes
- Updated dependencies [1cdde02]
- @rxova/journey-core@1.0.0-rc.1
0.7.0
Minor Changes
-
239f7c5: ## What changed
- Snapshot delivery is now coalesced to one animation frame, with a timeout fallback when
requestAnimationFrameis unavailable. This reduces burst traffic when machines update rapidly. - Pending scheduled snapshots are canceled on detach, so the bridge no longer emits stale state after teardown or disconnect.
- Command results now preserve the core runtime's non-throwing failure model by returning serialized
errordata inside normalcommandResultenvelopes instead of treating every failed transition as a transport exception. - Environment detection is broader and safer. The bridge now prefers
import.meta.env.DEV/import.meta.env.PROD, falls back toprocess.env.NODE_ENV, and defaults to disabled when neither signal exists. - That environment change makes Bun-based and browser-first bundler setups behave more predictably without assuming a Node-style runtime.
- Serialization and protocol validation were hardened. Payloads are cloned and sanitized more defensively, validation now does a single size check plus a structural safety walk, and unsafe, circular, or oversized payloads are rejected more consistently.
- Internal bridge logic was cleaned up to remove duplication in an already environment-sensitive codepath, reducing the chance of behavior drift between similar branches.
- README, docs, and security guidance were updated with Bun install notes, explicit enablement guidance for runtimes without env signals, and CSP expectations for browser apps using the bridge.
- Test coverage was expanded around protocol safety, serialization edge cases, bridge detach behavior, and command/result handling.
Breaking changes
- Protocol payload validation is stricter. Consumers relying on previously accepted oversized, circular, or structurally unsafe payloads may now see those envelopes rejected.
- Snapshot delivery is now coalesced to one animation frame, with a timeout fallback when
Patch Changes
- Updated dependencies [239f7c5]
- @rxova/journey-core@0.7.0
0.6.4
Patch Changes
-
4ee201f: Per-package patch notes:
@rxova/journey-devtools-bridge- Guarded bridge transport posting with a safe
try/catchsowindow.postMessagefailures are swallowed. - Prevents bridge lifecycle/command flows from throwing when browser messaging is unavailable or rejects.
- Guarded bridge transport posting with a safe
@rxova/journey-react- Memoized provider context value in
Providerto keep stable references whenmachine/journeyinputs are unchanged. - Reduces unnecessary rerenders for memoized consumers during unrelated parent rerenders and StrictMode churn.
- Memoized provider context value in
@rxova/journey-core- Added listener-churn edge coverage to verify snapshot/event subscriptions are fully removed after unsubscribe.
- Hardens regression protection around subscription retention behavior.
-
Updated dependencies [4ee201f]
- @rxova/journey-core@0.6.4
0.6.3
Patch Changes
-
99a6635: Added a new public API TSDoc quality gate (docs:api:check) that verifies callable exports from package entrypoints have TSDoc summaries.
- Enforced that check in CI/docs workflows and documented it in contributor/docs guides.
- Added the checker implementation and comprehensive tests for pass/fail/CLI behavior.
- Added/updated TSDoc on key public exports:
- core transition builders (tx, createTransitions)
- react bindings factory (createJourneyBindings)
- devtools bridge attach + protocol envelope/command validators
- No runtime behavior changes; this branch is primarily API documentation quality/tooling hardening.
@rxova/journey-core
- Added TSDoc summaries for public transition helpers (tx, createTransitions).
- Added tests for the new API TSDoc checker (check-public-api-tsdoc) under core tests.
- No runtime behavior changes.
@rxova/journey-react
- Added a TSDoc summary for createJourneyBindings (public React API entrypoint helper).
- No runtime behavior changes.
@rxova/journey-devtools-bridge
- Added TSDoc summaries for public bridge/protocol APIs (attachJourneyDevtools and envelope/command validators).
- No runtime behavior changes.
apps-docs
- Documented the new API docs quality gate (pnpm run docs:api:check) in the docs README.
- No end-user docs content changes beyond contributor/developer guidance.
repo/tooling (cross-package)
- Added docs:api:check script to root package.json.
- Added scripts/check-public-api-tsdoc.ts to enforce TSDoc coverage on public callable exports.
- Wired this check into CI/docs workflows and contributing guidelines.
-
Updated dependencies [99a6635]
- @rxova/journey-core@0.6.3
0.6.2
Patch Changes
- 6a38c50: - Tightened core machine typing by introducing JourneySendEvent and removing unsafe as unknown/as never casts in convenience APIs.
- Replaced JourneyStepDefinition’s open
Record<string, unknown>escape hatch with explicit typed step extensions. - Added runtime validation in devtools bridge for command stepId values (goToStepById, updateStepMetadata, clearStepError), returning commandError for unknown steps.
- Added/updated tests for type coverage and bridge invalid-step behavior.
- Added JSDoc to key public core types (including transition/event builder generics) and improved type readability with JourneyGoToStepByIdEventType.
- Replaced JourneyStepDefinition’s open
- Updated dependencies [6a38c50]
- @rxova/journey-core@0.6.2
0.6.1
Patch Changes
- Updated dependencies [7be5e0c]
- @rxova/journey-core@0.6.1
0.6.0
Minor Changes
- 56234c2: Improve docs across Core, React, and Devtool Bridge, including API restructuring, clearer runtime semantics references, and TypeScript-focused guidance.
Patch Changes
- Updated dependencies [56234c2]
- @rxova/journey-core@0.6.0
0.5.0
Minor Changes
-
16db5e3: Journey 0.5.0 is a full platform-level upgrade across core runtime, React bindings, and devtools. This 0.5.0 release focuses on deterministic flow behavior, stronger typing, cleaner APIs, and better observability/debuggability.
@rxova/journey-coreNew and improved
- New canonical snapshot shape with
history.timeline+history.indexpointer model. - Deterministic pointer navigation APIs:
goToPreviousStep(steps?),goToLastVisitedStep(). - Convenience helpers:
goToNextStep(),completeJourney(payload?),terminateJourney(payload?). - Built-in fallback semantics for
back/goToPreviousStepevent sends when no explicit transition matches. - Strongly typed transition builder ergonomics via
createTransitionsandtxhelpers (toComplete,toTerminate, branching builders). - First-match-wins transition execution preserved and clarified for reliability.
- Typed async transition phases exposed in snapshot:
idle,evaluating-when,error. - Metadata is now first-class at runtime via
snapshot.stepMetaandupdateStepMetadata(stepId, updater). - Typed observability stream via
subscribeEvent(...)with lifecycle/navigation/metadata events. - Expanded persistence model with versioning/migration support and safer hydration of invalid data.
Breaking changes
- v1 top-level
timeline/indexsnapshot fields removed. HISTORY_TARGETremoved.- Legacy history helpers removed (
trimHistory,clearHistory, overflow options). - Persistence now targets v2 snapshot structure and should be migrated with
migrate(...)when needed.
@rxova/journey-reactNew and improved
- Bindings-first architecture is now the default.
createJourneyBindings(journey)returns typedProvider,StepRenderer,useJourneyApi,useJourneySnapshot, anduseJourneyMachine.- Journey typing is captured once at bindings creation time; hook callsites no longer need per-call generics.
useJourneyApi()now delegates to machine-level navigation helpers (goToNextStep,completeJourney,terminateJourney, pointer APIs).- Imperative jumps remain available using event send:
api.send({ type: "goToStepById", stepId })andapi.send({ type: "goToStepById", stepId, payload }). resetOnJourneyChangebehavior is explicitly supported for intentional machine resets when journey definition identity changes.
Breaking changes
- Legacy global React hooks/components API removed in favor of bindings-first usage.
goToStepById(...)is no longer a dedicateduseJourneyApihelper; useapi.send({ type: "goToStepById", ... }).- Existing apps that called old global hooks/components or helper methods must migrate to bindings APIs.
@rxova/journey-devtools-bridgeNew and improved
- Protocol remains version
3(no protocol version bump in this release). - Richer command set for runtime control:
goToNextStep,terminateJourney,completeJourney,goToStepById,goToPreviousStep,goToLastVisitedStep,updateStepMetadata,send,resetJourney,clearStepError. - Snapshot payloads now include full v2 runtime state:
currentStepId,history.timeline,history.index,context,visited,stepMeta,status,async. - Safer runtime defaults: bridge enabled by default in non-production; disabled by default in production unless explicitly enabled; commands disabled by default in production unless explicitly enabled.
Breaking changes
- Consumers should align command/snapshot assumptions with current protocol v3 shape.
- Tooling relying on old snapshot/history shape must migrate to
history.timelineandhistory.index.
Migration checklist
- Update core snapshot reads from v1 fields to v2 fields (
snapshot.timeline->snapshot.history.timeline,snapshot.index->snapshot.history.index). - Replace removed history APIs (
trimHistory,clearHistory, overflow options) with pointer navigation APIs. - Migrate persisted snapshots to v2 shape (or provide
persistence.migrate). - Move React usage to bindings-first patterns (
createJourneyBindings+ bound hooks/components). - Replace
api.goToStepById(...)calls withapi.send({ type: "goToStepById", ... }). - Update devtools integrations to current protocol v3 command/snapshot structures.
Notes
- This release is intentionally comprehensive and includes updated docs, examples, devtools integration notes, and test coverage for the new model.
- Package versions are set to
minorso the fixed published package group bumps from0.4.0to0.5.0. - App package versions are also aligned to
0.5.0forapps-docsandapps-devtools.
- New canonical snapshot shape with
Patch Changes
- Updated dependencies [16db5e3]
- @rxova/journey-core@0.5.0
0.4.0
Minor Changes
- 176007f: - Added full Chrome DevTools extension app
- Added new bridge package with protocol + bridge runtime.
- Added/expanded demo integration to exercise DevTools + bridge flows.
- Added Devtool documentation section.
- Updated docs UX in index.tsx, sidebars.ts, and search styling in styles.module.css.
- Added CI/CD workflows for docs/devtools and Chrome Web Store publishing in devtools.yml, devtools-publish.yml, docs.yml.
- Updated release/versioning config in config.json and scripts in package.json (pnpm run releases).
- Updated README files across packages.
Patch Changes
- @rxova/journey-core@0.4.0