Skip to content
This repository was archived by the owner on Sep 11, 2026. It is now read-only.

v0.43.0

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Sep 19:28
· 1 commit to main since this release
b14b5f4

Changelog

All notable changes documented here. The format follows
Keep a Changelog and the project follows
Semantic Versioning.

0.43.0 - 2026-09-06

Added

  • Adopt runtime v2 and durable world-first simulation (#351) [breaking]

0.42.1 - 2026-08-22

Fixed

  • Do not start attachment feeds a one-shot command never reads (#347)

0.42.0 - 2026-08-20

Added

  • Validate driver blocks and every declared service config against the owning binary (#343) [breaking]

0.41.0 - 2026-08-19

Refactored

  • Consume the framework as one phoxal library and attach through phoxal::session (#341) [breaking]

0.40.0 - 2026-08-17

Added

  • Follow the 0.65 train, ask the supervisor which robot it runs, and delete what the campaign left behind (#339) [breaking]

0.39.4 - 2026-08-17

0.39.3 - 2026-08-17

Fixed

  • Enable the robot target so a reboot brings the runtimes back (#335)

0.39.2 - 2026-08-17

Fixed

  • Install a release whose graph is up, not only one whose graph is complete (#333)

0.39.1 - 2026-08-17

Fixed

  • Make a systemd install actually come up (#331)

0.39.0 - 2026-08-17

Added

  • Adopt normalized manual intent and the snapshot robot identity (#329) [breaking]

0.38.0 - 2026-08-16

Added

  • Restore the startup welcome and make simulation session endings legible (#326)
  • Launch the robot from the CLI and build one bundle for every mode (#328) [breaking]

0.37.7 - 2026-08-15

0.37.6 - 2026-08-15

Fixed

  • Close owned simulation sessions (#322)

0.37.5 - 2026-08-15

0.37.4 - 2026-08-15

Refactored

  • Cut CLI over to framework supervisor (#318)

0.37.3 - 2026-08-13

Refactored

  • Finish CLI internal ownership cleanup (#316)

0.37.2 - 2026-08-11

Added

  • Make the robot project the framework authority for build validation (#312)
  • Deployment releases own the executor and the bundle (#313)
  • Phoxal-client owns the external robot boundary and deployment drops the product-version gate (#314)

Tests

  • Pin the upgrade-channel asset naming to the release workflow (#310)

0.37.1 - 2026-08-11

0.37.0 - 2026-08-11

Added

  • Adopt the framework wire families and gate attachment on exact framework equality (#303) [breaking]

Refactored

  • Remove adversarial hardening from the staging and client paths (#305)

0.36.1 - 2026-08-10

Added

  • Split phoxal from phoxald around finalized bundles and execution-scoped Zenoh (#297) [breaking]

Fixed

  • Restore private workspace releases (#301)

Refactored

  • Reconcile CLI runtime ownership (#299)

0.36.0 - 2026-08-07

Added

  • Split phoxal from phoxald around finalized bundles and execution-scoped Zenoh (#297) [breaking]

    The CLI now ships two executables that install and upgrade as one exact pair.
    phoxal builds projects, publishes the finalized bundle, and attaches a
    terminal session; phoxald supervises one execution and owns the robot's
    Zenoh router. The finalized robot.yaml is the only persisted robot
    definition, every bus key is rooted at the execution, and the private resident
    socket protocol is gone in favour of the typed supervisor API.

0.35.0 - 2026-08-06

Added

  • Build, stage, and launch the mandatory root brain; drop behavior handling (#293) [breaking]

0.34.0 - 2026-08-03

Added

  • Read the joypad locally and delete the tool concept (#290) [breaking]

0.33.0 - 2026-08-03

Added

  • (supervisor) Collect participant logs in-process, and fix a shipped catalog regression (#287) [breaking]
  • (supervisor) Retain runtime telemetry in-process, under a serve module (#289) [breaking]

0.32.0 - 2026-08-02

Added

  • (ui) Remove the Bus page and the device and clock feeds (#285) [breaking]

0.31.2 - 2026-08-02

Added

  • (supervisor) Serve declared assets instead of launching a service for it (#283)

0.31.1 - 2026-08-02

Added

  • (supervisor) Fail the session when the embedded router goes away (#281)

0.31.0 - 2026-08-02

Refactored

  • (supervisor) Run the Zenoh router inside the supervisor process (#279) [breaking]

0.30.4 - 2026-08-01

Added

  • (schema) Generate portable editor schemas (#277)

0.30.3 - 2026-08-01

Fixed

  • (project) Rebaseline framework train to 0.45.4

0.30.2 - 2026-08-01

Added

  • (project) Resolve component assets directly

0.30.1 - 2026-08-01

Added

  • Batch runtime preparation and progress (#271)

0.30.0 - 2026-08-01

Refactored

  • (cli) Remove obsolete executable plan store [breaking]

0.29.5 - 2026-07-31

Added

  • (build) Derive managed builder images from runtimes (#267)

0.29.4 - 2026-07-31

Added

  • Gate dashboard on startup readiness

0.29.3 - 2026-07-31

Fixed

  • Make catalog floor follow framework train (#263)

0.29.2 - 2026-07-31

Fixed

  • (simulation) Create the staged mesh root (#261)

0.29.1 - 2026-07-31

Fixed

  • (build) Compile container source once (#259)

0.29.0 - 2026-07-31

Refactored

  • (cli) Remove the service suite subcommand (#256) [breaking]
  • Consume compiled framework project output (#258)

0.28.12 - 2026-07-30

Refactored

  • Consume canonical framework model (#254)

0.28.11 - 2026-07-29

Fixed

  • Carry the resident's real failure reason to the client terminal (#252)

0.28.10 - 2026-07-29

Fixed

  • (cli) Let the resident child of a foreground simulation run bootstrap (#251)

Other

  • Move the installer's canonical home to phoxal/website (#249)

0.28.9 - 2026-07-29

Fixed

  • Harden attachment lifecycle resilience (#247)

0.28.8 - 2026-07-29

Refactored

  • (cli) Complete layered boundary cleanup (#245)

0.28.7 - 2026-07-29

Added

  • (ui) Rebuild attachment console with tui-realm (#243)

0.28.6 - 2026-07-29

Refactored

  • (client) Decompose attachment runtime

0.28.5 - 2026-07-29

Refactored

  • (supervisor) Extract resident runtime authority

0.28.4 - 2026-07-29

Refactored

  • Extract project preparation crate (#237)

0.28.3 - 2026-07-28

Added

  • Cut over resident protocol and force stop

0.28.2 - 2026-07-28

Refactored

  • Establish layered CLI ownership boundaries

0.28.1 - 2026-07-28

Other

  • Consume framework v0.43.2 (#231)

0.28.0 - 2026-07-28

Refactored

  • Align with participant authoring train (#229) [breaking]

0.27.1 - 2026-07-28

Refactored

  • (build) Batch official Cargo installs (#226)

0.27.0 - 2026-07-28

Fixed

  • (build) Persist the container Cargo target cache (#225)

Refactored

  • Finish Cargo-native runtime staging (#223) [breaking]

0.26.0 - 2026-07-27

Added

  • (validate) Check user config against its participant's schema (#220)

Fixed

  • (simulate) Validate the real check outcome, not a defaulted report (#216)
  • (build) Install the system libraries officials need to compile (#221)
  • (run) Gate the startup stage on a real router connect, not a Zenoh session (#222)

Other

  • (deps) Raise MSRV to 1.88 and refresh the lockfile (#215)

Refactored

  • Simplify participant metadata consumers (#214) [breaking]
  • Delete dead code (#217)
  • Delete the phoxal check command, keep the validation engine (#218)
  • Materialize official runtimes through Cargo (#219) [breaking]

Tests

  • Keep repository coverage to unit contracts (#212)

0.25.2 - 2026-07-26

Tests

  • (core) Remove integration test machinery
  • (cli) Remove integration test machinery (#211)

0.25.1 - 2026-07-26

Refactored

  • (router) Probe Zenoh readiness from the CLI (#207)

0.25.0 - 2026-07-26

Added

  • (cli) Adopt execution-scoped time and command model (#205) [breaking]

0.24.7 - 2026-07-25

Refactored

  • (simulation) Simplify Webots source runs (#203)

0.24.6 - 2026-07-25

Refactored

  • (suite) Accept artifact-only phoxal.suite/v0, drop profile surface (#201)

0.24.5 - 2026-07-25

Fixed

  • (supervisor) Scrub guardian systemd environment (#199)

0.24.4 - 2026-07-25

Fixed

  • (deploy) Converge installed runtime hygiene (#197)

0.24.3 - 2026-07-25

Fixed

  • (runtime) Support reference robot graph capacity (#195)

0.24.2 - 2026-07-25

Fixed

  • (deploy) Preserve artifact activation links (#193)

0.24.1 - 2026-07-25

Fixed

  • (build) Omit simulators from native bundles (#191)

0.24.0 - 2026-07-25

Added

  • Install immutable runtime releases (#189) [breaking]

0.23.0 - 2026-07-24

Added

  • Compile source projects into flat runtime roots and build.phoxal (phase 10) (#186) [breaking]
  • Declaration-driven user services and tools (phase 10B) (#188) [breaking]

0.22.1 - 2026-07-24

Added

  • (runtime) Adopt Cargo workspace model (#184)

0.22.0 - 2026-07-23

Added

  • (supervisor) Add resident attachable sessions (#180) [breaking]
  • (suite) Consume versioned launch profiles (#183) [breaking]

Fixed

  • (supervisor) Preserve guardian descriptors across exec (#182)

0.21.1 - 2026-07-23

Fixed

  • (release) Converge release automation

0.21.0 - 2026-07-23

Added

  • (supervisor) Add immutable managed execution plans [breaking]

Fixed

  • (release) Restore release-plz-managed CLI publication (#175) [breaking]

Other

  • Drop stale multi-version catalog remnants (#173)

Refactored

  • Harden supervisor state and readiness

0.20.1 - 2026-07-22

Fixed

  • Keep vendored artifacts on locked train (#171)

0.20.0 - 2026-07-22

Added

  • Select immutable framework suites by Cargo.lock (#168)

Fixed

  • Run doctor registry probe off async runtime (#170)

0.19.0 - 2026-07-20

Added

  • (telemetry) Add retained robot diagnostics (#166)

0.18.0 - 2026-07-20

Added

  • (supervisor) Recover foreground process graphs (#164)

Refactored

  • (cli) Remove alternate output modes
  • (cli) Establish core and UI crate boundaries (#161)
  • Complete CLI crate reorganization (#162)
  • (supervisor) Consume Zenoh Liveliness

0.17.0 - 2026-07-19

Added

  • Consume infrastructure router (#158)

0.16.1 - 2026-07-19

Fixed

  • (tui) Simplify joypad motion status (#156)

0.16.0 - 2026-07-18

Added

  • (tui) Refine session interface and navigation (#154)

0.15.0 - 2026-07-17

Added

  • (tui) Redesign sessions around robot development (#152)

0.14.2 - 2026-07-17

Fixed

  • (simulation) Respect Webots-owned lifecycle (#150)

0.14.1 - 2026-07-16

Refactored

  • (runtime) Keep site tools clockless (#148)

0.14.0 - 2026-07-15

Added

  • Simplify CLI runtime state (#146)

0.13.1 - 2026-07-15

Fixed

  • (deps) Restore published framework version pins + bump time (#144)

0.13.0 - 2026-07-15

Added

  • Adopt the simplified service topology (#142) [breaking]

Refactored

  • (api) Consume stable v1 and preview v2 (#141)

0.12.0 - 2026-07-14

Added

  • (update) Redesign artifact progress (#138)

0.11.1 - 2026-07-13

Fixed

  • (tui) Polish simulation interaction (#134)

0.11.0 - 2026-07-13

Added

  • (simulation) Finish clock and diagnostics UX (#131)

0.10.0 - 2026-07-13

Added

  • (cli-ux) Event-driven session core (follow-up refactor) (#128)

0.9.0 - 2026-07-13

Added

  • (simulate) Serve the robot spawn set over the bus, drop spawn from --config (#120)
  • (simulate) Observed-readiness barrier + failure propagation (#122)
  • (cli-ux) Branded operational console - theme, TUI, staged startup, live telemetry (#125)

Fixed

  • (simulate) Make live Webots simulation work end to end (#116)
  • (simulate) Clean Webots shutdown, native IMPORTABLE, in-project base pins (#118)
  • (simulate) Fail-fast on terminal graph failure; use framework spawn contracts; atomic state write (#123)
  • (run/deploy) Don't pass PHOXAL_CONFIG to configless tools; give telemetry PHOXAL_CONNECT (#126)

Refactored

  • (artifacts) Version-atomic store, self-cleaning lock, retire target-independent (#119)

Tests

  • (output-mode) Derive cli_version in json baseline from CARGO_PKG_VERSION (#127)

0.8.1 - 2026-07-11

Fixed

  • (resolver) Component_assets optional for driverless components (#113)
  • (resolver) Read official component-driver binary as phoxal-component- (#115)

0.8.0 - 2026-07-11

Added

  • (deploy) Phoxal-deploy group grant instead of per-user sudoers (#110) [breaking]
  • (check) Validate user-runtime config against its real emitted schema (W7) [hold: needs slotted catalog] (#109)

Refactored

  • (store) Filesystem-safe .phoxal package dirs (phoxal-x, not phoxal%2Fx) (#111)

0.7.0 - 2026-07-11

Added

  • Repoint joypad tool catalog to the framework release train (#59)
  • (cli) Build against framework 0.11.0 (#61)
  • (cli) Build against framework 0.12.0 (robot.yaml schema:v0 + api_version) (#62)
  • (cli) Add the phoxal check graph validation engine (pure core) (#63)
  • (cli) Migrate runtime resolution to api-version + channel (#64) [breaking]
  • (cli) Add the phoxal check command (#65)
  • (cli) Add phoxal runtime add (scaffold a user runtime) (#66)
  • (cli) Add phoxal runtime run (host-native user runtime) + bump to phoxal 0.15 (#67)
  • (cli) Check user runtimes by building and inspecting them (#69)
  • (cli) Check component drivers from source (git/path) in phoxal check (#70)
  • (cli) Add phoxal deploy build + migrate compose to the PHOXAL_* launch env (#71)
  • (cli) Catalog all 18 official runtimes on a single y2026_1 (#72)
  • Reconcile CLI to the rewrite spec + doc polish (plan-vs-code audit) (#73)
  • (16) Refine framework integration for 0.20 (phoxal-cli) (#76)
  • (06,16) Catalog consumption, D5 resolution, lifecycle diagnostics (#80)
  • (18) The typed LaunchPlan + the shared PHOXAL_* env encoder (#81)
  • (04) The host-native supervisor - run engine, board, bus logs (#82)
  • (10) Simulate mounts the supervisor with contract substitution (#83)
  • (19) --watch hot reload + path overrides (#84)
  • (03) The single deploy verb - probe, cross-build, render, sync, health (#85)
  • (11) Catalog activation - tools/simulators via catalog, stopgaps removed (#86)
  • (12) --message-format json for version and self upgrade (#88)
  • (13) Check --service self-sufficient on a cold cache (#89)
  • (simulate) Launch Webots with a staged world and supervisor-spawned robots (#91)
  • (simulate) Adapt to the relaxed check + stage/launch Webots correctly (#92)
  • (cli) Cut over to the five-root-key grammar + package identity (Phase 7 Band B) (#93) [breaking]
  • (cli) Catalog-native fetch for component assets + drivers (Phase 7) (#94) [breaking]
  • (cli) Add --target to check and simulate for cross-target validation (#95)
  • Rework runtime metadata on the new phoxal-api model (#103) [breaking]
  • (check) Apply validation at check/deploy/run/simulate (W6) (#105)
  • (self) Update-available banner (W8) (#106)
  • (deploy) Robot-side download + transactional remote release (W9) (#107)

Fixed

  • (cli) Drop driver-ddsm115 from the platform-runtime catalog (#68)
  • (03) Deploy hardening from the first live robot E2E (Jetson Orin) (#87)

Other

  • Bump to phoxal 0.19 + scaffold uses phoxal_api (plan #00) (#74)
  • (20) Remove robot new / service add scaffolding commands until v1 (#90)
  • Retrigger release-prep after shared-workflow pipefail fix

Refactored

  • Remove the lockfile - resolve live, pin via the deploy bundle (#75)
  • (05,02) CLI uses shared phoxal::check core + participant_class (#77)
  • (15) Retire the runtime name - exact kinds, service verb, 0.21 scaffold (#78)
  • Remove Docker/Compose/Balena/GHCR paths from phoxal-cli (#79)
  • (catalog) Read the catalog from the stable release, not the git ref (#96) [breaking]
  • (simulate) Stage under ~/.phoxal/run, symlink controllers+meshes, opt-in joypad (#97)
  • (simulate) Drop substitution checking, keep the sim board display (phoxal 0.28) (#98)
  • (plan) One LaunchPlan descriptor - LaunchMode::Webots{world}, drop SimulatePlan (WS3) (#99)
  • (catalog) Consume phoxal 0.29 lean phoxal::catalog, delete the schema mirror + sidecar (WS1b) (#100) [breaking]
  • (cache) Flat tarball store + local manifest + generalize git to any pin (WS2) (#101) [breaking]
  • Adapt to phoxal 0.30 - absorb check strip + manifest v0 rename (WS5 downstream) (#102) [breaking]
  • Transition phoxal-cli onto phoxal.catalog/v0 (W1-W5) (#104) [breaking]
  • Remove the phoxal init command and doctor's gitignore check (#108) [breaking]

0.6.0 - 2026-06-16

Added

  • (cli) Lock and recipe-build user runtimes (#55)
  • (cli) Provision Webots simulator binaries on live simulate (#57)

Fixed

  • (cli) Widen supported runtime train to any 0.x≥0.8 (#48)
  • (cli) Validate hard-fails user-runtime framework mismatch (#49)
  • (cli) Validate platform-runtime override version against releases (#51)
  • (cli) Simulate no longer silently writes phoxal.lock (#50)

Refactored

  • (cli) Derive platform-runtime image repo from name (#52)
  • (cli) Split simulate.rs into docker_stack + local_build modules (#53)

Style

  • (cli) Apply rustfmt to resolver + resolver_basic test (#47)

0.5.1 - 2026-06-16

Added

  • (cli) Consume the Webots simulator from the framework release train (#45)

Fixed

  • (cli) Make --version and version print the same string (#43)

0.5.0 - 2026-06-13

Added

  • Self upgrade, version commands, and a phoxal.com installer (#38)

Refactored

  • (cli) Make doctor a read-only host-readiness check (#40) (#42)

0.4.0 - 2026-06-12

Added

  • Decouple CLI version from robot.yaml and pin scaffolds to the runtime train (#34) [breaking]

0.3.0 - 2026-06-09

Added

  • (resolver) Stage git components from a repository subdirectory (#29)

CI

  • Gate releases on the release/ branch prefix (#28)
  • Use the shared rust-ci reusable workflow (#32)

Refactored

  • Depend on single phoxal crate (#31)

0.2.2 - 2026-06-07

CI

  • Gate release on the release-prep branch, not the PR title (#25)

Fixed

  • Make the lockfile-mismatch error in simulate actionable (#26)

0.2.1 - 2026-06-07

CI

  • Adopt shared reusable release workflows (#20)
  • Enforce Conventional Commit PR titles (#21)
  • Repoint reusable workflows to public phoxal/.github (#22)

Fixed

  • Clarify rustup install hint in doctor (#23)

0.2.0 - 2026-06-07

Added

  • (compose) Hand-write router service on upstream zenoh + add local_zenoh module
  • (simulate) Two-stack bring-up via phoxal-link network + compose --wait readiness
  • (simulate) World becomes CLI arg; caches move to ~/.phoxal/
  • (gate) Add live split-recovery gate for the simulation default (#11)

CI

  • (release) Explicit, retry-safe release tag handling (#19)

Documentation

  • (README) Document simulate + host layout under ~/.phoxal/

Fixed

  • (resolver) Never enter fake image digests into simulate or phoxal.lock (#10)

Other

  • Adopt phoxal framework renames (infra/api/core/runtime/validation)
  • Restore framework branch pin to main after restructure merge
  • (docker) Point OCI image.source label at phoxal/phoxal-cli

0.1.2 - 2026-05-28

Fixed

  • (catalog) Bump simulator_webots tools to v0.2.0

0.1.1 - 2026-05-28

Fixed

  • (catalog) Bump rerun_proxy + joypad to 0.1.0 with phoxal- prefixed assets

0.1.0 - 2026-05-28

Added

  • (simulate) Webots staging pipeline + multi-arch + compose name + install.sh

CI

  • (release) Replace release-plz with homegrown release-prep PR + matrix release
  • (release) Keep release-prep body out of PR diff
  • (release-prep) Skip when Cargo.toml is ahead of last tag (release in flight); cliff ignores 'release:' commits
  • (release) Drop x86_64-apple-darwin (Intel Mac); Apple Silicon only

Fixed

  • (release) Create tag via gh release --target (GITHUB_TOKEN can't git push workflow-touching commits)

0.0.0-dev - 2026-05-28

Added

  • Integrate ORB-SLAM3 backend with robot-localize runtime
  • (utils-robot) Single Robot struct + new robot.yaml schema
  • (phoxal-cli) Resolver + v1 commands (validate, simulate, doctor, create)
  • (phoxal-cli) Add update subcommand and simulate --dry-run flag
  • (cli) Offline by default; --pin-digests opts into Docker resolution
  • (phoxal-cli) Fetch framework releases over HTTP; cache 1h; drop hardcoded list

CI

  • Wire release-plz + cargo-dist binary release
  • (release) Cargo-dist owns the GitHub Release; release-plz only tags

Other

  • (license) Switch workspace to AGPL-3.0-only
  • Bootstrap phoxal-cli workspace
  • Ignore target/ and editor cruft
  • (deps) Rewire engine/runtimes git deps to phoxal/framework
  • (deps) Track framework renames (drop utils- prefix)
  • (version) Workspace → 0.0.0-dev (align with framework)
  • Release v0.0.0-dev

Refactored

  • (workspace) Carve members into future-repo subdirs
  • (engine) Fold phoxal-utils-conventions into phoxal-engine
  • (api) Introduce pub mod v1 in every phoxal-*-api crate
  • (phoxal-cli) Delete orphan command modules + phoxal-cli-webots

Tests

  • Inline plan_robot.yaml fixture so CI doesn't need sibling framework checkout