Skip to content

driftless 0.3.2

Choose a tag to compare

@alexminnaar alexminnaar released this 02 Aug 20:40
· 17 commits to main since this release
e06a87c

[0.3.2] - 2026-07-31

Added

  • Release-candidate governance — release metadata and in-repository Action pins are checked in CI, and publish verification covers every supported Python version before artifacts can reach PyPI.
  • Cold-user adoption guidance — bundled examples, command selection, existing-repository setup, and public testbed reproduction now follow one documented path.
  • Enforceable comparisons and adoption battletest — compare --enforce provides CI exit semantics, while a clean-wheel fixture exercises the full existing-repository journey before publication.

Changed

  • Non-mutating automation previews — plan --act and poll --act evaluate and report candidate repairs without writing editable files unless --create is explicitly supplied.
  • Composite Action input handling — Action inputs now cross into Bash through environment variables, with command validation and non-evaluating argument parsing.
  • Safer CI defaults — generated refinement is manual unless --refine-on-push is explicit, and --setup-command installs customer application dependencies before provider-backed work.
  • Guided contract adoption — configure --apply safely creates or appends workflows, while init is neutral and unresolved placeholders block execution.

Fixed

  • GA automation branch safety — multi-trigger plan/poll runs now branch from and return to the original base, reject unknown local/remote retry branches, persist poll debounce state on the base branch, and skip migrations for already-open deterministic artifacts.
  • Repair prompt path containment — configured system and user prompt files can no longer escape the repository, including through symlinks.
  • Generated plan workflow — init-ci --plan now includes --create, so its scheduled workflow actually opens the PR or issue promised by the scaffold.
  • Failed PR recovery — a branch newly pushed by Driftless is removed when PR creation fails, and the matching local retry branch is cleaned up only when remote cleanup succeeds.
  • Generated migration delivery — blocked migrations continue to open-pr, create their evidence issue, then restore the failing job status.
  • Grading-aware generated CI — score and judge workflows no longer receive classification-only label-audit steps or malformed GitHub expressions.

Install:

pip install "driftless==0.3.2"

Action pin:

- uses: driftless-dev/driftless@v0.3.2