Release notes¶
Release notes for cy3sbml-v0.9.1¶

We are pleased to release a new version of cy3sbml.
Highlights¶
New and improved¶
Fixed¶
Changed and removed¶
Developer and build¶
Your cy3sbml team
Release notes for cy3sbml-v0.9.0¶

We are pleased to release a new version of cy3sbml.
This release opens the model of a network in sbml4humans with one click, and reviews the code base: fixes, security hardening, cleanups, performance and documentation.
New¶
- One click opens the model of a network in sbml4humans, the
human readable report of SBML models
(#473): the sbml4humans icon of the model in the
info panel uploads the model, with the files of its comp external model definitions, as
a COMBINE archive and opens its report in the web browser, at the model of the network
(the main model, a model definition, an external model or the flat model). sbml4humans
keeps the upload for 24 hours, so the report can be shared. cy3sbml asks before the
first upload; the server is set by the properties
cy3sbml.sbml4humans.urlandcy3sbml.sbml4humans.api.
Fixed¶
- Annotation identifiers with a plus sign, for example
CA+2or InChI charges, are shown and resolved correctly; the plus sign was turned into a space. - A ChEBI maintenance page is no longer shown as the structure image of a ChEBI term.
- The info panel no longer fails for ontology terms without IRI or ontology name.
- Showing the cy3sbml panel again shows the information of the current selection.
- Opening the SBML or the info panel page in the web browser works on Windows and for paths with spaces, and no longer fails without a current network.
- The SBML document of a model with groups is removed from memory when its networks are closed.
- A session saved during an import has consistent mappings.
- A malformed manifest or description in a COMBINE archive no longer prints parse errors to the console.
- Search terms with HTML characters are shown as typed in the BioModels dialog.
StyleManagercloses the style files it reads.- An invalid model whose elements reference missing elements (units, event assignment variables, fbc flux objective reactions, gene products and associated species, qual compartments and transition inputs and outputs) is imported with the reference skipped and logged, like a species with a missing compartment; the whole import failed.
- An SBML file with a long comment before the root element (for example a license header) or in UTF-16 is recognized as SBML, both on import and as the file of an external model definition.
- The md5 checksum of an external model definition is checked once per definition, and no longer reported as changed for a file that was not read, such as the documents of a restored session.
- The replacements of a group no longer log a warning about a missing start node.
- Resources of an unknown data collection show their identifier for every URI form
(
urn:miriam,www.identifiers.org) and the collection name as text instead of a broken link. - Closing the view of another network no longer replaces the information of the current network with the help page.
- The network collections of comp model definitions show their own model: the info panel
(nothing selected) shows the model definition with its document instead of the main
model, and the commands
cy3sbml importandcy3sbml networksreturn its id, name and packages. - BioModels whose main SBML file is not named
<id>_url.xml(for example BIOMD0000001010) are downloaded; loading them from the dialog or withcy3sbml import biomodelsId=...failed with "No SBML could be downloaded". - A search in the BioModels dialog with characters of the search syntax, for example
glycolysis (, finds the models of its terms instead of none. - Networks that Cytoscape creates without view (above its view threshold) have their SBML: the info panel, the commands and saved sessions found no SBML document for them.
- Split and merge are enabled for the current network of a loaded session.
- Merging cofactor nodes keeps their clones in other networks of the collection (for example created from a selection), and a cofactor node whose clones were all deleted is no longer merged back as an isolated node.
- Loading a layout into a network with split cofactor nodes places the clones next to their neighbors instead of on top of each other; the clones are not saved in layouts.
- Rendering the info panel no longer adds empty lists (for example
listOfProducts) to the SBML document. - A read error of an import (for example a dropped URL connection) is reported instead of a NullPointerException.
- The system browser fallbacks are used where the desktop cannot open a browser.
Changed and removed¶
- The
urlargument of the commandcy3sbml importaccepts onlyhttpandhttpsURLs; import local files with the argumentfile. - Only identifiers.org URIs (checked by their host) and
urn:miriamURNs are resolved against the MIRIAM registry. - Links in the info panel open in the system browser only for
http,https,ftpandmailto. - Unused scripts (jQuery, Bootstrap, DataTables), about 200 unused images and the icons page are removed from the app.
- Node lookups are logged at debug level instead of info level.
Security¶
- JavaScript is disabled in the info panel, and all texts of the model (identifiers, references, formulas, annotation URIs) and of the web services are HTML-escaped, so a model cannot run scripts or add markup to the info panel. The ChEBI structure is shown as an image, so its SVG cannot run scripts.
- Session files restore only the cy3sbml data classes (a deserialization allowlist), so a crafted session file cannot run code. Temporary session files are deleted.
- COMBINE archives are imported only with at most 100000 entries and 4 GiB unpacked, which protects against zip bombs; zip entries and manifest locations with invalid paths are rejected with a clear message.
- The command
cy3sbml importno longer readsfile:,jar:orftp:URLs. - Responses of the web services (identifiers.org, OLS, ChEBI, UniProt) are limited to 30 s and 20 MB. ChEBI ids from annotations are validated before a request. An oversized or empty online MIRIAM registry is rejected, and a malformed entry is skipped.
- Invalid or relative link URLs are not opened.
- The messages of constraints are reduced to formatting markup like the notes, and the names of the member lists of groups are escaped: both were put into the info panel (and the exported HTML page) as they are.
- The descriptions of the models in the BioModels dialog are reduced to formatting markup, and the dialog opens only web and mailto links in the system browser.
- The notes of a model are reduced to formatting markup: a meta refresh, form, frame, image map or embedded object in the notes could load or show another page in the info panel. The panel shows only its own pages, and its context menu ("Open Link", "Reload Page") is disabled.
- Releases are built and tested with read-only permissions and without a dependency cache, and published from a separate job. The JSBML update workflow no longer runs the JSBML build with write access. All GitHub Actions are pinned to commit SHAs.
Performance¶
- Identifier patterns of the MIRIAM registry are compiled once, and the registry is parsed faster at startup.
- The info panel no longer reads a properties file for every element with an SBO term, and the HTML templates are parsed with a precompiled pattern.
- Styles are read from their files only when they are missing in Cytoscape.
Developer and build¶
- Removed unused code: MIRIAM registry classes and fields (
Fields,Institution,Location),OlsTerm.oboId,XMLUtil.xml2xml,ASTNodeUtil.findReferencedGlobalParameters,ResourceExtractor.getResource,BioModelDialogText.getWebserviceSBMLRequest, unusedGUIConstantsentries and template sections, and the unused services ofServiceAdapter. - Javadoc for the actions, commands, archive, util, cache, mapping, web client and
SBMLManagerclasses. StyleFactoryTestchecks that the bundled styles equal the generated ones. A test class that clashed with another on case-insensitive file systems is renamed.- Updated woodstox-core to 7.3.0, zensical to 0.0.67 and the Maven Wrapper to Maven 3.10.0; removed an unused test dependency. Dependabot also updates the Python examples and the documentation build.
- The
pythoncheck is required for pull requests todevelop. - Removed 24 unused test models and PDFs (46 MB) from
src/test/resources/models. - The developer documentation shows the current JSBML pin and all test model scripts.
Your cy3sbml team
Release notes for cy3sbml-v0.8.0¶

We are pleased to release a new version of cy3sbml.
Highlights¶
- Support of the SBML package
fbcversion 3, which libSBML and COBRApy write: fbc version 3 models are read with everything cy3sbml shows for fbc version 2 (gene products and associations, flux bounds, objectives, charges and formulas), and with the new elements of version 3. User defined constraints are nodes of the typefbc_userDefinedConstraintin the kinetic and all network, with edges from their bound and coefficient parameters and from the reactions and parameters of their components (coefficient and variable type as edge columns); the info panel shows the constraint as a formula with the values of its parameters. The variable type of a flux objective is in the columnfbc_objective-<objective id>_variableType, and the key-value pairs of any element are a table in the info panel (#461). - Automation and REST API: cy3sbml has commands in the namespace
cy3sbml, available in the Cytoscape command line, in scripts and in CyREST (POST http://localhost:1234/v1/commands/cy3sbml/<command>), with JSON results:import(a file, URL, SBML string or BioModels id, returning the imported models and their networks),biomodels search,networks,document(the SBML of a network),element(the SBML elements of nodes or ids with annotations and notes),nodes(the nodes of SBML ids, to map data onto the network),cofactors split,cofactors merge,layout saveandlayout load. Python examples with py4cytoscape inexamples/pythonand the guide Automation and REST API (#18).
New and improved¶
- The networks of a model have the column
sbmlSubnetworkwith their kind (base,kinetic,all,layout), which does not change when Cytoscape renames the networks of a model imported twice. - The flux bounds of a reaction in the info panel show the value of the bound parameter
and a link to its node, for example
ub = 1000. - The user defined constraints of fbc version 3 are drawn as purple octagons with purple
edges in the styles
cy3sbmlandcy3sbml-dark.
Fixed¶
- The import no longer fails for an fbc model whose flux bound refers to a parameter without node; the missing reference is logged.
- An error writing a layout file (Save Layout) is shown instead of being ignored.
Changed and removed¶
- The column
fbc_chargeof the species of fbc version 3 models is a floating point column, following the type of the charge in fbc version 3; for fbc version 1 and 2 it stays an integer column.
Developer and build¶
- The GitHub release has the javadoc jar
cy3sbml-<version>-javadoc.jarand thepom.xmlof the release next to the app jar, each with its MD5 and SHA-1 checksum. The javadoc builds without errors, and CI builds it with the Maven profilejavadoc, which checks it with doclint (#460). - JSBML is updated to
1.7-20260929-7b28ca71of the forkmatthiaskoenig/jsbml, with fbc version 3 (namespace, user defined constraints, variable types, key-value pairs, the double charge) and the renaming of the fbc version 3 references in the comp flattening, proposed to JSBML in sbmlteam/jsbml#328 and sbmlteam/jsbml#329. - The Python examples in
examples/pythonare a uv project with py4cytoscape, checked with ruff and ty in CI. The fbc version 3 test model is written and validated with libSBML bytools/pycysbml/fbc_v3_models.py. - The commands are registered in the core phase of the app start, so they work without
the GUI;
command-executor-apiis a newprovideddependency.
Your cy3sbml team
Release notes for cy3sbml-v0.7.0¶

We are pleased to release a new version of cy3sbml.
Highlights¶
- Support of the SBML package
layoutversion 1: every layout of a model becomes a network<name>__layout_<layout id>whose view shows the layout as it is drawn, with a node per glyph at its position and in its size. The glyphs of one element (aliases) show the element in the info panel, reactions without glyph are small nodes between their participants, and the layout stylescy3sbml-layoutandcy3sbml-dark-layoutdraw the nodes in the glyph sizes and the compartments behind them. Save Layout and Load Layout work on the layout networks (#71). - Support of the SBML package
distrib(distributions) version 1: the uncertainties of the SBML elements are shown in the columnsdistrib_uncertaintyanddistrib_uncertaintyCountand in the info panel, with links from avarto the referenced element (#281).
New and improved¶
- Import of COMBINE archives (OMEX): the master SBML models of an archive (all SBML models
if none is master) are imported, with the SBML files they reference read from the
archive. The info panel of the document shows the archive with its metadata and files,
and the root network has the name of the archive in the column
archive(#116). - Splitting of cofactor nodes is available again and reversible: Split cofactor nodes
splits the selected nodes into one node per edge, placed next to the other end of the
edge, drawn with a dashed border and marked in the column
cofactorClone; Merge cofactor nodes merges the selected split nodes, or all split nodes of the network, back into the node at its position before the split. Splitting and merging in any order restores the network, also for nodes connected to each other, the clones show their SBML element in the info panel, and the clones and their edges are removed from the network collection by the merge (#456). - The network table has the model attributes (id, name, SBO term, units, annotations,
sbmlVersion, ...) in every network of a model, also in the base network that is selected after the import and in the layout networks, instead of only in the all network. - The help page in the info panel lists the cofactor actions and describes the toolbar buttons more precisely. The BioModels button and dialog are named BioModels Import.
- The BioModels dialog adapts to its size: the result list and the model information grow with the dialog instead of leaving an empty area.
- The example models show the layout of the KEGG pathway
hsa04360and describe all models in the same order. - The documentation is updated for this release, with new screenshots (#457).
Fixed¶
- The attribute tables of the info panel use the full width of the panel for the values:
an empty third column squeezed the values, so that short names and equations wrapped
in the middle of a word. The attribute names have more room, so that names like
hasOnlySubstanceUnitsare not broken, and the icons of the help and example pages have a narrow column of their own. - The info panel of a qualitative species shows the initial and the maximum level in two
rows (
qual_initialLevel,qual_maxLevel), empty if not set, instead of/. - A creator of the model history with an organisation but without name is shown without a leading comma.
- The clones of split cofactor nodes at one node are spread at least 45 degrees apart, also the clones of different split nodes, so that they do not overlap.
- The Save Layout and Load Layout links of the help page in the info panel work.
- The reactant, product and modifier edges have the id and name of their species
reference in the columns
sbml idandshared name. - The formulas of the math in the columns and the info panel show the inline units of
numbers (SBML Level 3
sbml:units) after the number like libSBML, for example1 dimensionless(#262). - Save Layout and Load Layout store and restore the positions of all nodes: the
nodes are matched by their unique
cyIdinstead of the SBML id, so the nodes of elements without id (kinetic laws, rules, initial assignments, events, units, ports, replaced elements, the fbcANDandORnodes, ...) are positioned too, and nodes with an id in two namespaces (a unit definition and a speciessubstance) do not share a position. Layout files of older versions, which have only the SBML id, are still loaded (#228). - The fbc
ANDandORnodes are linked to their SBML element (columncyId), so the info panel shows them. - The SBML groups work in every network of a model: each network has its own Cytoscape groups with the members in the network, so collapsing and expanding a group, also after saving and opening the session, no longer adds nodes of other networks (for example the parameters of a group to the base network) or leaves group nodes of expanded groups in the network. Groups without members in a network are left out, and a group that is a member of another group is nested also if it is defined after that group (#171).
- The info panel of a group lists the members with their element name, reference and a link to their node instead of the JSBML text of the elements, and shows a group without kind instead of failing.
- The info panel of a node without SBML element explains the reason without internal terms.
Changed and removed¶
- The kinetic and the all network of a model are named with the suffixes
__kineticand__allinstead of the prefixesKinetic__andAll__, for exampleBIOMD0000000012,BIOMD0000000012__kineticandBIOMD0000000012__all. The base network of the model is selected after the import instead of the all network (#453).
Developer and build¶
-
The developer documentation describes the COMBINE archive, distrib and layout parts, the test models and the test logging, and the release process with the release notes that are collected during the development.
-
JSBML is pinned to a fork commit with the distrib fixes: distrib ids are not registered in the SId namespace, the type
coeffientOfVariationwritten by libSBML is read, copies of uncertainties keep their parameters, the flattening of comp models renames the distrib references, and the offline validation accepts the distribution functions in math (#281). - The distrib test models are written and validated with libSBML
(
tools/pycysbml/distrib_models.py,python-libsbml-experimental).
Your cy3sbml team
Release notes for cy3sbml-v0.6.0¶

We are pleased to release a new version of cy3sbml. This release completes the support of the SBML comp package, updates JSBML and all dependencies, fixes the BioModels import and the annotation lookups, and fixes many import and user interface problems. It also changes parts of the Java API that other Cytoscape apps use, see Changed and removed.
Highlights¶
- Complete support of hierarchical models (comp package): external model definitions are read, the references of ports, deletions and replacements are resolved and linked to their targets, and the flattened model is imported as its own network (#401, #220).
- The BioModels import works again after BioModels moved to www.biomodels.org, and the BioModels dialog no longer freezes Cytoscape while it searches or downloads.
- The ChEBI, OLS and UniProt information of annotations is shown again, using the current REST APIs of these services.
- Non-ASCII characters in SBML files are imported correctly on all platforms, including Windows.
- The flux bounds of fbc v1 models are imported, and comp models with a port or replacement that references a missing element can be imported.
- The SBase information shows the equation of a reaction and its coefficients in the flux objectives (#403).
- A new documentation site with a user guide and a development guide.
New and improved¶
- updated JSBML to its current development version (sbmlteam/jsbml commit 8192a8a7 of
2026-09-07, previously 22659a76 of 2023-01-03), plus the rewritten comp flattening and
resolution of external model definitions (sbmlteam/jsbml#324) and the error messages in
the JSBML jar, from the branch
cy3sbmlof the fork matthiaskoenig/jsbml - updated the dependencies and removed unnecessary ones (#395)
- an SBML file becomes one network collection per model: the main model, the comp model
definitions, the models of the external model definitions (also those in further
external files, each model once), and the flattened model
Flat__<id>if the main model has submodels that can all be instantiated (#220, #401) - external model definitions are read relative to the location of their file (also from a URL, with the Cytoscape proxy), each file once, with the md5 checksum checked; a missing or broken file, an unknown model or an instantiation cycle is reported and skips only its network (#220)
- the references of ports, deletions, replaced elements and replaced by elements are
resolved to their target (also nested references through further submodels), written to
the new columns
comp_targetModel,comp_targetId,comp_targetMetaId,comp_targetType,comp_resolutionandcomp_sBaseRef, and linked by edges to their submodel and target (#401) - the SBase information shows submodels, ports, deletions, replaced elements, replaced by elements, model definitions and external model definitions, with a link that selects the target of a reference, also in the network collection of another model (#401)
- the SBase information shows the equation of a reaction (stoichiometries, reversible or irreversible arrow, modifiers) and the coefficient of the reaction in each flux objective (#403)
- the SBase information shows the inputs and outputs of qual transitions
- unset attributes are shown as empty cells instead of an icon (#428), and long values in the SBase information wrap instead of widening the panel
- ontology terms are looked up with the OLS page of the registry resource instead of a guess of the ontology from the identifier prefix, and a term that does not match the annotation is not shown (#403)
- updated the model examples with comp submodels and a QualTab example
- rewrote the ChEBI, OLS and UniProt lookups of the SBase information as small clients of the current REST APIs (OLS4, UniProt REST, ChEBI backend) with timeouts and an in-memory cache; each lookup is loaded once, and terms that are not found are not requested again on every render
- the MIRIAM registry is no longer downloaded twice while Cytoscape starts, and the download no longer blocks the start: the bundled registry is used right away and without network, and is replaced by the current registry from identifiers.org once it is downloaded
- the SBase information in the cy3sbml panel is rendered off the user interface thread; a new selection cancels the render of the previous one, and repeated renders while a model loads are combined
- the BioModels dialog no longer freezes Cytoscape while it searches, gets model information or downloads models; it shows a busy state instead, and selecting a model no longer queries BioModels again
- multiple BioModels search terms are combined with the selected AND or OR, and the help text of the BioModels dialog describes the search that is available
- a failed BioModels search or download is reported with its cause
- a BioModels search lists up to 1000 models instead of only the first 10, with their name and dates; the details of a model (description, authors, publication) are looked up when it is selected, and the information scrolls to the selected model (#402)
- BioModels are downloaded and loaded in a Cytoscape task, with progress and cancel, into the
folder
biomodelsof the cy3sbml directory, so the file is named by the model id (#402) - closing the BioModels dialog stops a running search (#402)
- loading an example model or importing an SBML file with the cy3sbml import button runs in a Cytoscape task with progress instead of blocking the user interface (#402)
- a BioModels download larger than 100 MB is stopped and reported instead of filling the disk
- an SBML file that cannot be read is reported once, with the file name, a short cause and a working link to the SBML validator, instead of twice with the raw parser exception
- import failures are reported in the task monitor, and cancelling an import stops it
- the cy3sbml panel opens with a usable width instead of about 145 pixels
- inline formatting in ontology texts, e.g. the small capital D in ChEBI definitions, is shown formatted instead of as literal tags
- indented the headers, texts and notes of the cy3sbml panel
- sessions whose SBML mappings refer to deleted nodes are restored, and a failure in one saved file no longer stops the restore of the others
- an HTTP proxy in the Cytoscape settings without host or port is ignored with a warning, instead of stopping the start of cy3sbml
- the log file is also written to
~/CytoscapeConfiguration/cy3sbml/if cy3sbml fails early during its start, instead of to a filelogfile.name_IS_UNDEFINEDin the Cytoscape directory
Fixed¶
- fixed a security issue: XML read by cy3sbml (layout files, notes) could make the parser read local files or make network requests through external entities (XXE); DOCTYPE declarations and external entities are now rejected
- fixed the BioModels import, which found no models and could not load any model since BioModels moved to www.biomodels.org
- fixed the ChEBI information, which was no longer shown
- fixed ontology lookups for annotations with mixed-case prefixes such as NCBITaxon and VariO,
which never showed their term in the SBase information; lowercase prefixes such as
go:0006915still resolve - fixed garbled non-ASCII characters in imported SBML, which was decoded with the platform charset (e.g. on Windows) instead of the encoding declared in the XML (UTF-8 by default)
- fixed the flux bounds of fbc v1 models, which were never imported as the
fbc_lowerFluxBoundandfbc_upperFluxBoundreaction attributes - fixed the import of comp models with a port or replacement that references a missing element, which failed with "target node is not a member of this network"
- fixed the COBRA notes attributes (e.g.
GENE_ASSOCIATION,SUBSYSTEM) of models whose notes hold the<p>paragraphs directly or inside an<html>element instead of a<body>, which were not imported - fixed identifiers of compact identifiers.org URIs whose data collection embeds its prefix,
e.g. the DOI
10.1063/1.1681288, which was shortened to1.1681288 - ports and unit definitions no longer hide model elements with the same id, and elements without id and name (e.g. replaced elements) no longer share one entry in the network mapping
- the GUI resources extracted to
~/CytoscapeConfiguration/cy3sbml/are replaced on every start, so files of earlier versions no longer accumulate, and the unusedro/,omex/andbiomodels/folders are removed (#404) - fixed the network names of a model without id imported with File > Import > Network from URL, which were the whole URL instead of the file name
- fixed the import of layouts with bounding boxes that have missing or invalid attributes
- fixed the label
qual_initialLevel/qual_maxLevelof the initial and maximum level in the SBase information of qualitative species - fixed the empty
namecolumn of nodes and edges in theAll__network, so selecting and searching nodes by name works there as in the other networks - the edges from the event delay math to an event have the interaction type
delay_eventinstead ofpriority_event - showing the SBase information no longer adds a CVTerm for the SBO term to the model, which was then saved in the session; the SBO term is now also shown the first time an SBase without annotation is selected
- fixed the help page in the results panel sometimes being replaced right after opening it by a slow SBase render (e.g. a web-service lookup) that was still in flight for the previously selected node
- fixed the missing icons on the cy3sbml help page and the missing export icon in the SBase information
- fixed the empty area below the Name field in the BioModels dialog, left over after removing the unused search fields
- the actions of the links in the cy3sbml panel (dialogs, selections, cofactor nodes) run on the Swing event thread instead of the JavaFX thread
- fixed logging warnings (#390) and the date format of the log
- annotations with
urn:miriam:resource URNs (e.g.urn:miriam:obo.chebi:CHEBI%3A15422) are shown in the SBase information; before, only identifiers.org URIs were shown - the links of an annotation go to a current resource of its data collection, preferring the official one, instead of the first listed resource, which can be deprecated (e.g. the SBO term links led to an identifiers.org deprecation page)
- fixed the missing creators in the model history of models with vCard4 creators, e.g.
models created with sbmlutils (#397); the history dates are shown in UTC as in the SBML
file (e.g.
2024-05-06T07:08:09Z) - fixed the true and false icons in the SBase information, which needed Font Awesome from a CDN (#440): booleans are shown as a green check and a red cross, and the icons of the cy3sbml panel are inline SVG icons from Bootstrap Icons, so the panel loads no stylesheets from the web
- the vertical scrollbar of the cy3sbml panel no longer hides the right edge of the text
- fixed the missing error messages of JSBML: the JSBML jar lacked
SBMLErrors.json, so every error JSBML created (e.g. for undefined units) failed with a NullPointerException and had no message - fixed the import of BIOMD0000000327, which failed with a NullPointerException in JSBML while expanding the function definitions to compute derived units (#381); the model is part of the BioModels test corpus again
Changed and removed¶
- COMBINE archives (OMEX) are not supported yet (#116): the archive reader and its toolbar button are no longer registered, so importing a zip file no longer creates an empty network
- the BioModels import uses the base URL
https://www.biomodels.org/instead ofwww.ebi.ac.uk/biomodels - removed all static singleton accessors (
getInstanceofSBMLManager,WebViewPanel,CofactorManager,ServiceAdapter,StyleManager,BiomodelsDialog) and the staticSBaseHTMLFactorysetters;CyActivatorcreates each instance once, and other apps get theSBMLManagerfrom the OSGi service registry, where it is registered asorg.cy3sbml.SBMLManager - the public node and edge type constants in
org.cy3sbml.SBML(coreNodeTypes,coreEdgeTypes,kineticNodeTypes,kineticEdgeTypes) changed fromString[]to unmodifiableList<String> SBMLReaderTaskmoved into the packageorg.cy3sbml.reader, and a failed import returns no networks- the JSBML packages are exported with the JSBML version instead of the cy3sbml version, and the JUnit test classes of JSBML are no longer embedded and exported
- removed the dependencies ols-client, ehcache, registry-lib, miriam-lib, commons-lang and
guava, and the classes
MetaIdSBaseMapandIOUtil.inputStream2String - removed the unused dependencies xstream (only used by the online validator of JSBML),
commons-io, commons-text, commons-lang3, LibFX,
osgi.cmpnand the JavaFX modules the app does not use directly; links in the info panel are handled with the WebView DOM - two SBML imports at the same time no longer fail with a
NoSuchElementExceptionfrom JSBML, which is set up once when the app starts BiomodelsDialogtakes the search and callbacks to open a URL and load models instead of theServiceAdapter;BiomodelsQueryResult,BioModelInterfaceToolsandLoadBioModelTaskFactoryare replaced byBiomodelsQuery.search,BiomodelsHtmlandBiomodelLoader, andServiceAdapter.synchronousTaskManageris removed (#402)- JSBML logs through logback into the cy3sbml log file (log4j-over-slf4j replaces
reload4j), and the log file property is renamed to
cy3sbml.logfile
Developer and build¶
- JSBML is pinned to commit 8ceccc9b of the fork matthiaskoenig/jsbml under a release
version, built by
scripts/update_jsbml.pywithout the JSBML test classes, with checksums of the pinned artifacts in the in-project Maven repository - the build uses the Maven Wrapper and compiles with
--release 17; the Maven plugins and the test stack (JUnit 6, Mockito) are updated - the code is formatted with palantir-java-format through spotless, which CI checks
- the code is checked with Error Prone, and compiler warnings fail the build
- slow and network tests are selected with JUnit tags, so the regular test run needs no network
- the large model corpora of the
modelstests (1.2 GB) are no longer copied intotarget/test-classeson every build, the test classes run in parallel, Mockito runs as a Java agent, and the errors the tests cause on purpose are left out of the test output - golden snapshot tests pin the imported networks of reference models, and a packaged-jar integration test checks the bundled resources
- the SBML import is split into one reader per SBML package with shared attribute and graph builders, and has unit tests for each reader
- new unit tests for the
util,archive,cofactorsandlayoutpackages - the comp flattening is checked against the libSBML flattening of the comp test models and of the 123 comp cases of the SBML test suite
- a new documentation site built with zensical, with a user guide, a development guide,
current screenshots and the release notes; the README is shortened and links to it, and
a
CITATION.cffis added - rulesets protect
develop,mainand the release tags; CI runs on pull requests with a stable tests check, and releases are built from tags by a release workflow that checks the release notes and fast-forwardsmainto the release
Your cy3sbml team
Release notes for cy3sbml-v0.5.0¶

We are pleased to release a new version of cy3sbml including the following changes:
- fixed deprecation issues with HTML escape
- release documentation added to repository
- Fix ':' in network names
- Update OLS to OLS4, #353 (@kyxhik)
- fixing url patterns and update http -> https, #353 (@kyxhik)
- fix SBO display, #308, via #355 (@kyxhik)
- examples updated (PBPK examples added)
- updated biomodels import with new REST API
- sbml-test-suite 3.5.0 tested
- biomodels tests updated
- updated bigg models and tests
- fix display of names with html characters, #250
- fix parsing of notes (COBRA attributes), #107
- display of chebi information, #389
Your cy3sbml team
Release notes for cy3sbml-v0.4.0¶

We are pleased to release a new version of cy3sbml including the following changes:
- updated documentation
- updated licensing (MIT)
- library updates
Your cy3sbml team
v0.3.0 [2019-09-19]
- major bugfix release
- updated dependencies
v0.2.7 [2017/11/12]
Bugfix and dependency release * bugfixes * updated dependencies
v0.2.6 [2017/10/03]
Major bugfix release to handle EBI https and Uniprot https. * bugfixes * updated dependencies * cleanup of unused functionality and dependencies
v0.2.5 [2017/06/19]
- Bug fixes
- Updated UniProt Information
- Updated HTML display
- Updated VisualStyles
- Tested with latest bigg models (v1.3)
v0.2.2 [2016/08/10]
- Complete redesign of information pane (JavaFx instead of Swing with CSS, JS and HTML)
- HTML export of information
- Ontology information retrieved via Ontology Lookup Service
- Proper formating and display of raw xml in annotations
- Support of KineticLaws
- Offline MIRIAM with latest MIRIAM registry (faster access & reduced webservice calls)
- Improved visual styles (distinguish reversible & irreversible reactions)
- Fixed name attributes
- Improved compatibility to SBMLCore reader (identical attributes)
- Updated icons
- UniProt secondary information for RDF
- Caching of webservice information from OLS and UniProt
- Support of *.sbml files
- Multitude of bug fixes
- Improved session saving & loading (now with layout information)
- Unittest coverage increased to 37%
- Simplified maven dependencies
- Testing of serialization & deserialization
- Updated and tested sbml-test-suite 3.2.0
- Licence update to LGPL v3.0
- Dependencies updated
- Improved logging
v0.2.1 [2016/07/11]
- bug fixes (autofocus)
v0.2.0 [2016/07/01]
- bug fixes
v0.1.9 [2016/06/28]
- updated test models to BiGG v1.2
- updated test BioModels to release 30
- improved unit tests against test models
- bug fixes related to new test models, SBOTerms, LocalParameters & annotations
- additional support for cy3sabiork
- updated JSBML dependencies and pom files
v0.1.8 [2016/06/07]
- visualStyles for new and reopened sessions
- display of RDF & non-RDF annotation information
- kineticLaws as first class objects (with annotation display)
- FunctionDefinitions are now parsed correctly
- refactoring of CyNode to SBase mapping (performance increase)
- multitude of smaller bugfixes
v0.1.7 [2016/03/24]
- position saving and restoring ported from cy2sbml (saving & restoring layouts)
- dark VisualStyle implemented (cy3sbml-dark)
- improved visual styles & dynamic compartment colors
- saving and restoring of full session with SBML files
- COBRA information parsed into attributes
- multiple bugfixes
- first version of cofactor nodes
- tested with Cy3.3 and Cy3.4-milestone-2
v0.1.6 [2015/08/27]
- Testing, bug fixes and documentation
- sbml-test-cases models successfully parsed
- BIGG models successfully parsed
- cobrapy test models parsed
- full SBML FBC v2 support
- basic SBML distrib support
v0.1.5 [2015/07/04]
- SBO Name and definitions for information
- Parsing of rateRules, InitialAssignments and kineticLaws
- Display of NamedSBase attributes in information
- Example loader (menu) & examples added
- FBC support
- NetworkReader tests (passed all BioModels r29 curated models)
- master SBML graph (compartments, kinetics, parameters, ...)
- File selection & multiple file import ported
- SBML validator ported
v0.1.4 [2015/06/24]
- support of multiple networks, views and subnetworks
- qualitative model support
- biomodel webservice search & retrieval
- redesign & bug fixes
v0.1.3 [2015/06/14]
- cy3sbml VisualStyles
- Support of multiple networks and views (subnetworks)
- Model information is now displayed
- RDF annotations displayed (MIRIAM)
- proxy support
- first unit tests created and integrated with maven
- logging with log4j and slf4j implemented (cy3sbml.log)
- support of cy3sbml properties for general settings like preferred VisualStyle
- node EventListener for updating annotation information
- application of layout after generating views
v0.1.2 [2015/06/01]
- documentation update (build instructions, installation instructions)
v0.1 [2015/05]
- first app release (OSGI build with JSBML integration)