Skip to content

2.0.1 - #73

Merged
peterrrock2 merged 8 commits into
mainfrom
2.0.1
Aug 5, 2026
Merged

peterrrock2 merged 8 commits into
mainfrom
2.0.1

Conversation

@peterrrock2

Copy link
Copy Markdown
Contributor

Covers API taxonomy cleanup that was intended to ship in 2.0.0, plus the release-engineering work that keeps the MGRP Docker pin in sync with releases going forward. 2.0.0 will be yanked on PyPI once 2.0.1 publishes; the changelog carries the [YANKED] marker and a preamble explaining that 2.0.1 is the intended 2.0 API.

2.0.0 was judged safe to yank since it released < 2 days ago, and no release announcement was made on public channels visible to collaborators.

Breaking API changes

These are hard renames with no deprecation aliases, consistent with the 2.0.0 rewrite policy.

  • scoring: evaluate_many returns ManyPlanEvalResult; streamed ensemble evaluations return EnsembleEvalResult; EvaluationRun is removed. EnsembleEvalResult.read gains return_type to request a pandas Series or DataFrame and narrow the static return type; Series and one-column DataFrame results convert between shapes.
  • ben: RunIteratorRecordedChainIterator, VariantEncodingVariant; old names removed.
  • mgrp: run settings are now RunSpec / RecomRunSpec / ForestRunSpec / SMCRunSpec; RunContainerRunnerSession; old names removed.

Behavior change

  • RecordedChain preserves input node order by default (graph_order=None). The previous compression-oriented reordering is opt-in via graph_order="mlc".

Docker image v2.0.1

  • docker/Dockerfile bumps RUSTRECOM_REF from the 0.1.4 branch to the rustrecom v0.2.0 commit (unified rustrecom CLI: chain / short-bursts / tilted subcommands, --config JSON mode, frcw shims, mst variant spellings).
  • The multi-arch image is published as mgggdev/replicate:v2.0.1 and DEFAULT_DOCKER_IMAGE in gerrytools/mgrp/run_container.py pins its immutable digest (@sha256:fe03dd8c...).

Devops updates for releases

The Docker pin can no longer silently drift from the release version:

  • release.yml: the validate job now extracts DEFAULT_DOCKER_IMAGE and refuses to build unless its tag is mgggdev/replicate:v<project version> and that tag resolves on Docker Hub to the pinned digest.
  • Taskfile:
    • docker-push and docker-retag finish by rewriting DEFAULT_DOCKER_IMAGE to the freshly published tag@digest (shared docker-pin step, which resolves the digest from the registry).
    • docker-pin -- <tag> is also callable directly to re-point the constant at an already-published tag.
    • docker-retag refuses to overwrite a tag that already exists on Docker Hub (it retags from the currently pinned digest, so overwriting would clobber a newer image).
    • check-release verifies, before tagging: the version is not already a git tag, the changelog has a ## [<version>] section, and the Docker pin matches the version and resolves on Docker Hub. All failures are reported at once.
  • CONTRIBUTING: new "Cutting a release" section documenting the manual sequence around the workflow (version bump, changelog roll, image publish with local live-test first, checks, tag, dispatch testpypi → pypi, release notes).
  • New .github/pull_request_template.md.

Documentation updates

  • Notes.md and stale TODO.md content removed.
  • Docs, notebooks (user_guide/user/mgrp/*, user_guide/user/scoring/*), and the API reference updated for the renames.

Verification

  • task check-release passes for v2.0.1 (version untagged, changelog section present, Docker pin matches and resolves on Docker Hub).
  • Test suite updated across mgrp / scoring / ben for the renames; the release steps gate publishing on running the live mgrp tests against the locally built image (MGRP_TEST_IMAGE=mgggdev/replicate:v2.0.1 uv run pytest tests/mgrp/live -q).

@peterrrock2
peterrrock2 merged commit f7e56e3 into main Aug 5, 2026
10 checks passed
@peterrrock2
peterrrock2 deleted the 2.0.1 branch August 5, 2026 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant