Skip to content

Bump version to 1.7.0#85

Open
mattkjames7 wants to merge 4 commits into
masterfrom
bump-version
Open

Bump version to 1.7.0#85
mattkjames7 wants to merge 4 commits into
masterfrom
bump-version

Conversation

@mattkjames7

Copy link
Copy Markdown
Contributor

No description provided.

@mattkjames7 mattkjames7 self-assigned this Jul 13, 2026
@mattkjames7
mattkjames7 marked this pull request as ready for review July 13, 2026 10:10
Comment thread CMakeLists.txt
@mattkjames7
mattkjames7 requested a review from gitbuda July 13, 2026 10:45
imilinovic
imilinovic previously approved these changes Jul 13, 2026
@imilinovic
imilinovic dismissed their stale review July 13, 2026 13:07

Gareth's suggestion is nice, I approved before I've seen it

@mattkjames7
mattkjames7 requested a review from Ignition July 14, 2026 05:36
Add a check that the shared library's ABI stays consistent with its
version numbers, so an incompatible change cannot ship under an unchanged
SOVERSION. The check compares the built library against an in-tree
baseline of the last released ABI (captured with libabigail's abidw) using
abidiff, classifying the result as an incompatible change, compatible
additions, or no change.

It then enforces the versioning policy: an incompatible change requires
both SOVERSION and project VERSION to increase; compatible additions
require a VERSION increase; no ABI change requires nothing. Because a
minor version bump may carry an ABI break, SOVERSION rather than a semver
major is the compatibility guard.

The policy is a pure core, so the whole matrix is unit-tested with plain
data without building anything; the shell around it gathers facts and
renders. Classification reads no version data from CMakeLists.txt:
SOVERSION comes from the built library's ELF SONAME and the version from
its own mg_client_version().

An update subcommand refreshes the baseline, and optionally sets the
CMake variables, on an intended ABI change or release. The check and the
policy tests run as a new job on push and pull_request.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants