Skip to content

Commit 4088c6f

Browse files
committed
prepare CHANGELOG for release
1 parent e490940 commit 4088c6f

3 files changed

Lines changed: 27 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,31 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [0.25.0] - 2025-11-12
8+
9+
### Changed
10+
* (naming only) Refactor `MutationType::ScaledSteps(Vec<T>)` to `MutationType::StepScaled(Vec<T>)` for naming consistency
11+
* (naming only) Refactor `MutationType::RelativeRange(T)` to `MutationType::Range(T)` as `MutationType::Step(T)` is also relative.
12+
* Refactor `MutationType::Transition(usize, usize, T)` to `MutationType::RangeScaled(Vec<T>)`:
13+
* Drop the generation based transition configuration params
14+
* Replace params with bandwidth per scale (just like step-size per scale StepScaled)
15+
* Now `max_generations` and `max_stale_generations` handle scale transitions in the same manner everywhere
16+
* Add `MutationType::Step(T)` for completeness
17+
18+
### Add
19+
* Add `max_generations` as scale trigger as well in `Evolve` and `HillClimb`. Now
20+
`max_generations` and `max_stale_generations` behave the same:
21+
* Ending condition for current scale, go to next scale and restart counting generations
22+
* Final ending condition if no scales left (or no scaling at all)
23+
* Support unsigned integers for `MutationType::Range` and `MutationType::Step` as well (and scaled versions)
24+
* Allow for zero bandwidth in `MutationType::Range` (and scaled), which lets the mutation die out
25+
* Add `examples/visualize_evolve_mutation_types` and `examples/visualize_permutate_mutation_types`, which
26+
generate visualizations showing exploration patterns of different mutation strategies
27+
28+
### Remove
29+
* Remove `increment_generation()` and `reset_generation()` from `Genotype` and remove hook
30+
in Strategies, as all is not scale based.
31+
* Remove unused `Vec<Chromosome<T>>` into `Population<T>` implementation
732

833
## [0.24.0] - 2025-11-05
934

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ types (as it needs additional restrictions be become countable):
174174

175175
- **Step**: Systematically explores grid points at fixed intervals
176176
- **StepScaled**: Hierarchical search that refines around promising regions
177-
- **Discrete**: Exhaustive exploration of all value combinations
177+
- **Discrete**: Exhaustive exploration of all round-to-integer value combinations
178178

179179
Run the example with `cargo run --example visualize_permutate_mutation_types --release` to generate this visualization.
180180

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@
152152
//!
153153
//! - **Step**: Systematically explores grid points at fixed intervals
154154
//! - **StepScaled**: Hierarchical search that refines around promising regions
155-
//! - **Discrete**: Exhaustive exploration of all value combinations
155+
//! - **Discrete**: Exhaustive exploration of all round-to-integer value combinations
156156
//!
157157
//! Run the example with `cargo run --example visualize_permutate_mutation_types --release` to generate this visualization.
158158
//!

0 commit comments

Comments
 (0)