Skip to content
* project:
  * add [codecov.io](https://codecove.io) to produce coverage reports in travis
  * use Visual Studio 2019 image in appveyor
  * [boost/ut](https://github.com/boost-experimental/ut): use boost.UT v1.1.6
  * [fmtlib/fmt](https://fmt.dev/latest/index.html): bump to version v6.1.1

* optimizer:
  * use a evolutionary algorithm to init/reinit solver. In optimization mode, Baryonyx stores all solutions found during search. Two algorithms are used to initialize the X vector:
    * A crossover/mutation using two solutions is used to re-initialize the solver.
    * An improve mode using a dynamical kappa.
  * Quadratic objective function: Experimental support.
  * Z-coefficient: Enable the Z-coefficient solver.
  * random-solver: This solver is enabled with the `--random` command line option
  and in the `solver_parameters::solver_type`. It provides a pure random solver without any preference and Lagrangian relaxation. It is provided only for benchmark.
  * add Lagrangian multipliers sign change detection.

* c++:
  * solvers: replace `fill` and `copy` with `fill_n` and `copy_n` equivalent.
  * solvers: replace `std::vector<T>` with a new `bit_array` to improve cache  efficiency
  * main: fix signed/unsigned warning

* solver
  * negative coefficient solvers: fix R access
  * add pi signed change detection
  * improve efficiency of random-solver
  * add reset function to reinit solver
  * solver: move normalized cost in thread part

* optimizer:
  * replace time limit detection algorithm
  * add pi signed change detection to build a new constraint remaining list

* benchmark:
  * fix sort functor behaviour

* main:
  * fix time-limit parameter assignation
  * missing or malformed parameters equal error
  * fix infinity norm string
  * add a `--debug` mode.

* CMake:
  * reduce warning level for msvc
  * use the BUILD_SHARED_LIBS CMake option to build share library. Default, a
     static library is build to enable all internal test that use private API.