Skip to content

Commit 436ccc4

Browse files
committed
update changelog to '466b721'
1 parent 251b194 commit 436ccc4

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
For detailed release notes, see [GitHub Releases](https://github.com/SimonBlanke/Gradient-Free-Optimizers/releases).
99

1010
## [Unreleased]
11+
<!-- changelog-cursor: 466b721 -->
12+
13+
### Added
14+
- C extension backend (`_fast_ops`) as an intermediate performance tier between numpy and pure Python, accelerating elementwise arithmetic, math functions, reductions, and matrix multiply
15+
- `SearchParams` dict subclass carrying optimization metadata as private attributes for tooling integration
16+
17+
### Changed
18+
- SciPy moved from core dependency to optional extra (`pip install gradient-free-optimizers[scipy]`)
19+
- All optimizers ported from direct numpy imports to the internal array/math backends, enabling numpy-free operation
20+
- All pandas imports made lazy, reducing startup cost
21+
- Bayesian Optimization normalizes inputs to [0, 1] before GP fitting for better length-scale stability
22+
- GPR surrogate switched from Matern ν=0.5 to ν=2.5 with hyperparameter optimization (`n_restarts_optimizer=3`)
23+
- TPE bandwidth selection changed from hardcoded 1.0 to Silverman's rule
24+
- Performance improvements in GPR kernel and KDE score computation via vectorized distance matrices
25+
26+
### Removed
27+
- Legacy optimizer implementations (`optimizers_legacy/`)
28+
29+
### Fixed
30+
- KDE bandwidth computation on degenerate data (all identical points) causing division-by-zero
31+
- KDE bandwidth not recomputed on refit with new data
32+
- `min`/`max` broadcasting in the pure-Python array backend
33+
- `norm_cdf`/`norm_pdf` recursion when checking for iterability
34+
35+
### Tests
36+
- Unit tests for all six internal estimators
37+
- C extension backend and pure-Python integration tests (no numpy, no scipy)
38+
- Expanded coverage for distributed module and ask/tell interface
39+
- CI: no-scipy and no-numpy isolation jobs, coverage collection
1140

1241
## [1.12.0] - 2026-04-18
1342

0 commit comments

Comments
 (0)