Published December 7, 2017 | Version 5.16.0
Software Open


  • 1. EMBL-EBI
  • 2. Heidelberg University
  • 3. Vrije Universiteit Amsterdam
  • 4. California Institute of Technology



5.16.0 (2017-12-07)







* Note


  The L3 Render Package has been approved by the SBML Editors, but

  approval came too late in the libSBML release cycle to include it

  in this stable release of libSBML.


  There are now two implementations of support for SBML Level 3

  Version 2 Core.  The libSBML code for L3V2 can now be considered

  stable and will only change for bug fixes.


* New features


  - The MATLAB interface now supports both the 'qual' and 'groups' 

    packages, in addition to 'fbc'. 


  - Unit checking has been expanded to include checking the <math>

    of <trigger>, <constraint> and <stoichiometryMath> to at least

    allow detection of values with undeclared units.


  - Writing out an XMLNode that represented XHTML with multiple

    nested text elements could distrupt indentation (see bug fixes).

    A new function XMLNode::writeToStream(XMLOutputStream&) checks

    the indentation is correctly recovered after writing out the


  - 'comp' package-specific updates:


    - There has been some improvements made to the reporting of line

      numbers for errors and warnings.


* Bug fixes


  - SF Tracker #450: Code validating the shadowing of localParameter

    was checking both 'id' and 'species' attributes. This rule should

    only check the species attribute.


  - SBML validation failed to distinguish between LocalParameters and

    Parameters in L3V1 when reporting errors. This is fixed.


  - libSBML had incorrectly reported that the 'fast' attribute was a

    required attribute of L3V2 <reaction> elements. This is fixed.


  - The libSBML C API does not work with default arguments. There were

    previously a few stray ones left in the API code. These have been



  - The SBMLTransforms::evaluateASTNode function previously failed to

    check that model values had been evaluated prior to trying to

    evaluate an ASTNode. The relevant function now checks whether the

    map of values is present and populates it, if necessary.


  - Code that checked the syntax for attributes of type ID and IDREF

    did not always use the appropriate function. These cases have been



  - The use of an invalid syntax as the sbml:units attribute on a math

    <cn> element was not being detected. This has been fixed. Thanks

    to Nicolas Rodriguez for the report.


  - The SBMLTransforms::evaluateASTNode function missed the fact that

    in SBML Level 2, stoichiometry defaulted to '1'. This has been



  - The use of certain combinations of text elements in a <notes> element

    could derail the entire indentation of the document. This has been

    reported by several people. Hopefully this time we have fixed the

    situation for all cases where it may occur. 


  - The interactive help text stored with the functions and classes in

    the Python bindings had many formatting problems and outright

    omissions due to bugs in our "" code. Many of

    these problems should be fixed now.


  - 'fbc' package-specific bug fixes:


    - Validation incorrectly reported an empty <listOfFluxObjectives>

      even when a model was being created and did in fact have a

      <fluxObjective> element. This has been fixed. Thanks to Arthur

      Goldberg for reporting it.


    - An empty <geneProductAssociation> caused the reading of model

      files to crash libSBML. This no longer happens.


  - 'layout' package-specific bug fixes:


    - Conversion between Level 2 annotations using both layout and render

      and Level 3 packages has been corrected.


  - 'qual' package-specific bug fixes:


     - Functions to get math on a <functionTerm> element were missing

       from the C API. They have been added.


* Configuration/build system changes


  - SourceForge Tracker item #447: Configuration no longer defines

    HAVE_IEEEFP_H when using MSVC compilers as it is not needed 

    and not always present. Thanks to Alan Garny for spotting this.


  - SourceForge Tracker item #443 & separate unreported problems:

    Build failures with Java 9 should be fixed now.  Thanks to Chris

    West for reporting the issue related to building the docs.


* Miscellaneous


  - SWIG only supports Javascript node 6x. Thus we cannot currently

    support later versions of node.


  - Documentation for the C API has been extensively improved.


  - Support has been added for Python 2 unicode input.


  - Currently we supply lib files built with MSVC2010 as part of the 

    windows installers. These will be removed from future releases. 

    Please let us know if this is an issue for you.





* New features


  - 'render' package-specific updates:


    - At the request of the SBMLEditors the attribute 'name' has been

      added to render elements.


 * Bug fixes


  - 'render' package-specific bug fixes:


    - Conversion between Level 2 annotations using both layout and

      render and Level 3 packages has been corrected.


  - 'spatial' package-specific bug fixes:


    - There was a mismatch in the SetOperation enumeration in the

      specification.  This has been agreed as 'union', 'intersection'

      and 'difference' and libSBML code has changed to reflect this.


    - Corrected the output of a <csGeometry> element to correctly use

      an upper case G.



Files (26.8 MB)

Name Size Download all
26.8 MB Preview Download