Change Log Report

Total number of changed sets: 1

Changes from an unknown range

Total commits: 68
Total number of files changed: 95

Timestamp Author Details
2026-08-05 21:33:36 Bruno Mahé <bruno@bmahe.net> Update spotless config to format annotation parameters if they get too long
2026-07-20 00:57:04 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2026-07-20 00:56:51 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r6.1
2026-07-19 15:10:53 Bruno Mahé <bruno@bmahe.net> Apply spotless format
2026-07-19 15:08:25 Bruno Mahé <bruno@bmahe.net> Allow recurrent connections from output nodes

Add an opt-in AddConnection policy flag for evolving output-to-hidden and output-to-output links while preserving feed-forward defaults. Update recurrent samples, documentation, and coverage.\n\nTests: mvn -pl neat -am test\nTests: mvn -pl samples -am clean compile -DskipTests
2026-07-19 03:21:35 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2026-07-19 03:21:32 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r6.0
2026-07-17 21:45:03 Bruno Mahé <bruno@bmahe.net> Apply Spotless to ensure code is formatted appropriately
2026-07-17 21:43:53 Bruno Mahé <bruno@bmahe.net> Use openrewrite to s/Validate.notNull/Objects.requireNonNull/g

Command:

```bash
mvn -U org.openrewrite.maven:rewrite-maven-plugin:run --define rewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-static-analysis:RELEASE --define rewrite.activeRecipes=org.openrewrite.staticanalysis.ReplaceApacheCommonsLang3ValidateNotNullWithObjectsRequireNonNull --define rewrite.exportDatatables=true
```
2026-07-17 21:41:32 Bruno Mahé <bruno@bmahe.net> Apply openrewrite common sast rules

Command:

```bash
mvn -U org.openrewrite.maven:rewrite-maven-plugin:run --define rewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-static-analysis:RELEASE --define rewrite.activeRecipes=org.openrewrite.staticanalysis.CommonStaticAnalysis
```
2026-07-17 19:15:13 Bruno Mahé <bruno@bmahe.net> Apply junit openrewrite recipe

Command:

```bash
mvn -U org.openrewrite.maven:rewrite-maven-plugin:run --define rewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-testing-frameworks:RELEASE --define rewrite.activeRecipes=org.openrewrite.java.testing.junit5.JUnit5BestPractices
```
2026-07-17 19:12:52 Bruno Mahé <bruno@bmahe.net> Run openrewrite recipe for Java 25

Command:

```bash
mvn -U org.openrewrite.maven:rewrite-maven-plugin:run --define rewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-migrate-java:RELEASE --define rewrite.activeRecipes=org.openrewrite.java.migrate.UpgradeToJava25 --define rewrite.exportDatatables=true
```
2026-07-17 19:05:35 Bruno Mahé <bruno@bmahe.net> Ran openrewrite to remove unused imports

Command:
```bash
mvn -U org.openrewrite.maven:rewrite-maven-plugin:run \
-Drewrite.activeRecipes=org.openrewrite.java.RemoveUnusedImports
```
2026-07-16 23:51:13 Bruno Mahé <bruno@bmahe.net> Remove deprecated NEAT node index accessors

Use the ordered node ID APIs throughout NEAT tests and verify that explicit sparse layouts preserve declaration order.\n\nTests: mvn --batch-mode spotless:check\nTests: mvn --batch-mode -pl neat -am test\nTests: mvn --batch-mode clean verify -DskipPITests=true
2026-07-16 22:08:33 Bruno Mahé <bruno@bmahe.net> Start 6.0 development line

Bump the Maven reactor to 6.0-SNAPSHOT after adopting Java 25 as the minimum supported runtime.

Tests: mvn --batch-mode validate
2026-07-16 20:25:31 Bruno Mahé <bruno@bmahe.net> Prevent duplicate NEAT split connections

Skip disabled genes and restore only missing links when an ancestral connection has already been split. Add regression coverage for re-enabled and partially deleted splits.\n\nTests: mvn -pl neat -Dtest=NeatChromosomeAddNodeMutationHandlerTest,SparseStructuralMutationTest test
2026-07-16 00:53:07 Bruno Mahé <bruno@bmahe.net> Support sparse NEAT node IDs

Add extensible node layouts and population-scoped hidden-node allocation so sparse external identities remain stable across factories and structural mutations. Update NEAT consumers and samples to preserve declared input and output order.

Tests: mvn clean verify -DskipPITests=true

Refs #25
2026-04-30 05:24:06 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2026-04-30 05:24:02 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r5.3
2026-04-29 02:50:34 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2026-04-29 02:50:30 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r5.2
2025-11-24 01:52:56 Bruno Mahé <bruno@bmahe.net> Add example about NEAT streaming parity article
2025-11-15 14:12:12 Bruno Mahé <bruno@bmahe.net> Update formatting rules
2025-11-15 12:09:23 Bruno Mahé <bruno@bmahe.net> Add a new maven plugin to ensure consistent formatting
2025-11-14 01:14:00 Bruno Mahé <bruno@bmahe.net> Add RecurrentNetwork support and tests for NEAT

Introduce a recurrent network evaluator capable of iteratively computing arbitrary cyclic NEAT topologies, complete with configurable convergence control and state management. Add thorough unit tests covering convergence, reset behavior, parity with feed-forward execution on acyclic graphs, disabled connections, and multi-step state retention. Update NEAT docs to reference the new executor from existing components.
2025-10-01 07:29:27 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2025-10-01 07:29:23 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r5.1
2025-09-29 08:53:46 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2025-09-29 08:53:39 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r5.0
2025-09-27 00:26:50 Bruno Mahé <bruno@bmahe.net> Mass format the code
2025-09-24 00:12:32 Bruno Mahé <bruno@bmahe.net> Clean up codebase and add SelectiveRefinementTournament selection strategy

- Replace Apache Commons Lang3 Validate with Objects.requireNonNull() for null checks
- Remove unnecessary @Value.Style annotations and clean up Tournament class
- Add SelectiveRefinementTournament selection policy with handler and selector implementation
- Add package-info.java files across all modules for improved documentation
- Update test classes to use concrete types instead of Immutable variants
- Add convenient factory methods to InputSpec for easier instantiation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 06:19:19 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2025-09-17 06:19:13 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r4.2
2025-09-16 23:09:48 Bruno Mahé <bruno@bmahe.net> Bumped major version as the previous commit break interfaces and compatibility

Command run:
```bash
mvn --batch-mode release:update-versions -DdevelopmentVersion=5.0-SNAPSHOT
```
2025-09-16 23:07:05 Bruno Mahé <bruno@bmahe.net> Selector gets passed `generation` to enable implementations to adjust their behavior over time
2025-09-13 23:29:20 Bruno Mahé <bruno@bmahe.net> Address build issues after upgrade.

The root cause is the update of Apache Maven Site on two fronts:
* It get stuck with the first module. This means that ${basedir} is
stuck to the value of the first module it is executed in and provides
the wrong values. This is the same for every other module specific
variables such as ${maven.multiModuleProjectDirectory}
* There are bugs in the locales handling. And while this is optional, it
won't work without it
2025-06-15 03:09:49 Bruno Mahé <bruno@bmahe.net> Add comprehensive javadoc documentation for NEAT module

Adds extensive javadoc documentation for the entire NEAT (NeuroEvolution of
Augmenting Topologies) module, covering all major classes and interfaces with
detailed descriptions, usage examples, and algorithm explanations.

Key documented components:
- Core infrastructure: NeatUtils, InnovationManager, SpeciesIdGenerator
- Network components: Connection, FeedForwardNetwork, Activations
- Genetic representation: NeatChromosome, NeatChromosomeSpec
- Species management: Species, NeatSelection, NeatSelectionPolicyHandler
- Genetic operators: NeatCombination, NeatChromosomeCombinator
- Mutation handlers: AddConnectionPolicyHandler, AddNodePolicyHandler
- Factory classes: NeatEAExecutionContexts, NeatConnectedChromosomeFactory
- Selection implementation: NeatSelectorImpl with species-based selection
- Comparison strategies: ParentComparisonHandler, ChosenOtherChromosome

Documentation features:
- Comprehensive class and method descriptions
- Real-world usage examples with code snippets
- NEAT algorithm integration explanations
- Performance considerations and optimization details
- Cross-references between related components
- Parameter guidance and configuration examples

This significantly improves code clarity and developer experience for the
complex NEAT neural network evolution algorithm implementation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2024-02-12 11:01:32 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2024-02-12 11:01:30 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r4.1
2023-10-16 01:30:16 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2023-10-16 01:30:13 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r4.0
2023-10-11 21:12:21 Bruno Mahé <bruno@bmahe.net> Update version to 4.0-SNAPSHOT in preparation for the java 21 updates
2023-07-25 03:58:30 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2023-07-25 03:58:28 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r3.4
2023-07-16 23:00:21 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2023-07-16 23:00:18 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r3.3
2023-07-16 20:03:15 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2023-07-16 20:03:13 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r3.2
2023-07-15 21:50:04 Bruno Mahé <bruno@bmahe.net> Extend auto-loading capabilities to all handlers and migrate MOO handlers auto-loading
2023-07-15 17:28:37 Bruno Mahé <bruno@bmahe.net> Provide the ability to customer the parent's comparison logic for NEAT combinations

This includes leveraging Java's ServiceLoader so that users can provide
their own policies and it will be picked up automatically
2023-06-15 10:19:18 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2023-06-15 10:19:16 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r3.1
2023-04-30 19:06:00 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2023-04-30 19:05:56 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r3.0
2023-04-28 00:40:29 Bruno Mahé <bruno@bmahe.net> Upgrade major version to 3.0-SNAPSHOT
2023-04-27 01:17:55 Bruno Mahé <bruno@bmahe.net> Add new NEAT mutation operators for deleting nodes and connections.

Also add a class to output NeatChromosomes to graphviz format
2023-04-23 20:53:28 Bruno Mahé <bruno@bmahe.net> Improve test coverage for the NEAT module
2023-04-17 23:40:59 Bruno Mahé <bruno@bmahe.net> Fix location for AbstractNeatChromosomeConnectionMutationHandlerTest
2023-04-17 23:35:12 Bruno Mahé <bruno@bmahe.net> Improve test coverage
2023-02-11 17:52:00 Bruno Mahé <bruno@bmahe.net> Improve test coverage for NEAT chromosome factories
2022-12-04 02:10:56 Bruno Mahé <bruno@bmahe.net> Refactor the way the fitness comparator is computed.
2022-11-29 01:23:25 Bruno Mahé <bruno@bmahe.net> Fix typo in Optimization s/MAXIMZE/MAXIMIZE/g
2022-11-29 01:18:31 Bruno Mahé <bruno@bmahe.net> Fix bug where species were trimming their best performers rather than their lowest performers
2022-11-23 22:11:09 Bruno Mahé <bruno@bmahe.net> Extend Builder directly into Connection
2022-11-23 21:59:31 Bruno Mahé <bruno@bmahe.net> Speciation for NEAT should also check the compatbility with the members of a species in addition to the ancestors
2022-11-23 21:58:29 Bruno Mahé <bruno@bmahe.net> Allow the initialization of SpeciesIDGenerator with a specific base species id
2022-11-23 21:57:30 Bruno Mahé <bruno@bmahe.net> Allow the initialization of a specific value for InnovationManager
2022-10-16 18:32:54 Bruno Mahé <bruno@bmahe.net> Add basic NEAT implementation