Skip to content

fix(deps): keep the app's brick/math within the range core's packages allow - #189

Merged
oleksandr-nc merged 1 commit into
mainfrom
fix/brick-math-core-range
Nov 9, 2026
Merged

oleksandr-nc merged 1 commit into
mainfrom
fix/brick-math-core-range

Conversation

@oleksandr-nc

@oleksandr-nc oleksandr-nc commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

The app's Composer autoloader registers itself in front of Nextcloud's own, so for every class that is not loaded yet, the app's copy is the one the whole process gets. The app ships brick/math through ramsey/uuid: 0.18.0 in the released 3.5.2 and 3.6.0, 1.0.0 on main. All released versions of Nextcloud 33, 34 and 35, and master, ship brick/math 0.12.1 for spomky-labs/cbor-php, spomky-labs/pki-framework and web-auth/cose-lib, which allow it up to 0.12 only. With the app enabled they run against the app's copy, which no longer has BigInteger::testBit() (removed in 0.15.0, along with other breaking changes), so pki-framework's Real::fromFloat() fails with Call to undefined method Brick\Math\BigInteger::testBit().

ramsey/uuid accepts brick/math ^0.12 as well, so composer.json now requires ^0.12, which keeps the app's copy inside the range core's packages allow. The lock moves brick/math from 1.0.0 to 0.12.3; no other package changes. Dependabot ignores brick/math 0.13 and later from now on: it rewrites the constraint of a direct requirement when it bumps it, as it did for kiota-http-guzzle in #115.

🤖 AI (if applicable)

  • The content of this PR was partly or fully generated using AI

@oleksandr-nc
oleksandr-nc force-pushed the fix/brick-math-core-range branch 2 times, most recently from daf1330 to 05a6bd4 Compare November 9, 2026 17:34
@oleksandr-nc oleksandr-nc changed the title fix(deps): stop replacing core's brick/math with a version it does not support fix(deps): keep the app's brick/math within the range core's packages allow Nov 9, 2026
@oleksandr-nc
oleksandr-nc force-pushed the fix/brick-math-core-range branch 3 times, most recently from 7659e7b to f8fe09d Compare November 9, 2026 18:11
… allow

The app's Composer autoloader registers itself in front of Nextcloud's own,
so for every class that is not loaded yet, the app's copy is the one the
whole process gets. The app ships brick/math through ramsey/uuid: 0.18.0 in
the released 3.5.2 and 3.6.0, 1.0.0 on main. All released versions of
Nextcloud 33, 34 and 35, and master, ship brick/math 0.12.1 for
spomky-labs/cbor-php, spomky-labs/pki-framework and web-auth/cose-lib,
which allow it up to 0.12 only. With the app enabled they run against the
app's copy, which no longer has BigInteger::testBit() (removed in 0.15.0,
along with other breaking changes), so pki-framework's Real::fromFloat()
fails with "Call to undefined method Brick\Math\BigInteger::testBit()".

ramsey/uuid accepts brick/math ^0.12 as well, so requiring ^0.12 keeps the
app's copy inside the range core's packages allow. The lock moves
brick/math from 1.0.0 to 0.12.3; no other package changes. Dependabot
ignores brick/math 0.13 and later from now on: it rewrites the constraint
of a direct requirement when it bumps it, as it did for kiota-http-guzzle
in #115.

Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
@oleksandr-nc
oleksandr-nc force-pushed the fix/brick-math-core-range branch from f8fe09d to d772b0d Compare November 9, 2026 18:45
@oleksandr-nc
oleksandr-nc merged commit 6c8f4aa into main Nov 9, 2026
24 checks passed
@oleksandr-nc
oleksandr-nc deleted the fix/brick-math-core-range branch November 9, 2026 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant