Skip to content

Release 3.22

Compare
Choose a tag to compare
@PhilippWendler PhilippWendler released this 20 Jun 06:43
· 236 commits to main since this release
3.22

This will be the last release of BenchExec to support Python 3.7.
Future versions will require Python 3.8, and in 2025 we are planning to drop support for Python 3.8 and 3.9.
Please comment here if these plans would create problems for you.

BenchExec is now available as an official package in the NixOS distribution. Thank you @lorenzleutgeb!

  • BenchExec now handles new restrictions imposed by Ubuntu 24.04.
    Our Ubuntu package is recommended for installation because it automatically does everything for making BenchExec work out of the box. Users of other installation methods need to tweak their system config, and both our documentation and the error message of BenchExec now inform about what is necessary. Thank you @younghojan!
  • BenchExec is now easier to use on systems without systemd but with cgroups v2.
    This is a common situation in containers, and BenchExec will now automatically use the /benchexec cgroup if it exists and has no running processes. This makes it unnecessary to manually start BenchExec in a fresh cgroup, but the /benchexec cgroup still needs to be created upfront. We give examples how to do this in our documentation.
  • Several robustness improvements to BenchExec's container mode for non-standard environments.
    This covers for example containers with invalid cgroup mounts, systems with procfs mounts in several places, missing DBus, and Docker Desktop.
  • Several fixes and improvements for the HTML tables produced by table-generator.
    Thank you @EshaanAgg and @JawHawk!
    • Filters for text columns are now case insensitive.
    • Plots now have a reset button for clearing configuration changes.
    • Text filters now work even if special characters like _ or parentheses are used.
    • Changes to the plot configuration no longer break the application if it was opened from paths with spaces and other special characters.
    • The drop-down area for status filters now immediately shows the correct value when opening a table via a link with preconfigured filters.
    • The filter for the left-most column is now correctly usable again after a task-id filter in the filter sidebar was set and cleared.
  • Fix handling of tools that read from stdin when asked to print their version.
    In such a case, the tool (and thus BenchExec) would previously hang but now stdin of the tool is connected to /dev/null (just like during the actual execution) and the tool immediately gets EOF.
  • Improvements to our documentation.
    We now have a quickstart tutorial for runexec and a guide specifically for executing BenchExec in containers. Thank you @incaseoftrouble!
  • Improvements for several tool-info modules.
  • Integration of BenchExec and the cluster management tool SLURM.
    It is not officially part of BenchExec and we do not provide any guarantees related to it, but our repository now contains an
    integration of BenchExec and SLURM that users of SLURM might find helpful. Thank you @leventeBajczi! Further contributions in this area are also welcome.

We celebrate that this release sets a new record for contributions from non-maintainers and thank all contributors!