Skip to content

Releases: Socrats/EGTTools

0.1.14-patch2

20 Jul 21:12

Choose a tag to compare

FIxed

  • Wheels now correctly uploaded for the release

Full Changelog: v0.1.14-patch1...v0.1.14-patch2

0.1.14-patch1

20 Jul 20:25

Choose a tag to compare

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

20 Jul 19:13

Choose a tag to compare

Added

  • Added support for building universal macOS wheels and ARM builds for Linux and Windows.
  • Added fallback logic to skip OpenMP when 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.json and modular EnableXXX.cmake utilities.
  • Added Dockerfile to 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 cibuildwheel v2.23.3 and manually triggered docs builds.
    • Moved doc generation to separate docs.yml workflow and switched to furo theme.
    • Enforced Python 3.10+ as the minimum supported version.
  • Improved README and build documentation.
  • Updated pybind11 and vcpkg submodules to latest versions.
  • Simplified setup.py and enforced proper MACOSX_DEPLOYMENT_TARGET across CI environments.
  • Made BLAS/LAPACK optional and adjusted linking strategy across platforms (including Accelerate on macOS).

Fixed

  • Fixed multiple CI build issues related to:
    • libomp installation and linking.
    • vcpkg initialization and caching.
    • RTD (ReadTheDocs) upload and broken builds.
  • Fixed memory management bugs in pybind11 bindings (e.g., garbage collection of NDArray objects).
  • Fixed initialization bugs in simulation state (deep copy and move semantics added to sample_simplex and related
    methods).
  • Resolved Boost installation 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

23 Nov 07:58

Choose a tag to compare

Fixed

  • Fixed state initialization in NetworkSync and NetworkGroupSync. 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 NormalFormNetworkGame to Python

Full Changelog: v0.1.13-patch4...v0.1.13-patch5

0.1.13-patch4

12 Nov 09:41

Choose a tag to compare

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

09 Nov 15:04

Choose a tag to compare

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

01 Oct 03:10

Choose a tag to compare

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

30 Sep 05:13

Choose a tag to compare

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

Full Changelog: v0.1.12...v0.1.13

v0.1.12-patch1

11 Jul 18:11

Choose a tag to compare

Fixed

  • Fixed issue with link to Simplex2D class
  • Match scatter output to matplotlib API changes [by cvanelteren]
  • Fixed issue with compiling Distributions.cpp without Boost

Changed

  • Removed support for Python 3.7
  • Dropped support for Win32 architectures
  • Removed MACOSX_DEPLOYMENT_TARGET constraint
  • Updated egttools citation
  • Skip multivariate_hypergeometric tests 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

Full Changelog: v0.1.12...v0.1.12.patch1

0.1.12

19 Dec 17:22

Choose a tag to compare

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 PairwiseMoran class to PairwiseComparisonNumerical.
  • 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 binomialCoeff to 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 in cpp/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_equation implementation in C++.
  • Added a new C++ implementation of the analytical stochastic dynamics named PairwiseComparison.
  • Added Matrix2PlayerGameHolder and MatrixNPlayerGameHolder classes, 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