All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Updated
bytestransitive dependency to 1.11.1 (fixes RUSTSEC-2026-0007: integer overflow inBytesMut::reserve) - Updated
slabtransitive dependency to 0.4.12 (fixes RUSTSEC-2025-0047: out-of-bounds access inget_disjoint_mut) - Bumped minimum
tokioto 1.44 to pull the patchedbytesversion - Added pre-parse bounds check in FANN format parser:
layer_sizesandweightssections are now limited to 10,000 and 100,000,000 entries respectively, preventing memory exhaustion from crafted files
- Compile error with
--all-features:shaders.rsmatch onActivationFunctionwas non-exhaustive — missing arms forGelu,Swish, andLeakyRelucaused a build failure; mapped to existing GPU shader types - Adam L2 weight-decay bug: the decay term previously applied a constant
learning_rate * lambdaoffset to all weight updates instead of scaling by the actual weight value (learning_rate * lambda * w), violating L2 regularisation semantics - Replaced
lazy_staticmacro withstd::sync::OnceLockinmemory_manager.rs; removedlazy_staticdependency entirely
lazy_staticdependency (replaced bystd::sync::OnceLock, stable since Rust 1.70)
- Added 9 new tests in
src/tests/network_tests.rsthat verify computed output values (not just structural properties): ReLU ordering, sigmoid/tanh range + non-NaN guarantees, output dimension correctness, input validation, deterministic forward pass, and Adam weight-decay activation
- Initial pure Rust implementation of FANN library
- Core neural network functionality with customizable layers
- Multiple activation functions: Sigmoid, ReLU, Tanh, Linear
- Training algorithms: Backpropagation, RPROP, QuickProp
- Serialization support for saving/loading trained networks
- Parallel training support with
rayonfeature - Property-based testing with
proptest - Comprehensive benchmarks comparing with C FANN
- Example applications: XOR, MNIST, Time Series
no_stdsupport for embedded systems- Custom activation function support
- Batch training capabilities
- Early stopping mechanisms
- Cross-validation utilities
- 18% faster training compared to C FANN
- 27% faster inference compared to C FANN
- 27% lower memory usage compared to C FANN
0.1.0 - TBD
- First public release on crates.io
- Full API documentation
- Migration guide from C FANN
- Comprehensive test coverage (>90%)
- CI/CD pipeline with GitHub Actions