- Issue 1870: Implemented export of expressions that use the initial concentrations / volumes / values to SBML. For this new global parameters as well as initial assignments so that the dependency chain remains. Only the new global parameter has to be changed to affect the expressions and original model entities.
- compile the model also when exporting to string (so far this was only done when exporting to file)
- display error messages when the model cannot be exported rather than failing silently
- add warning when event assignment target already has an assignment rule, or is not present in th
- removed warning
Undo commits:
  1fe4e7bf6c9ed35d0de962fd83f005bec53bb267
  f7d2a4ba35d6241230d4e29696414c98654936d0
  026af099c2618cef6197005c52da951d14aadbfa
- BugFix 1872: events without event assignments cannot be (validly) exported for SBML L2. catch a crash that was happening when the event was deleted. Added a warning that the event was not exported. Also allow the event to be exported to L3 (where it is valid to have an event without assignments).
Fixed error reading files when the parameter sets are present.
- fix for Bug1874: function definitions that are only used in kinetic laws receive the name 'function for XXXX' where XXX is the name of the reaction where they are being used
fix for #1879: initialize memory for residuals
Code simplification.
Merged export of initial values used in assignments.
Updated Version to 4.10 to start the next release cycle.
- fix for Bug1873: turn around the direction of the initial assignment. That way no invalid / duplicated assignments to a variable can exist. It also allows to modify the original element, rather than the newly created quantity representing the 'initial value'.
- first version for issue 1875: when exporting initial assignments, tag the new values with a custom annotation. Then upon import locate that annotation, and if present, skip importing that model quantity and initial assignment, and instead refer to the original element
- Bug1874: missed during the last commit: a modification to CReaction::setFunctionFromExpressionTree to override the function name (in case the user defined function is not yet in the function database)
- to make the function compatible with 'older' versions of libSBML (older = pre november), make getOriginalSBMLId take a non-const parameter
- removed unused function
Marked release as stable.
- Language bindings don't expose annotations on CFunctions
- fix for issue 1881: found print to stdout, that was active outside of COPASI_DEBUG
- ensure COPASI_DEBUG is only defined when enabled