1- =====================
2- Release Notes
3- =====================
1+ # Release Notes
42
5- ====================
6- Release Notes 25.10
7- ====================
3+ ## Release Notes 25.10
84
9- New Features (25.10)
10- --------------------
5+ ### New Features (25.10)
116
127- New barrier method for solving LPs. Uses cuDSS for sparse Cholesky / LDT.
138- Concurrent mode for LPs now uses PDLP, dual simplex, and barrier
149- New PDLP solver mode Stable3.
1510- MIP presolve using Papilo (enabled by default). LP presolve using Papilo (optional).
1611- Parallel branch and bound on the CPU: multiple best-first search and diving threads
1712
18- Breaking Changes (25.10)
19- ------------------------
13+ ### Breaking Changes (25.10)
2014
2115- New PDLP Solver mode Stable3 is the default
2216
2317
24- Improvements (25.10)
25- --------------------
18+ ### Improvements (25.10)
2619
2720- Add setting "CUOPT_BARRIER_DUAL_INITIAL_POINT" to change the dual initial point used by barrier
2821- CPUFJ for local search + simple rounding
@@ -60,8 +53,7 @@ Improvements (25.10)
6053- This library now supports the QPS format, which is an extension of the standard MPS format for representing quadratic programming problems.
6154
6255
63- Bug Fixes (25.10)
64- -----------------
56+ ### Bug Fixes (25.10)
6557
6658- Fix variables out of bounds caused by CPUFJ LP scratch thread
6759- Fix the maybe-uninitialized compilation error
@@ -76,8 +68,7 @@ Bug Fixes (25.10)
7668- Empty columns with infinite bounds are not removed
7769
7870
79- Documentation (25.10)
80- ---------------------
71+ ### Documentation (25.10)
8172
8273- Add tutorial video links to Decompression
8374- Add warmstart, model update, update docs
@@ -89,99 +80,86 @@ Documentation (25.10)
8980- Doc update for container version update, and add `` nvidia-cuda-runtime `` as a dependency
9081
9182
92- ====================
93- Release Notes 25.08
94- ====================
95-
96-
97- New Features (25.08)
98- --------------------
99-
100- - Added Python API for LP and MILP (`#223 <https://github.com/NVIDIA/cuopt/pull/223 >`_)
101-
102- Breaking Changes (25.08)
103- ------------------------
104-
105- - Fixed versioning for nightly and release package (`#175 <https://github.com/NVIDIA/cuopt/pull/175 >`_)
106-
107- Improvements (25.08)
108- --------------------
109-
110- - New heuristic improvements (`#178 <https://github.com/NVIDIA/cuopt/pull/178 >`_)
111- - Add helm chart for cuOpt service (`#224 <https://github.com/NVIDIA/cuopt/pull/224 >`_)
112- - Add nightly container support (`#180 <https://github.com/NVIDIA/cuopt/pull/180 >`_)
113- - Adding deb package support as a beta feature (`#190 <https://github.com/NVIDIA/cuopt/pull/190 >`_)
114- - Use cusparsespmv_preprocess() now that Raft implements it (`#120 <https://github.com/NVIDIA/cuopt/pull/120 >`_)
115- - Create a bash script to run MPS files in parallel (`#87 <https://github.com/NVIDIA/cuopt/pull/87 >`_)
116- - Several fixes needed to compile cuOpt with LLVM (`#121 <https://github.com/NVIDIA/cuopt/pull/121 >`_)
117- - Small fixes for corner cases (`#130 <https://github.com/NVIDIA/cuopt/pull/130 >`_)
118- - Small improvements on how paths are handled in tests (`#129 <https://github.com/NVIDIA/cuopt/pull/129 >`_)
119- - Update cxxopts to v3.3.1 (`#128 <https://github.com/NVIDIA/cuopt/pull/128 >`_)
120- - Bump actions/checkout in nightly.yaml to v4 (`#230 <https://github.com/NVIDIA/cuopt/pull/230 >`_)
121- - Remove CUDA 11 specific changes from repo (`#222 <https://github.com/NVIDIA/cuopt/pull/222 >`_)
122- - Heuristic improvements with solution hash, MAB and simplex root solution (`#216 <https://github.com/NVIDIA/cuopt/pull/216 >`_)
123- - Various typos in comments and strings, note on result dir (`#200 <https://github.com/NVIDIA/cuopt/pull/200 >`_)
124- - Split very large tests into smaller individual test cases (`#152 <https://github.com/NVIDIA/cuopt/pull/152 >`_)
125- - Fix compile error when using clang with C++20 (`#145 <https://github.com/NVIDIA/cuopt/pull/145 >`_)
126- - Relax pinnings on several dependencies, remove nvidia channel (`#125 <https://github.com/NVIDIA/cuopt/pull/125 >`_)
127- - Fix compile error when building with clang (`#119 <https://github.com/NVIDIA/cuopt/pull/119 >`_)
128- - cuOpt service add healthcheck for / (`#114 <https://github.com/NVIDIA/cuopt/pull/114 >`_)
129- - refactor(shellcheck): fix all remaining shellcheck errors/warnings (`#99 <https://github.com/NVIDIA/cuopt/pull/99 >`_)
130- - Add CTK 12.9 fatbin flags to maintain existing binary sizes (`#58 <https://github.com/NVIDIA/cuopt/pull/58 >`_)
131-
132- Bug Fixes (25.08)
133- -----------------
134-
135- - Fixed a segfault on bnatt500 due to small mu leading to inf/nan (`#254 <https://github.com/NVIDIA/cuopt/pull/254 >`_)
136- - Fixed a bug in basis repair. Recover from numerical issues in primal update (`#249 <https://github.com/NVIDIA/cuopt/pull/249 >`_)
137- - Unset NDEBUG in cmake in assert mode (`#248 <https://github.com/NVIDIA/cuopt/pull/248 >`_)
138- - Manual cuda graph creation in load balanced bounds presolve (`#242 <https://github.com/NVIDIA/cuopt/pull/242 >`_)
139- - Fixed bug on initial solution size in the check and cuda set device order (`#226 <https://github.com/NVIDIA/cuopt/pull/226 >`_)
140- - Disable cuda graph in batched PDLP (`#225 <https://github.com/NVIDIA/cuopt/pull/225 >`_)
141- - Fix logging levels format with timestamps (`#201 <https://github.com/NVIDIA/cuopt/pull/201 >`_)
142- - Fix bug in scaling of dual slacks and sign of dual variables for >= constraints (`#191 <https://github.com/NVIDIA/cuopt/pull/191 >`_)
143- - Fix inversion crossover bug with PDP and prize collection (`#179 <https://github.com/NVIDIA/cuopt/pull/179 >`_)
144- - Fix a bug in extract_best_per_route kernel (`#156 <https://github.com/NVIDIA/cuopt/pull/156 >`_)
145- - Fix several bugs appeared in unit testing of JuMP interface (`#149 <https://github.com/NVIDIA/cuopt/pull/149 >`_)
146- - Fix incorrect reported solving time (`#131 <https://github.com/NVIDIA/cuopt/pull/131 >`_)
147- - Fix max offset (`#113 <https://github.com/NVIDIA/cuopt/pull/113 >`_)
148- - Fix batch graph capture issue caused by pinned memory allocator (`#110 <https://github.com/NVIDIA/cuopt/pull/110 >`_)
149- - Fix bug in optimization_problem_solution_t::copy_from (`#109 <https://github.com/NVIDIA/cuopt/pull/109 >`_)
150- - Fix issue when problem has an empty problem in PDLP (`#107 <https://github.com/NVIDIA/cuopt/pull/107 >`_)
151- - Fix crash on models with variables but no constraints (`#105 <https://github.com/NVIDIA/cuopt/pull/105 >`_)
152- - Fix inversion of constraint bounds in conditional bounds presolve (`#75 <https://github.com/NVIDIA/cuopt/pull/75 >`_)
153- - Fix data initialization in create depot node for max travel time feature (`#74 <https://github.com/NVIDIA/cuopt/pull/74 >`_)
154-
155- Documentation (25.08)
156- ---------------------
157-
158- - Added more pre-commit checks to ensure coding standards (`#213 <https://github.com/NVIDIA/cuopt/pull/213 >`_)
159- - Mention GAMS and GAMSPy in third-party modeling languages page in documentation (`#206 <https://github.com/NVIDIA/cuopt/pull/206 >`_)
160- - Enable doc build workflow and build script for PR and Nightly (`#203 <https://github.com/NVIDIA/cuopt/pull/203 >`_)
161- - Fix the link to Python docs in README (`#118 <https://github.com/NVIDIA/cuopt/pull/118 >`_)
162- - Add link checker for doc build and test (`#229 <https://github.com/NVIDIA/cuopt/pull/229 >`_)
163-
164- ====================
165- Release Notes 25.05
166- ====================
167-
168- New Features (25.05)
169- --------------------
83+ ## Release Notes 25.08
84+
85+ ### New Features (25.08)
86+
87+ - Added Python API for LP and MILP ([ #223 ] ( https://github.com/NVIDIA/cuopt/pull/223 ) )
88+
89+ ### Breaking Changes (25.08)
90+
91+ - Fixed versioning for nightly and release package ([ #175 ] ( https://github.com/NVIDIA/cuopt/pull/175 ) )
92+
93+ ### Improvements (25.08)
94+
95+ - New heuristic improvements ([ #178 ] ( https://github.com/NVIDIA/cuopt/pull/178 ) )
96+ - Add helm chart for cuOpt service ([ #224 ] ( https://github.com/NVIDIA/cuopt/pull/224 ) )
97+ - Add nightly container support ([ #180 ] ( https://github.com/NVIDIA/cuopt/pull/180 ) )
98+ - Adding deb package support as a beta feature ([ #190 ] ( https://github.com/NVIDIA/cuopt/pull/190 ) )
99+ - Use cusparsespmv_preprocess() now that Raft implements it ([ #120 ] ( https://github.com/NVIDIA/cuopt/pull/120 ) )
100+ - Create a bash script to run MPS files in parallel ([ #87 ] ( https://github.com/NVIDIA/cuopt/pull/87 ) )
101+ - Several fixes needed to compile cuOpt with LLVM ([ #121 ] ( https://github.com/NVIDIA/cuopt/pull/121 ) )
102+ - Small fixes for corner cases ([ #130 ] ( https://github.com/NVIDIA/cuopt/pull/130 ) )
103+ - Small improvements on how paths are handled in tests ([ #129 ] ( https://github.com/NVIDIA/cuopt/pull/129 ) )
104+ - Update cxxopts to v3.3.1 ([ #128 ] ( https://github.com/NVIDIA/cuopt/pull/128 ) )
105+ - Bump actions/checkout in nightly.yaml to v4 ([ #230 ] ( https://github.com/NVIDIA/cuopt/pull/230 ) )
106+ - Remove CUDA 11 specific changes from repo ([ #222 ] ( https://github.com/NVIDIA/cuopt/pull/222 ) )
107+ - Heuristic improvements with solution hash, MAB and simplex root solution ([ #216 ] ( https://github.com/NVIDIA/cuopt/pull/216 ) )
108+ - Various typos in comments and strings, note on result dir ([ #200 ] ( https://github.com/NVIDIA/cuopt/pull/200 ) )
109+ - Split very large tests into smaller individual test cases ([ #152 ] ( https://github.com/NVIDIA/cuopt/pull/152 ) )
110+ - Fix compile error when using clang with C++20 ([ #145 ] ( https://github.com/NVIDIA/cuopt/pull/145 ) )
111+ - Relax pinnings on several dependencies, remove nvidia channel ([ #125 ] ( https://github.com/NVIDIA/cuopt/pull/125 ) )
112+ - Fix compile error when building with clang ([ #119 ] ( https://github.com/NVIDIA/cuopt/pull/119 ) )
113+ - cuOpt service add healthcheck for / ([ #114 ] ( https://github.com/NVIDIA/cuopt/pull/114 ) )
114+ - refactor(shellcheck): fix all remaining shellcheck errors/warnings ([ #99 ] ( https://github.com/NVIDIA/cuopt/pull/99 ) )
115+ - Add CTK 12.9 fatbin flags to maintain existing binary sizes ([ #58 ] ( https://github.com/NVIDIA/cuopt/pull/58 ) )
116+
117+ ### Bug Fixes (25.08)
118+
119+ - Fixed a segfault on bnatt500 due to small mu leading to inf/nan ([ #254 ] ( https://github.com/NVIDIA/cuopt/pull/254 ) )
120+ - Fixed a bug in basis repair. Recover from numerical issues in primal update ([ #249 ] ( https://github.com/NVIDIA/cuopt/pull/249 ) )
121+ - Unset NDEBUG in cmake in assert mode ([ #248 ] ( https://github.com/NVIDIA/cuopt/pull/248 ) )
122+ - Manual cuda graph creation in load balanced bounds presolve ([ #242 ] ( https://github.com/NVIDIA/cuopt/pull/242 ) )
123+ - Fixed bug on initial solution size in the check and cuda set device order ([ #226 ] ( https://github.com/NVIDIA/cuopt/pull/226 ) )
124+ - Disable cuda graph in batched PDLP ([ #225 ] ( https://github.com/NVIDIA/cuopt/pull/225 ) )
125+ - Fix logging levels format with timestamps ([ #201 ] ( https://github.com/NVIDIA/cuopt/pull/201 ) )
126+ - Fix bug in scaling of dual slacks and sign of dual variables for >= constraints ([ #191 ] ( https://github.com/NVIDIA/cuopt/pull/191 ) )
127+ - Fix inversion crossover bug with PDP and prize collection ([ #179 ] ( https://github.com/NVIDIA/cuopt/pull/179 ) )
128+ - Fix a bug in extract_best_per_route kernel ([ #156 ] ( https://github.com/NVIDIA/cuopt/pull/156 ) )
129+ - Fix several bugs appeared in unit testing of JuMP interface ([ #149 ] ( https://github.com/NVIDIA/cuopt/pull/149 ) )
130+ - Fix incorrect reported solving time ([ #131 ] ( https://github.com/NVIDIA/cuopt/pull/131 ) )
131+ - Fix max offset ([ #113 ] ( https://github.com/NVIDIA/cuopt/pull/113 ) )
132+ - Fix batch graph capture issue caused by pinned memory allocator ([ #110 ] ( https://github.com/NVIDIA/cuopt/pull/110 ) )
133+ - Fix bug in optimization_problem_solution_t::copy_from ([ #109 ] ( https://github.com/NVIDIA/cuopt/pull/109 ) )
134+ - Fix issue when problem has an empty problem in PDLP ([ #107 ] ( https://github.com/NVIDIA/cuopt/pull/107 ) )
135+ - Fix crash on models with variables but no constraints ([ #105 ] ( https://github.com/NVIDIA/cuopt/pull/105 ) )
136+ - Fix inversion of constraint bounds in conditional bounds presolve ([ #75 ] ( https://github.com/NVIDIA/cuopt/pull/75 ) )
137+ - Fix data initialization in create depot node for max travel time feature ([ #74 ] ( https://github.com/NVIDIA/cuopt/pull/74 ) )
138+
139+ ### Documentation (25.08)
140+
141+ - Added more pre-commit checks to ensure coding standards ([ #213 ] ( https://github.com/NVIDIA/cuopt/pull/213 ) )
142+ - Mention GAMS and GAMSPy in third-party modeling languages page in documentation ([ #206 ] ( https://github.com/NVIDIA/cuopt/pull/206 ) )
143+ - Enable doc build workflow and build script for PR and Nightly ([ #203 ] ( https://github.com/NVIDIA/cuopt/pull/203 ) )
144+ - Fix the link to Python docs in README ([ #118 ] ( https://github.com/NVIDIA/cuopt/pull/118 ) )
145+ - Add link checker for doc build and test ([ #229 ] ( https://github.com/NVIDIA/cuopt/pull/229 ) )
146+
147+ ## Release Notes 25.05
148+
149+ ### New Features (25.05)
170150
171151- Added concurrent mode that runs PDLP and Dual Simplex together
172152- Added crossover from PDLP to Dual Simplex
173153- Added a C API for LP and MILP
174154- PDLP: Faster iterations and new more robust default PDLPSolverMode Stable2
175155- Added support for writing out mps file containing user problem. Useful for debugging
176156
177- Breaking Changes (25.05)
178- ------------------------
157+ ### Breaking Changes (25.05)
179158
180159- NoTermination is now a NumericalError
181160- Split cuOpt as libcuopt and cuopt wheel
182161
183- Improvements (25.05)
184- --------------------
162+ ### Improvements (25.05)
185163
186164- Hook up MILP Gap parameters and add info about number of nodes explored and simplex iterations
187165- FJ bug fixes, tests and improvements
@@ -194,8 +172,7 @@ Improvements (25.05)
194172- Logger file handling and bug fixes on MILP
195173- Add shellcheck to pre-commit and fix warnings
196174
197- Bug Fixes (25.05)
198- -----------------
175+ ### Bug Fixes (25.05)
199176
200177- In the solution, `` termination_status `` should be cast to correct enum.
201178- Fixed a bug using vehicle IDs in construct feasible solution algorithm.
@@ -218,6 +195,6 @@ Bug Fixes (25.05)
218195- Fix obj constant on max. Fix undefined memory access at root
219196- Allow long client version in service version check, this fixes the issue in case version is of the format 25.05.00.dev0
220197
221- Documentation (25.05)
222- ---------------------
223- - Restructure documementation to accomdate new APIs
198+ ### Documentation (25.05)
199+
200+ - Restructure documentation to accommodate new APIs
0 commit comments