Skip to content

Releases: CodeReclaimers/neat-python

Version 2.0.0

02 Mar 17:16

Choose a tag to compare

The CTRNN (Continuous-Time Recurrent Neural Network) implementation now supports per-node evolvable time constants. In v1.x, all nodes shared a single fixed time constant passed at network creation time. In v2.0, each node carries its own time constant as an evolved gene attribute, allowing the network to operate across multiple timescales simultaneously.

This is a breaking API change: CTRNN.create(genome, config, time_constant) is now CTRNN.create(genome, config). Existing feedforward and discrete-time recurrent configurations require no changes.

Version 1.1.0

06 Dec 00:57

Choose a tag to compare

What's New in v1.1.0

Added

  • Reproducibility Support: Evolution can now be made deterministic by setting a random seed

    • Optional seed parameter in [NEAT] config section
    • Optional seed parameter in Population.__init__()
    • Optional seed parameter in ParallelEvaluator.__init__() for reproducible parallel evaluation
    • Comprehensive documentation in docs/reproducibility.rst
    • Fully backward compatible: Existing code works without changes
  • New Examples:

    • Inverted Double Pendulum example using Gymnasium
    • Better Lunar Lander example
    • Reproducibility demonstration scripts

Changed

  • Switch to pyproject.toml instead of setup.py
  • Dropped support for Python 3.6 and 3.7; neat-python now requires Python 3.8 or newer
  • Modernized internal implementation to use Python 3 features (f-strings, type hints, etc.)

Fixed

  • Add-node mutation bias behavior: New nodes now start with zero bias for more neutral mutations
  • Checkpoint Generation Semantics: Clarified checkpoint numbering and generation alignment
  • Population Size Drift: Fixed population size mismatches
  • Orphaned Nodes Bug: Fixed handling of nodes with no incoming connections

For complete details, see the CHANGELOG.


Install: pip install neat-python==1.1.0