Home / libsbml / 5.0.0-b1
Name Modified Size Downloads / Week Status
Parent folder
Totals: 5 Items   17.6 MB 5
README.txt 2011-01-01 6.9 kB 11 weekly downloads
README-Package_Integration.pdf 2010-12-31 171.4 kB 11 weekly downloads
README-Building_libsbml-5_with_CMake.pdf 2010-12-31 483.2 kB 11 weekly downloads
libsbml-5.0.0-b1-src.zip 2010-12-31 10.5 MB 11 weekly downloads
libsbml-5.0.0-b1-src.tar.gz 2010-12-31 6.4 MB 11 weekly downloads
====================================================================== Version 5.0.0-b1 (2010-12-31) ====================================================================== This is the first beta release of libSBML-5.0.0. There are two types of potential changes from the alpha release: those that relate to support for SBML L1, L2 and L3 core, and those that relate to support for L3 packages. These are listed separately for convenience. ------------------------- Package extension changes ------------------------- * New features - Language bindings can now be generated to include and use the package extension mechanisms. Given the slightly different nature of the MATLAB/Octave bindings, support for packages has not yet been extended to these languages. - Unit tests have been added for the code that implements the package extension mechanisms within libsbml core. - The appendAndOwn() function (used to add items to ListOf elements) has been updated to check that the item being added is appropriate for the ListOf to which it is being added. This makes use of the virtual function SBase::isValidTypeForList(). Package developers need to be aware that in cases where a ListOf element can contain items of different types, they will need to provide implementations for this function. ListOfRules provides an example; it can contain any of AlgebraicRule, AssignmentRule or RateRule. * API changes - Originally, information relating to packages, e.g. PackageName, PackageVersion, etc., was stored in static variables. This proved problematic with dynamic libraries on Windows, and therefore these variables have been replaced with static methods on the Extension classes. Example: getPackageName(). - The setEnable() and isEnable() functions have been renamed to setEnabled() and isEnabled(). - The getExtension() function now returns a clone of the required extension. This avoids a situation whereby a user could inadvertently delete an extension object. - The Check unit testing framework has been adapted to enable the tests to be run in a native Windows environment. This has lead to some slight changes in the signature of some methods in the annotation classes. C++ methods that previously return std::string now return a const std::string&. * Bug fixes - It is no longer possible to register the same extension on multiple occasions. * Configuration/build system changes - We anticipate moving from a GNU Make build system to a CMake system because this facilitates the inclusion of L3 packages. This libSBML release includes all the necessary files to use the CMake system in addition to the existing makefiles. The latter have been updated where necessary. Support for makefiles will be phased out in the near future as we move toward having package code developed by others outside of the libSBML Team. Documentation on using CMake has been included in the docs directory. * Additional documentation - README-Building_libsbml-5_with_CMake.pdf - README-Package_Integration.pdf Details how to create CMake files for package code that will enable one step integration with libsbml-5 source code or an existing libsbml-5 installation. ------------------------------- General libsbml-core changes ------------------------------- * New features - Checking of the units of measurement in math expressions has been further improved to provide checking to a deeper level with the overall math of the model. Thus, the units of the expression a^b can now be validated even if the value of b is assigned b = c and the model states elsewhere that c = 2. - SBML Level 3 has no default attribute values and thus a number of new isSetXYZ functions were introduced in libSBML-4.1.0. Users pointed out it was inconsistent that these functions returned 'false' for a Level 2 model in which the attribute concerned *did* have a default value. Thus, any newly introduced isSetXYZ function that deals with an attribute that had a default value in Level 2 will now return 'true' regardless of whever the user has explictily set the function or not. - The MATLAB and Octave bindings now include the function OutputSBML() for writing the structure used in these environments back to SBML. This function has previously shipped as part of SBMLToolbox. * Bug fixes - Checking for NULL references has been greatly improved throughtout. - Validation previously failed to report an error if a lambda function contained only <bvar> arguments and no actual function body. This has been fixed. - The documentation for a number of methods had fallen slightly out of date with respect to the possible operation return codes they could return. We've updated those documentation strings now. The methods affected are in the classes Compartment, KineticLaw, Model, Reaction, Rule, SBase, Species, Unit, UnitDefinition, and XMLToken. - A number of validation checks had an incorrect ErrorCategory labels; thus, though these were reported by the correct part of the libSBML validator, querying the category would produce an inconsistent value. These have been updated. - There were some character encoding issues in a number of error messages. These have been corrected. - The code that checked that the top-level elements of an annotation had unique namespaces was incorrectly comparing namespace prefixes, not the actual namespaces. This has been fixed. Thanks to Waclaw Kusnierczyk for reporting this and supplying the fix. - The XML namespace for a <math> element may be declared on the <sbml> element. In this case, the namespace must use a prefix. Code that checked that the MathML elements had a declared namespace failed to check whether any required prefix was correctly used. Thanks to the JSBML developers for spotting this. - The code that allows users to use LocalParameter and Parameter interchangeably had a small bug where it failed to spot a duplicate id for a Parameter but not a LocalParameter. This has been fixed. - If a <kineticLaw> element is present, it must contain a <math> element. Prior to SBML Level 3 Version 1 Core, this has never been explicitly stated as a validation rule but should have been reported as a schema error. In some case this was not happening. This is now fixed. - The 'configure' script help text incorrectly claimed that Xerces was the default XML parser; it now correctly states libxml2 is. * Configuration/build system changes - MATLAB 2010b introduced some inconsistencies in the build system on certain platforms. This has been fixed.
Source: README.txt, updated 2011-01-01