Skip to content

Commit

Permalink
Update changelog for 2.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
cyderize committed Nov 15, 2023
1 parent 71338ee commit 9825543
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 31 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.5.0)
# -- Project information and versioning.

project(libminizinc
VERSION 2.7.7
VERSION 2.8.0
LANGUAGES CXX C)

if(NOT BUILD_REF)
Expand Down
78 changes: 48 additions & 30 deletions changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,55 +4,65 @@ MiniZinc Change Log
For detailed bug reports consult the issue tracker at
https://github.com/MiniZinc/libminizinc/issues.

.. _unreleased:
.. _v2.8.0:

Changes:
^^^^^^^^
`Version 2.8.0 <https://github.com/MiniZinc/MiniZincIDE/releases/tag/2.8.0>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(released 16 November 2023)

Changes in interfaces to solvers:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- `OR-Tools <https://developers.google.com/optimization>`_ is now bundled with
the MiniZinc IDE on all platforms.
- HiGHS is now loaded as a dynamic plugin instead of statically linked, and
now supports outputting intermediate solutions for optimisation problems.
- Add support for producing a JSON-based version of FlatZinc as the output
format of the MiniZinc compiler.
- Replace ``supportsMzn``, ``supportsFzn`` and ``supportsNL`` solver
configuration flags with new option ``inputType``. The old flags are
still supported for backwards compatibility.
- Allow libraries to define how to iterate over ``var set of int`` using the
function ``set2iter``, useful for different set representations.
- Update the reflection functions ``ub``, ``lb``, and ``dom`` to return
- Add the ``opt`` variants of the ``global_cardinality`` functions, and add
enumerated type typesafety between the values of the decision variables and
the cover parameters.
- ``mzn_reverse_map_var`` is now only called on output variables that do not
yet have reverse mappers after initial flattening, but are required by the
output model.
- Use tuples to implement the decomposition of optional variables, avoiding
possible CSE aliasing problems.
- Improve error messaging for invalid parameter configuration (``.mpc``) files.
- CSE has been adjusted to handle commutative functions when annotated using
the ``promise_commutative`` annotation.
- Add *experimental* support for restart based meta-search specification for
the Gecode and Chuffed solvers, as first explored in `Solver-Independent
Large Neighbourhood Search <https://doi.org/10.1007/978-3-319-98334-9_6>`_
and `A Modern Architecture for Constraint Modelling Languages
<https://doi.org/10.26180/16968229.v1>`_.
- Add a list of messages generated by solution checkers to the ``checker``
message when using ``--json-stream``.
- Automatically detect current versions of CPLEX (:bugref:`745`).

Changes in the MiniZinc Library:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Add ``cumulatives`` scheduling global constraint.
- Add the ``opt`` variants of the ``global_cardinality`` functions, and add
enumerated type typesafety between the values of the decision variables and
the cover parameters.
- Add optional versions of ``count_*`` global constraints (:bugref:`728`).
- Load HiGHS as a dynamic plugin instead of statically linking it.
- Support output of intermediate solutions for HiGHS.
- Change the IDE visualisation function ``ide_launch_server()`` to take
structured types for user data. This is a breaking change for those who
have developed a custom visualisation using the experimental API.
- ``(strictly_)decreasing`` will now always be rewritten into
``(strictly_)increasing`` and has support for option types.
- Support output of command line argument parsing errors in ``--json-stream``
mode.
- Add ``cumulatives`` scheduling global constraint.
- Automatically detect current versions of CPLEX (:bugref:`745`).
- Add ``mzn_half_reify_clause`` compiler option to allow solvers to disable the
half reification of ``bool_clause`` constraints.
- Allow libraries to define how to iterate over ``var set of int`` using the
function ``set2iter``, useful for different set representations.
- Stabilise the IDE visualisation library, allowing all visualisation functions
to be used from ``output`` statements, and removing the need for manual calls
to ``showJSON`` in custom visualisations. This is a breaking change for users
of the previous experimental API.
- Add ``mzn_half_reify_clause`` compiler option to allow solvers to disable the
half reification of ``bool_clause`` constraints.
- Update the reflection functions ``ub``, ``lb``, and ``dom`` to return enum
values.
- Use tuples to implement the decomposition of optional variables, avoiding
possible CSE aliasing problems.

Changes in the compiler
^^^^^^^^^^^^^^^^^^^^^^^
- CSE has been adjusted to handle commutative functions when annotated using
the ``promise_commutative`` annotation.
- ``mzn_reverse_map_var`` is now only called on output variables that do not
yet have reverse mappers after initial flattening, but are required by the
output model.
- Improve error messaging for invalid parameter configuration (``.mpc``) files.
- Add a list of messages generated by solution checkers to the ``checker``
message when using ``--json-stream``.
- Support output of command line argument parsing errors in ``--json-stream``
mode.

Bug fixes:
^^^^^^^^^^
Expand Down Expand Up @@ -107,6 +117,14 @@ Bug fixes:
- Fix card function on set of floats and bools.
- Make set literals containing strings or annotations a type error.

Changes in the IDE:
^^^^^^^^^^^^^^^^^^^
- Fix unreadable cheat sheet font colour in dark mode (:idebugref:`191`).
- Add option to output objective value and enable by default.
- Show manually input parameters in output window.
- Fix missing checker messages (:idebugref:`192`).
- Fix incorrect OpenSSL version in Linux packages (:idebugref:`189`).

.. _v2.7.6:

`Version 2.7.6 <https://github.com/MiniZinc/MiniZincIDE/releases/tag/2.7.6>`__
Expand Down

0 comments on commit 9825543

Please sign in to comment.