docs: repair CHANGELOG structure and add the v0.7.0 migration guide - #237
Merged
Merged
Conversation
Structural repairs to the [Unreleased] section, all of which came from merging several branches into a moving main: - Four consecutive `### Fixed` headings collapsed into one. Keep a Changelog expects one heading per category, and GitHub renders the duplicates as separate lists, so the later entries looked detached from the section. - Missing blank line between four adjacent entries, which merged them into a single Markdown list item. Only the [Unreleased] section is touched; the historical sections keep their existing formatting. Two content gaps: - The v0.7.0 work changed how the suite must be invoked, and that was not recorded anywhere in the changelog. `php run-tests.php -n tests/` skipped 172 of 189 tests on a glibc host because `-n` strips the conf.d ini that provides FFI. `.github/scripts/run-tests.sh` already handled both halves correctly, so the defect was documentation only. - The cross-module allocator mismatch tracked as #228 is a real, still-open undefined-behaviour finding. Added under a new `### Known issues` heading so it is discoverable without reading the issue, and clearly marked as not the cause of the exit crash that was fixed. MIGRATION.md gained a v0.6.0 -> v0.7.0 section covering the six additive API changes, the prebuilt SDK switch, and the test-command change. All of it is backward compatible except the invocation change, which is called out. The file now opens with an index of both guides instead of a single title. README gained the bundled zvec version, a pointer to the migration guide, the corrected `zvec-install` example version, and three corrected test commands with the reason the extra flag is needed. test_docs_consistency.phpt now checks that the migration guide exists, states the change is additive, and documents each of the eight new public API names. Without that check the guide would silently fall behind the README again, which is how it ended up with no v0.7.0 section at all. Tests: 202/202, 0 skipped, 0 failed, 2 expected fail.
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 free
to 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.
Follow-up to the v0.7.0 milestone merge (#229–#235). No code change; the suite runs green before and after.
What was broken
Merging seven branches into a moving
mainleft the[Unreleased]section structurally broken:### Fixedheadings. Keep a Changelog expects one per category, and GitHub renders the duplicates as separate lists, so entries after the first looked detached from the section.Only
[Unreleased]is touched. The historical sections keep their formatting, including their own pre-existing duplicate headings, which are not this PR's business.What was missing
The test-command change was not in the changelog at all. That is the one thing in this milestone that can break someone's workflow, and it was undocumented.
.github/scripts/run-tests.shalready handled both halves correctly, so the defect was documentation only.The open allocator finding (#228) was invisible. It is a real undefined-behaviour issue with the prebuilt SDK, currently benign but not going away. Added under a new
### Known issuesheading, explicitly marked as not the cause of the exit crash that was fixed, because that confusion already happened twice during this milestone.MIGRATION.md had no v0.7.0 section
Six additive API changes, a prebuilt SDK switch, and the invocation change — with nothing written down. Added a full section, plus a file-level index at the top since it now covers two upgrades. Each entry states whether it is backward compatible; only the test command is not, and that is called out on its own.
Guarding against a repeat
test_docs_consistency.phptnow asserts that the migration guide exists, states the change is additive, and documents each of the eight new public API names:Without that check the guide silently falls behind the README again — which is exactly how it ended up with no v0.7.0 section.
Verification
test_dbs/is left with only.gitignore.Note
This is deliberately not a
0.7.0release. The milestone still has open issues (#222, #226, #217, #219, …), and the final## [Unreleased]→## [0.7.0]cut plus a tag is a separate step once those land. Doing it now would just need redoing.🤖 Generated with Claude Code