-
Notifications
You must be signed in to change notification settings - Fork 28
/
NEWS.txt
4305 lines (3071 loc) · 170 KB
/
NEWS.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
libSBML NEWS -- History of user-visible changes
====================================================================
5.20.4
====================================================================
This is mostly a bug fix release enhancing stability and improving
performance when validating models. Main points:
* support compilation when using libxml 2.12.0 and later
* improved performance when testing for assignment cycles
* cmake build system honors the BUILD_SHARED_LIB flag if defined
====================================================================
5.20.2
====================================================================
This is mostly a bug fix release enhancing stability when validating
and converting models.
* New features / improvements
- Access to error logs from the C API
- Attributes of the ModelHistory can now be accessed from
const objects.
- The FBC V3 package has been updated to reflect the latest
specification. There are now optional attributes `fbc:reaction2`
on the FluxObjective and `fbc:variable2` on the
UserDefinedConstraintComponent.
* Bug fixes
- A bug converting / validating models with the 'comp' package
has been fixed.
- A crash when inferring units has been resolved.
- A fix to the CMake Build system ensures that check for dependencies
is more robust. Thanks to first time contributor @adelhpour
- The type of the FBC V3 `coefficient` attribute on the
UserDefinedConstraintComponent has been corrected, it was mistakenly
a double before, now it has been corrected to be a SIdRef as
described in the specification.
====================================================================
5.20.0 (2023-04-03)
====================================================================
Given the length of time since our last release the list of changes
and acknowledgements of contributions is incomplete. We apologise and
offer thanks to anyone who has been involved and those people who have
contributed their spare time to continuing maintenance and development.
* Addition of support for the SBML Spatial package
- Now that the first official version of the specification for the
SBML Level 3 Spatial package is available, the libSBML API for
'spatial' is now included in the stable release of libSBML.
Thus a CMake build using '-WITH_STABLE_PACKAGES' will now include
the spatial package code.
* New features
- There is a new converter SBMLRateRuleConverter which will take
a model with RateRules and infer the corresponding reaction network.
This is still considered under development and we would really
appreciate any feedback.
* Bug fixes
- A large number of code 'smells' have been cleaned up. Thanks to
Jamie Quinn for undertaking this laborious task.
- The python examples have been updated for Python 3.8 changes.
Thanks to Akira Funahashi for committing these fixes.
- The python code used for creating documentation has been
updated for Python 3.10 changes. Thanks to
Zbigniew Jędrzejewski-Szmek for submitting the changes.
* Configuration/build system changes
- Extensive continuous integration testing has been added to
the GitHub repository.
* Miscellaneous
- Note there is now a Julia interface to libSBML available
at https://lcsb-biocore.github.io/SBML.jl/stable/
====================================================================
5.19.0 (2020-11-27)
====================================================================
********************************************************************
The libSBML source code has moved to GitHub.
(https://github.com/sbmlteam/libsbml).
The stable branch reflects the latest released code. The development
branch is the main branch and we encourage users to create and
submit pull requests against this branch. We are no longer
maintaining a separate repository for experimental code for as yet
unfinished packages.
Please use the GitHub issue tracker to file any reports or submit a
fix and do a Pull Request.
We will gradually move away from SourceForge, but for this release
code will be available from both SourceForge and GitHub.
* Addition of support for the SBML Distributions package
- Now that the first official version of the specification for the
SBML Level 3 Distributions package is available, the libSBML API for
'distrib' is now included in the stable release of libSBML. This
means that all prebuilt binaries for the stable release will
include the 'distrib' package code. The src archive containing
libSBML core code will continue to be available, with 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
use the CMake build system.
* New features
- Functions get/set/isSetMath have been added to the SBase class.
These do not allow interacting with a non-existant <math> element
but may facilitate using more generic functions.
* Bug fixes
- There was a memory leak introduced in the SWIG wrapper. Thanks to
Fabian Fröhlich for spotting and fixing this.
- The SBMLNamespaces class was being leaked in a number of places,
these have now been plugged.
- The MathML to infix parser was also leaking memory. Thanks to
Liam Keegan for spotting and fixing these.
- The validation code detecting assignment cycles was incorrectly
including local parameters within its search. These have now
been removed from the relevant code.
- Conversion code was failing to detect when a local parameter used
the 'id' of a speciesReference which is allowed in SBML Level 3.
These can be converted to SBML Level 2 and the code has now been
corrected so this conversion will take place.
- The L3 infix parser has been improved to recognize the use of a
name without parentheses as a misused function name or a csymbol,
if appropriate.
- There was an anomaly when using the addCVTerm() and
appendAnnotation() functions which meant that if used in a certain
order information could be lost. This has been corrected. Thanks
to Colin Halupczok for the detailed report.
- Converting a <localParameter> to a global <parameter> object was
failing if the metaid attribute was set. This has been changed to
produce the correct behavior.
* Configuration/build system changes
- Import of the python library has been sorted in line with recent Linux
changes to the location of the shared file.
- Code has been fixed to be MingGW compliant.
- The build configuration was updated to work with the latest version of R.
* Miscellaneous
- A number of memory leaks and possible access violations have been solved.
STABLE PACKAGES
- 'distrib' package-specific updates:
- A new converter, AnnotationToDistribConverter, has been added
to allow conversion from the existing annotation format used
with <functionDefinitions> to the new 'distrib' format. This
complements the existing DistribToAnnotationConverter that converts
'distrib' to annotations.
* Bug fixes
- 'comp' package-specific bug fixes:
- Comp flattening dropped conversion factors for particular
instances of assignment rules. This has been corrected.
Thanks to Matthias König for reporting this.
- 'distrib' package-specific bug fixes:
- There was unfortunately an infinite loop in the code using
the <uncertainty> element. This has been removed.
- 'render' package-specific bug fixes:
- Some render classes were not handled correctly by language
bindings. This has been fixed.
EXPERIMENTAL PACKAGES
* New features
- 'spatial' package-specific updates:
- Compression in the 'spatial' package is now based on strings.
The code has been changed to reflect this.
- Support for int and uint as DataKinds has been added to the
spatial code in line with changes in the specification.
- A range of validation tests have been added to the spatial
code. As this is an experimental passage package still in
development, we cannot guarantee that all validation has been
implemented.
* Bug fixes
- 'spatial' package-specific bug fixes:
- There were some memory leaks in the spatial code.
Thanks to Liam Keegan for spotting these and congratulations
for being our first GitHub user to address problems using a
Pull Request.
====================================================================
5.18.0 (2019-04-18)
====================================================================
STABLE RELEASE
* New features
- LibSBML now defines a DefinitionURLRegistry to allow a user to log
their own values of the 'definitionURL' attribute on a math <csymbol>
element. Once logged these definitionURL values will not trigger the
unknown csymbol error when reading a model that uses them.
- LibSBML now defines a CallbackRegistry which allows a user to register
a callback to interrupt a long running read operation. Examples for C++
and Python are included. In future it would be anticipated that would
have callbacks to interrupt long running validation or conversion
processes.
* Bug fixes
- Validation was incorrectly stating that the id of a <localParameter>
that mirrorred the id of a <species> should be listed as a
<modifierSpeciesReference> in the enclosing <reaction>. It no longer
issue an incorrect error.
- The string to MathML parser was failing to identify known constants
as arguments to a lambda function. lambda(pi, pi*2) should treat 'pi'
as an unknown argument not the constant pi. This has been fixed.
- The MathML parser adds logbase and degree to log and root elements
respectively. These are dimensionless integers and but unit
validation was failing. This has been corrected. Note this means
that for L3 models libSBML will write out the dimensionless units
on the relevant <cn> element explicitly. This may cause an
apparent difference in models if reading and then writing.
- In MathML a <bvar> element within a <lambda> can only contain a
<ci> child element. Validation was failing to spot when this was
not the case. This has been corrected.
- MathML within a <semantics> element was not being properly validated.
This has been improved.
- 'layout' package-specific bug fixes:
- Code was failing to roundtrip glyphs that contained both a <curve>
and a <boundingBox> element. This has been fixed.
* Configuration/build system changes
- The cmake files that enable using the check library on
a Linux OS have been updated to make this easier.
- Python 3.7 is now supported.
* Miscellaneous
- Several obscure memory leaks have been plugged.
EXPERIMENTAL RELEASE
* New features
- 'distrib' package-specific updates:
- The code has been updated to reflect the specification
agreed during HARMONY 2019 version 0.24.
- 'spatial' package-specific updates:
- The code has been updated to reflect the specification
version 0.93.
- Attributes 'id' and 'name' have been added to the SpatialPoints
class in anticipation of these being added to the specification.
- Plugin code has changed so that child element class members are
initialised to NULL. This saves memory but may cause existing
code to hit an issue when using a getAbc function; which may now
return a NULL object when previously it did not.
====================================================================
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
* New features
- 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
use the CMake build system.
* New features
- The MATLAB language interface function TranslateSBML has been
optimized for speed.
- 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 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 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.
- 'comp' package-specific updates:
- The C API for comp has been completed.
- 'fbc' package-specific updates:
- SourceForge Tracker item #455: Error messages have been improved.
- 'multi' package-specific updates:
- The C API for multi has been completed.
- 'qual' package-specific updates:
- SourceForge Tracker item #455: Error messages have been improved.
- 'render' package-specific updates:
- A full C API for the render package has been added.
* Bug fixes
- SourceForge Tracker item #459: An error in the function that
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'
attribute was not being extended to all packages. This has
been fixed.
- Python examples have been updated to work with Python v3.
- 'qual' package-specific bug fixes:
- SourceForge Tracker item #457: Validation of rule qual-20311
was producing an error when it should have been a warning.
Thanks to Justin McManus for reporting the problem.
EXPERIMENTAL RELEASE
* New features
- 'distrib' package-specific updates:
- The 'distrib' package has undergone significant changes.
The code has been fully updated to match this. We have also
used a Distrib prefix on all classes to prevent clashes with
other packages or even other libraries. We welcome feedback
on this approach.
====================================================================
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)
====================================================================
*** 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
* New features
There are no features in the stable branch; although there has
been some optimization of code. We have also included testing
of examples code in our test protocol.
* Bug fixes
- Infix parsing of lambda functions was failing to consider
variable names as variables, when they might overlap with
other names for MathML constructs or csymbols e.g. 'time'
or 'pi'. This has been corrected so that a lambda function
will correctly produce the necessary <bvar> elements.
- Conversion of interchangeable booleans and numbers was not
reporting consistent information. This has been improved.
- Conversion between SBML levels and versions was failing to
correctly identify a speciesReference identifier. This is
now sorted.
- Sourceforge Tracker #8: The MATLAB bindings were failing to
correctly convert logical functions. This has been fixed. Thanks
to Fabian Froehlich for the report.
- The check that reports <localParameters> shadowing other identifiers
was not noticing when it shadowed a speciesReference. This has
been corrected.
- The evaluateAST function was not correctly dealing with a
missing math element.
- 'comp' package-specific bug fixes:
- Reading in externally referenced documents during 'comp'
validation and/or flattening was consuming large amounts of memory.
This has now been optimized.
- There were some slight discrepancies with writing out the id
attribute in an L3V2 document using 'comp' L3V1V1. These have
been sorted out.
- There was a very obscure endless loop in validation that
Chris Myers managed to find. This is now closed. Thanks Chris.
- 'groups' package-specific bug fixes:
- Sourceforge libSBML Tracker #438: The C API for the plugin
objects was missing. This has been corrected. Thanks to CJF for
the report.
EXPERIMENTAL RELEASE
* New features
- 'arrays' package-specific updates:
- A basic ArraysFlatteningConverter has been added. As yet, this does
not deal with arrays of submodels from the 'comp' package.
- 'distrib' package-specific updates:
- NOTE: the code has not been updated to the latest proposed version
of the 'distrib' specification as this is currently under major
review.
* Bug fixes
- 'arrays' package-specific bug fixes:
- The 'arrays' code was not always correctly reading and writing the
namespace. This has been fixed.
====================================================================
5.15.0 (2017-04-06)
====================================================================
NOTE: This release includes support for the SBML L3V2(RC1)
Release Candidate specifications. This specification is not yet
official and thus it, and the supporting code, may change.
STABLE RELEASE
* Multistate and Multicomponent Species
- The first official version of the specification of the Multistate
and Multicomponent Species package is now available, and thus the
libSBML code for 'multi' is now included in the stable release of
libSBML. This means that all prebuilt binaries for the stable
release will include the 'multi' 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
use the CMake build system.
* New features
- A new option has been added to the L3ParserSettings to allow
users to turn off the parsing of the new L3 math elements. If
enabled the parser will treat the new functions as generic
user defined functions.
- The L3Parser has been updated to parse '%' as rem.
- The MATLAB binding has been updated to support SBML L3V2(RC 1).
- Additional options are available for the TranslateSBML/OutputSBML
functions for the MATLAB binding allowing users to add their own
validation and customize the input/output of some fbc elements.
(See documentation for more details.)
- A new structure field 'cvterms' has been added to the MATLAB_SBML
structure. This supports annotations as a set of fields relating
to qualifiers and resources rather than relying on annotation
in the string format.
- A new function setCharacters has been added to the XMLToken class.
- The SBMLDocument object resulting from an invalid read will now
report level and version as '0'. This facilitates distinguishing
between an invalid read and a Level 3 Version 2 document that
does not contain a <model> element.
* Bug fixes
- Code was failing to recognize the math elements <pi/> and
<exponentiale/> as returning numeric values. This has been
corrected.
- A <stoichiometryMath> element with no child <math> was causing
code to crash. This has been sorted.
- Validation of MathML was failing to report when a <math> element
contained two top-level elements. This is now caught and correctly
reported.
- A speciesReference id which has been declared 'constant' cannot be
changed by an event. Validation was failing to catch this situation.
This is now fixed.
- Several fixes have been made to the conversion of SBML documents
to lower levels and versions. These include: loss of compartment
size; evaluation of functionDefinitions and initialAssignments;
conversion of fast reactions; evaluation of stoichiometry using
initialAssignment and rules and expanding functionDefinitions with
no bvar elements.
- The export of the Avagadro constant as an exponential number was
losing precision. This has been fixed.
- Unit checking was failing to correctly associate the model 'timeUnits'
with the use of the csymbol for time. This has been corrected. Thanks
to Matthias König for reporting it.
- 'comp' package-specific bug fixes:
- Validation of a model that indirectly referenced a replacedBy element
was causing a problem. This has been resolved.
- The flattening routine was failing to correctly adjust the metaid
referenced by annotation where necessary. This has been fixed.
Thanks to Matthias König for reporting it.
- 'fbc' package-specific bug fixes:
- Validation was incorrectly reporting that a lower fluxBound could
not have a value of -INF. This has been corrected.
- The 'unsetActiveObjective' function now returns an OperationReturnValue
in line with other set/unset functions.
* Configuration/build system changes
- The minizip library used for compression supported has been updated.
There are no backwards compatability issues.
- The CMake build has been extended to enable export of the configuration
used in building. This will facilitate users who use libsbml and/or its
dependencies as dependencies in other projects.
* Miscellaneous
- Beware that Doxygen 1.8.12 and later changed something in the HTML
it creates, and as a result, the libSBML documentation-generation
currently does not work for Doxygen versions after 1.8.11. This will
be fixed in a later release. For the time being, use Doxygen 1.8.11.
- We are aware that the released MATLAB binaries do not appear to work
with MATLAB 2017a on Mac OSX. At present we are unable to address this
issue but will resolve it and issue new binaries as soon as possible.
- We are aware that the octave binding is not functioning as expected.
We would be very interested to know of any users of the libsbml
octave interface that are affected by this.
EXPERIMENTAL RELEASE
* New features
- 'spatial' package-specific updates:
- The spatial code has been adjusted for minor changes in the
specification and now reflects rel0.91 of the specification.
Some, but not all, validation has been added to the code.
====================================================================
5.14.0 (2016-09-15)
====================================================================
*** 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.
This release includes support for the SBML L3V1R2(RC1) and L3V2(RC1)
Release Candidate specifications.
STABLE RELEASE
* New features
- An Iterator class has been added to the List utility.
* Bug fixes
- Validation was not being correctly invoked on <localParameter>
objects. This has been fixed.
- The functions for parsing a string to an ASTNode would cause a
crash if passed a NULL pointer. This has been fixed. Thanks to
Matthias König for reporting it.
- The L3Parser has been improved to catch a case when a NULL input
has been provided and return an error to the user.
EXPERIMENTAL RELEASE
* New features
- 'multi' package-specific updates:
- Code has been updated to reflect the latest v 1.0.7 specification.
====================================================================
5.13.0 (2016-04-14)
====================================================================
STABLE RELEASE
* Groups
- The first official version of the specification of Groups
is now available, and thus the libSBML code for
'groups' is now included in the stable release of libSBML. This
means that all prebuilt binaries for the stable release will
include the 'groups' package code. The src archive containing
libSBML core code will continue to be available, but there will be
additional src archives available in the stable branch: one
containing libSBML core plus all stable packages and additional