Skip to content

Version 0.7.0 (18 February 2026)

Supported versions

  • The minimum officially supported version of Python is now 3.12. This is in line with the SPEC0 support window.

Breaking changes

  • Changed the point target interface openstb.simulator.plugin.abc.PointTargets to access the points in chunks. This allows for more flexibility in scheduling simulation tasks. Existing target plugins will need to be updated to use this new interface.

  • The existing point target plugins were changed to meet the new interface. For implementation reasons, the selected random positions for points will differ from previous versions even if the same seed is used (the statistical distribution of the positions remain the same, but the actual positions differ).

  • The Simulation plugin interface was renamed to Controller. This better reflects the purpose of the plugin, and removes the chance of confusion when referring to a simulation (was it the simulation, or the plugin controlling it).

  • Systems must now be specified with a System plugin. The prior behaviour of allowing either a System plugin to be given or the elements to be defined individually added unnecessary complexity to the implementation of a controller. The Generic plugin (registered as generic) can be used to collect the individual definitions.

  • The TravelTimeResult structure must now also specify the direction the sound was travelling when it reached a target, and the scattering direction as it echoed back towards the receiver. These are both given as unit vectors in global coordinates.

New features

  • Added a ChunkedRNG class to generate chunks of random numbers on demand. This allows repeated access to the same random numbers, suitable for use in plugins which needed repeated and random-order access such as targets.

  • Added an openstb-sim seed command to generate RNG seeds. This utilises NumPy's SeedSequence to find a suitable source of entropy to form the seeds.

  • Two commands were added to find available plugins. openstb-sim plugin list will list registered plugins, optionally filtering by type. openstb-sim plugin search will search the names and descriptions of registered plugins for a given keyword.

Improvements

  • The simple point controller was overhauled to use the new chunked interface to the targets. This lowers the memory usage of the controller process. Informal benchmarking suggests a small improvement in the runtime of simulations from this change.

  • Documentation about some of the plugin types has been expanded, though there is still a lot of other plugins not fully described in the documentation yet.