Commit 2b3044cb authored by Andreas Tille's avatar Andreas Tille
Browse files

New upstream version 5.16.0+dfsg

parent bdcca7a8
Loading
Loading
Loading
Loading
+111 −54
Original line number Diff line number Diff line
@@ -420,6 +420,31 @@ if(WITH_EXPAT)
        message(FATAL_ERROR
"The include directory specified for Expat appears to be invalid.
It should contain the file expat.h, but it does not.")
    else()
        if (LIBEXPAT_INCLUDE_DIR AND EXISTS "${LIBEXPAT_INCLUDE_DIR}/expat.h")
            file(STRINGS "${LIBEXPAT_INCLUDE_DIR}/expat.h" expat_version_str
                 REGEX "^#[\t ]*define[\t ]+XML_(MAJOR|MINOR|MICRO)_VERSION[\t ]+[0-9]+$")

            unset(EXPAT_VERSION_STRING)
            foreach(VPART MAJOR MINOR MICRO)
                foreach(VLINE ${expat_version_str})
                    if(VLINE MATCHES "^#[\t ]*define[\t ]+XML_${VPART}_VERSION[\t ]+([0-9]+)$")
                        set(EXPAT_VERSION_PART "${CMAKE_MATCH_1}")
                        if(EXPAT_VERSION_STRING)
                            set(EXPAT_VERSION_STRING "${EXPAT_VERSION_STRING}.${EXPAT_VERSION_PART}")
                        else()
                            set(EXPAT_VERSION_STRING "${EXPAT_VERSION_PART}")
                        endif()
                    endif()
                endforeach()
            endforeach()

            if (EXPAT_VERSION_STRING VERSION_LESS 1.95.9)
                     message(FATAL_ERROR
"Expat version ${EXPAT_VERSION_STRING} is not compatible with libSBML.
Please use a version newer than 1.95.8 or an alternate XML parser.")
            endif()
        endif()
    endif()
endif(WITH_EXPAT)

@@ -494,6 +519,39 @@ if(WITH_XERCES)
        DOC "The directory containing the Xerces include files."
              )

    if (EXISTS "${XERCES_INCLUDE_DIR}/xercesc/util/XercesVersion.hpp")
        function(_myXercesC_GET_VERSION  version_hdr)
            file(STRINGS ${version_hdr} _contents REGEX "^[ \t]*#define XERCES_VERSION_.*")
            if(_contents)
                string(REGEX REPLACE ".*#define XERCES_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1" XercesC_MAJOR "${_contents}")
                string(REGEX REPLACE ".*#define XERCES_VERSION_MINOR[ \t]+([0-9]+).*" "\\1" XercesC_MINOR "${_contents}")
                string(REGEX REPLACE ".*#define XERCES_VERSION_REVISION[ \t]+([0-9]+).*" "\\1" XercesC_PATCH "${_contents}")

                if(NOT XercesC_MAJOR MATCHES "^[0-9]+$")
                    message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_MAJOR!")
                endif()
                if(NOT XercesC_MINOR MATCHES "^[0-9]+$")
                    message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_MINOR!")
                endif()
                if(NOT XercesC_PATCH MATCHES "^[0-9]+$")
                    message(FATAL_ERROR "Version parsing failed for XERCES_VERSION_REVISION!")
                endif()

                set(XercesC_VERSION "${XercesC_MAJOR}.${XercesC_MINOR}.${XercesC_PATCH}" PARENT_SCOPE)
            else()
                message(FATAL_ERROR "Include file ${version_hdr} does not exist or does not contain expected version information")
            endif()
        endfunction()

        _myXercesC_GET_VERSION("${XERCES_INCLUDE_DIR}/xercesc/util/XercesVersion.hpp")
        if (XercesC_VERSION VERSION_EQUAL 2.6.0)
         message(FATAL_ERROR
"Xerces version ${XercesC_VERSION} contains known bugs
and is not compatible with libSBML. Please use a newer version of
Xerces or an alternate XML parser.")
        endif()
    endif ()

    set(LIBSBML_XML_LIBRARY "xerces-c")
    set(LIBSBML_XML_LIBRARY_INCLUDE ${XERCES_INCLUDE_DIR})
    set(LIBSBML_XML_LIBRARY_LIBS ${XERCES_LIBRARY})
@@ -507,7 +565,6 @@ it does not.")

endif(WITH_XERCES)


###############################################################################
#
# Locate bz2
@@ -953,7 +1010,7 @@ else(UNIX)
            NAMES vld.h
            PATHS ${LIBSBML_DEPENDENCY_DIR}/include
            "$ENV{PROGRAMFILES}/Visual Leak Detector/include"
          "$ENV{PROGRAMFILES(X86)}/Visual Leak Detector/include"
            "$ENV{ProgramW6432}/Visual Leak Detector/include"
            DOC "Directory containing VLD files."
          )
          if (NOT VLD_INCLUDE_DIR)
+2 −0
Original line number Diff line number Diff line
@@ -259,6 +259,7 @@ examples = \
  examples/perl/printUnits.pl                                       \
  examples/perl/promoteParameters.pl                                \
  examples/perl/readSBML.pl                                         \
  examples/perl/renameSId.pl                                        \
  examples/perl/translateMath.pl                                    \
  examples/perl/unsetAnnotation.pl                                  \
  examples/perl/unsetNotes.pl                                       \
@@ -286,6 +287,7 @@ examples = \
  examples/python/printUnits.py                                     \
  examples/python/promoteParameters.py                              \
  examples/python/readSBML.py                                       \
  examples/python/stringInput.py                                    \
  examples/python/setIdFromNames.py                                 \
  examples/python/translateMath.py                                  \
  examples/python/unsetAnnotation.py                                \
+152 −0
Original line number Diff line number Diff line
           libSBML NEWS -- History of user-visible changes


====================================================================
5.16.0 (2017-12-07)
====================================================================



STABLE RELEASE

* 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
    XMLNode.
	
  - '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
    removed.

  - 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
    fixed.

  - 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
    corrected.

  - 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 "rewrite_pydoc.py" 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.


EXPERIMENTAL RELEASE

* 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.
      


====================================================================
5.15.2 (2017-07-27)
====================================================================
+4 −18
Original line number Diff line number Diff line
@@ -288,16 +288,12 @@ experienced the issue and offer a workaround more quickly than the
libSBML developers can respond.


5. MAILING LISTS
5. FORUMS AND MAILING LISTS
======================================================================

There are two kinds of mailing lists available: normal discussion
lists for humans, and a SVN change notification list.

Discussion lists
----------------

All discussion lists, their web interfaces and their RSS feeds are at
There are different forums/mailing lists available for SBML. Most are
hosted by Google Groups; a few legacy lists are still operated as
SourceForge mailing lists. You can find a list of all of them here:

                       http://sbml.org/Forums/

@@ -316,16 +312,6 @@ of libsbml-development will enable you to keep in touch with the
latest developments in libSBML as well as to ask questions and share
your experiences with fellow developers and users of libSBML.

SVN notification
----------------

If you are obtaining your libSBML files from SVN, you may wish to
subscribe to the mailing list sbml-svn, to be apprised of changes to
the SVN repository as soon as they are committed.  You can join the
list by visiting the following URL:

  https://lists.sourceforge.net/lists/listinfo/sbml-svn


6. LICENSING AND DISTRIBUTION
======================================================================
+1 −1
Original line number Diff line number Diff line
5.15.2
5.16.0
Loading