Skip to content

Releases: korpling/graphANNIS

1.0.0

17 Aug 10:15

Choose a tag to compare

This is our first official stable release! 🎉
Compared to 0.32.0, this only fixes a default value in the corpus configuration.

Changed

  • The default context sizes in the corpus configuration now include 0 (#181)

0.32.0

09 Aug 17:35

Choose a tag to compare

Added

  • C-API now implements exporting corpora

Changed

  • Renamed (public) function export_corpus_zip in CorpusStorage to export_to_zip to align with the other export function name.

0.31.2

01 Apr 17:01
v0.31.2
6da63b0

Choose a tag to compare

Fixed

  • Synchronize REST API error output for bad AQL requests with the OpenAPI specification.

0.31.1

05 Mar 11:01
v0.31.1
ab31a2e

Choose a tag to compare

Fixed

  • Fix compilation issues in interaction with lalrpop v0.19.5

0.31.0

18 Feb 12:53
v0.31.0
1637032

Choose a tag to compare

Changed

  • Using the new SmallVec-based MatchGroup type instead of Vec<Match>.
  • The FixedMaxMemory CacheStrategy now uses Megabytes instead of bytes.
  • The graphannis and core crates now use their own error type instead of the one provided by the anyhow crate.
  • Bundle commonly used search query parameters in SearchQuery struct.
  • Query execution methods now have an optional timeout after which an query is aborted.
  • Annotation keys and values in the AnnoKey and Annotation structs now use inlined strings from the smartstrings crate.

Removed

  • Replaced the update_statistics function in CorpusStorage with the more general reoptimize_implementation function.
    The new function is available via the re-optimize command in the CLI.

Added

  • The webservice configuration now allows to configure the size of the in-memory corpus cache.
  • There can be multiple --cmd arguments for the CLI, which are executed in the order they are given.

Fixed

  • Importing a relANNIS corpus could fail because the integer would wrap around from negative to a large value when calculating the tok-whitespace-after annotation value. This large value would then be used to allocate memory, which will fail.
  • Adding \$ to the escaped input sequence in the relANNIS import, fixing issues with some old SFB 632 corpora
  • Unbound near-by-operator (^*) was not limited to 50 in quirks mode
  • Workaround for duplicated document names when importing invalid relANNIS corpora
  • Corpus names with non-ASCII characters where not listed with their decoded name
  • Fix memory consumption of AQL parser in repeated calls (like the webservice).
  • Limit the memory which is reserved for an internal result vector to avoid out-of-memory errors when the estimation is wrong.

0.30.0

30 Sep 08:47
v0.30.0
6474185

Choose a tag to compare

Changed

  • JWT secret configuration now supports RS256 in addition to HS256. This enables support of applications which use Keycloak as their identity provider, since they only provide public keys.
  • JWT tokens now should have the roles field instead of using the admin field. This enhances compatibility with Keycloak.
  • Pull requests are now checked with the Clippy static code analyis tool
  • Updated Actix Web dependency for webservice to version 3

Removed

  • The REST API does not act as an identity provider anymore and the /local-login endpoint has been removed

0.29.2

26 Aug 05:47
v0.29.2
1616c72

Choose a tag to compare

Fixed

  • Travis did add the webservice executables to the release
  • cargo release did not release all crates

Changed

  • Node IDs in matches don't have the salt:/ prefix anymore

Added

  • Add non-tokenized primary text segments as special labels "tok-whitespace-before" and "tok-whitespace-after" to the existing token
    when importing from relANNIS. This allows to re-construct the original relANNIS primary text by iterating over all token in order
    and be prepending or append these labels to the token values.
  • Add a REST based web-service replacing the legacy annis-service

0.28.0

02 Jul 13:00

Choose a tag to compare

Addded

  • Copy and link files from the ExtData folder when importing relANNIS.
  • Map resolver_vis_map.annis, example_queries.annis and corpus.properties from relANNIS files
    to a new unified corpus configuration stored as TOML file. This corpus configuration
    is also exported to GraphML.
  • Export and import ZIP files containing multiple corpora.

Removed

  • Removed Brotli support: use the ZIP file export instead

0.27.0

08 Jun 13:15

Choose a tag to compare

0.27.0 Pre-release
Pre-release

Changed

  • Backward incompatible: Return opaque anyhow Error type in all
    functions instead of our own enum.
    The new Error type also implements std::error::Error and is equivalent to using Box<dyn std:error::Error>.
  • Upgraded parser generator lalrpop to version 0.18.x

Added

  • Disk-based implementation of an adjacency list is used when a corpus is configured to be prefer disk over memory.
  • Ability to export and import GraphML files. This follows the Neo4j dialect of GraphML.
    It is also possible to compress the GraphML files with Brotli.

Fixed

  • The dense adjacency list implementation did not implement the source_nodes function properly

0.26.0

05 Mar 18:24
v0.26.0
1d0761a

Choose a tag to compare

0.26.0 Pre-release
Pre-release

Removed

  • Removed the unintentionally public size_of_cached function of Graph from the API.

Changed

  • Backward incompatible: the AnnotationStorage and WriteableGraphStorage interfaces have been adjusted to return Result types for mutable functions.
    This change is necessary because on-disk annotation storage implementations might fail, and we want to handle it when modifying the annotation storage.
  • Improved main memory usage when importing relANNIS files.
    The implementation now uses temporary disk-based maps instead of memory-intensive maps.
    This change also affects the GraphUpdate class, which is now disk-based, too.

Added

  • Added disk-based annotation storage for nodes as an alternative to the memory-only variant.
    On the console, use use_disk <on|off> to set if newly imported corpora prefer disk-based annotation storage.
    disk_based parameters are also added to the various "import relANNIS" API functions.

Fixed

  • Reconstruct coverage edges with the correct component, if the actual edges are omitted in rank.annis,
    but the ones without a parent node are still present. #125