Releases: Jebel-Quant/nncg
Release list
v0.5.0
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and entries are generated from Conventional Commits.
[0.5.0] - 2026-07-06
New Features
- Add solve_nnqp / solve_nnqp_eq one-call convenience wrappers (#34)
Documentation
- Fix stale inner-solver references in solver.py docstrings (#36)
Other Changes
- Bump version 0.4.2 → 0.5.0
PyPI Package
Conda Recipe
A conda-forge recipe was generated with grayskull and uploaded as the conda-recipe workflow artifact.
v0.4.2
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and entries are generated from Conventional Commits.
[0.4.2] - 2026-07-06
Bug Fixes
- Estimate rcond_free once per free set on the exact path (#30) (#31)
- (exact) Make the rcond_free conditioning guard opt-out (#32) (#33)
Other Changes
- Bump version 0.4.0 → 0.4.2
PyPI Package
Conda Recipe
A conda-forge recipe was generated with grayskull and uploaded as the conda-recipe workflow artifact.
v0.4.1
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and entries are generated from Conventional Commits.
[0.4.1] - 2026-07-06
Bug Fixes
- Estimate rcond_free once per free set on the exact path (#30)
Other Changes
- Bump version 0.4.0 → 0.4.1
PyPI Package
Conda Recipe
A conda-forge recipe was generated with grayskull and uploaded as the conda-recipe workflow artifact.
v0.4.0
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and entries are generated from Conventional Commits.
[0.4.0] - 2026-07-06
New Features
- Add precond.py with Jacobi and randomized Nyström preconditioners (#27)
Maintenance
- Layer the API as ActiveSetSolver + pluggable InnerSolver (#29)
Other Changes
- Bump version 0.3.2 → 0.4.0
PyPI Package
Conda Recipe
A conda-forge recipe was generated with grayskull and uploaded as the conda-recipe workflow artifact.
v0.3.2
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and entries are generated from Conventional Commits.
[0.3.2] - 2026-07-05
Bug Fixes
- Return exact warm start in zero iterations for CG/PCG (#26)
Other Changes
- Bump version 0.3.1 → 0.3.2
PyPI Package
Conda Recipe
A conda-forge recipe was generated with grayskull and uploaded as the conda-recipe workflow artifact.
v0.3.1
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and entries are generated from Conventional Commits.
[0.3.1] - 2026-07-05
Bug Fixes
Other Changes
- Bump version 0.3.0 → 0.3.1
PyPI Package
Conda Recipe
A conda-forge recipe was generated with grayskull and uploaded as the conda-recipe workflow artifact.
v0.3.0
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and entries are generated from Conventional Commits.
[0.3.0] - 2026-07-05
Maintenance
- Remove baseline comparison suite (maintained in mean_variance_solvers) (#23)
Other Changes
- Bump version 0.2.2 → 0.3.0
PyPI Package
Conda Recipe
A conda-forge recipe was generated with grayskull and uploaded as the conda-recipe workflow artifact.
v0.2.2
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and entries are generated from Conventional Commits.
[0.2.2] - 2026-07-04
New Features
- Type solve_nnqp inner as Literal and reject unknown solvers
- Support inner="pcg"/"exact" in solve_nnqp_eq
- Alternative solvers as benchmark baselines (osqp, clarabel, lawson-hanson, duchi)
- Add FISTA baseline, share accelerated proximal-gradient core with Duchi
Bug Fixes
- Address rcond recomputation, PCG test flakiness, eq API symmetry
- Restore indentation mangled by automated PR-fix commits
Documentation
- Add marimo notebooks to the companion book
- Inline planted-optimum generators in notebook 03, add matplotlib dev dep
- Explain in krylov.py why CG/PCG stay in-house vs scipy (#22)
Other Changes
- Potential fix for pull request finding
- Potential fix for pull request finding
- Potential fix for pull request finding
- Merge pull request #15 from Jebel-Quant/docs/marimo-notebooks
- Merge pull request #16 from Jebel-Quant/inner-solver-literal
- Merge pull request #17 from Jebel-Quant/eq-inner-solver
- Potential fix for pull request finding
- Potential fix for pull request finding
- Potential fix for pull request finding
- Potential fix for pull request finding
- Potential fix for pull request finding
- Potential fix for pull request finding
- Merge pull request #21 from Jebel-Quant/feat/alternative-solvers
- Bump version 0.2.1 → 0.2.2
PyPI Package
Conda Recipe
A conda-forge recipe was generated with grayskull and uploaded as the conda-recipe workflow artifact.
v0.2.1
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and entries are generated from Conventional Commits.
[0.2.1] - 2026-07-03
Bug Fixes
- Satisfy fmt/docs/typecheck gates for hoisted free-set matvec
Performance
- Hoist the free-set restriction out of the inner CG loop
Other Changes
- Expose warm-starting in solve_nnqp_eq
- Merge pull request #11 from Jebel-Quant/eq-warm-start
- Merge pull request #14 from Jebel-Quant/bump-cvx-linalg-0.9.6
- Merge pull request #13 from Jebel-Quant/perf/hoist-free-set-restriction
- Bump version 0.2.0 → 0.2.1
PyPI Package
Conda Recipe
A conda-forge recipe was generated with grayskull and uploaded as the conda-recipe workflow artifact.
v0.2.0
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and entries are generated from Conventional Commits.
[0.2.0] - 2026-07-03
Other Changes
- Initial release: nncg 0.1.0
- Adopt cvx-linalg as a runtime dependency and fix mypy strict errors
- Bring test coverage to 100%
- Fix lowest-direct CI failure and make validate
- Fix CI: typed matvec closure for mypy, scale-aware eq-test thresholds
- Delete .github/workflows/release.yml
- Merge pull request #4 from Jebel-Quant/tschm-patch-1
- Merge branch 'main' into cvx-linalg-dependency
- Deduplicate _matvec after merging main
- Merge pull request #3 from Jebel-Quant/cvx-linalg-dependency
- Fix stale mkdocs.yml and add the mkdocstrings API reference
- Merge pull request #5 from Jebel-Quant/fix-mkdocs
- Take the quadratic term as a cvx.linalg SymmetricOperator only
- Read the Jacobi preconditioner off op.diag (cvx-linalg 0.9.5)
- Merge pull request #6 from Jebel-Quant/operator-input
- Validate operator dimension and guard exact inner against singular free blocks
- Move the planted-problem generators out of the package into tests/
- Potential fix for pull request finding
- Potential fix for pull request finding
- Potential fix for pull request finding
- Potential fix for pull request finding
- Potential fix for pull request finding
- Potential fix for pull request finding
- Make tests a package so the tests.problems imports resolve
- Sort tests.problems imports into the first-party block
- Merge pull request #7 from Jebel-Quant/input-validation
- Share the active-set driver between the two solvers
- Drop cg and pcg from the package root
- Merge pull request #9 from Jebel-Quant/active-set-refactor
- Fill out the README badge row
- Merge pull request #10 from Jebel-Quant/readme-badges
- Bump version 0.1.0 → 0.2.0
PyPI Package
Conda Recipe
A conda-forge recipe was generated with grayskull and uploaded as the conda-recipe workflow artifact.