Platforms
* Drop Fedora [33,36] ([EOL](https://endoflife.date/fedora)).
* Drop Centos 8.
* Drop Debian 10.
* Drop Ubuntu 18.04 LTS.
* Drop Python 3.7 support ([EOL](https://devguide.python.org/versions/)).
* Disable .Net Core 3.1 ([EOL](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core))
Dependencies
* ZLIB `1.2.13`.
* abseil-cpp `20230125.3`.
* Protobuf `v21.12` -> `v23.3`.
* re2 `2023-07-01`.
* googletest `v1.13.0`.
* Java JNA `5.12.1` -> `5.13.0`.
Bazel
* Require Bazel 6+.
* Update rules, fix build.
* rules_jvm_external: `4.5` -> `5.2`
* contrib_rules_jvm: `0.9.0` -> `0.9.0`
* rules_python: `0.20.0` -> `0.23.1`
Graphs
* Deep Rework.
Model Builder python
* Allow use of Pandas dataframes and series to create variables.
- see [assignment](https://github.com/google/or-tools/blob/main/ortools/linear_solver/samples/assignment_mb.py)
- see [bin_packing](https://github.com/google/or-tools/blob/main/ortools/linear_solver/samples/bin_packing_mb.py)
* Complete typing information
PDLP
* various update.
CP-SAT
* Performance improvements. (feasibility_jump, lin_max)
* Improve cut management
* New `objective_shaving_search` worker dedicated to improving the lower bound of the objective (when minimizing)
* Typing annotations for the python cp_model.py
* Experimental partial support for pandas in cp_model.py
- see [assignment](https://github.com/google/or-tools/blob/main/ortools/sat/samples/assignment_sat.py)
- see [bin_packing](https://github.com/google/or-tools/blob/main/ortools/sat/samples/bin_packing_sat.py)
* Experimental local search violation based workers:
- enabled with parameters: num_violation_ls:xxx
- optimized for linear model (linear, bool_or, bool_and, at_most_one, exactly_one)
- works correctly with lin_max, product, division
- supports no_overlap, cumulative, circuit, routes
- disabled with no_overlap_2d
- recommended number of ls workers: num_workers -> num_violation_ls (8, 1), (16, 2) (24, 3), (32, 4)
What's Changed
* Ignore the close error when reading fails in file.cc by ciarand in https://github.com/google/or-tools/pull/3717
* Fix reference to solve_wrapper in Solve method by djsilcock in https://github.com/google/or-tools/pull/3719
* ensure absolute native library path in Java Loader by afloren in https://github.com/google/or-tools/pull/3728
* Allow last_variable_index_ to be zero by rajgoel in https://github.com/google/or-tools/pull/3758
* Xpress fixes by djunglas in https://github.com/google/or-tools/pull/3576
* Update cplex_interface.cc by Robot-1x in https://github.com/google/or-tools/pull/3764 https://github.com/google/or-tools/pull/3766
* feat(python): unignore Solver::TopProgressPercent and SearchMonitor::… by bertuccellimatteo in https://github.com/google/or-tools/pull/3831
* Evaluate LinearExp for the found solution by koen-lee in https://github.com/google/or-tools/pull/3837
* Fix CMake build in `test` subdirectories by lnikkila in https://github.com/google/or-tools/pull/3845
* Python CP-SAT type hints by stradivari96 in https://github.com/google/or-tools/pull/3668
* Fix RUNPATHs for libraries and executables by StefanBruens in https://github.com/google/or-tools/pull/3383
New Contributors
* ciarand made their first contribution in https://github.com/google/or-tools/pull/3717
* djsilcock made their first contribution in https://github.com/google/or-tools/pull/3719
* afloren made their first contribution in https://github.com/google/or-tools/pull/3728
* rajgoel made their first contribution in https://github.com/google/or-tools/pull/3758
* djunglas made their first contribution in https://github.com/google/or-tools/pull/3576
* Robot-1x made their first contribution in https://github.com/google/or-tools/pull/3764
* bertuccellimatteo made their first contribution in https://github.com/google/or-tools/pull/3831
**Full Changelog**: https://github.com/google/or-tools/compare/v9.6...v9.7