All notable changes to KortexDL C++ core will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Nesterov optimizer triple-update bug (see KNOWN_ISSUES.md)
- Python bindings for
Optimizer.update()andNetwork::train_batch_with_optimizer()
- Issue:
last_batch_size_was updated at function entry, causing cache resize check to always fail - Impact: Buffer overflow when
std::copywrote to undersized vectors - Fix: Moved
last_batch_size_update to inside resize blocks - Files:
src/core/Layer.cpp(lines 249-306)
- Issue:
last_batch_size_member not initialized in constructor - Impact: Undefined behavior on first
forward_batchcall - Fix: Initialize to
0in constructor - Files:
src/core/Layer.cpp(line 105-106)
- Issue: In optimized path (
batch_size >= 64),last_input_andlast_pre_activation_were not cached before applying activation - Impact: Backpropagation failed for non-linear activations (Tanh, Sigmoid) which rely on cached pre-activations
- Fix: Cache both buffers before in-place activation
- Files:
src/core/Layer.cpp(lines 257-290)
- Issue: Aggressive hardcoded gradient clipping (threshold=1.0) prevented learning
- Impact: Network couldn't converge on simple problems
- Fix: Removed hardcoded clipping (threshold should be user-configurable)
- Files:
src/core/Layer.cpp(lines 568-595)
- Test: Numerical gradient checking (finite difference vs analytical)
- Result: Maximum error < 4.3e-5 (PASSED)
- Confidence: Core backpropagation is mathematically sound
- Evidence: See
core_audit_report.md
- Python bindings via pybind11
- CNN layers (Conv2d, MaxPool2d, BatchNorm2d)
- 12 optimizer implementations
- 15 activation functions
- Comprehensive C++ test suite
- Upgraded to Intel oneAPI MKL 2025.2
- Modern C++20 codebase
- Enhanced error handling
- Dense neural networks
- Basic optimizers (SGD, Adam)
- Core activation functions
- MSE and Cross-Entropy losses
- MAJOR: Incompatible API changes
- MINOR: Backwards-compatible functionality additions
- PATCH: Backwards-compatible bug fixes
Stable: Core backpropagation engine
Beta: Python bindings (incomplete API exposure)
Experimental: Advanced optimizers (some have bugs)
- Core Audit Report: See
docs/core_audit_report.mdfor detailed analysis - Known Issues: See
KNOWN_ISSUES.mdfor current limitations - Python Changes: See
kortexdl-python/README.mdfor Python-specific updates