Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Please note that we implemented this version of the changelog as of version 1.4.0, so previous releases might be less documented.

[1.8.0]

Added

  • Synced the activity object to use python nomenclature: save_model_template(). #140
  • Allow for using ** as power operator in the model files. #91

Changed

  • Improved error messages: e.g. now returns the number of wrong states/differentials instead of a generic "type is incorrect" error. #40, #55, and #70
  • Removed addition of extra timepoints for augmentation when using cubic spline inputs. #115
  • Improved debug prints, hopefully a bit faster now.
  • Allow for passing list with single elements as input to constant activity outputs. #154
  • Fix a small bug leading to crashes if mixing true/false when adding outputs as features. #46

[1.7.1]

Added

  • Expanded test_distribution() to also simulating a model to further test the functionality.

[1.7.0]

Added

  • Allow for installing the models with the model defined in a string. #148
  • Add function to save a template file: save_model_template(). #15

Changed

  • Trying to uninstall a model that is not installed will now give a warning instead of an error. #142
  • Build the models in a temp folder rather than in the default 'build'. #149
  • Bumped the minimally supported version of python to 3.10 (due to the partial addition of type annotations).

[1.6.6]

Fixed

  • Fixed compartment models unable to take input from non-same-compartment models. #150

[1.6.5]

Fixed

  • Fixed an issue with f-strings preventing the toolbox to run on Python<3.12. Also fixed the tox tests that had not been running properly #147

[1.6.4]

Fixed

  • Fixed a bug where augment_time_vector would add activity points outside the original time vector range. #145

[1.6.3]

Fixed

  • Allow : in input names, to allow the use of input from models/activities with compartments. #72
  • Stop removing whitespace in the middle of lines (which might accidentally lead to incorrect variables being used, e.g: prevent k 2*A -> k2*A) #98
  • Fix missing mandatory inputs resulting in segfault instead of raising error. #146

[1.6.2]

Fixed

  • Improved the filtering when running with augment_time_vector=True to improve performance with very long original time_vectors. #144

[1.6.1]

Fixed

  • resolved setuptools build issues when using a flat structure (should never have had an impact).

[1.6.0]

Added

  • Added the possibility to provide additional information in the metadata and get it in the model docstring. #141
  • Allow for giving the time_unit with quotes/citations (including triple quotes) in addition to plain text (i.e. either 'h' or "h" in addition to plain h).

[1.5.4]

Fixed

  • Fixed a bug where incorrect default values was used when no input was given. #127

[1.5.3]

Fixed

  • Switch from using setuptools sandbox to build_ext. Closes #138

[1.5.2]

Fixed

  • Enable automatic augmentation of the timevector to capture timepoints of activity switches (can be turned off by passing augment_time_vector = False) #111
  • Setuptools 80.0 deprecated a function we used to build the models. Limited the maximal supported version of setuptools to <80.0. #138

[1.5.1]

Changed

  • Refactor the source code to prevent issues where folders could be accessed incorrectly. Now, only the files necessary for model compilation is included

[1.5.0]

Changed

  • Allow for using strings to denote the activity types

Deprecations

  • using sund.TYPE (e.g sund.PIECEWISE_CONSTANT) for activity type will be deprecated by the next major release

[1.4.1]

Fixed

  • Fixed a bug where accessing feature_data after a crash gives a segfault.

[1.4.0]

Changed

  • Update the build setup
  • Switch from using precompiled sundials library to compiling at installation.
  • Also switched from finding all .c/.h files to only specific files for sundials

Added

  • Add a simple script to test if the toolbox is properly installed: sund.test_distribution().
  • sundials is now linked as a git submodule for easier future update

Fixed

  • Fix incorrect reference to reset_simulation

[1.3.2] - 2025-02-10

Changed

  • Closes #96, #97, #99, #101, #103, #104, #105, #106, #107, #108, #109, #110, #112, and #114

[1.3.1] - 2024-11-25

Fixed

  • Add missing import of model structure

[1.3.0] - 2024-11-22

Fixed

  • Closes #38, #48, #63, #67, #69, #74, #75, #77, #78, #79, #90, #92, and #93

Changed

  • Updated the names of most function/arguments to adhear to snake_case naming format.
  • Updated the documentation to reflect the name changes.
  • Updated the license information (in the documentation).

deprecated

The following function will be deprecated with sund-2.0

[1.0.4]

Fixed

  • Fixed an issue where an empty folder was not available preventing installation (after cleaning out ignored files)

[1.0.3.1]

Fixed

  • Fixed a bug that caused running .featuredata_dict() multiple times in a row to crash.

[1.0.3]

Fixed

  • We now consider time to be a state as well when preparing the C-files to prevent issues in the model_initialconditions function.

[1.0.2]

Added

  • Added a new function to get the results, but formatted as a dictionary: `.featuredata_dict()

[1.0.1]

Fixed

  • Added numpy as a requirement for installing the package, which makes it possible to install sund directly in a requirements file to a fresh environment without installing numpy first.

[1.0.0]

The first version created by Gustav Magnusson in his master's thesis, with some minor changes by William, such as adding the documentation.