Appendix C: Changelog
This is a list of changes made to Simframe since version v1.0.1.
v1.0.6
Release date: 27th April 2026
Adding signal handler
Running Simframe Simulations can now be termianted by creating a STOP file in the data directory. Dump and output files will be written in this case. Additionally, the creation of dump and output files can be triggered by creating DUMP and WRITE files in the data directory. The simulation does continue in this case. Furthermore, Simframe is now listening to SIGABRT signals to write dump and output files and to safely terminate a simulation. This can, for example, be
triggered via Slurm jobs close to the time limit to not lose simulation progress.
Returning object when creating Fields and Groups
Group.addfield and Group.addfield is now returning the created object for convenience.
Replacing itertools.cycle
itertools.cycle has been replaced with collections.deque to resolve compatibility issue with Python version 3.14 when pickling simulation objects for dump files.
Adding properties support
Simframe groups can now also hold properties which will then be handled the same way as other attributes.
Support for None values in HDF5 files
hdf5writer can now store pure None values in output files.None values in lists or tuples are still not supported at this moment.v1.0.5
Release date: 30th June 2024
Moving to Meson build system
Migrating to mesonpy as build system.
Iteration over group members
Functionality to iterate over the members of groups has been added.
Squeezing zero-dimensional Fields
When initializing field with scalar values, zero-dimensional arrays, or one-dimensional arrays of size one, the field will now be squeezed to shape (), since the previous behavior was inconsistent in these cases.
Allowing for Path objects
The datadir attribute of the Writer class can now also take pathlib.Path objects in addition to strings.
Range of snapshots
The snapshots attribute of the Integrationvariable class now also needs to contain the values of the initial conditions. Previously simframe was automatically writing the initial conditions if the integration variable was below the lower bound of the snapshots array. This was ambiguous if the simulation was interupted and restarted before it reached the first desired snapshot.
v1.0.4
Release date: 21st July 2023
Fixing recursion error when writing data files
A problem has been fixed that could have caused recursion error in some cases when writing data files.
Printing information about updaters
Functionality has been added to print information about linked updater functions and source code (if Python).
v1.0.3
Release date: 17th June 2023
Adding __reduce__() method to fields
A proper __reduce__() method was added to the Field class to properly read and write dump files with dill.
v1.0.2
Release date: 29th March 2022
Adding memory inspection of group
A function was added to display the memory usage of groups in bytes.
sim.memory_usage(print_output=True, skip_hidden=True)
v1.0.1
Release date: 24th December 2021