Change Log Report

Total number of changed sets: 1

Changes from an unknown range

Total commits: 102
Total number of files changed: 77

Timestamp Author Details
2026-07-19 15:10:53 Bruno Mahé <bruno@bmahe.net> Apply spotless format
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-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-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-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-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 18:54:59 Bruno Mahé <bruno@bmahe.net> Move DoubleTournament to GP module.

It is dedicated to genetic programming and there is a more generic
alternative with the Selective Refinement Tournament operator
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:42:20 Bruno Mahé <bruno@bmahe.net> Mutator gets passed `generation` to enable implementations to adjust their behavior over time
2025-09-16 23:27:16 Bruno Mahé <bruno@bmahe.net> Introduce a proper PostEvaluationProcessor and ensure it gets passed `generation` to enable implementations to adjust their behavior over time
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 20:49:13 Bruno Mahé <bruno@bmahe.net> Replace Validate.notNull with Objects.requireNonNull and misc. clean up
2025-06-14 20:37:04 Bruno Mahé <bruno@bmahe.net> Add comprehensive javadoc documentation for core API classes

- Document core classes: Individual, Genotype, Population, Chromosome, BitChromosome, Fitness
- Add javadocs for GP module: Operation, OperationFactory
- Document MOO module: FitnessVector with Pareto dominance explanation
- Include detailed parameter descriptions, return values, and usage examples
- Add cross-references between related classes
- Explain design patterns, thread safety, and performance considerations

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

Co-Authored-By: Claude <noreply@anthropic.com>
2024-06-24 02:36:02 Bruno Mahé <bruno@bmahe.net> Small clean up and quality of life changes
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-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-17 23:35:12 Bruno Mahé <bruno@bmahe.net> Improve test coverage
2022-10-16 18:32:54 Bruno Mahé <bruno@bmahe.net> Add basic NEAT implementation
2022-08-26 23:57:26 Bruno Mahé <bruno@bmahe.net> Adjust formatting
2022-05-23 21:12:41 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2022-05-23 21:12:38 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r2.0
2022-03-21 01:34:27 Bruno Mahé <bruno@bmahe.net> Add a GPU module for OpenCL based evolution and a sample demonstrating its use for mixture models
2021-12-28 13:24:55 Bruno Mahé <bruno@bmahe.net> Abstract out EAExecutionContext

This will make it easier to extend for GPU specific context
2021-12-25 20:28:32 Bruno Mahé <bruno@bmahe.net> Rename EAConfigurationSync to EAConfiguration

This sets the synchronous configuration as the default one as it's the
easiest one to get started with.
2021-09-21 03:47:43 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2021-09-21 03:47:41 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r1.8
2021-09-21 01:24:45 Bruno Mahé <bruno@bmahe.net> Upgrade mvn pmd plugin to 3.15.0 and do not run pitest reports if pitest is disabled
2021-09-21 00:37:51 Bruno Mahé <bruno@bmahe.net> Set major version to 2.0-SNAPSHOT in preparation to the java 17 migration
2021-09-21 00:26:46 Bruno Mahé <bruno@bmahe.net> Update to java 17 and junit 5

Also disable pitest temporarily until it supports java 17
2021-08-14 05:32:19 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2021-08-14 05:32:16 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r1.7
2020-11-12 06:31:13 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2020-11-12 06:31:10 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r1.6
2020-06-30 23:48:47 Bruno Mahé <bruno@bmahe.net> Add convenience terminal
2020-06-29 22:39:14 Bruno Mahé <bruno@bmahe.net> Remove unused import
2020-06-21 02:40:12 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2020-06-21 02:40:10 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r1.5
2020-06-19 02:11:51 Bruno Mahé <bruno@bmahe.net> Add Tarpeian Method to fight bloat and documented the Symbolic Regression examples in the samples website
2020-06-10 22:24:56 Bruno Mahé <bruno@bmahe.net> Add support for Double and proportional tournaments
2020-06-01 23:29:20 Bruno Mahé <bruno@bmahe.net> Replace the comparator in the examples

Note that this comparator does not take in account commutativity or rotations.
2020-05-31 18:07:44 Bruno Mahé <bruno@bmahe.net> Add support for SPEA2
2020-05-19 00:14:27 Bruno Mahé <bruno@bmahe.net> Add a new operator for GP implementing Node Replacement
2020-05-13 08:22:27 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2020-05-13 08:22:25 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r1.4
2020-05-05 00:10:24 Bruno Mahé <bruno@bmahe.net> Introduce the concept of Evolution Strategy

An Evolution Strategy defines how the next generation is created based on the offsprings and the current generation.

Fix #19
2020-05-03 17:36:20 Bruno Mahé <bruno@bmahe.net> Simplify GPEAExecutionContexts as to require less parameters

Add a new method to GPEAExecutionContexts.forGP which require neither a ProgramHelper nor a ProgramGenerator. It uses by default the well known ramped half and half population generation algorithm.

Fix #17
2020-05-01 07:11:18 Bruno Mahé <bruno@bmahe.net> Docs and usability tweaks
2020-05-01 02:08:07 Bruno Mahé <bruno@bmahe.net> Rename classes as their names weren't appropriate.

Renamed:
- GenotypeSpec -> EAConfiguration
- GeneticSystem -> EASystem
- GeneticSystemDescriptor -> EAExecutionContext

Evolutionary Algorithm is a more appropriate and generic term given the scope of this project.

Fix #16
2020-04-23 22:23:11 Bruno Mahé <bruno@bmahe.net> Add a new module for Multi-Objective Optimization.

This new module implements NSGA2
2020-04-15 00:47:33 Bruno Mahé <bruno@bmahe.net> Add Ramped Half and Half GP Program generation and abstract fitness function.
2020-04-12 17:00:58 Bruno Mahé <bruno@bmahe.net> Add MultiProgramGenerator as a way to combine different program generation strategies
2020-04-12 16:42:59 Bruno Mahé <bruno@bmahe.net> Add the Grow method of program generation
2020-04-10 00:49:33 Bruno Mahé <bruno@bmahe.net> Extract Symbolic Regression sample to the sample module
2020-04-08 20:20:54 Bruno Mahé <bruno@bmahe.net> Split ProgramGenerator interface and add a new Full method of program generation

ProgramGenerator had some utilities functions which got moved out into their own ProgramHelper class.
This enables the introduction of new methods of program generation without copy pasting these helper methods and focuses ProgramGenerator on its responsibility of generating programs.
2020-04-08 01:17:01 Bruno Mahé <bruno@bmahe.net> Misc. refactoring
2020-04-02 01:39:08 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2020-04-02 01:39:05 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r1.3
2020-04-01 23:47:32 Bruno Mahé <bruno@bmahe.net> Compute fitness across multiple threads for speedup
2020-03-31 20:24:31 Bruno Mahé <bruno@bmahe.net> Add more tests to the GP module and include some small refactoring
2020-03-27 22:43:04 Bruno Mahé <bruno@bmahe.net> Simplify pit configuration in Apache Maven by moving some of it in the parent pom
2020-03-27 07:30:23 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2020-03-27 07:30:19 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r1.2
2020-03-27 05:30:45 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2020-03-27 05:30:43 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r1.1
2020-03-26 20:20:04 Bruno Mahé <bruno@bmahe.net> honor maven skipTests flag
2020-03-26 20:03:34 Bruno Mahé <bruno@bmahe.net> Disable manual/example test
2020-03-26 20:02:49 Bruno Mahé <bruno@bmahe.net> Disable manual test/example
2020-03-26 19:53:17 Bruno Mahé <bruno@bmahe.net> Enrich Genetic Programming constructs
2020-01-04 23:12:21 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare for next development iteration
2020-01-04 23:12:19 Gitlab CI <ci@bmahe.net> [maven-release-plugin][ci skip] prepare release r1.0
2020-01-04 13:28:20 Bruno Mahé <bruno@bmahe.net> Move the genetic programming related classes to their own brand new module `gp`