Changelog#

2.20.0 (2026-10-07)#

Fix#

  • Document the security implications of pygmo’s use of pickle/cloudpickle for the (de)serialization of user-defined problems, algorithms, islands, etc.: deserialising pygmo objects from an untrusted source is equivalent to arbitrary code execution, exactly as with the standard pickle module. No sandboxing or validation is (or can be) performed on unpickled data.

2.19.7 (2024-08-09)#

Fix#

  • Fix tutorial (#167).

2.19.6 (2024-02-21)#

New#

  • Add batch fitness evaluation capabilities to the CMAES algorithm (#139).

Fix#

  • Fix the unit tests for Python 3.12 (#150).

2.19.0 (2023-01-19)#

New#

  • Added fixed arguments meta problem (#95, #87).

  • Added a generational version of MOEA-D with batch fitness evaluation support. (#112).

Changes#

  • pygmo now requires pybind11 >= 2.10 (#104).

  • pygmo now requires cmake >= 3.18.0 (#117).

Fix#

  • Fix failing tests with recent versions of pybind11 (#104).

  • Fix linux wheels creation and upload to PyPi (#117).

2.18.0 (2021-08-03)#

New#

  • pygmo now officially supports 64-bit ARM and PowerPC processors (#82).

Changes#

  • pygmo now requires CMake >= 3.17 (#81).

  • Various internal changes to the pickling implementation (#79).

  • pygmo now requires pagmo >= 2.18 (#79).

Fix#

  • Fix build in debug mode with Python >= 3.9 (#79).

  • Various doc and build system fixes (#79).

2.16.1 (2020-12-22)#

Changes#

  • pygmo now requires pybind11 >= 2.6 when compiling from source (#66).

Fix#

  • Various doc and build system fixes (#66, #60).

2.16.0 (2020-09-25)#

New#

  • The genetic operators from pagmo are now available in pygmo (#51).

  • Add scipy_optimize, a wrapper for SciPy’s local optimisation algorithms (#31).

Changes#

  • thread_island can now use a thread pool (#47).

  • pygmo now requires a C++17 capable compiler when building from source (#46, #44).

  • The CEC2013/CEC2014 problem suites are now available on all platforms (#40).

2.15.0 (2020-04-02)#

New#

  • The topologies implemented on top of the Boost Graph Library now provide a get_edge_weight() function to fetch the weight of an edge (#34).

  • Add the free_form topology (#34).

  • User-defined topologies can now (optionally) implement a conversion function to a NetworkX graph object (#34).

Fix#

  • Build system fixes for recent CMake versions (#35).

  • Various doc fixes (#35, #34).

2.14.1 (2020-03-06)#

Fix#

  • Fix the upload of the binary wheels to pypi.

2.14.0 (2020-03-04)#

New#

  • Initial stand-alone version of pygmo. See the pagmo changelog for the changelog of previous pygmo versions.

  • Implement a setter for the migration database of an archipelago (#25).

Fix#

  • Fix a serialization issue when using ipyparallel functionalities in Python 3.8 (#23).