chore: archive pre-0.60 changelog notes and distill corrupted 0.47–0.59 entries
Raise the durable archive cutoff to 0.60.0, keep only the current release in CHANGELOG.md, and rewrite labeled summary/category/dev package aggregates for 0.47–0.59 into operator-facing Highlights/New/Fixed notes.
This commit is contained in:
1681
CHANGELOG-archive.md
1681
CHANGELOG-archive.md
File diff suppressed because it is too large
Load Diff
3833
CHANGELOG.md
3833
CHANGELOG.md
File diff suppressed because it is too large
Load Diff
@@ -8,38 +8,38 @@ import {
|
||||
partitionVersionsByCutoff,
|
||||
} from "../lib/changelog-archive.mjs";
|
||||
|
||||
test("partitions versions at the pre-0.50 archive cutoff", () => {
|
||||
test("partitions versions at the pre-0.60 archive cutoff", () => {
|
||||
assert.deepEqual(
|
||||
partitionVersionsByCutoff(["0.58.0", "0.50.0", "0.49.0", "0.11.1"]),
|
||||
partitionVersionsByCutoff(["0.60.0", "0.59.0", "0.50.0", "0.11.1"]),
|
||||
{
|
||||
current: ["0.58.0", "0.50.0"],
|
||||
archived: ["0.49.0", "0.11.1"],
|
||||
current: ["0.60.0"],
|
||||
archived: ["0.59.0", "0.50.0", "0.11.1"],
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
test("keeps the 0.50.0 boundary and newer patch versions current", () => {
|
||||
const partitioned = partitionVersionsByCutoff(["0.53.1", "0.50.0", "0.49.0"]);
|
||||
test("keeps the 0.60.0 boundary and newer patch versions current", () => {
|
||||
const partitioned = partitionVersionsByCutoff(["0.61.0", "0.60.0", "0.59.0"]);
|
||||
|
||||
assert.deepEqual(partitioned.current, ["0.53.1", "0.50.0"]);
|
||||
assert.deepEqual(partitioned.archived, ["0.49.0"]);
|
||||
assert.deepEqual(partitioned.current, ["0.61.0", "0.60.0"]);
|
||||
assert.deepEqual(partitioned.archived, ["0.59.0"]);
|
||||
});
|
||||
|
||||
test("preserves input order and archives non-parseable version keys", () => {
|
||||
const partitioned = partitionVersionsByCutoff([
|
||||
"0.51.0",
|
||||
"0.61.0",
|
||||
"legacy notes",
|
||||
"0.50.0 (pre-release, unpublished)",
|
||||
"0.49.9",
|
||||
"0.53.0",
|
||||
"0.60.0 (pre-release, unpublished)",
|
||||
"0.59.9",
|
||||
"0.62.0",
|
||||
]);
|
||||
|
||||
assert.deepEqual(partitioned.current, [
|
||||
"0.51.0",
|
||||
"0.50.0 (pre-release, unpublished)",
|
||||
"0.53.0",
|
||||
"0.61.0",
|
||||
"0.60.0 (pre-release, unpublished)",
|
||||
"0.62.0",
|
||||
]);
|
||||
assert.deepEqual(partitioned.archived, ["legacy notes", "0.49.9"]);
|
||||
assert.deepEqual(partitioned.archived, ["legacy notes", "0.59.9"]);
|
||||
});
|
||||
|
||||
test("supports a custom cutoff with release.mjs semver-ish parsing", () => {
|
||||
@@ -54,5 +54,6 @@ test("archive pointer references the archive file and cutoff", () => {
|
||||
|
||||
assert.ok(pointer.includes(CHANGELOG_ARCHIVE_FILE));
|
||||
assert.ok(pointer.includes(CHANGELOG_ARCHIVE_CUTOFF));
|
||||
assert.equal(CHANGELOG_ARCHIVE_CUTOFF, "0.60.0");
|
||||
assert.match(pointer, /\.\/CHANGELOG-archive\.md/);
|
||||
});
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
/**
|
||||
* FNXC:ReleaseChangelog 2026-07-12-00:00:
|
||||
* The root CHANGELOG.md is regenerated by scripts/release.mjs on every release, so pruning old release notes by hand would be reverted.
|
||||
* Keep the 0.50.0 cutoff in generator-owned pure logic so current release notes stay in CHANGELOG.md and older notes are durably split into CHANGELOG-archive.md.
|
||||
* Keep the archive cutoff in generator-owned pure logic so current release notes stay in CHANGELOG.md and older notes are durably split into CHANGELOG-archive.md.
|
||||
*
|
||||
* FNXC:ReleaseChangelog 2026-07-13-22:55:
|
||||
* Raise the archive cutoff from 0.50.0 to 0.60.0 so CHANGELOG.md keeps only 0.60.x+ and everything below 0.60 moves into CHANGELOG-archive.md.
|
||||
*/
|
||||
export const CHANGELOG_ARCHIVE_CUTOFF = "0.50.0";
|
||||
export const CHANGELOG_ARCHIVE_CUTOFF = "0.60.0";
|
||||
export const CHANGELOG_ARCHIVE_FILE = "CHANGELOG-archive.md";
|
||||
|
||||
/**
|
||||
|
||||
@@ -88,8 +88,11 @@ function run(cmd, { capture = false, allowFail = false, cwd } = {}) {
|
||||
* order at the end.
|
||||
*
|
||||
* FNXC:ReleaseChangelog 2026-07-12-00:00:
|
||||
* The root CHANGELOG.md is regenerated during every release, so the pre-0.50 prune must happen in this generator instead of as a manual docs edit.
|
||||
* Keep versions greater than or equal to the 0.50.0 cutoff in CHANGELOG.md, and write older versions to CHANGELOG-archive.md so the split survives the next release sync.
|
||||
* The root CHANGELOG.md is regenerated during every release, so the archive prune must happen in this generator instead of as a manual docs edit.
|
||||
* Keep versions greater than or equal to the archive cutoff in CHANGELOG.md, and write older versions to CHANGELOG-archive.md so the split survives the next release sync.
|
||||
*
|
||||
* FNXC:ReleaseChangelog 2026-07-13-22:55:
|
||||
* Cutoff is CHANGELOG_ARCHIVE_CUTOFF (currently 0.60.0) from scripts/lib/changelog-archive.mjs.
|
||||
*/
|
||||
function syncRootChangelog() {
|
||||
const pkgsDir = "packages";
|
||||
|
||||
Reference in New Issue
Block a user