Releases: bashtage/randomgen
Release 2.3.0
This is a feature, bug fix, and code clean-up release. This release adds the new bit generator BlaBla based on the Blake 2b hash function.
- 
- Added the 
BlaBlaPRNG, which is based on the Blake 2b hash function.BlaBlais a counter-based PRNG like
AESCounterand supports bothadvanceandjumped. 
 - Added the 
 
- Removed 
modefrom bit generator initialization. This argument has been deprecated since release 2.0.0. - Moved the build system to meso,n which improves build time.
 - Fixed a breaking change that affected the use of 
functools.partialtest suite in Python 3.14. 
Release 2.1.1
This is a feature, bug fix, and code clean-up release. This release adds two new bit generators, Tyche and Squares.
- Fix a small packaging error in 2.1.0 that skipped two files used in tests
 - Added the 
TychePRNG of Neves and Araujo. Supports two variants. One is the original implementation in the 2012 paper. The second implementation matches the version inOpenRand. - Added the 
SquaresPRNG of Widynski. Supports two variants. The default uses 5 rounds of the middle square algorithm and outputs a 64-bit value. Ifvariant=32, then 4 rounds are used but only 32 bits returned. - Added the helper function 
squares.generate_keysforSquares. This function can be used to pre-generate keys for use withSquares. - Fixed a bug in 
LCG128Mixthat resulted inincnot being correctly set when initialized without a user-providedinc. - Refactored the broadcasting helper functions out of 
randomgen.commontorandomgen.broadcast. Tests have been added and some edge case bugs have been found and fixed. - Improve test coverage.
 - Additional code clean-up.
 
Release 2.1.0
This is a feature, bug fix, and code clean-up release. This release adds two new bit generators, Tyche and Squares.
- Added the 
TychePRNG of Neves and Araujo. Supports two variants. One is the original implementation in the 2012 paper. The second implementation matches the version inOpenRand. - Added the 
SquaresPRNG of Widynski. Supports two variants. The default uses 5 rounds of the middle square algorithm and outputs a 64-bit value. Ifvariant=32, then 4 rounds are used but only 32 bits returned. - Added the helper function 
squares.generate_keysforSquares. This function can be used to pre-generate keys for use withSquares. - Fixed a bug in 
LCG128Mixthat resulted inincnot being correctly set when initialized without a user-providedinc. - Refactored the broadcasting helper functions out of 
randomgen.commontorandomgen.broadcast. Tests have been added and some edge case bugs have been found and fixed. - Improve test coverage.
 - Additional code clean-up.
 
Release 2.0.1
The release fixes a packaging issue that resulted in an excessively large source distribution. There are no changes from 2.0.0 other than the reduced sdist size on PyPI.
Release 2.0.0
The randomgen devs are please to announce the release of randomgen 2.0.0.
The key changes in this release:
- Final compatibility with NumPy 2
 - Minimum NumPy is now 1.22.3.
 - Removed 
"legacy"seeding in favor of usingnumpy.random.SeedSequence. - Removed the vendored copy of 
SeedSequence. - Deprecated using the 
modekeyword argument to set the seed mode, since onlySeedSequencesare supported. - Changed 
randomgen.common.BitGeneratorto inherit fromnumpy.random.BitGeneratorso that
numpy will recognize these asBitGenerators. - Removed C distribution functions that are available in NumPy (see libnpyrandom)`.
 - General code cleanup and modernization.
 
Release 1.26.1
This is a compatibility release.
- Support for Cython 3
 - Initial support for NumPy 2
 
Release 1.26.0
- Fixed a bug that affected the 
jumpedmethod ofXoroshiro128where the**version was swapped with the standard version. - Fixed a bug where 
SeedSequencewas not copied when advancing generators using jumped. - Small compatibility fixes for change in NumPy.
 - Changes the documentation theme to sphinx-immaterial.
 - Added builds for Python 3.11.
 - Increased the minimum Python to 3.8.
 
Release 1.23.1
This release contains a single enhancement:
- Enable randomgen bit generators to be used with NumPy's Generator or RandomState.
 
Release 1.23.0
This is a major release that removes the deprecated classes Generator and RandomState.
Release 1.21.2
This is a minor release that fixes one bug that is hard to encounter and improves installation.
The one bug fix affects PCG-type generators advance when using Windows or a 32-bit system and advancing more than 2**64 steps.