Releases: Socrats/EGTTools
Releases · Socrats/EGTTools
0.1.14-patch2
0.1.14-patch1
Fixed
- PyPi Classifiers were wrong, which created an error when uploading the new package to pypi.
Full Changelog: v0.1.14...v0.1.14-patch1
v0.1.14
Added
- Added support for building universal macOS wheels and ARM builds for Linux and Windows.
- Added fallback logic to skip
OpenMPwhen not supported (e.g., Windows/macOS universal). - Added automatic installation of dependencies via
vcpkg, including caching and toolchain integration. - Introduced modular CMake configuration using
CMakePresets.jsonand modularEnableXXX.cmakeutilities. - Added
Dockerfileto support containerized builds and local testing. - Implemented efficient factorial calculation in C++.
Changed
- Refactored build system for maintainability and CI compatibility:
- CI workflows now support
cibuildwheelv2.23.3 and manually triggered docs builds. - Moved doc generation to separate
docs.ymlworkflow and switched tofurotheme. - Enforced Python 3.10+ as the minimum supported version.
- CI workflows now support
- Improved README and build documentation.
- Updated pybind11 and vcpkg submodules to latest versions.
- Simplified
setup.pyand enforced properMACOSX_DEPLOYMENT_TARGETacross CI environments. - Made BLAS/LAPACK optional and adjusted linking strategy across platforms (including Accelerate on macOS).
Fixed
- Fixed multiple CI build issues related to:
libompinstallation and linking.vcpkginitialization and caching.- RTD (ReadTheDocs) upload and broken builds.
- Fixed memory management bugs in
pybind11bindings (e.g., garbage collection ofNDArrayobjects). - Fixed initialization bugs in simulation state (deep copy and move semantics added to
sample_simplexand related
methods). - Resolved
Boostinstallation issues on some platforms.
What's Changed
- Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 by @dependabot[bot] in #75
- Bump ncipollo/release-action from 1.12.0 to 1.13.0 by @dependabot[bot] in #76
- Bump pypa/cibuildwheel from 2.14.1 to 2.16.1 by @dependabot[bot] in #78
- Bump pypa/cibuildwheel from 2.16.1 to 2.16.2 by @dependabot[bot] in #83
- Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 by @dependabot[bot] in #85
- Bump github/codeql-action from 2 to 3 by @dependabot[bot] in #86
- Bump ncipollo/release-action from 1.13.0 to 1.14.0 by @dependabot[bot] in #90
- Bump jwlawson/actions-setup-cmake from 1.14 to 2.0 by @dependabot[bot] in #91
- Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.14 by @dependabot[bot] in #93
- Bump pypa/cibuildwheel from 2.16.2 to 2.17.0 by @dependabot[bot] in #94
- Bump robinraju/release-downloader from 1.8 to 1.10 by @dependabot[bot] in #95
- Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows by @dependabot[bot] in #102
- Bump robinraju/release-downloader from 1.10 to 1.11 by @dependabot[bot] in #97
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.10.1 by @dependabot[bot] in #103
- Bump pypa/cibuildwheel from 2.17.0 to 2.21.0 by @dependabot[bot] in #104
- Bump pypa/cibuildwheel from 2.21.0 to 2.21.3 by @dependabot[bot] in #109
- Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.3 by @dependabot[bot] in #108
- Bump pypa/cibuildwheel from 2.21.3 to 2.23.3 by @dependabot[bot] in #122
- Bump robinraju/release-downloader from 1.11 to 1.12 by @dependabot[bot] in #119
- Bump ncipollo/release-action from 1.14.0 to 1.16.0 by @dependabot[bot] in #117
- Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.12.4 by @dependabot[bot] in #116
- Bump peaceiris/actions-gh-pages from 3 to 4 by @dependabot[bot] in #123
- Bump pypa/cibuildwheel from 2.23.3 to 3.0.0 by @dependabot[bot] in #125
- Bump ncipollo/release-action from 1.16.0 to 1.18.0 by @dependabot[bot] in #126
- Bump pypa/cibuildwheel from 3.0.0 to 3.0.1 by @dependabot[bot] in #127
Full Changelog: v0.1.13...v0.1.14
0.1.13-patch5
Fixed
- Fixed state initialization in
NetworkSyncandNetworkGroupSync. The state was not being randomly initialized. - Fixed incorrect use of
sample_without_replacement. It must only be used when the sample is smaller than the
population.
Changed
- Exposed the expected payoffs of
NormalFormNetworkGameto Python
Full Changelog: v0.1.13-patch4...v0.1.13-patch5
0.1.13-patch4
Fixed
- Fixed segfault in PairwiseComparisonNumerical run method. when called using a transient period, the function surpass
the array index limit, thus causing a bad memory access and a segfault
Added
- Added a version of run with transient and no mutation
- Added new argument checks
Changed
- Changed the generation and transient parameter types from int to int_fast64_t
- The methods that have a mutation parameter enforce that mu>0 to avoid errors
- There will be a bad argument error if the beta parameter used in the python call is not explicitly a float
Full Changelog: v0.1.13-patch3...v0.1.13-patch4
0.1.13-patch3
Fixed
- fixed NetworkSync and NetworkGroupSync structures updates
What's Changed
- Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 by @dependabot in #75
- Bump ncipollo/release-action from 1.12.0 to 1.13.0 by @dependabot in #76
- Bump pypa/cibuildwheel from 2.14.1 to 2.16.1 by @dependabot in #78
- Bump pypa/cibuildwheel from 2.16.1 to 2.16.2 by @dependabot in #83
Full Changelog: v0.1.13-patch2...v0.1.13-patch3
v0.1.13-patch2
Fixed
- fixed issue with dynamic linking of OpenMP
Changes
- dropped support for OpenMP on macOS temporally
- now OpenMP is linked statically again for linux
Full Changelog: v0.1.13...v0.1.13-patch2
v0.1.13
Fixed
- fixed issue with environmental variables not working on MacOS builds in Github Actions
- fixed gradient of selection estimation algorithm
- fixed issue with multiple libomp.dylib copies loading
- fixed issue with the citation of current version of egttools
- fixed link to anaconda documentation
Changes
- now openmp is linked dynamically to avoid conflicts on MacOS
- increased minimum required cmake version to 3.18
- changed int to int_fast64_t to support larger number of generations
Added
- added NetworkSync evolver
- added more support for network simulations
- added Cache to accelerate PairwiseComparison
- added calculation of the averaged gradient of selection
- added OneShotCRDNetworkGame
- OpenMP support for MacOS arm64
Other changes
- Bump robinraju/release-downloader from 1.6 to 1.7 by @dependabot in #48
- Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1 by @dependabot in #52
- Bump pypa/cibuildwheel from 2.11.2 to 2.12.1 by @dependabot in #51
- Bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1 by @dependabot in #53
- Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3 by @dependabot in #54
- Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.4 by @dependabot in #55
- Bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5 by @dependabot in #56
- Bump pypa/cibuildwheel from 2.12.1 to 2.12.3 by @dependabot in #58
- Bump jwlawson/actions-setup-cmake from 1.13 to 1.14 by @dependabot in #59
- Bump pypa/cibuildwheel from 2.12.3 to 2.13.1 by @dependabot in #63
- Bump robinraju/release-downloader from 1.7 to 1.8 by @dependabot in #61
- Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 by @dependabot in #60
- Match scatter output to matplotlib api changes by @cvanelteren in #65
- Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7 by @dependabot in #66
- Bump pypa/cibuildwheel from 2.13.1 to 2.14.0 by @dependabot in #69
- Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.8 by @dependabot in #71
- Bump pypa/cibuildwheel from 2.14.0 to 2.14.1 by @dependabot in #73
New Contributors
- @cvanelteren made their first contribution in #65
Full Changelog: v0.1.12...v0.1.13
v0.1.12-patch1
Fixed
- Fixed issue with link to Simplex2D class
- Match scatter output to matplotlib API changes [by cvanelteren]
- Fixed issue with compiling
Distributions.cppwithout Boost
Changed
- Removed support for
Python 3.7 - Dropped support for
Win32architectures - Removed
MACOSX_DEPLOYMENT_TARGETconstraint - Updated egttools citation
- Skip
multivariate_hypergeometrictests when compiling without Boost - Upgraded cibuildwheel to v2.14.0
- Set minimum Boost version to 1.70.0
Added
- Added basic unittests for plotting [by cvanelteren]
External changes
- Bump robinraju/release-downloader from 1.6 to 1.7 by @dependabot in #48
- Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1 by @dependabot in #52
- Bump pypa/cibuildwheel from 2.11.2 to 2.12.1 by @dependabot in #51
- Bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1 by @dependabot in #53
- Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3 by @dependabot in #54
- Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.4 by @dependabot in #55
- Bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5 by @dependabot in #56
- Bump pypa/cibuildwheel from 2.12.1 to 2.12.3 by @dependabot in #58
- Bump jwlawson/actions-setup-cmake from 1.13 to 1.14 by @dependabot in #59
- Bump pypa/cibuildwheel from 2.12.3 to 2.13.1 by @dependabot in #63
- Bump robinraju/release-downloader from 1.7 to 1.8 by @dependabot in #61
- Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 by @dependabot in #60
- Match scatter output to matplotlib api changes by @cvanelteren in #65
- Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7 by @dependabot in #66
- Bump pypa/cibuildwheel from 2.13.1 to 2.14.0 by @dependabot in #69
New Contributors
- @cvanelteren made their first contribution in #65
Full Changelog: v0.1.12...v0.1.12.patch1
0.1.12
Fixed
- Fixed stability plot and minor syntax issues.
- Fixed issue with fitness calculations of strategies with 0 counts in the population.
- Fixed LNK2005 error on windows.
- Fixed version naming convesion to adhere to PEP440.
Changed
- Changed name of
PairwiseMoranclass toPairwiseComparisonNumerical. - Changed function and class names that used "moran" to "pairwise_comparison_rule".
- Removed signatures of overloaded methods in docstrings.
- Moved all headers for pybind11 to .hpp files to avoid issues on windows.
- Updated pybind11 version to 2.10.
- Removed specialization of
binomialCoeffto avoid issues on Windows. - Refactored the binding code from C++ to Python so that now we use different files for defining each Python submodule.
This makes the code much more clear. These files can be found incpp/src/pybind11_files. - Now the GitHub CI builds download and install Boost C++ library, as it is required to build egttools.
- Dropped support for manylinux_i686. In the future only 64 bit architectures will be supported.
Added
- Added support for multiprecision types with boost::multiprecision.
- Added replicator equation for n-player games (implementation in c++).
- Added
replicator_equationimplementation in C++. - Added a new C++ implementation of the analytical stochastic dynamics named
PairwiseComparison. - Added
Matrix2PlayerGameHolderandMatrixNPlayerGameHolderclasses, so that a game can be defined using a payoff
matrix. - Added several tests (coverage now is ~50%).
- Added tutorials to the documentation.
Other changes
- Bump robinraju/release-downloader from 1.5 to 1.6 by @dependabot in #36
- Bump ncipollo/release-action from 1.11.1 to 1.11.2 by @dependabot in #38
- Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.5.2 by @dependabot in #40
- Bump pypa/gh-action-pypi-publish from 1.5.2 to 1.6.1 by @dependabot in #41
- Bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.3 by @dependabot in #43
- Bump pypa/gh-action-pypi-publish from 1.6.3 to 1.6.4 by @dependabot in #44
- Bump ncipollo/release-action from 1.11.2 to 1.12.0 by @dependabot in #45
Full Changelog: v0.1.11...v0.1.12