PackageTrack
Sign in Get early access

zendframework/zend-math

Abandoned; use laminas/laminas-math. Create cryptographically secure pseudo-random numbers, and manage big integers

3.2.0 19M downloads/mo #3994 most downloaded on Packagist zendframework/zend-math

What this package is like to depend on

Last release 8 years ago

no release in 18 months

Ships unpredictably

gaps range from 3 weeks to 2.0 years

Rarely documented

notes for 8 of 68 stable releases

Nothing withdrawn

no release was ever pulled

14 years old

68 releases · first in 2012

0 releases in the last 12 months

see the full history below

Release timeline

33 releases · Oct 2012 to Dec 2018
2013 2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 60 of 68
  1. 3.2.0 04 Dec 2018
    Release notes

    Added

    • #40 adds support for PHP 7.3.

    • #38 adds support for paragonie/random_compat 9.99.99.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • Nothing.
    Open source →
    Release notes

    Added

    • #40 adds support for PHP 7.3.

    • #38 adds support for paragonie/random_compat 9.99.99.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • Nothing.
    Open source →
  2. 3.1.1 10 Jul 2018
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #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.

    Open source →
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #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.

    Open source →
  3. 3.1.0 26 Apr 2018
    Release notes

    Added

    • #31 adds support for PHP 7.1 and 7.2.

    Changed

    • #33 modifies the Bcmath BigInteger class to no longer change the global
      bcscale, but instead send the 0 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.

    Deprecated

    • Nothing.

    Removed

    • #31 removes support for PHP 5.5.

    • #31 removes support for HHVM.

    Fixed

    • Nothing.
    Open source →
    Release notes

    Added

    • #31 adds support for PHP 7.1 and 7.2.

    Changed

    • #33 modifies the Bcmath BigInteger class to no longer change the global bcscale, but instead send the 0 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.

    Deprecated

    • Nothing.

    Removed

    • #31 removes support for PHP 5.5.

    • #31 removes support for HHVM.

    Fixed

    • Nothing.
    Open source →
  4. 3.0.0 28 Apr 2016
    Release notes

    This version contains a number of changes to required dependencies, error handling, and internals; please read the migration document for full details.

    Added

    Deprecated

    • Nothing.

    Removed

    • #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 or COM (this is delegated to
        random_bytes() and/or paragonie/random_compat)
      • Zend\Math\Source\HashTiming, as it was used only with RandomLib.

    Fixed

    • #18 updates the code to
      replace usage of substr() and strlen() with mb_substr() and
      mb_strlen(); these ensure that all string manipulations within the component
      remain binary safe.
    Open source →
    Release notes

    This version contains a number of changes to required dependencies, error handling, and internals; please read the migration document for full details.

    Added

    • #18 adds a requirement on ext/mbstring.
    • #18 adds a requirement on paragonie/random_compat for polyfilling PHP 7's random_bytes() and random_int() functionality.
    • #20 prepares and publishes documentation to https://zendframework.github.io/zend-math/

    Deprecated

    • Nothing.

    Removed

    • #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 or COM (this is delegated to random_bytes() and/or paragonie/random_compat)
      • Zend\Math\Source\HashTiming, as it was used only with RandomLib.

    Fixed

    • #18 updates the code to replace usage of substr() and strlen() with mb_substr() and mb_strlen(); these ensure that all string manipulations within the component remain binary safe.
    Open source →
  5. 2.7.1 04 Dec 2018
    Release notes

    Added

    • Nothing.

    Changed

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #37 adds the static method isSupported to the Zend\Math\Source\HashTiming
      class, to ensure it fulfills the RandomLib\Source interface from version 2.7
      and up.
    Open source →
  6. 2.7.0 07 Apr 2016
    Release notes

    Added

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #16 updates
      Zend\Math\Rand to use PHP 7's random_bytes() and random_int() or mcrypt
      when detected, and fallback to ircmaxell/RandomLib otherwise, instead of using
      openssl. This provides more cryptographically secure pseudo-random generation.
    Open source →
    Release notes

    Added

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #16 updates Zend\Math\Rand to use PHP 7's random_bytes() and random_int() or mcrypt when detected, and fallback to ircmaxell/RandomLib otherwise, instead of using openssl. This provides more cryptographically secure pseudo-random generation.
    Open source →
  7. 2.6.0 02 Feb 2016
    Release notes

    Added

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • #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

    Fixed

    • Nothing.
    Open source →
  8. 2.5.2 17 Dec 2015
    Release notes

    Added

    • Nothing.

    Deprecated

    • Nothing.

    Removed

    • Nothing.

    Fixed

    • #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.
    Open source →
  9. 2.5.1 03 Jun 2015

    Nothing published for this version

  10. 2.5.0 03 Jun 2015

    Nothing published for this version

  11. 2.4.13 07 May 2015

    Nothing published for this version

  12. 2.4.12 no date

    Nothing published for this version

  13. 2.4.11 no date

    Nothing published for this version

  14. 2.4.10 no date

    Nothing published for this version

  15. 2.4.9 no date

    Nothing published for this version

  16. 2.4.8 no date

    Nothing published for this version

  17. 2.4.7 no date

    Nothing published for this version

  18. 2.4.6 no date

    Nothing published for this version

  19. 2.4.5 no date

    Nothing published for this version

  20. 2.4.4 no date

    Nothing published for this version

  21. 2.4.3 no date

    Nothing published for this version

  22. 2.4.2 no date

    Nothing published for this version

  23. 2.4.1 no date

    Nothing published for this version

  24. 2.4.0 23 Mar 2015

    Nothing published for this version

  25. 2.3.9 13 Jan 2015

    Nothing published for this version

  26. 2.3.8 no date

    Nothing published for this version

  27. 2.3.7 no date

    Nothing published for this version

  28. 2.3.6 no date

    Nothing published for this version

  29. 2.3.5 no date

    Nothing published for this version

  30. 2.3.4 no date

    Nothing published for this version

  31. 2.3.3 11 Aug 2014

    Nothing published for this version

  32. 2.3.2 no date

    Nothing published for this version

  33. 2.3.1 14 Apr 2014

    Nothing published for this version

  34. 2.3.0 12 Mar 2014

    Nothing published for this version

  35. 2.2.10 05 Mar 2014

    Nothing published for this version

  36. 2.2.9 no date

    Nothing published for this version

  37. 2.2.8 no date

    Nothing published for this version

  38. 2.2.7 no date

    Nothing published for this version

  39. 2.2.6 no date

    Nothing published for this version

  40. 2.2.5 31 Oct 2013

    Nothing published for this version

  41. 2.2.4 21 Aug 2013

    Nothing published for this version

  42. 2.2.3 no date

    Nothing published for this version

  43. 2.2.2 10 May 2013

    Nothing published for this version

  44. 2.2.1 no date

    Nothing published for this version

  45. 2.2.0 no date

    Nothing published for this version

  46. 2.1.6 17 Apr 2013

    Nothing published for this version

  47. 2.1.5 no date

    Nothing published for this version

  48. 2.1.4 13 Mar 2013

    Nothing published for this version

  49. 2.1.3 19 Feb 2013

    Nothing published for this version

  50. 2.1.2 no date

    Nothing published for this version

  51. 2.1.1 06 Feb 2013

    Nothing published for this version

  52. 2.1.0 29 Jan 2013

    Nothing published for this version

  53. 2.0.8 13 Mar 2013

    Nothing published for this version

  54. 2.0.7 26 Jan 2013

    Nothing published for this version

  55. 2.0.6 19 Dec 2012

    Nothing published for this version

  56. 2.0.5 20 Nov 2012

    Nothing published for this version

  57. 2.0.4 no date

    Nothing published for this version

  58. 2.0.3 17 Oct 2012

    Nothing published for this version

  59. 2.4.0rc7 no date

    Nothing published for this version

  60. 2.4.0rc6 no date

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive