- [Tracker issue #1820528]
The ASTNode class has as a user data field. This is a new member
variable of type void * which allows a user to add/retrieve their
own data. Thanks to Sebastian Bauer for contributing this code.
* Bug fixes:
- Conversion of an L2V4 model to an earlier version of SBML was
causing the code to crash if an invalid unit had been used within
the model. This has been fixed. Thanks to Norihiro Kikuchi for
- An object being read from a file/string was not correctly
recording the SBMLDocument and ParentSBMLObject information. This
is fixed. Thanks to Andreas Drager for reporting this.
- In a couple of cases the return type for the clone function in
the C API was still an SBase_t *, rather than a pointer to the
structure being cloned. These have been changed.
- The code that converted a string to an XMLNode uses a dummy node
as part of the process. This empty dummy node was left in the
resulting XMLNode which, whilst not invalid, meant manipulating
the XMLNode was not intuitive. The code has been changed to
remove the dummy node from the resulting XMLNode.
- A potential memory leaks present within the appendNotes function
have been identified and fixed.
- The documentation for Java lacked content for the 'libsbml' class
(which mostly consists of functions outside of C++ classes).
- [Tracker issue #2641323]
In certain cases validation was failing to report that a species
used in a kineticLaw had not been listed as a reactant/product/
modifier of the reaction. Thanks to Lukas Endler and Ralph Gauges
who independently reported this (on the same day!).
- [Tracker issue #2599679]
Python bindings didn't work with the latest SWIG 1.3.38 due to
incompatible changes in SWIG-generated Python proxy code (libsbml.py).
The problem has been fixed.