Release 0.2.0 - #22
Merged
Merged
Conversation
Bumps compileml.__version__ (the single source pyproject reads at build time) and cuts the CHANGELOG section. Adds the test behind the release note's backward-compatibility claim: the recorded model.monotone_constraints field must be inert to scoring, which is what lets schema_version stay 2 and lets runtimes predating the field score constrained artifacts to identical integers.
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Version bump and CHANGELOG cut for the monotone-constraints release (#21, closing #8).
Why 0.2.0 rather than 0.1.2
Additive public API — two new keyword arguments (
train_whitebox,build_artifact), three newly exported functions, a ninth validation check, and a new optional spec field. Backward-compatible new functionality is a MINOR bump under the SemVer this CHANGELOG commits to.Backward compatibility, verified
schema_versionstays 2 and the newmodel.monotone_constraintsfield is optional. I checked the real question — whether runtimes already deployed in the field cope — by extracting the v0.1.1 source tree from its tag and scoring a constrained artifact built by this branch using only the old runtime: it loaded, verified the hash, and returned byte-identicallatent_int,band, andpd_ppmacross 25 rows.That was a manual check, so this PR adds the test that keeps it true:
test_recorded_constraints_are_inert_to_scoringstrips the field, re-hashes, and asserts identical integers and identical attribution. The field is governance metadata; it must never be an input to a decision.Version plumbing, verified
The 0.1.0 release shipped a wheel whose
__version__said0.1.0.dev0while its PyPI metadata was correct. That is now structurally impossible —compileml.__version__is the single source pyproject reads — but I confirmed it end to end anyway: built the wheel, installed it into a clean venv, and bothcompileml.__version__andimportlib.metadata.version('compileml')report0.2.0.To release after merging
Then publish a GitHub release on that tag — release.yml fires on
release: publishedand pushes to PyPI via trusted publishing. If you want a rehearsal first, the workflow'sworkflow_dispatch→testpypipath builds and publishes to Test PyPI without touching the real index.