docs: cut CHANGELOG [0.2.0] for the first release - #77
Conversation
Fold the curated [Unreleased] entries into a single [0.2.0] section dated 2026-05-26 (the first crates.io/PyPI publish date). The crate was never published, so the post-rebrand hardening that accumulated under [Unreleased] (crate-wide unsafe_op_in_unsafe_fn, CI fuzz smoke, rank_to_bucket fail-loud, the Python 3.10 / numpy 2.0 floor, the pytest CVE remediation) is all part of this first 0.2.0 release and belongs in its changelog. A plain [Unreleased] -> [0.2.0] rename would have collided with the existing [0.2.0] - 2026-05-22 rebrand section, so the two are merged. Entry prose is preserved verbatim except: the redundant "Crate version bumped to 0.2.0" bullet is dropped (implicit for a first publish) and the now-stale "in-progress Python bindings noted" clause is removed (they ship as `pip install ordvec`). [0.1.0] is kept as internal history. git-cliff still authors the GitHub Release notes on the v0.2.0 tag push; this is the in-repo CHANGELOG curation the release PR is for (CONTRIBUTING.md "Releases"). Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
Review Summary by QodoMerge Unreleased into [0.2.0] for first public release
WalkthroughsDescription• Merges [Unreleased] entries into [0.2.0] section dated 2026-05-26 • Consolidates two 0.2.0 sections (rebrand + hardening) into single release entry • Removes redundant "Crate version bumped" bullet and stale Python bindings note • Reorganizes subsections: moves Security and Documentation to end of [0.2.0] Diagramflowchart LR
A["[Unreleased] entries"] -->|"Fold into"| B["[0.2.0] - 2026-05-26"]
C["Old [0.2.0] - 2026-05-22"] -->|"Merge with"| B
B -->|"Consolidate as"| D["Single first release"]
File Changes1. CHANGELOG.md
|
There was a problem hiding this comment.
Code Review
This pull request updates the CHANGELOG.md file to consolidate the changes for the upcoming 0.2.0 release, which is the first public release on crates.io and PyPI. It documents the OrdVec ontology rebrand (dropping the 'Index' suffix from index types and flattening the rank_index module), security fixes, and documentation updates. There are no review comments to address.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
This PR prepares the curated changelog for the first public 0.2.0 release by promoting prior unreleased entries into the release section.
Changes:
- Adds
## [0.2.0] - 2026-05-26as the first public release entry. - Merges the prior rebrand notes and pre-publish hardening notes into one section.
- Keeps an empty
[Unreleased]section for future changes.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
After folding [Unreleased] into [0.2.0], the intro still read "the earlier 0.1.0 / 0.2.0 entries below were internal milestones ... so this is the first version people see" — self-contradictory: this *is* the [0.2.0] section (there is no [0.2.0] below, only [0.1.0]), and it cannot call 0.2.0 both an internal milestone and the first public version. Rewrite the intro to state it plainly: 0.2.0 is the first public release (the crate was not published before), pairing the rebrand with the pre-publish hardening that followed; the [0.1.0] section below is the pre-publish internal history. (Codex stop-gate review finding.) Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
Release-prep changelog curation for the first crates.io / PyPI publish of
0.2.0.What
Folds the curated
[Unreleased]entries into a single[0.2.0] - 2026-05-26section (the first-publish date). The crate was never published, so the
post-rebrand hardening that had collected under
[Unreleased]is part of thisfirst 0.2.0 and belongs in its changelog — and a plain rename would have collided
with the existing
[0.2.0] - 2026-05-22rebrand section, so the two are mergedinto one section.
Editorial decisions (flagging for review)
[Unreleased]→[0.2.0], re-dated 2026-05-26.pip install ordvec).[0.1.0]kept as internal history; empty[Unreleased]retained on top; compare links unchanged.After merge (release sequence)
mainHEAD → new release candidate; all four gated workflows (ci/python/fuzz/codeql) run on it (python.ymlnow always runs onmainper Pre-publish: correct the crates.io README snapshot + harden release gates #76).v0.2.0tag →changelog.ymlcreates a draft GitHub Release via git-cliff (review/trim — with no prior tag,--latestspans all history).release-crate.yml+release-python.yml; approve thecrates-io/pypienvironments.Publish stays held on your dispatch + environment approval.