Skip to content

v0.0.5

Choose a tag to compare

@bosd bosd released this 21 Oct 06:56

Roadmap phase 10: odx now knows a project's environments, compares them and promotes addons between them.

Highlights

  • Environments: an [environments] model with presets (major-branches, series-branches, main-production, odoo-sh, explicit), per-environment overrides, branch patterns and promotion edges. odx env list shows them and marks the current branch.
  • Comparing: odx env diff a b compares two environments through git, without a checkout: project addons, packages in uv.lock, aggregated repositories and the Odoo core. --vendored and --installed compare two vendor manifests or two installed environments.
  • Promoting: odx promote plans a promotion by module, --feature or --search/--select, follows the dependency closure and refuses downgrades, source changes and version conflicts unless allowed. --commit / --open-pr (with --yes) write exactly the plan and check that uv lock re-resolves nothing else; --with-code cherry-picks the missing commits and keeps branch-specific files. --from-pr promotes what a merged pull request changed; --rollback reverts a promotion however it was merged (merge commit, rebase or squash).
  • Dashboard: an environment drift section and a promote action (key P in the terminal view).
  • Pre-commit hooks: odx-verify, odx-check-deps and odx-lint, for pre-commit and prek.

Breaking changes

  • odx-dashboard: SectionKind gained Drift and Action gained Promote; exhaustive matches outside odx need the new arms.

New crates

odx-env is published for the first time.

Built with Rust & AI-accelerated engineering.