Skip to content

Update dependency brick/math to ^0.15.0#707

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/brick-math-0.x
Open

Update dependency brick/math to ^0.15.0#707
renovate[bot] wants to merge 1 commit intomainfrom
renovate/brick-math-0.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 21, 2026

This PR contains the following updates:

Package Change Age Confidence
brick/math ^0.14.8^0.15.0 age confidence

Release Notes

brick/math (brick/math)

v0.15.0

Compare Source

💥 Breaking changes

  • floating-point inputs are no longer accepted by of() and arithmetic methods, use of((string) $float) to get the same behaviour as before (#​105)
  • BigRational is now always simplified to lowest terms: all operations, including of() and ofFraction(), now return a fraction in its simplest form (e.g. 2/3 instead of 4/6)
  • BigDecimal::dividedBy() now requires the $scale parameter
  • BigInteger::sqrt() and BigDecimal::sqrt() now default to RoundingMode::Unnecessary, explicitly pass RoundingMode::Down to get the previous behaviour
  • BigInteger::mod() now uses Euclidean modulo semantics: the modulus must be strictly positive, and the result is always non-negative; this change aligns with Java's BigInteger.mod() behaviour
  • BigInteger::mod(), modInverse() and modPow() now throw InvalidArgumentException (instead of NegativeNumberException) for negative modulus/exponent arguments
  • MathException is now an interface instead of a class
  • BigDecimal::getPrecision() now returns 1 for zero values
  • BigNumber::min(), max() and sum() now throw an ArgumentCountError when called with no arguments (previously threw InvalidArgumentException)
  • BigInteger::randomBits() and randomRange() now throw RandomSourceException when random byte generation fails or returns invalid data

Deprecated API elements removed:

  • deprecated method BigInteger::testBit() has been removed, use isBitSet() instead
  • deprecated method BigInteger::gcdMultiple() has been removed, use gcdAll() instead
  • deprecated method BigDecimal::exactlyDividedBy() has been removed, use dividedByExact() instead
  • deprecated method BigDecimal::getIntegralPart() has been removed (will be re-introduced as returning BigInteger in 0.16)
  • deprecated method BigDecimal::getFractionalPart() has been removed (will be re-introduced as returning BigDecimal with a different meaning in 0.16)
  • deprecated method BigDecimal::stripTrailingZeros() has been removed, use strippedOfTrailingZeros() instead
  • deprecated method BigRational::nd() has been removed, use ofFraction() instead
  • deprecated method BigRational::quotient() has been removed, use getIntegralPart() instead
  • deprecated method BigRational::remainder() has been removed, use $number->getNumerator()->remainder($number->getDenominator()) instead
  • deprecated method BigRational::quotientAndRemainder() has been removed, use $number->getNumerator()->quotientAndRemainder($number->getDenominator()) instead
  • deprecated RoundingMode upper snake case constants (e.g. HALF_UP) have been removed, use the pascal case version (e.g. HalfUp) instead

The following breaking changes only affect you if you're using named arguments:

  • BigInteger::mod() now uses $modulus as the parameter name
  • BigInteger::modInverse() now uses $modulus as the parameter name
  • BigInteger::modPow() now uses $exponent and $modulus as parameter names
  • BigInteger::shiftedLeft() now uses $bits as the parameter name
  • BigInteger::shiftedRight() now uses $bits as the parameter name
  • BigInteger::isBitSet() now uses $bitIndex as the parameter name
  • BigInteger::randomBits() now uses $bitCount as the parameter name
  • BigDecimal::withPointMovedLeft() now uses $places as the parameter name
  • BigDecimal::withPointMovedRight() now uses $places as the parameter name

The following breaking changes are unlikely to affect you:

  • DivisionByZeroException::modulusMustNotBeZero() has been renamed to zeroModulus()
  • DivisionByZeroException::denominatorMustNotBeZero() has been renamed to zeroDenominator()
  • IntegerOverflowException::toIntOverflow() has been renamed to integerOutOfRange()
  • RoundingNecessaryException::roundingNecessary() has been removed

🗑️ Deprecations

  • Method BigRational::simplified() is deprecated, as it is now a no-op

New features

  • BigInteger::power(), BigDecimal::power() and BigRational::power() no longer enforce an exponent limit
  • BigInteger::shiftedLeft() and BigInteger::shiftedRight() no longer enforce a limit on the number of bits
  • BigRational::power() now accepts negative exponents
  • New exception: InvalidArgumentException for invalid argument errors
  • New exception: NoInverseException for modular inverse errors
  • New exception: RandomSourceException for random source errors

👌 Improvements

  • Narrowed parameter and return types with static analysis annotations (#​108 by @​simPod)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Contributor Author

renovate bot commented Feb 21, 2026

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: composer.lock
Command failed: composer update brick/math:0.15.0 --with-dependencies --ignore-platform-req=ext-* --ignore-platform-req=lib-* --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins --minimal-changes
Loading composer repositories with package information
������������������������������������������������������                                                      ������������������������������������������������������Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires brick/math ^0.15.0, found brick/math[0.15.0] but these were not loaded, likely because it conflicts with another require.
  Problem 2
    - brick/money is locked to version 0.11.1 and an update of this package was not requested.
    - brick/money 0.11.1 requires brick/math ~0.14.4 -> found brick/math[0.14.4, ..., 0.14.8] but it conflicts with your root composer.json require (^0.15.0).
  Problem 3
    - ramsey/uuid is locked to version 4.9.2 and an update of this package was not requested.
    - ramsey/uuid 4.9.2 requires brick/math ^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14 -> found brick/math[0.8.16, ..., 0.14.8] but it conflicts with your root composer.json require (^0.15.0).
  Problem 4
    - google/cloud-translate is locked to version v2.1.2 and an update of this package was not requested.
    - google/cloud-translate v2.1.2 requires google/gax ^1.38.0 -> satisfiable by google/gax[v1.42.0].
    - google/gax v1.42.0 requires ramsey/uuid ^4.0 -> satisfiable by ramsey/uuid[4.9.2].
    - ramsey/uuid 4.9.2 requires brick/math ^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14 -> found brick/math[0.8.16, ..., 0.14.8] but it conflicts with your root composer.json require (^0.15.0).

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

@renovate renovate bot changed the title Update dependency brick/math to ^0.15.0 Update dependency brick/math to ^0.15.0 - autoclosed Feb 23, 2026
@renovate renovate bot closed this Feb 23, 2026
@renovate renovate bot deleted the renovate/brick-math-0.x branch February 23, 2026 13:29
@renovate renovate bot changed the title Update dependency brick/math to ^0.15.0 - autoclosed Update dependency brick/math to ^0.15.0 Feb 23, 2026
@renovate renovate bot reopened this Feb 23, 2026
@renovate renovate bot force-pushed the renovate/brick-math-0.x branch from c6759f4 to bf212c6 Compare February 23, 2026 16:59
@renovate renovate bot changed the title Update dependency brick/math to ^0.15.0 Update dependency brick/math to ^0.15.0 - autoclosed Feb 23, 2026
@renovate renovate bot closed this Feb 23, 2026
@renovate renovate bot changed the title Update dependency brick/math to ^0.15.0 - autoclosed Update dependency brick/math to ^0.15.0 Feb 24, 2026
@renovate renovate bot reopened this Feb 24, 2026
@renovate renovate bot force-pushed the renovate/brick-math-0.x branch 2 times, most recently from bf212c6 to a66b7b9 Compare February 24, 2026 00:56
@renovate renovate bot changed the title Update dependency brick/math to ^0.15.0 Update dependency brick/math to ^0.15.0 - autoclosed Feb 25, 2026
@renovate renovate bot closed this Feb 25, 2026
@renovate renovate bot changed the title Update dependency brick/math to ^0.15.0 - autoclosed Update dependency brick/math to ^0.15.0 Feb 25, 2026
@renovate renovate bot reopened this Feb 25, 2026
@renovate renovate bot force-pushed the renovate/brick-math-0.x branch 2 times, most recently from a66b7b9 to adfa5b5 Compare February 25, 2026 17:07
@sonarqubecloud
Copy link

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.

0 participants