Loading CMakeLists.txt +13 −11 Original line number Diff line number Diff line Loading @@ -172,12 +172,6 @@ include(CPack) # Here we have the main configuration options for libsbml. # option(LIBSBML_USE_LEGACY_MATH "Use libSBML's legacy math implementation of ASTs, instead of the one introduced in libSBML 5.10 for better support of SBML Level 3 packages." OFF) mark_as_advanced(LIBSBML_USE_LEGACY_MATH) # Build static / shared library # option(BUILD_SHARED_LIBS "Build shared library. (Set to OFF to build static libraries.)" OFF) Loading Loading @@ -331,6 +325,10 @@ if("${LIBSBML_DEPENDENCY_DIR}" STREQUAL "") (Particularly important on Windows.)" FORCE) endif() if (WITH_PYTHON) # add option to enable Python API2 (with warnings) option(PYTHON_USE_API2_WARNINGS "Enable the new Python API2 with warnings." OFF) endif (WITH_PYTHON) ############################################################################### # Loading Loading @@ -1048,6 +1046,10 @@ else(UNIX) endif(${flag_var} MATCHES "/Zi") endforeach(flag_var) # add /bigobj to allow debug builds to work with swig and packages ADD_DEFINITIONS(/bigobj) SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /bigobj") endif() file(GLOB WIN32_BINARIES ${LIBSBML_DEPENDENCY_DIR}/bin/*.dll) Loading Loading @@ -1372,11 +1374,11 @@ else() endif() message(STATUS "") if(LIBSBML_USE_LEGACY_MATH) message(STATUS " Use Legacy Math = yes") else() message(STATUS " Use Legacy Math = no") endif() if(PYTHON_USE_API2_WARNINGS) message(STATUS "") message(STATUS " Using Python API2 warnings = yes") endif(PYTHON_USE_API2_WARNINGS) if (LIBSBML_PACKAGE_SUMMARY) message(STATUS "") Loading LICENSE.html +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ The majority of libSBML is copyrighted as follows: <ul> <li> Copyright © 2013-2017 jointly by the following organizations:<br> <li> Copyright © 2013-2018 jointly by the following organizations:<br> 1. California Institute of Technology, Pasadena, CA, USA<br> 2. EMBL European Bioinformatics Institute (EBML-EBI), Hinxton, UK<br> 3. University of Heidelberg, Heidelberg, Germany<br> Loading LICENSE.txt +1 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ The majority of libSBML is copyrighted as follows: * Copyright (C) 2013-2017 jointly by the following organizations: * Copyright (C) 2013-2018 jointly by the following organizations: 1. California Institute of Technology, Pasadena, CA, USA 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 3. University of Heidelberg, Heidelberg, Germany Loading Makefile.in +20 −0 Original line number Diff line number Diff line Loading @@ -297,6 +297,7 @@ examples = \ examples/python/inlineInitialAssignments.py \ examples/python/replaceOneFD.py \ examples/python/evaluateCustomMath.py \ examples/python/inlineFunctionDefinitions.py \ examples/php/createExampleSBML.php \ examples/php/echoSBML.php \ examples/php/validateSBML.php \ Loading Loading @@ -396,20 +397,26 @@ rbindings = \ src/bindings/r/NAMESPACE \ src/bindings/r/libsbml.i \ src/bindings/r/local-downcast-extension-layout.cpp \ src/bindings/r/local-downcast-extension-l3v2extendedmath.cpp \ src/bindings/r/local-downcast-astplugins-l3v2extendedmath.cpp \ src/bindings/r/local-downcast-astplugins.cpp.in \ src/bindings/r/local-downcast-extension.cpp.in \ src/bindings/r/local-downcast-namespaces-layout.cpp \ src/bindings/r/local-downcast-namespaces-l3v2extendedmath.cpp \ src/bindings/r/local-downcast-namespaces.cpp.in \ src/bindings/r/local-downcast-packages-layout.cpp \ src/bindings/r/local-downcast-packages-l3v2extendedmath.cpp \ src/bindings/r/local-downcast-converters.cpp.in \ src/bindings/r/local-downcast-converters-layout.cpp \ src/bindings/r/local-downcast-plugins-layout.cpp \ src/bindings/r/local-downcast-plugins-l3v2extendedmath.cpp \ src/bindings/r/local-downcast-plugins.cpp.in \ src/bindings/r/local-downcast.cpp.in \ src/bindings/r/create-r-package.cmake \ src/bindings/r/cmake-r-install.cmake.in \ src/bindings/r/libsbml_rtype.swg \ src/bindings/r/local-layout.i \ src/bindings/r/local-l3v2extendedmath.i \ src/bindings/r/local-packages.i.in \ src/bindings/r/local.cpp \ src/bindings/r/local.i \ Loading @@ -424,19 +431,25 @@ jsbindings = \ src/bindings/javascript/compile-native-files.cmake \ src/bindings/javascript/libsbml.i \ src/bindings/javascript/local.cpp \ src/bindings/javascript/local-downcast-astplugins-l3v2extendedmath.cpp \ src/bindings/javascript/local-downcast-astplugins.cpp.in \ src/bindings/javascript/local-downcast-converters.cpp.in \ src/bindings/javascript/local-downcast-converters-layout.cpp \ src/bindings/javascript/local-downcast.cpp.in \ src/bindings/javascript/local-downcast-extension.cpp.in \ src/bindings/javascript/local-downcast-extension-layout.cpp \ src/bindings/javascript/local-downcast-extension-l3v2extendedmath.cpp \ src/bindings/javascript/local-downcast-namespaces.cpp.in \ src/bindings/javascript/local-downcast-namespaces-layout.cpp \ src/bindings/javascript/local-downcast-namespaces-l3v2extendedmath.cpp \ src/bindings/javascript/local-downcast-packages-layout.cpp \ src/bindings/javascript/local-downcast-packages-l3v2extendedmath.cpp \ src/bindings/javascript/local-downcast-plugins.cpp.in \ src/bindings/javascript/local-downcast-plugins-layout.cpp \ src/bindings/javascript/local-downcast-plugins-l3v2extendedmath.cpp \ src/bindings/javascript/local.i \ src/bindings/javascript/local-layout.i \ src/bindings/javascript/local-l3v2extendedmath.i \ src/bindings/javascript/local-packages.i.in \ Loading @@ -448,16 +461,22 @@ phpbindings = \ src/bindings/php/libsbml.i \ src/bindings/php/local-downcast-converters-layout.cpp \ src/bindings/php/local-downcast-astplugins.cpp.in \ src/bindings/php/local-downcast-astplugins-l3v2extendedmath.cpp \ src/bindings/php/local-downcast-converters.cpp.in \ src/bindings/php/local-downcast-extension-layout.cpp \ src/bindings/php/local-downcast-extension-l3v2extendedmath.cpp \ src/bindings/php/local-downcast-extension.cpp.in \ src/bindings/php/local-downcast-namespaces-layout.cpp \ src/bindings/php/local-downcast-namespaces-l3v2extendedmath.cpp \ src/bindings/php/local-downcast-namespaces.cpp.in \ src/bindings/php/local-downcast-packages-layout.cpp \ src/bindings/php/local-downcast-packages-l3v2extendedmath.cpp \ src/bindings/php/local-downcast-plugins-layout.cpp \ src/bindings/php/local-downcast-plugins-l3v2extendedmath.cpp \ src/bindings/php/local-downcast-plugins.cpp.in \ src/bindings/php/local-downcast.cpp.in \ src/bindings/php/local-layout.i \ src/bindings/php/local-l3v2extendedmath.i \ src/bindings/php/local-packages.i.in \ src/bindings/php/local.cpp \ src/bindings/php/local.i \ Loading Loading @@ -547,6 +566,7 @@ distfiles = \ CMakeLists.txt \ common.cmake \ layout-package.cmake \ l3v2extendedmath-package.cmake \ $(examples) \ $(jsbindings) \ $(rbindings) \ Loading NEWS.txt +150 −28 Original line number Diff line number Diff line libSBML NEWS -- History of user-visible changes libSBML NEWS -- History of user-visible changes ==================================================================== 5.17.0 (2018-05-09) 5.17.2-experimental (2018-12-06) ==================================================================== *** Experimental only release *** This is an experimental only release, that is, a release of those files provided in the experimental folder of a full release. This includes updates to all the SBML L3 packages that are not yet accepted and undergoing development. NOTE: An experimental release is not as rigorously tested as a full release. Any changes/fixes listed as either referring to stable or experimental code may change before the next full release. STABLE RELEASE * Render * New features - The first official version of the specification of the Render package is now available, and thus the libSBML code for 'render' is now included in the stable release of libSBML. This means that all prebuilt binaries for the stable release will include the 'render' package code. The src archive containing libSBML core code will continue to be available, with additional src archives available in the stable branch: one containing libSBML core plus all stable packages and additional archives of the individual package code. - The math code has been refactored to use the more efficient math-legacy code in combination with a math plugin system. This code has been optimized and we welcome feedback on any performance issues. This means there is no longer a math-legacy build option. - The new math constructs introduced in SBML L3V2 have been refactored as a math extension; which facilitates the use of these math functions in an SBML L3V1 document. - 'comp' package-specific updates: - The 'comp' specification states that an external model must be an L3V1 document. Since this specification predates SBML L3V2 we have relaxed the restriction to allow an L3V2 model using Model Composition to use an L3V2 external model. - The converter that 'flattens' a comp model has been optimized for speed with significant improvement for larger models. - Python interface specific updates: - In libSBML the set/add/unset methods return a code to indicate success or failure of the operation. The Python interface has been improved to produce a warning when a function fails. This behaviour can be enabled by setting a CMAKE configure option or an environment variable. - Sourceforge Tracker item #456: The Python interface has been changed to return an empty List of CVTerms rather than a None object. - Users have raised issued about Model objects retrieved from within an SBMLDocument object going out of scope when the document object is removed from scope. We have adjusted the code to allow a Model to remain in scope without it's parent document. Feedback would be apprceiated about whether this is sufficient or whether all child objects should be available regardless of whether their parent is still available. - Sourceforge Tracker item #468: Functions deprecated in Python 3.6 have been replaced to avoid deprecation warning messages. * Bug fixes - The function SBMLTypeCode_toString was not retuning the correct string for a ListOf element originating in a package. This has been corrected. - Using an SBML L3 package in an L2 document could cause a crash. This has been fixed. Thanks to Thomas Hamm for reporting it. - The code that checked for use of an L3V2 package with an L3V1 document could cause a crash. This has been fixed. - Writing out a document without a model and no level and version was using level = version = 0; which is not valid. This has been changed to write a L3V2 document with no model. - There was an issue with newer architectures when casting a NaN to an integer - this has been now been avoided. - MATLAB interface specific bug fixes: - The matlab binding was failing to distinguish between a functionDefinition where the id ended with a logical operator, e.g. 'myor' and the actual logical function. This has been corrected. - 'comp' package-specific bug fixes: - There was an issue with flattening 'comp' models using conversion factors. This has been tracked down and fixed. Thanks to Matthias Konig for reporting it and providing examples. - 'render' package-specific bug fixes: - Historical render code did not create a NULL BoundingBox. Current code has been brought in line with this. * Configuration/build system changes - Python 3.7 is now supported and included in the builds. - The USE_LEGACY_MATH option has been removed as code has been reverted to use this math implementation (see above). EXPERIMENTAL RELEASE * New features - 'distrib' package-specific updates: - The distrib package code has been updated to include the use of csymbols to reference distributions. This is in line with the latest distrib specification. ==================================================================== 5.17.0 (2018-05-21) ==================================================================== STABLE RELEASE * Addition of support for the SBML Render package - Now that the first official version of the specification for the SBML Level 3 Rendering package is available, the libSBML API for 'render' is now included in the stable release of libSBML. This means that all prebuilt binaries for the stable release will include the 'render' package code. The src archive containing libSBML core code will continue to be available, with additional src archives available in the stable branch: one containing libSBML core plus all stable packages and additional archives of the individual package code. NOTE: The libSBML GNU make-based build system has not been updated for packages. Thus, to build from src, it is necessary to Loading @@ -25,25 +147,25 @@ STABLE RELEASE * New features - The libSBML-matlab interface function TranslateSBML has been - The MATLAB language interface function TranslateSBML has been optimized for speed. - The libSBML-matlab interface function OutputSBML can now be called with an output argument and no inputs to return information about the libSBML version and enabled packages used to build the - The MATLAB interface function OutputSBML can now be called with an output argument and no inputs; doing so will return information about the libSBML version and enabled packages used to build the binary files. - A new function getDefaultSBMLStruct has been added to the libSBML-matlab interface. This function takes a string name of the element with level and version information and returns the relevant MATLAB-SBML structure for the element. Many thanks go to Thomas Pfau for supplying this function. - A new function getDefaultSBMLStruct has been added to the MATLAB interface. This function takes a string name of the element with level and version information and returns the relevant MATLAB-SBML structure for the element. Many thanks go to Thomas Pfau for supplying this function. - On occasion the functions 'getDerivedUnitDefinition' that return calculated units were reporting incorrect units without flagging any issues. This has been made less ambiguous and a derived UnitDefinition will not contain any units if it cannot be correctly determined. - On occasion, the function getDerivedUnitDefinition that returns calculated units would report incorrect units without flagging any issues. This has been made less ambiguous and a derived UnitDefinition will not contain any units if it cannot be correctly determined. - Unit validation has been optimized and significantly speeded up for larger models. Loading Loading @@ -71,8 +193,8 @@ STABLE RELEASE * Bug fixes - SourceForge Tracker item #459: An error in the function that converts libsbml-infix to matlab infix was failing when log functions were failing. This is fixed. Thanks to Sven Thiele converts libSBML infix notation to MATLAB infix notation failed when log functions failed. This is fixed. Thanks to Sven Thiele for reporting the issue. - The validation check for duplicate values of the 'metaid' Loading Loading
CMakeLists.txt +13 −11 Original line number Diff line number Diff line Loading @@ -172,12 +172,6 @@ include(CPack) # Here we have the main configuration options for libsbml. # option(LIBSBML_USE_LEGACY_MATH "Use libSBML's legacy math implementation of ASTs, instead of the one introduced in libSBML 5.10 for better support of SBML Level 3 packages." OFF) mark_as_advanced(LIBSBML_USE_LEGACY_MATH) # Build static / shared library # option(BUILD_SHARED_LIBS "Build shared library. (Set to OFF to build static libraries.)" OFF) Loading Loading @@ -331,6 +325,10 @@ if("${LIBSBML_DEPENDENCY_DIR}" STREQUAL "") (Particularly important on Windows.)" FORCE) endif() if (WITH_PYTHON) # add option to enable Python API2 (with warnings) option(PYTHON_USE_API2_WARNINGS "Enable the new Python API2 with warnings." OFF) endif (WITH_PYTHON) ############################################################################### # Loading Loading @@ -1048,6 +1046,10 @@ else(UNIX) endif(${flag_var} MATCHES "/Zi") endforeach(flag_var) # add /bigobj to allow debug builds to work with swig and packages ADD_DEFINITIONS(/bigobj) SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /bigobj") endif() file(GLOB WIN32_BINARIES ${LIBSBML_DEPENDENCY_DIR}/bin/*.dll) Loading Loading @@ -1372,11 +1374,11 @@ else() endif() message(STATUS "") if(LIBSBML_USE_LEGACY_MATH) message(STATUS " Use Legacy Math = yes") else() message(STATUS " Use Legacy Math = no") endif() if(PYTHON_USE_API2_WARNINGS) message(STATUS "") message(STATUS " Using Python API2 warnings = yes") endif(PYTHON_USE_API2_WARNINGS) if (LIBSBML_PACKAGE_SUMMARY) message(STATUS "") Loading
LICENSE.html +1 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ The majority of libSBML is copyrighted as follows: <ul> <li> Copyright © 2013-2017 jointly by the following organizations:<br> <li> Copyright © 2013-2018 jointly by the following organizations:<br> 1. California Institute of Technology, Pasadena, CA, USA<br> 2. EMBL European Bioinformatics Institute (EBML-EBI), Hinxton, UK<br> 3. University of Heidelberg, Heidelberg, Germany<br> Loading
LICENSE.txt +1 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ The majority of libSBML is copyrighted as follows: * Copyright (C) 2013-2017 jointly by the following organizations: * Copyright (C) 2013-2018 jointly by the following organizations: 1. California Institute of Technology, Pasadena, CA, USA 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 3. University of Heidelberg, Heidelberg, Germany Loading
Makefile.in +20 −0 Original line number Diff line number Diff line Loading @@ -297,6 +297,7 @@ examples = \ examples/python/inlineInitialAssignments.py \ examples/python/replaceOneFD.py \ examples/python/evaluateCustomMath.py \ examples/python/inlineFunctionDefinitions.py \ examples/php/createExampleSBML.php \ examples/php/echoSBML.php \ examples/php/validateSBML.php \ Loading Loading @@ -396,20 +397,26 @@ rbindings = \ src/bindings/r/NAMESPACE \ src/bindings/r/libsbml.i \ src/bindings/r/local-downcast-extension-layout.cpp \ src/bindings/r/local-downcast-extension-l3v2extendedmath.cpp \ src/bindings/r/local-downcast-astplugins-l3v2extendedmath.cpp \ src/bindings/r/local-downcast-astplugins.cpp.in \ src/bindings/r/local-downcast-extension.cpp.in \ src/bindings/r/local-downcast-namespaces-layout.cpp \ src/bindings/r/local-downcast-namespaces-l3v2extendedmath.cpp \ src/bindings/r/local-downcast-namespaces.cpp.in \ src/bindings/r/local-downcast-packages-layout.cpp \ src/bindings/r/local-downcast-packages-l3v2extendedmath.cpp \ src/bindings/r/local-downcast-converters.cpp.in \ src/bindings/r/local-downcast-converters-layout.cpp \ src/bindings/r/local-downcast-plugins-layout.cpp \ src/bindings/r/local-downcast-plugins-l3v2extendedmath.cpp \ src/bindings/r/local-downcast-plugins.cpp.in \ src/bindings/r/local-downcast.cpp.in \ src/bindings/r/create-r-package.cmake \ src/bindings/r/cmake-r-install.cmake.in \ src/bindings/r/libsbml_rtype.swg \ src/bindings/r/local-layout.i \ src/bindings/r/local-l3v2extendedmath.i \ src/bindings/r/local-packages.i.in \ src/bindings/r/local.cpp \ src/bindings/r/local.i \ Loading @@ -424,19 +431,25 @@ jsbindings = \ src/bindings/javascript/compile-native-files.cmake \ src/bindings/javascript/libsbml.i \ src/bindings/javascript/local.cpp \ src/bindings/javascript/local-downcast-astplugins-l3v2extendedmath.cpp \ src/bindings/javascript/local-downcast-astplugins.cpp.in \ src/bindings/javascript/local-downcast-converters.cpp.in \ src/bindings/javascript/local-downcast-converters-layout.cpp \ src/bindings/javascript/local-downcast.cpp.in \ src/bindings/javascript/local-downcast-extension.cpp.in \ src/bindings/javascript/local-downcast-extension-layout.cpp \ src/bindings/javascript/local-downcast-extension-l3v2extendedmath.cpp \ src/bindings/javascript/local-downcast-namespaces.cpp.in \ src/bindings/javascript/local-downcast-namespaces-layout.cpp \ src/bindings/javascript/local-downcast-namespaces-l3v2extendedmath.cpp \ src/bindings/javascript/local-downcast-packages-layout.cpp \ src/bindings/javascript/local-downcast-packages-l3v2extendedmath.cpp \ src/bindings/javascript/local-downcast-plugins.cpp.in \ src/bindings/javascript/local-downcast-plugins-layout.cpp \ src/bindings/javascript/local-downcast-plugins-l3v2extendedmath.cpp \ src/bindings/javascript/local.i \ src/bindings/javascript/local-layout.i \ src/bindings/javascript/local-l3v2extendedmath.i \ src/bindings/javascript/local-packages.i.in \ Loading @@ -448,16 +461,22 @@ phpbindings = \ src/bindings/php/libsbml.i \ src/bindings/php/local-downcast-converters-layout.cpp \ src/bindings/php/local-downcast-astplugins.cpp.in \ src/bindings/php/local-downcast-astplugins-l3v2extendedmath.cpp \ src/bindings/php/local-downcast-converters.cpp.in \ src/bindings/php/local-downcast-extension-layout.cpp \ src/bindings/php/local-downcast-extension-l3v2extendedmath.cpp \ src/bindings/php/local-downcast-extension.cpp.in \ src/bindings/php/local-downcast-namespaces-layout.cpp \ src/bindings/php/local-downcast-namespaces-l3v2extendedmath.cpp \ src/bindings/php/local-downcast-namespaces.cpp.in \ src/bindings/php/local-downcast-packages-layout.cpp \ src/bindings/php/local-downcast-packages-l3v2extendedmath.cpp \ src/bindings/php/local-downcast-plugins-layout.cpp \ src/bindings/php/local-downcast-plugins-l3v2extendedmath.cpp \ src/bindings/php/local-downcast-plugins.cpp.in \ src/bindings/php/local-downcast.cpp.in \ src/bindings/php/local-layout.i \ src/bindings/php/local-l3v2extendedmath.i \ src/bindings/php/local-packages.i.in \ src/bindings/php/local.cpp \ src/bindings/php/local.i \ Loading Loading @@ -547,6 +566,7 @@ distfiles = \ CMakeLists.txt \ common.cmake \ layout-package.cmake \ l3v2extendedmath-package.cmake \ $(examples) \ $(jsbindings) \ $(rbindings) \ Loading
NEWS.txt +150 −28 Original line number Diff line number Diff line libSBML NEWS -- History of user-visible changes libSBML NEWS -- History of user-visible changes ==================================================================== 5.17.0 (2018-05-09) 5.17.2-experimental (2018-12-06) ==================================================================== *** Experimental only release *** This is an experimental only release, that is, a release of those files provided in the experimental folder of a full release. This includes updates to all the SBML L3 packages that are not yet accepted and undergoing development. NOTE: An experimental release is not as rigorously tested as a full release. Any changes/fixes listed as either referring to stable or experimental code may change before the next full release. STABLE RELEASE * Render * New features - The first official version of the specification of the Render package is now available, and thus the libSBML code for 'render' is now included in the stable release of libSBML. This means that all prebuilt binaries for the stable release will include the 'render' package code. The src archive containing libSBML core code will continue to be available, with additional src archives available in the stable branch: one containing libSBML core plus all stable packages and additional archives of the individual package code. - The math code has been refactored to use the more efficient math-legacy code in combination with a math plugin system. This code has been optimized and we welcome feedback on any performance issues. This means there is no longer a math-legacy build option. - The new math constructs introduced in SBML L3V2 have been refactored as a math extension; which facilitates the use of these math functions in an SBML L3V1 document. - 'comp' package-specific updates: - The 'comp' specification states that an external model must be an L3V1 document. Since this specification predates SBML L3V2 we have relaxed the restriction to allow an L3V2 model using Model Composition to use an L3V2 external model. - The converter that 'flattens' a comp model has been optimized for speed with significant improvement for larger models. - Python interface specific updates: - In libSBML the set/add/unset methods return a code to indicate success or failure of the operation. The Python interface has been improved to produce a warning when a function fails. This behaviour can be enabled by setting a CMAKE configure option or an environment variable. - Sourceforge Tracker item #456: The Python interface has been changed to return an empty List of CVTerms rather than a None object. - Users have raised issued about Model objects retrieved from within an SBMLDocument object going out of scope when the document object is removed from scope. We have adjusted the code to allow a Model to remain in scope without it's parent document. Feedback would be apprceiated about whether this is sufficient or whether all child objects should be available regardless of whether their parent is still available. - Sourceforge Tracker item #468: Functions deprecated in Python 3.6 have been replaced to avoid deprecation warning messages. * Bug fixes - The function SBMLTypeCode_toString was not retuning the correct string for a ListOf element originating in a package. This has been corrected. - Using an SBML L3 package in an L2 document could cause a crash. This has been fixed. Thanks to Thomas Hamm for reporting it. - The code that checked for use of an L3V2 package with an L3V1 document could cause a crash. This has been fixed. - Writing out a document without a model and no level and version was using level = version = 0; which is not valid. This has been changed to write a L3V2 document with no model. - There was an issue with newer architectures when casting a NaN to an integer - this has been now been avoided. - MATLAB interface specific bug fixes: - The matlab binding was failing to distinguish between a functionDefinition where the id ended with a logical operator, e.g. 'myor' and the actual logical function. This has been corrected. - 'comp' package-specific bug fixes: - There was an issue with flattening 'comp' models using conversion factors. This has been tracked down and fixed. Thanks to Matthias Konig for reporting it and providing examples. - 'render' package-specific bug fixes: - Historical render code did not create a NULL BoundingBox. Current code has been brought in line with this. * Configuration/build system changes - Python 3.7 is now supported and included in the builds. - The USE_LEGACY_MATH option has been removed as code has been reverted to use this math implementation (see above). EXPERIMENTAL RELEASE * New features - 'distrib' package-specific updates: - The distrib package code has been updated to include the use of csymbols to reference distributions. This is in line with the latest distrib specification. ==================================================================== 5.17.0 (2018-05-21) ==================================================================== STABLE RELEASE * Addition of support for the SBML Render package - Now that the first official version of the specification for the SBML Level 3 Rendering package is available, the libSBML API for 'render' is now included in the stable release of libSBML. This means that all prebuilt binaries for the stable release will include the 'render' package code. The src archive containing libSBML core code will continue to be available, with additional src archives available in the stable branch: one containing libSBML core plus all stable packages and additional archives of the individual package code. NOTE: The libSBML GNU make-based build system has not been updated for packages. Thus, to build from src, it is necessary to Loading @@ -25,25 +147,25 @@ STABLE RELEASE * New features - The libSBML-matlab interface function TranslateSBML has been - The MATLAB language interface function TranslateSBML has been optimized for speed. - The libSBML-matlab interface function OutputSBML can now be called with an output argument and no inputs to return information about the libSBML version and enabled packages used to build the - The MATLAB interface function OutputSBML can now be called with an output argument and no inputs; doing so will return information about the libSBML version and enabled packages used to build the binary files. - A new function getDefaultSBMLStruct has been added to the libSBML-matlab interface. This function takes a string name of the element with level and version information and returns the relevant MATLAB-SBML structure for the element. Many thanks go to Thomas Pfau for supplying this function. - A new function getDefaultSBMLStruct has been added to the MATLAB interface. This function takes a string name of the element with level and version information and returns the relevant MATLAB-SBML structure for the element. Many thanks go to Thomas Pfau for supplying this function. - On occasion the functions 'getDerivedUnitDefinition' that return calculated units were reporting incorrect units without flagging any issues. This has been made less ambiguous and a derived UnitDefinition will not contain any units if it cannot be correctly determined. - On occasion, the function getDerivedUnitDefinition that returns calculated units would report incorrect units without flagging any issues. This has been made less ambiguous and a derived UnitDefinition will not contain any units if it cannot be correctly determined. - Unit validation has been optimized and significantly speeded up for larger models. Loading Loading @@ -71,8 +193,8 @@ STABLE RELEASE * Bug fixes - SourceForge Tracker item #459: An error in the function that converts libsbml-infix to matlab infix was failing when log functions were failing. This is fixed. Thanks to Sven Thiele converts libSBML infix notation to MATLAB infix notation failed when log functions failed. This is fixed. Thanks to Sven Thiele for reporting the issue. - The validation check for duplicate values of the 'metaid' Loading