Released on December 20, 2019.
Highlights:
- Fast Downward no longer supports Python 2.7, which reaches its end
of support on January 1, 2020. The minimum supported Python version
is now 3.6.
- Fast Downward now supports the SoPlex LP solver.
Details:
- general: raise minimum supported Python version to 3.6
<http://issues.fast-downward.org/issue939>
Fast Downward now requires Python 3.6 or newer; support for Python 2.7 and
Python 3.2-3.5 has been dropped. The main reason for this change is Python 2
reaching its end of support on January 1, 2020. See
https://python3statement.org/ for more background.
- LP solver: add support for the solver [SoPlex](https://soplex.zib.de/)
<http://issues.fast-downward.org/issue752>
The relative performance of CPLEX and SoPlex depends on the domain and
configuration with each solver outperforming the other in some cases.
See the issue for a more detailed discussion of performance.
- LP solver: add support for version 12.9 of CPLEX
<http://issues.fast-downward.org/issue925>
Older versions are still supported but we recommend using 12.9.
In our experiments, we saw performance differences between version
12.8 and 12.9, as well as between using static and dynamic linking.
However, on average there was no significant advantage for any
configuration. See the issue for details.
- LP solver: update build instructions of the open solver interface
<http://issues.fast-downward.org/issue752>
<http://issues.fast-downward.org/issue925>
The way we recommend building OSI now links dynamically against the
solvers and uses zlib. If your existing OSI installation stops
working, try installing zlib (sudo apt install zlib1g-dev) or
re-install OSI (http://www.fast-downward.org/LPBuildInstructions).
- merge-and-shrink: remove trivial factors
<http://issues.fast-downward.org/issue914>
When the merge-and-shrink computation terminates with several factors
(due to using a time limit), only keep those factors that are
non-trivial, i.e., which have a non-goal state or which represent a
non-total function.
- tests: use pytest for running most tests
<http://issues.fast-downward.org/issue935>
<http://issues.fast-downward.org/issue936>
- tests: test Python code with all supported Python versions using tox
<http://issues.fast-downward.org/issue930>
- tests: adjust style of Python code as suggested by flake8 and add this style
check to the continuous integration test suite
<http://issues.fast-downward.org/issue929>
<http://issues.fast-downward.org/issue931>
<http://issues.fast-downward.org/issue934>
- scripts: move Stone Soup generator scripts to separate repository at
https://github.com/aibasel/stonesoup.
<http://issues.fast-downward.org/issue932>