All notable changes to this project will be documented in this file, in reverse chronological order by release.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#34 fixes the docblock for
Rand::getFloat
to indicate that the bottom boundary can include 0. -
#36 removes all references to ircmaxell/random-lib from the component. While it was no longer used internally, references still existed that caused confusion for some users.
- #31 adds support for PHP 7.1 and 7.2.
-
#33 modifies the
Bcmath
BigInteger class to no longer change the globalbcscale
, but instead send the0
scale value explicitly to each bcmath operation. This prevents side effects when using bcmath in other scenarios. -
#29 modifies how caught exceptions are re-thrown; all such cases now provide the original exception as the previous exception.
- Nothing.
- Nothing.
This version contains a number of changes to required dependencies, error handling, and internals; please read the migration document for full details.
- #18 adds a requirement
on
ext/mbstring
. - #18 adds a requirement
on
paragonie/random_compat
for polyfilling PHP 7'srandom_bytes()
andrandom_int()
functionality. - #20 prepares and publishes documentation to https://zendframework.github.io/zend-math/
- Nothing.
- #18 removes the
$strong
optional parameter from the following methods, as the component now ensures a cryptographically secure pseudo-random number generator is always used:Rand::getBytes($length)
Rand::getBoolean()
Rand::getInteger($min, $max)
Rand::getFloat()
Rand::getString($length, $charlist = null)
- #18 removes the
requirement on ircmaxell/random-lib, in favor of paragonie/random_compat (as
noted above); this also resulted in the removal of:
- direct usage of mcrypt (this is delegated to paragonie/random_compat)
- direct usage of
/dev/urandom
orCOM
(this is delegated torandom_bytes()
and/or paragonie/random_compat) Zend\Math\Source\HashTiming
, as it was used only withRandomLib
.
- #18 updates the code to
replace usage of
substr()
andstrlen()
withmb_substr()
andmb_strlen()
; these ensure that all string manipulations within the component remain binary safe.
- Nothing.
- Nothing.
- Nothing.
- #16 updates
Zend\Math\Rand
to use PHP 7'srandom_bytes()
andrandom_int()
or mcrypt when detected, and fallback toircmaxell/RandomLib
otherwise, instead of using openssl. This provides more cryptographically secure pseudo-random generation.
- Nothing.
- Nothing.
- #5 removes
Zend\Math\BigInteger\AdapterPluginManager
, and thus the zend-servicemanager dependency. Essentially, no other possible plugins are likely to ever be needed outside of those shipped with the component, so using a plugin manager was overkill. The functionality for loading the two shipped adapters has been
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #7 fixes how base
conversions are accomplished within the bcmath adapter, ensuring PHP's native
base_convert()
is used for base36 and below, while continuing to use the base62 alphabet for anything above.