Ortools

Latest version: v9.12.4544

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 8

7.6

Dependency updates
* Abseil-cpp 8ba96a8 -> b832dce (LTS 20200225)

CP-SAT Update
* Improve cut management
* Add debugging tools
* Fix UNSAT bug in presolve (see 1908)

Bug fixes
* Fix swigwin.exe url
* Fix swig typemap management for Java and .Net

7.5

Platform updates
* Added support for Python 3.8 (1719)
* Dropped support compilation from sources on Visual Studio 2017 (https://github.com/google/or-tools/issues/1852).
* Updated support from Centos 7 to Centos 8 (https://github.com/google/or-tools/issues/1827)

Dependency updates
* Protobuf 3.10.0 -> 3.11.2 (1829)

Bug fixes
The following and performances improvements (for a complete list see [Milestone v7.5](https://github.com/google/or-tools/milestone/10))

In particular:
* Fixed Assembly loading see https://github.com/google/or-tools/issues/1421#issuecomment-555225815
* Exposed the GetStartIndex and GetEndIndex methods of RouteIndexManager (1843)
* Fixed SWIG to remove broken methods (1838, 1276).

7.4

Abandoned platforms

As announced in the previous release, Python 2.7 has been officially abandoned.

Dependency updates

- Protobuf 3.9.0 -> 3.10.0

New features

- **CP-SAT**: The solver now checks for constraints that do not support enforcement literals (they are the Boolean literals passed to OnlyEnforceIf() methods). The model checker will return an error before solving if such a constraint has an enforcement literal.

- **Linear Solver**: The linear solver wrapper now supports XPressMP. You will need to recompile from source to use it.

- **Dotnet**: The architecture of the nuget package has been completely rewritten. In particular, it should support dotnet framework >= 4.5.2 on windows platforms.

Performance improvements

This release features significant code and performance improvements on the GLOP simplex, the Routing library, and the CP-SAT solver.

7.3

Deprecation of Python 2.7
Important Notice Python 2.7 will be obsolete by the end of 2019. This is likely the last release to support Python 2.7.

Dependencies updates
- Protobuf 3.8.0 -> 3.9.0

Bugfixes and Performance Improvements
The usual bunch of fixes and performances improvements (See https://github.com/google/or-tools/projects/6)

In particular:
- https://github.com/google/or-tools/issues/1448
- https://groups.google.com/forum/?hl=kn#!topic/or-tools-discuss/nplMSi-w8aI

7.2

Deprecation of Python 2.7
- **Important Notice** Python 2.7 will be obsolete by the end of 2019. There will be at most one more release supporting python 2.7.

Platform changes
- Ubuntu 18.10 -> Ubuntu 19.04
- Support compilation from sources on Visual Studio 2019
- Dropped support for python 3.5 on Windows.

Dependencies updates

- CBC 2.10.1 -> 2.10.3
- Protobuf 3.7.1 -> 3.8.0

CP-SAT

- Multiple improvements focusing on the search, the implementation of the parallelism, and the connection to the linear relaxation
- Added `LinearExpr.Sum()` and `LinearExpr.ScalProd()` APIs in python
- Deprecate `IntVar[].Sum()` and `IntVar[].ScalProd()` APIs in C
- C++: remove `SolveWithModel` as it was a duplicate of `SolveCpModel()`
- add `CpModel.addGreaterThan` and `CpModel.addLessThan` methods to the Java API

Linear Solver:

- Add `MPSolver.SetHint()` in non C++ languages (Supported by SCIP, Gurobi)
- Add `MPSolver.SetNumThreads()` for non C++ languages (supported by CBC, Gurobi, SCIP)
- Rewrite support for scip 6.0.1

Reference manuals

See http://google.github.io/or-tools/

- We have added doxygen and pdoc3 based reference manuals for all languages and all tools (algorithms, routing, graph, linear_solver, and CP-SAT).
- Documentation is complete for C++ (all products) and CP-SAT (C++, Python, Java).
- We are in the process of exporting all C++ documentation to Python and Java.
- .NET documentation is lacking, and we have no solution in the foreseeable future to improve this. We have kept it as it still shows the available API.
- Some non C++ APIs show the link to SWIG through the use of SWIGTYPE_* object in the signatures. We will eliminate all these in the future. Please consider that these methods are not usable.

7.1

Updates to required dependencies
* Glog 0.3.5 -> 0.4.0
* Protobuf 3.6.1 -> 3.7.1
* Cbc 2.9.9 -> 2.10.1
* Cgl 0.59.10 -> 0.60.1
* Clp 1.16.11 -> 1.77.1
* Osi 0.107.9 -> 0.108.1
* Coinutils 2.10.14 -> 2.11.1

CP-SAT
* Breaking change in the CP-SAT API in Python, Java and .Net.
see doc [here](https://github.com/google/or-tools/blob/master/ortools/sat/doc/integer_arithmetic.md#non-contiguous-domain)
* Searching for all solution in a satisfiability problem now returns `OPTIMAL` when search is finished.
* The C++ `CpModel Solve()` method and its variations now take a `CpModelProto` as input. It is created using the `CpModel.Build()` method. So the right call is `CpSolverResponse r = Solve(cp_model.Build());`

Linear solver
* Known bug: the ExportModelAsLpFormat and ExportModelAsMpsFormat methods have been accidentally removed in the Python linear solver module.
Added Support
* Fix SWIG 4.0 compatibility.

Page 4 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.