Graphannis

Latest version: v3.1.1

Safety actively analyzes 629765 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 15

2.0.5

Fixed

- Fix timeout handling for queries with a lot of intermediate results, but less
than 1000 matches. The timeout was only checked after each 1000th match. This
caused troubles for queries with complex temporary results that where
discarded. The query execution could take too long time and consume system
resources in a multi-user system even when the timeout was configured. The fix
is to push down the timeout check to the node search iterators.

2.0.4

Fixed

- Non-Existing operator did include invalid matches when searching for
attributes without a value.

2.0.3

Fixed

- Fix import of resolver mappings and order configuration for older relANNIS
versions.

2.0.2

Fixed

- Fix handling of corpora with special characters like umlauts or slashes when
deleting corpora, getting the corpus configuration file, getting linked files
(both the `CorpusStorage` API and the web service).
- Expliclity escape `/` in node names so we can create hierarchical paths in
node names. We already have this assumption at several places, but a corpus
with slashes would create ambiguities. This also helps when creating linked
files base on the node name. Also, escape all characters that are invalid file
names on Windows, because the node name might be used as file name.

2.0.1

Fixed

- Web service API version prefix should still be `/v1` and not `/v2` because
this API did not change and is still backward-compatible.

2.0.0

Changed

- Refactored the basic `GraphStorage` and `AnnotationStorage` APIs to handle
errors. Previously, we used mostly main memory containers which had an API
that could not fail. This was reflected in the `GraphStorage` and
`AnnotationStorage` APIs, which directly returned the result or an iterator
over the non-fallible results. With the addition of disk-based
implementations, this API model was not possible to implement without using
panics when repeated access to the disk failed. Some of the API that was
changed was user visible when using the `graphannis-core` crate (and thus the
C-API), so this release is not technically backwards-compatible. Adapting to
the updated API should be restricted to handle the errors returned by the
functions.
- The changes to the error handling also affects the C-API. These following
functions have now a `ErrorList` argument:
* `annis_cs_list_node_annotations`
* `annis_cs_list_edge_annotations`
* `annis_cs_list_components_by_type`
* `annis_cs_unload`
* `annis_iter_nodeid_next`
* `annis_graph_annotations_for_node`
* `annis_graph_outgoing_edges`
* `annis_graph_annotations_for_edge`
- Renamed the Criterion-based benchmark CLI to `bench_queries` and synchronize
its arguments to the current version of Criterion.

Fixed

- More efficient node path extraction in `count_extra` function and when sorting
the matches.
- Avoid large memory consumption when importing GraphML files by resetting an
internal buffer on each XML event.
- Limit the number of disk maps for the `GraphUpdate` so there are less issues
with large corpora where the maximum number of open files per process might be
reached.
- Performance improvements when importing large corpora in disk-based mode. This
optimizes the DiskMap to use a C0 (normal in memory BTree), a C1 (on disk
BTree) and a C2 map when serialized to disk. On compacting, the entries are
only written to C1 in O(n*log(n)). Before, multiple on disk maps might need to
be merged, which had a much worse complexity. The C1 file uses the
transient-btree-index crate.
- Trim mapping entries when importing relANNIS resolver files (222).
- Fixed schema errors in the Webservice OpenAPI file.

Page 4 of 15

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.