Skip to content

fix(composer): allow brick/math 0.20 - #718

Merged
Spomky merged 1 commit into
4.2.xfrom
fix/brick-math-open-constraint
Aug 30, 2026
Merged

fix(composer): allow brick/math 0.20#718
Spomky merged 1 commit into
4.2.xfrom
fix/brick-math-open-constraint

Conversation

@Spomky

@Spomky Spomky commented Aug 30, 2026

Copy link
Copy Markdown
Member

Problem

brick/math published six minor releases in seven months (0.15, 0.16, 0.17, 0.18, 0.19 and 0.20). Each one means adding a new ^0.x alternative to the constraint, cutting a release, and repeating the operation in every package of the stack (spomky-labs/cbor-php, spomky-labs/pki-framework, web-auth/cose-lib, web-token/jwt-library). Whichever package lags behind caps brick/math for the whole dependency tree of the applications that install them.

Change

^0.20 is added to the chain in both composer.json and src/Library/composer.json, which must stay in sync.

-        "brick/math": "^0.12|^0.13|^0.14|^0.15|^0.16|^0.17|^0.18|^0.19"
+        "brick/math": "^0.12|^0.13|^0.14|^0.15|^0.16|^0.17|^0.18|^0.19|^0.20"

The explicit chain is kept on purpose instead of an open range such as >=0.12 <1.0. brick/math is still a 0.x package, where a minor release is allowed to break the API, so every version has to be opted into deliberately.

Backward compatibility

Checked with composer/semver:

  • Intervals::isSubsetOf(old, new) returns true, so no accepted version is lost
  • the lower bound is unchanged at 0.12, nobody is forced to upgrade
  • 0.21 and above remain excluded

Which version is actually resolved

brick/math 0.20.0 was released on 2026-08-28, so this range is not speculative. The tree here still resolves 0.19.1 for now, because the released spomky-labs/pki-framework still caps brick/math at ^0.19. It will pick 0.20.0 up once that one is released, which is precisely the lockstep effect this change is meant to shorten.

@Spomky Spomky added this to the 4.2.2 milestone Aug 30, 2026
@Spomky Spomky added the Dependencies Pull requests that update a dependency file label Aug 30, 2026
@Spomky Spomky self-assigned this Aug 30, 2026
@Spomky Spomky added the Dependencies Pull requests that update a dependency file label Aug 30, 2026
brick/math ships a new minor release every few weeks, and every package
of the stack has to be bumped in lockstep because the one lagging behind
caps brick/math for the whole dependency tree. Declaring the next minor
ahead of time removes one round of that churn.

The range only gains 0.20.x. Every version accepted before is still
accepted, and 0.21 and above stay excluded so a breaking release cannot
slip in unnoticed.
@Spomky
Spomky force-pushed the fix/brick-math-open-constraint branch from 41d4719 to ae457df Compare August 30, 2026 13:26
@Spomky Spomky changed the title fix(composer): allow any brick/math 0.x release fix(composer): allow brick/math 0.20 Aug 30, 2026
@Spomky
Spomky merged commit e5b5ee2 into 4.2.x Aug 30, 2026
17 checks passed
@Spomky
Spomky deleted the fix/brick-math-open-constraint branch August 30, 2026 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant