Skip to main content
Bridge 1.0.0-rc.1

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 simplified JourneyDefinition generics, and the plugin-based core architecture.

    Added

    Legacy v3 compatibility

    Incoming register envelopes without capability metadata are still accepted so extension-first rollouts can interoperate with older inspected apps.

    Observation event envelopes

    The bridge can forward JourneyObservationEvent payloads 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 requestAnimationFrame is 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 error data inside normal commandResult envelopes 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 to process.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.

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/catch so window.postMessage failures are swallowed.
      • Prevents bridge lifecycle/command flows from throwing when browser messaging is unavailable or rejects.
    • @rxova/journey-react
      • Memoized provider context value in Provider to keep stable references when machine/journey inputs are unchanged.
      • Reduces unnecessary rerenders for memoized consumers during unrelated parent rerenders and StrictMode churn.
    • @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.
  • 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-core

    New and improved

    • New canonical snapshot shape with history.timeline + history.index pointer model.
    • Deterministic pointer navigation APIs: goToPreviousStep(steps?), goToLastVisitedStep().
    • Convenience helpers: goToNextStep(), completeJourney(payload?), terminateJourney(payload?).
    • Built-in fallback semantics for back/goToPreviousStep event sends when no explicit transition matches.
    • Strongly typed transition builder ergonomics via createTransitions and tx helpers (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.stepMeta and updateStepMetadata(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 / index snapshot fields removed.
    • HISTORY_TARGET removed.
    • Legacy history helpers removed (trimHistory, clearHistory, overflow options).
    • Persistence now targets v2 snapshot structure and should be migrated with migrate(...) when needed.

    @rxova/journey-react

    New and improved

    • Bindings-first architecture is now the default.
    • createJourneyBindings(journey) returns typed Provider, StepRenderer, useJourneyApi, useJourneySnapshot, and useJourneyMachine.
    • 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 }) and api.send({ type: "goToStepById", stepId, payload }).
    • resetOnJourneyChange behavior 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 dedicated useJourneyApi helper; use api.send({ type: "goToStepById", ... }).
    • Existing apps that called old global hooks/components or helper methods must migrate to bindings APIs.

    @rxova/journey-devtools-bridge

    New 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.timeline and history.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 with api.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 minor so the fixed published package group bumps from 0.4.0 to 0.5.0.
    • App package versions are also aligned to 0.5.0 for apps-docs and apps-devtools.

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