[1.6.0] - 2024-03-26


  • support for using the DuneCopasi simulator with 3d models #937

  • 3d volume rendering for voxel visualization #926

  • visualization of 3d model geometry meshes #882

  • import of geometry image files by drag and drop onto the GUI #933

[1.5.0] - 2023-12-01


[1.4.0] - 2023-09-04


  • initial support for 3d spatial models #850

  • support for anisotropic voxels #879


  • disable OK button while selecting geometry image colours #878.

  • image arrays in sme (Python interface) now include a z dimension #850


  • lack of geometry image could cause a crash in some cases #872

[1.3.6] - 2023-05-23


  • support for importing RGBA TIFF image files #862

[1.3.5] - 2023-03-02


  • incorrect function evaluations in some cases #855, #856, #857

[1.3.4] - 2023-02-23


  • incorrect initial concentrations with DUNE simulator for some models #852

[1.3.3] - 2022-12-05


  • export format of Image Sampled Field from colors to indices #710 and #830.

[1.3.2] - 2022-10-13


  • support for importing Combine archives #828

[1.3.1] - 2022-08-10


  • offer to use alternative simulator if simulation setup fails #814


  • crash caused by analytic initial species concentrations involving dividing by zero #805

  • disappearing simulation progress bar dialog #752

[1.3.0] - 2022-06-10



  • GUI no longer writes logging output to console #771


  • analytic initial species concentrations were not updated when a parameter value was modified #776

[1.2.2] - 2022-04-28


  • support for reading compressed sampledFields #709


  • TBB is now used everywhere for multithreading (previously linux Python wheels used OpenMP) #732


  • improved multi-threading performance #742

  • spurious simulation times are no longer appended upon simulation #751

[1.2.1] - 2021-09-30


  • topology-preserving line simplification option #328

  • python interface: ctrl+c now cancels a currently running simulation #665


  • model reactions with invalid locations can now be seen and removed or relocated #615


  • functions with zero arguments are now fully supported #674

  • python interface: setting n_threads=1 for simulate takes precedence over n_threads value in model #672

  • bug where membrane reactions could disappear when geometry was changed #679

  • bug where removing a compartment could result in an invalid model or a crash #685

  • SBML export includes any ModifierSpecies in reactions #133


  • incomplete Parametric geometry sbml export support #599

[1.2.0] - 2021-09-13


  • non-spatial model guided import with automatic reaction rate rescaling #607

  • python interface: optional multithreading (via OpenMP) for Pixel simulations on linux #662


  • bug where loading a model with simulation data and changing model units could cause a crash #666

  • show warning message before dune simulation of model with non-spatial species #664

  • minimum supported version of MacOS is now 10.14 instead of 10.15 #669

[1.1.5] - 2021-09-01


  • python interface: access to all built-in example models #637

  • python interface: view and edit uniform/analytic/image species initial concentrations #644


  • compartment colour assignments are now preserved when the geometry image is resized #587


  • python interface: bug where compartment geometry mask was not updated after geometry image changed #630

  • slow loading of models with large geometry images #632

  • avoid constructing mesh twice on model load #597

  • crash when importing geometry image after importing non-spatial model #651

[1.1.4] - 2021-08-17


  • python interface: Model.simulation_results() provides access to existing model simulation data #622



  • bug where opening a corrupted sme file caused a crash #618

[1.1.3] - 2021-08-10


  • python interface: add option to simulate without returning the results to reduce RAM usage #610

  • more detailed error message when a model cannot be loaded #449


  • bug where invalid reaction rate expression caused simulation to crash #609

[1.1.2] - 2021-07-13


  • autocomplete when editing maths #559

  • support for all L3 sbml math in reaction rates (with Pixel simulator) #569

  • option to invert y-axis of images #568

  • option to set size of geometry image in third dimension #582

  • umol unit of amount added to built-in units #600


  • simulation length/intervals only loaded from model on ‘reset’ click or new model load #565

  • models exported as 3d SBML models (to be consistent with our 3d units for species concentrations and volumes) #588


  • bug when clicking on simulation results plot selected wrong timepoint #570

  • reaction rates involving species from unrelated compartments now displays an error, instead of only giving an error on simulation #552

  • simulation crash when species is changed to constant & simulation data are re-loaded #561

  • inaccuracy when re-starting a simulation that was stopped early #388

  • bug where compartment sizes were not updated when compartment image resolution was altered #583

  • bug where invalid mesh could cause a crash #585

  • bug where simulating after changing geometry image size could cause a crash #591

  • incorrect units used for compartment volumes when referenced in reaction rates #584

  • bug where membrane area could be incorrect on model load #595

[1.1.1] - 2021-05-30


  • COPASI cps file import support (if COPASI is installed and on path) #492

  • shift + mouse scroll to zoom in and out of images #532

  • support for spatial models with reactions whose compartment is not specified #481


  • mouse scroll no longer changes species stoichiometry in reactions #549

  • membrane reaction rates automatically rescaled by membrane area on non-spatial model import #557

  • reactions moved between compartments and membranes rescaled by ratio of area to volume #558


  • bug loading simulation settings depending on system locale setting #535

  • slow loading of simulation data #504

  • bug where simulation doesn’t run again after being stopped #545

  • bug where selected reaction sometimes changes when reaction location is changed #548

  • ensure species involved in a reaction are valid when reaction location is changed #551

  • bug where loading existing simulation uses initial concentrations instead of latest simulation concentrations #541

[1.1.0] - 2021-05-04


  • sme file format, contains model, simulation settings and simulation results #482

  • support multiple simulation lengths as comma delimited lists #464

  • support for simulating models with empty compartments with the Dune-Copasi simulator #435

  • option to resize the number of pixels in the geometry image #462

  • option to reduce the number of colours in the geometry image #280

  • support for non-integer stoichiometries in reactions #495

  • optional grid and scale to geometry image #497

  • python interface: DUNE simulator can now be used #276

  • python interface: existing simulations can be continued #514

  • zoom option to geometry image #516


  • use v1.1.0 of Dune-Copasi simulator


  • python interface: revert change in default simulate() behaviour when doing a second simulation of a model #475

  • multiple event related simulation bugs #484, #485, #486

  • incorrect compartment name displayed in simulate display options #487

  • simulation image intervals changing length of simulation #492

  • bug where removing compartment could cause a crash #506

  • artefacts in import of species concentrations into simulation #508

  • DUNE maximum iteraction count simulation error #490

[1.0.9] - 2021-04-06


  • open/save as .sme filetype: contains both the model and the simulation results #461

  • support for time-based events: parameters and species concentrations can be set at specified times in the simulation

  • diagnostic info & image when a simulation fails #432

  • zoom option for Boundary and Mesh images in the Geometry Tab

  • new option in Simulation Tab to export concentrations to model as initial concentrations


  • simulation is no longer reset when the Simulate tab is left in the GUI

  • simulations can be continued using a different simulator

  • use v1.0.0 of Dune-Copasi simulator

  • GUI warns before closing a model with unsaved changes #346

  • Membrane names can now be edited in the GUI and in the python interface


  • diffusion constant bug in the Pixel simulator #468

  • bug in dune-copasi mesh generation that could cause a crash #434

  • bug where unused diffusion constant parameter was sometimes not removed from sbml document

  • data race in generating simulation concentration images #434


  • incomplete Parametric geometry sbml import support #452

[1.0.8] - 2021-02-10


  • python library can now import a new geometry image using sme.Model.import_geometry_from_image()


  • mesh generation is now done using the CGAL library


  • dependence on Triangle mesh library removed due to its non-free license

[1.0.7] - 2021-02-07


  • illegal instruction crash on old CPUs #422

[1.0.6] - 2021-01-29


  • python library sme.Model.simulate:

    • simulation results now also contain rate of change of concentrations

    • option to return partial results instead of throwing on simulation timeout


  • more accurate initial concentration interpolation for dune-copasi simulations

    • applies to both GUI simulations and exported TIFF files for stand-alone dune-copasi simulation

  • improved performance of interior point determination in mesh construction


  • meshing bug where invalid 2-point boundary line could cause crash

[1.0.5] - 2021-01-02


  • user can edit dune-copasi Newton solver parameters

  • Pixel simulator supports reactions that explicitly depend on t, x, y


  • dune-copasi simulations now support membrane flux terms

    • rectangular membrane compartments no longer required

    • simpler mesh generation

    • faster and more accurate simulations

  • improved boundary construction

    • use pixel edges as boundary edges instead of pixels

    • shared boundaries and their end points now unambiguously determined

  • improved line simplification


  • bug in scaling of membrane reactions in Pixel simulations

    • added missing 1/a factor, where a is the width of a pixel in model units


  • inconsistent RateRule support in SBML import

[1.0.4] - 2020-10-22


  • simulation display options are now saved


  • python library API

    • lists now have name-based look-up, old name-based look-up functions removed

    • examples of old -> new change required in user code:

      • model.compartment("name") -> model.compartments["name"]

      • model.specie("name") -> model.species["name"]


  • species removal bug

[1.0.3] - 2020-10-19


  • python library example notebooks


  • python library performance improvements


  • python library segfault / missing data issue on some linux platforms

[1.0.2] - 2020-10-16


  • python library documentation and example notebooks

  • support for import of geometry image with alpha channel / transparency

  • display compartment size and membrane length


  • python library performance improvements


  • normalisation of simulation concentration images

  • geometry imported from another model not saved bug

  • python library segfault / missing data issue on linux

  • reaction removal bug

[1.0.1] - 2020-10-5


  • membranes to python library

  • compartment pixel mask to python library

  • timeout parameter to simulate function in python library

[1.0.0] - 2020-10-2

First official release.

Changelog format based on Keep a Changelog.