Releases: korpling/graphANNIS
Releases · korpling/graphANNIS
1.0.0
0.32.0
Added
- C-API now implements exporting corpora
Changed
- Renamed (public) function
export_corpus_zipinCorpusStoragetoexport_to_zipto align with the other export function name.
0.31.2
Fixed
- Synchronize REST API error output for bad AQL requests with the OpenAPI specification.
0.31.1
Fixed
- Fix compilation issues in interaction with lalrpop v0.19.5
0.31.0
Changed
- Using the new
SmallVec-basedMatchGrouptype instead ofVec<Match>. - The
FixedMaxMemoryCacheStrategynow uses Megabytes instead of bytes. - The graphannis and core crates now use their own error type instead of the one provided by the
anyhowcrate. - Bundle commonly used search query parameters in
SearchQuerystruct. - Query execution methods now have an optional
timeoutafter which an query is aborted. - Annotation keys and values in the
AnnoKeyandAnnotationstructs now use inlined strings from thesmartstringscrate.
Removed
- Replaced the
update_statisticsfunction inCorpusStoragewith the more generalreoptimize_implementationfunction.
The new function is available via there-optimizecommand in the CLI.
Added
- The webservice configuration now allows to configure the size of the in-memory corpus cache.
- There can be multiple
--cmdarguments 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-afterannotation 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
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
rolesfield instead of using theadminfield. 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-loginendpoint has been removed
0.29.2
Fixed
- Travis did add the webservice executables to the release
cargo releasedid 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
Addded
- Copy and link files from the ExtData folder when importing relANNIS.
- Map
resolver_vis_map.annis,example_queries.annisandcorpus.propertiesfrom 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
Changed
- Backward incompatible: Return opaque anyhow
Errortype in all
functions instead of our own enum.
The newErrortype also implementsstd::error::Errorand is equivalent to usingBox<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_nodesfunction properly
0.26.0
Removed
- Removed the unintentionally public
size_of_cachedfunction ofGraphfrom the API.
Changed
- Backward incompatible: the
AnnotationStorageandWriteableGraphStorageinterfaces have been adjusted to returnResulttypes 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 theGraphUpdateclass, 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, useuse_disk <on|off>to set if newly imported corpora prefer disk-based annotation storage.
disk_basedparameters 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