docs: add v1.0.0 release notes
- First stable release announcement - Complete feature list and performance benchmarks - Breaking changes documentation - Migration guide from v0.3.0 - Roadmap for v1.1.0, v1.2.0, v2.0.0 - Publication details for crates.io and PyPI
This commit is contained in:
@@ -0,0 +1,227 @@
|
|||||||
|
# OptimizR v1.0.0 Release Notes
|
||||||
|
|
||||||
|
**Release Date:** February 16, 2026
|
||||||
|
**Status:** ✅ Stable Release
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎉 First Stable Release
|
||||||
|
|
||||||
|
OptimizR v1.0.0 marks the first production-ready stable release with a commitment to semantic versioning going forward. The API is now stable and breaking changes will only occur in major version bumps.
|
||||||
|
|
||||||
|
## 📦 Distribution
|
||||||
|
|
||||||
|
### crates.io (Rust)
|
||||||
|
```bash
|
||||||
|
cargo add optimizr
|
||||||
|
```
|
||||||
|
|
||||||
|
### PyPI (Python)
|
||||||
|
```bash
|
||||||
|
pip install optimizr
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🆕 What's New in v1.0.0
|
||||||
|
|
||||||
|
### Publication & Distribution
|
||||||
|
- ✅ **Published to crates.io** - Available in Rust package registry
|
||||||
|
- ✅ **Published to PyPI** - Available via pip install
|
||||||
|
- ✅ **Stable API** - Semantic versioning from v1.0.0 forward
|
||||||
|
- ✅ **Production Ready** - Comprehensive testing and validation
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
- 📚 **ReadTheDocs** - Full documentation at https://optimiz-r.readthedocs.io
|
||||||
|
- 📖 **Getting Started Guide** - Quick start for new users
|
||||||
|
- 📝 **API Reference** - Complete function and class documentation
|
||||||
|
- 🎓 **Tutorials** - Step-by-step guides for all algorithms
|
||||||
|
- 🔬 **Theory & Math** - Mathematical foundations and references
|
||||||
|
|
||||||
|
### Build System Improvements
|
||||||
|
- 🏗️ **Fixed Cargo.toml** - Removed python-bindings from default features
|
||||||
|
- Resolves linker errors when using as Rust library
|
||||||
|
- Python bindings now opt-in feature (automatically enabled by maturin)
|
||||||
|
- 🐍 **Maturin Configuration** - Explicit python-bindings feature in pyproject.toml
|
||||||
|
- Ensures correct PyO3 extension builds for PyPI
|
||||||
|
- Fixes cross-platform compatibility
|
||||||
|
|
||||||
|
### Metadata Updates
|
||||||
|
- 👥 **Authors**: HFThot Research Lab <contact@hfthot-lab.eu>
|
||||||
|
- 🔗 **Repository**: https://github.com/ThotDjehuty/optimiz-r
|
||||||
|
- 🏠 **Homepage**: https://hfthot-lab.eu
|
||||||
|
- 📚 **Documentation**: https://optimiz-r.readthedocs.io
|
||||||
|
|
||||||
|
## 🚀 Features (Stable)
|
||||||
|
|
||||||
|
### Optimization Algorithms
|
||||||
|
- ✅ **Differential Evolution** - 5 strategies (rand/1, best/1, current-to-best/1, rand/2, best/2)
|
||||||
|
- ✅ **Adaptive jDE** - Self-tuning mutation factor and crossover rate
|
||||||
|
- ✅ **Grid Search** - Exhaustive parameter space exploration
|
||||||
|
|
||||||
|
### Hidden Markov Models
|
||||||
|
- ✅ **Baum-Welch Training** - EM algorithm for parameter learning
|
||||||
|
- ✅ **Viterbi Decoding** - Most likely state sequence
|
||||||
|
- ✅ **Gaussian Emissions** - Continuous observation models
|
||||||
|
|
||||||
|
### MCMC Sampling
|
||||||
|
- ✅ **Metropolis-Hastings** - Bayesian parameter estimation
|
||||||
|
- ✅ **Adaptive Proposals** - Gaussian random walk
|
||||||
|
- ✅ **Convergence Diagnostics** - Acceptance rate tracking
|
||||||
|
|
||||||
|
### Mean Field Games (v0.3.0+)
|
||||||
|
- ✅ **1D MFG Solver** - Large population dynamics
|
||||||
|
- ✅ **HJB-Fokker-Planck Coupling** - Fixed-point iteration
|
||||||
|
- ✅ **Agent Population Dynamics** - Spatial-temporal evolution
|
||||||
|
|
||||||
|
### Mathematical Toolkit
|
||||||
|
- ✅ **Numerical Differentiation** - gradient(), hessian(), jacobian()
|
||||||
|
- ✅ **Statistics** - mean(), variance(), skewness(), kurtosis()
|
||||||
|
- ✅ **Linear Algebra** - norms, normalization, trace, outer product
|
||||||
|
- ✅ **Information Theory** - mutual_information(), shannon_entropy()
|
||||||
|
|
||||||
|
## ⚡ Performance
|
||||||
|
|
||||||
|
- **50-100× faster** than pure Python implementations
|
||||||
|
- **95% memory reduction** vs NumPy/SciPy
|
||||||
|
- **Parallel-ready** with Rayon infrastructure
|
||||||
|
- Production-tested on multi-dimensional problems
|
||||||
|
|
||||||
|
## 📊 Benchmarks
|
||||||
|
|
||||||
|
### Differential Evolution (Rosenbrock 10D)
|
||||||
|
- OptimizR (Rust): **0.12s**
|
||||||
|
- SciPy (Python): **8.9s**
|
||||||
|
- **Speedup: 74×**
|
||||||
|
|
||||||
|
### HMM Training (1000 observations, 3 states)
|
||||||
|
- OptimizR (Rust): **0.03s**
|
||||||
|
- hmmlearn (Python): **2.4s**
|
||||||
|
- **Speedup: 80×**
|
||||||
|
|
||||||
|
### Mean Field Games (100×100 grid)
|
||||||
|
- OptimizR (Rust): **0.4s**
|
||||||
|
- Pure Python: **45s**
|
||||||
|
- **Speedup: 112×**
|
||||||
|
|
||||||
|
## 🔧 Breaking Changes from v0.3.0
|
||||||
|
|
||||||
|
### Cargo Feature Flags
|
||||||
|
```toml
|
||||||
|
# OLD (v0.3.0):
|
||||||
|
[features]
|
||||||
|
default = ["python-bindings"] # Always included
|
||||||
|
|
||||||
|
# NEW (v1.0.0):
|
||||||
|
[features]
|
||||||
|
default = [] # No default features
|
||||||
|
python-bindings = ["pyo3", "numpy"] # Opt-in
|
||||||
|
```
|
||||||
|
|
||||||
|
**Impact:**
|
||||||
|
- Rust-only users: No breaking changes (python-bindings not needed)
|
||||||
|
- Python users: No impact (maturin automatically enables python-bindings)
|
||||||
|
|
||||||
|
If you're using OptimizR as a Rust library and explicitly depend on Python bindings:
|
||||||
|
```toml
|
||||||
|
# Update your Cargo.toml:
|
||||||
|
[dependencies]
|
||||||
|
optimizr = { version = "1.0", features = ["python-bindings"] }
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📝 Migration Guide
|
||||||
|
|
||||||
|
### From v0.3.0 to v1.0.0
|
||||||
|
|
||||||
|
**For Rust Users:**
|
||||||
|
No code changes required. If you were using python-bindings explicitly, add it to features list.
|
||||||
|
|
||||||
|
**For Python Users:**
|
||||||
|
```bash
|
||||||
|
# Upgrade via pip
|
||||||
|
pip install --upgrade optimizr
|
||||||
|
|
||||||
|
# Or specify version
|
||||||
|
pip install optimizr==1.0.0
|
||||||
|
```
|
||||||
|
|
||||||
|
**API Compatibility:**
|
||||||
|
✅ All Python APIs remain unchanged
|
||||||
|
✅ All Rust APIs remain unchanged
|
||||||
|
✅ Function signatures are identical
|
||||||
|
✅ Return types are identical
|
||||||
|
✅ No deprecations or removals
|
||||||
|
|
||||||
|
## 🐛 Bug Fixes
|
||||||
|
|
||||||
|
- Fixed linking errors when using OptimizR as Rust-only library
|
||||||
|
- Fixed PyInit__core symbol warning in maturin builds
|
||||||
|
- Resolved flate2 yanked dependency warning
|
||||||
|
|
||||||
|
## 📚 Documentation
|
||||||
|
|
||||||
|
### New Documentation
|
||||||
|
- Complete ReadTheDocs site: https://optimiz-r.readthedocs.io
|
||||||
|
- Getting Started guide
|
||||||
|
- Installation instructions for all platforms
|
||||||
|
- Tutorial notebooks (7 validated examples)
|
||||||
|
- API reference with examples
|
||||||
|
- Theory and mathematical background
|
||||||
|
|
||||||
|
### Validated Tutorial Notebooks
|
||||||
|
1. ✅ **Hidden Markov Models** - Regime detection
|
||||||
|
2. ✅ **MCMC Sampling** - Bayesian inference
|
||||||
|
3. ✅ **Differential Evolution** - Global optimization
|
||||||
|
4. ✅ **Optimal Control** - HJB solver (theory)
|
||||||
|
5. ✅ **Real-World Applications** - Complete workflows
|
||||||
|
6. ✅ **Performance Benchmarks** - Rust vs Python
|
||||||
|
7. ✅ **Mean Field Games** - Population dynamics
|
||||||
|
|
||||||
|
## 🔮 Roadmap
|
||||||
|
|
||||||
|
### v1.1.0 (Q2 2026)
|
||||||
|
- [ ] Additional DE variants (JADE, SHADE, L-SHADE)
|
||||||
|
- [ ] Particle Swarm Optimization (PSO)
|
||||||
|
- [ ] CMA-ES algorithm
|
||||||
|
- [ ] More HMM emission distributions
|
||||||
|
|
||||||
|
### v1.2.0 (Q3 2026)
|
||||||
|
- [ ] GPU acceleration via CUDA/ROCm
|
||||||
|
- [ ] Additional language bindings (R, Julia, JavaScript)
|
||||||
|
- [ ] Distributed computing support
|
||||||
|
- [ ] Advanced parallel strategies
|
||||||
|
|
||||||
|
### v2.0.0 (2027)
|
||||||
|
- [ ] Neural Evolution Strategies (NES)
|
||||||
|
- [ ] Multi-objective optimization
|
||||||
|
- [ ] Constraint handling methods
|
||||||
|
- [ ] Advanced uncertainty quantification
|
||||||
|
|
||||||
|
## 🙏 Acknowledgments
|
||||||
|
|
||||||
|
Built with:
|
||||||
|
- [Rust](https://www.rust-lang.org/) - Systems programming language
|
||||||
|
- [PyO3](https://pyo3.rs/) - Rust bindings for Python
|
||||||
|
- [Maturin](https://www.maturin.rs/) - Build and publish Rust crates as Python packages
|
||||||
|
- [NumPy](https://numpy.org/) - Numerical computing in Python
|
||||||
|
|
||||||
|
Inspired by:
|
||||||
|
- scipy.optimize
|
||||||
|
- scikit-learn
|
||||||
|
- hmmlearn
|
||||||
|
- emcee
|
||||||
|
|
||||||
|
## 📞 Support & Community
|
||||||
|
|
||||||
|
- **Issues**: [GitHub Issues](https://github.com/ThotDjehuty/optimiz-r/issues)
|
||||||
|
- **Discussions**: [GitHub Discussions](https://github.com/ThotDjehuty/optimiz-r/discussions)
|
||||||
|
- **Website**: [HFThot Research Lab](https://hfthot-lab.eu)
|
||||||
|
- **Email**: contact@hfthot-lab.eu
|
||||||
|
|
||||||
|
## 📄 License
|
||||||
|
|
||||||
|
MIT License - see [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**OptimizR v1.0.0** - Fast optimization for data science and machine learning 🚀
|
||||||
|
|
||||||
|
Thank you to all contributors and early adopters who helped make this release possible!
|
||||||
Reference in New Issue
Block a user