Skip to content

Open the 0.1 release cycle at 0.1.0-rc1 - #398

Open
Bronek wants to merge 14 commits into
mainfrom
bronek/release_0_1_rc1
Open

Open the 0.1 release cycle at 0.1.0-rc1#398
Bronek wants to merge 14 commits into
mainfrom
bronek/release_0_1_rc1

Conversation

@Bronek

@Bronek Bronek commented Aug 2, 2026

Copy link
Copy Markdown
Member

Six commits preparing the first release candidate.

Bump the version to 0.1.0-rc1 and summarize CHANGELOG. VERSION moves to 0.1.0-rc1; the ABI namespace becomes v0_1_rc1 / v0_1_rc1_cxx26, and the sync propagates to ports/libfn/vcpkg.json and MODULE.bazel. CHANGELOG's dated design-history entries collapse into the release entry — presenting what the library offers at 0.1.0 rather than a delta from an unreleased past — and the entry cites commit 41ac614, where the full history stays readable. The bump and the rewrite share one commit so that citation is literally the commit's parent.

Record how CHANGELOG is summarized for a release. The rule joins CONTRIBUTING ## Versioning: the accumulated entries collapse into a compact, dateless summary immediately before a release, and the summary names the commit carrying the last complete detailed list.

Strengthen the z promise and speak to tagged consumers. README's versioning contract now reads "upgrading never breaks a consumer" for z; the pinned-git-revision advice and the "unstable until standardization" paragraph — both written before any tag existed — give way to tagged-release consumption and the paper-tracking compatibility statement: a facility proposed in include/fn tracks its paper, and such a change bumps y, arriving only with a deliberate upgrade.

Follow-ups from documentation review. - both in README and TYPE_ALGEBRA

Verification

Full rebuild under the new namespace: 279 targets, 44/44 tests pass. Docs staging runs clean over the modified tree, and pre-commit — including the version-sync, namespace-wrap and README fence-sync hooks — passed on every commit.

After merge

Tag 0.1.0-rc1 and cut the release branch. The namespace consequence is intended: v0_1_rc1 and the final v0_1 mangle differently, so an rc and the release never link as one.

Assisted-by: Claude:claude-fable-5

Bronek added 6 commits August 2, 2026 14:26
The ABI namespace becomes v0_1_rc1, and the dated CHANGELOG entries
collapse into the release entry, which cites its parent 41ac614 as
the last commit carrying the full design history — one commit, so
the citation is exact.

Assisted-by: Claude:claude-fable-5
Assisted-by: Claude:claude-fable-5
A z upgrade never breaks a consumer; the pinned-revision advice and
the "unstable until standardization" paragraph predate the tag.

Assisted-by: Claude:claude-fable-5
Assisted-by: Claude:claude-fable-5
Assisted-by: Claude:claude-fable-5
Assisted-by: Claude:claude-fable-5
@Bronek Bronek added the release-0.1 Planned for release 0.1 label Aug 2, 2026
@augmentcode

augmentcode Bot commented Aug 2, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Prepares the first 0.1 release candidate by bumping the project version to 0.1.0-rc1 and updating release-facing documentation.

Changes:

  • Bumps version strings in VERSION, MODULE.bazel, and ports/libfn/vcpkg.json.
  • Updates ABI inline-namespace macros in include/libfn_version.hpp to v0_1_rc1 (and v0_1_rc1_cxx26).
  • Condenses CHANGELOG.md into a 0.1.0 release-style summary and links to the last detailed-history commit.
  • Documents the “summarize CHANGELOG before release” rule in CONTRIBUTING.md.
  • Refines README.md versioning/backcompat guidance, updates the composition example wording, and adds an acknowledgments entry + links.
  • Keeps the README example and examples/readme/main.cpp in sync with an added note about std::gcd’s precondition.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread CHANGELOG.md
Design history of libfn, newest first. The living documents — [README.md](README.md), [CONTRIBUTING.md](CONTRIBUTING.md), [docs/](docs/) — describe only the present state of the design; when a decision makes an earlier idea obsolete, this file is where the transition is recorded and explained.

## The conjunction sums two ungraded errors25 July 2026
## libfn 0.1.0: the first tagged release2 August 2026

@augmentcode augmentcode Bot Aug 2, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CHANGELOG.md:5: Since this PR bumps the repo’s version to 0.1.0-rc1, is it intentional that the top entry is titled “libfn 0.1.0: the first tagged release” (and describes the 0.1.0 tag as already existing)? This may be a bit confusing when reading the changelog at the 0.1.0-rc1 tag.

Severity: low

Other Locations
  • CHANGELOG.md:7

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Comment thread README.md
- a bump in **`y`** is a **breaking** change (API and/or ABI);
- a bump in **`z`** is a bug fix or a purely additive extension: the API and ABI stay compatible, but inline function definitions may change — see below.
- a bump in **`z`** is a bug fix or a purely additive extension: upgrading never breaks a consumer.

@augmentcode augmentcode Bot Aug 2, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

README.md:175: The new wording “a bump in z … upgrading never breaks a consumer” seems stronger than “bug fix”, since bugfixes can change observable behavior (and might break consumers depending on prior behavior). Would it help to clarify whether “never breaks” is meant strictly in the API/ABI sense (for a single-version rebuild) rather than behavioral compatibility?

Severity: low

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@codecov

codecov Bot commented Aug 2, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Bronek added 5 commits August 2, 2026 15:30
Assisted-by: Claude:claude-fable-5
Assisted-by: Claude:claude-fable-5
The artifact serves online compilers and standalone reproducers; the
workflow verifies it — sentinel plus the polygon example, built and run
against a shim include tree — and attaches it to published releases.
Examples spell fn includes <>-style for consistency.

Assisted-by: Claude:claude-fable-5
Pages serves with the permissive CORS that Compiler Explorer's
browser-side URL include needs and GitHub release assets lack, so the
exported site carries libfn.hpp. Docs deploy from the release branch
only, keeping the site — artifact included — on released, verified
content, and the staged footer names the version it was generated from.

Assisted-by: Claude:claude-fable-5
@sonarqubecloud

sonarqubecloud Bot commented Aug 3, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-0.1 Planned for release 0.1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant