# Changelog

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**.

---

## [Unreleased]

### Added

- (Placeholder) Upcoming features will go here.

### Changed

- (Placeholder) Improvements will go here.

### Fixed

- (Placeholder) Bug fixes will go here.

---

## [2.0.0] - 2025-11-29

### Added

- **Echo-enhanced confidence metrics** - Forward-backward optimization protocol to measure solution stability
- `solveQuboWithConfidence()` - Convenience function that always uses echo protocol
- `solveQuboForProduction()` - Production validation that throws if solution is not approved
- Confidence levels: VERY_HIGH, HIGH, MEDIUM, LOW, VERY_LOW
- Robustness assessment: VERY_ROBUST, ROBUST, MODERATE, FRAGILE, UNSTABLE
- `isStable` flag for production-ready solutions
- Echo protocol support in `solveQubo()` via `{ echo: true }` option
- Echo protocol support in `solveMaxCut()` via `{ echo: true }` option
- New example: `examples/example_echo.mjs` demonstrating echo protocol usage

### Changed

- `solveQubo()` now accepts `echo` option for confidence metrics
- `solveMaxCut()` now accepts `echo` option for confidence metrics
- Return format extended with confidence fields when echo is enabled
- Version bumped to 2.0.0 (major version due to new API features)

### Technical Details

- Echo protocol based on "Entanglement Echoes in Quantum Computation" (Rossini et al., 2003)
- Forward phase: standard spike solver (hot → cold)
- Backward phase: reverse annealing (cold → hot) to test stability
- Fidelity computed as weighted combination of state recovery (70%) and energy recovery (30%)

---

## [1.0.1] - 2025-11-29

### Added

- Initial public release of `spike-qubo-solver`.
- Pure ESM spike-based solver for QUBO and Max-Cut.
- Baselines: Simulated Annealing + Greedy heuristics.
- CLI tool: `spike-qubo-solver` for running JSON instances.
- Metrics toolkit (`summarizeRuns`).
- Example JSON instances (`examples/qubo.json`, `examples/graph.json`).
- Benchmark scripts (`bench` and `bench:compare`).
- GitHub Actions CI workflow (`ci.yml`).
- Documentation: README, CONTRIBUTING, LICENSE, publishing guide.

---

### How to update this file

- Add changes under `[Unreleased]` as you make them.
- Before publishing to npm, rename `[Unreleased]` → `[x.y.z]` with the date.
- Create a new empty `[Unreleased]` section at the top.


