0.62.3 2024-04-11
    - [cleanup] Added getDocBitsSupplier to VirtualCorpusFilter (margaretha)

0.62.2 2024-02-20
    - [feature] Support MMap directory parameters directly
      for KrillIndex (without the need for Lucene dependencies)
      (diewald)
    - [bugfix] Don't let shade plugin reduce pom (kupietz)

0.62.1 2024-01-25
    - [security] Introduction of dependabot alerts (margaretha)
    - [security] Update dependencies (diewald)

0.62.0 2024-01-19
    - [cleanup] Change of groupID
    - [bugfix] Fix for emojis in snippets (diewald)
    - [cleanup] Upgrade dependency to Java 17

0.61.3 2023-07-17
    - [feature] Add totalResources to results (diewald)
    - [bugfix] Fix casefolding for case-insensitive queries
      (diewald).
    - [bugfix] Fixed expansion query (margaretha)

0.61.2 2023-04-05
    - [bugfix] Fix pagebreak retrieval (margaretha, diewald)
    - [feature] Support token lists for match infos (solved #88,
      diewald)

0.61.1 2023-02-14
    - [bugfix] Fixed ensuring same documents of spans (solved #87, 
       margaretha)

0.61.0 2022-11-16
    - [cleanup] Remove ehcache from dependencies (diewald)
    - [security] Update to Java 11 for consistency.
    - [security] Update dependencies (diewald)

0.60.6 2022-10-13
    - [security] Update dependencies (kupietz)

0.60.5 2022-10-05
    - [security] Update dependencies (diewald)

    !!! Please update!

0.60.4 2022-08-10
    - [security] Update dependencies (diewald)
    - [feature] Improved fuzzing for annotated documents
      including sentences (diewald)

0.60.3 2022-03-30
    - [cleanup] Updated fingerprints to base64url
      (closed #83; margaretha)
    - [bugfix] Fixed ConcurrentModificationException in VC cache
      handling (margaretha)
    - [feature] Added restrictions to VC ID and handled non-existent VC
      (margaretha)  

    !!! This will invalidate all VC caches. Please recache!

0.60.2 2022-02-04
    - [security] More log4j updates (diewald)
    - [feature] Support for field value vector method (fixes #81; diewald)
    - [cleanup] Moved and updated cache-tests from TestKrillCollectionIndex 
      to TestVirtualCorpusCache (resolved #44; margaretha)
    - [feature] Added a Krill API returning textSigles for a given 
      corpus query (margaretha)
    - [cleanup] Replaced array nodes of field values with a simple string
      (margaretha)

0.60.1 2021-12-17
    - [feature] Added vc loading from classpath (margaretha)
    - [cleanup] Fixed missing VC to cleanup in VC Cache (margaretha)
    - [security] Updated log4j due to CVE-2021-45046 (diewald)

    !!! This is a security fix - please update!

0.60 2021-12-10
    - [feature] Implemented a new cache with on disk
      storage and auto-update (margaretha).
    - [feature] Support for tokenized snippet output
      (fixed #72; diewald)
    - [cleanup] Added error messages to unsupported queries in 
      SpanAttributeQuery (margaretha) 
    - [cleanup] Cleaned up imports (margaretha)
    - [feature] Added a delete method to VirtualCorpusCache (margaretha)
    - [feature] Added normalization for slash in Fingerprinter (margaretha)
    - [security] Updated log4j due to CVE-2021-44228 (diewald)

    !!! This is a security fix - please update!

0.59.6 2021-11-10
    - [bugfix] Fixed skipping of focus spans (fixed #78; margaretha,
      diewald)
    - [bugfix] Clear matchlist if skip fails in NextSpans
      (margaretha, diewald)
    - [bugfix] Handle span attributes for milestones correctly (diewald)

0.59.5 2021-10-26
    - [bugfix] Fixed candidate settings in token distance spans
      (margaretha, diewald)
    - [bugfix] Fixed setting candidates in element distance spans.
      (margaretha, diewald)
    - [cleanup] Change contains' frame to be only "contains", for
      compatibility with future changes; isAround is deprecated
      for now (diewald)
    - [feature] Added fuzzing test for equivalent queries (diewald)

0.59.4 2021-07-27
    - [cleanup] Upgrade dependencies (diewald)

0.59.3 2021-06-28
    - [feature] Added "missing query reference" status code (diewald)
    - [cleanup] Added test coverage checking with
      $ mvn cobertura:cobertura (diewald, kupietz)
    - [cleanup] Added test statistics with referTo and pubDate (margaretha)
    - [cleanup] Fixed TestCollectionCache (margaretha)
    - [cleanup] Fixed negative class number bug in span reference query (margaretha)

0.59.2 2020-07-24
    - [feature] Add fingerprint method to index (diewald)
    - [bugfix] Fix deserialization of spans with attributes (diewald)
    - [bugfix] Change order of attribute payloads in attribute queries
      (diewald)
    - [bugfix] Security upgrade of Log4J for CVE-2020-9488
      (dependabot, diewald)
    
      Warning: This may break compatibility for attribute queries
               in indices not created using KorAP::XML::Krill.

0.59.1 2020-04-08
    - [bugfix] Fix bug in classed group queries (diewald)
    - [bugfix] Fix bug in segments with negated components (diewald)
    - [bugfix] Try to fix problem with early closed readers
      in upsert transactions (diewald)

0.59.0 2019-11-28
    - [bugfix] Fix offset retrieval in concurrent searches
      (diewald)
    - [cleanup] Removed deprecated numberOf() method from index
      (diewald)
    - [bugfix] Fix offset retrieval in concurrent getMatchInfo requests
      (diewald)
    - [cleanup] Updated readme and the version of java and some plugins
      & libraries (margaretha)
    - [feature] Support for vector representation of terms in KoralQuery
      (diewald)
    - [bugfix] Check regex for validity before querying
      (diewald)

0.58.7 2019-09-16
    - [bugfix] Fix the behaviour of negative operands in virtual
      corpora (diewald)

0.58.6 2019-08-28
    - [bugfix] Updated cache loading (fixed #55) (diewald, margaretha)
    - [bugfix] Introduce left match cutting so that
      in matchinfo with expandToContext cutting won't
      remove the actual match (diewald; reported by CoRoLa)
    - [feature] Make retrieval of primarydata optional (fixes #58)
      (diewald)
    - [cleanup] Remove "startMore", "endMore", and "endCutted"
      from JSON responses (diewald)
    - [bugfix] Do not optimize %+w1:1 to be a treated like /+w1:1
      (diewald)
    - [cleanup] Added a CQL AND query test (margaretha)  
    - [feature] Accept count=0 to only retrieve totalResults
      (diewald)

0.58.5 2019-03-18
    - [bugfix] Fix bug where duplicate keys occured in
      field data output (diewald)
    - [bugfix] Fix bug where fields already set where lifted
      again, but ignored in the fields order list (diewald)
    - [feature] Added LocalDate handling to KrillDate (diewald)
    - [feature] Added upsert method to index and fix #43
      by adding indexCreationDate and indexLastModified field
      (diewald)
    - [bugfix] Fixed #50 multiple timeout warnings (margaretha) 
    - [feature] Instead of adding, the Indexer now upserts documents
      to avoid multiple documents with the same text sigle
      (diewald)
    - [bugfix] Fixed #53 element distance query bug (margaretha)
    - [bugfix] Workaround for #54 failing offsets due to
      surrogate pairs (diewald)
    - [feature] Added isReaderOpen method (margaretha)

0.58.4 2019-02-05
    - [cleanup] Remove deprecated methods setLicense/getLicense,
      setTokenization/getTokenization, setLayerInfo/getLayerInfo,
      setField/getField (including json serialization)
      (diewald)
    - [cleanup] Remove redundancy for meta field setting in
      AbstractDocument and FieldDocument (diewald)
    - [cleanup] Remove hardwired (de)serialization of legacy metadata
      fields (diewald)
    - [feature] Support for arbitrary metadata fields (fixes #47)
      (diewald)
    - [feature] Support for fields parameter in getFields() method
      (fixes #46) (diewald)
    - [feature] Respect fields order for fields responses (fixes #46)
      (diewald)
    - [bugfix] Reintroduce getAvailability() method in AbstractDocument
      for compatibility with Kustvakt (diewald)
    - [bugfix] Fix bug where tokens were serialized in getFields()
      method (diewald)

0.58.3 2018-12-17
    - [feature] Introduced attachements as meta data fields
      (fixes #49) (diewald).
    - [feature] Introduced preliminary support of arbitrary
      metadata fields (see #47) (diewald)
    - [performance] Added debug flags (margaretha)  

0.58.2 2018-12-05
    - [bugfix] Fixed the candidate list in NextSpans, see de.ids_mannheim.
      korap.index.TestNextIndex.testNextExpansionBug() (margaretha)  
    - [bugfix] Fixed left expansion match order (margaretha)
    - [bugfix] Fixed right expansion match order & expansion over start
      (margaretha)
    - [feature] Added opt() method to QueryBuilder (diewald)
    - [bugfix] Improved FocusSpans sorting (fixes #7) (margaretha)
    - [bugfix] Adopt sorting for FocusSpans in SpanQueryWrappers (diewald)
    - [cleanup] Removed deprecated within() method from QueryBuilder (diewald)

0.58.1 2018-11-12
    - [bugfix] Security upgrade of Jackson for CVE-2017-17485 and
      CVE-2018-7489 (diewald)
    - [bugfix] Span expansion with negation (margaretha)
    - [bugfix] OpenJDK8u181-workaround (see Debian Bug report #911925)
      (diewald)
    - [feature] Helper methods for fuzzing (diewald)
    - [bugfix] Remove entries from matchList that are not in the same
      document in NextSpans (diewald)
    - [bugfix] Fixed skipTo in NextSpans, see de.ids_mannheim.korap.index.
      TestRepetitionIndex.testRepetitionSnippetBug3() (margaretha)

0.58.0 2018-09-03
    - [feature] Implemented referencing cached collection (margaretha)
    - [feature] Implemented deserialization of collection with array values
      and cache option (margaretha)
    - [feature] Implemented caching collection (margaretha)
    - [feature] Implemented KrillCollection cache clearing (margaretha)
    - [feature] Implemented auto-caching for VC (margaretha)
    - [feature] Implemented serializable doc bits vector for VC caching
      on disk (margaretha)
    - [feature] Added check for non-existing doc bit vector in the cache
      (margaretha)
    - [feature] Implemented custom namedVC path (margaretha)
    - [bugfix] Fix wrong behaviour of negative constraints in and-Groups
      of VCs (#42; diewald)
    - [feature] Adding loading namedVC from gz (margaretha)
    - [bugfix] Fixed VC deserialization and double negations in 
      CollectionBuilder.group (margaretha)
    - [cleanup] Move caching mechanism to toFilter() phase (diewald)
    - [cleanup] Rewrite test suite for caching to be part of
      regular test suite (diewald)
    - [bugfix] Fixed missing docs in VC cache (margaretha)
    - [documentation] Added update hint to Readme (diewald)

0.57 2018-04-05
    - [feature] Support text queries in metadata
      (requires reindexing to work properly; diewald)
    - [cleanup] Remove unnecessary case folding in meta field
      text queries (diewald)

0.56.2 2018-03-23
    - [feature] Introduce meta field retrieval method (diewald)
    - [cleanup] Rename KrillQuery's "_"-method to "nr" to improve
      compatibility with future versions of Java (diewald)
    - [bugfix] Fixed expansion to respect character boundaries
      (diewald)
    - [bugfix] Fixed wrong behaviour of textual non-contexts in
      snippet generation (diewald)
    - [bugfix] Removed problematic serialization of empty
      annotations (diewald)
    - [feature] Serialize metadata keywords as arrays, when
      indexed properly (may require reindexing; diewald)
    - [feature] Serialize dates in dash separation format, when
      metadata field name ends with "Date" (diewald)
    - [bugfix] Fixed left exclusion-expansion when there is no 
      more span for SpanOrQuery (margaretha)
    - [bugfix] Fixed matchID response to be always identical to
      a given matchID (diewald)

0.56.1 2018-01-31
    - [bugfix] Changed relation serialization in snippet to work
      with segmented target anchors (diewald)
      Warning: This is a breaking change!

0.55.9 2018-01-11
    - [bugfix] Serialize token identifier correctly for
      new corpora with text siglen (diewald)
    - [bugfix] Extend bytebuffer for relation payloads (diewald)
    - [bugfix] Wrong char offsets in snippet generation, where
      repositioning can result in exceeding the string (diewald)
    - [bugfix] Set correct start position of token-token-relations
      in snippet generation (diewald)
    - [bugfix] Token cannot contain another token or element (margaretha)
    - [feature] Enabled searching relation query using regex (margaretha)
    - [bugfix] Fix deserialization of negative regex in sequences (diewald)
    - [cleanup] Upgraded Log4j to v2 (diewald)

0.55.8 2017-09-05
    - [feature] Retrieve and display pagebreaks (diewald)
    - [bugfix] Handle invalid dates in input (diewald)
    - [feature] Support availability meta data (diewald)
    - [bugfix] Do not respond with a "match all" VC if the
      VC data (e.g. JSON) is wrong (diewald)
    - [cleanup] Improved test suite for queries/VC with wildcards
      and regexes (margaretha, diewald)
    - [bugfix] Ignore zero-bit bitset segments in searching (diewald)

0.55.7 2017-01-24
    - [bugfix] Sorted results in unordered element distance query
      results (margaretha)
    - [bugfix] Throw error on optional operands in distance
      queries (diewald)
    - [performance] Remember solved problematic queries in the
      query planner (diewald)
    - [performance] Treat term queries like ".+?", ".+", ".*?", and ".*"
      as any-terms (diewald)
    - [feature] Introduced SpanExpansionQueryWrapper (diewald)
    - [performance] Sequences of empty tokens will now be merged into
      a single extension, if possible (diewald)
    - [bugfix] Fixed paths in test suite for supporting
      spaces (margaretha)
    - [bugfix] Warn on empty elements in positional queries (diewald)
    - [bugfix] Fix wrong deserialization test with negative element in
      positional queries (diewald)
    - [bugfix] Fix empty element match visualizations (diewald)
    - [cleanup] Test indexer (margaretha)
    - [feature] Improve indexer flags (margaretha)
    - [bugfix] Improved Java8 compatibility (thomaskrause)
    - [cleanup] Improved test suite for nested element distances
      (margaretha)
    - [bugfix] issue #16 (added skipTo in ElementDistanceSpan)
      (margaretha)
    - [bugfix] Fixed class ordering of highlights (diewald)
    - [feature] warn on use of "operation:merge" (diewald)

0.55.6 2016-08-10
    - [bugfix] distance with key "t" uses default foundry (diewald)
    - [cleanup] Renamed fromJson() to fromKoral() (diewald)
    - [cleanup] Removed deprecated methods in Krill:
      setSpanQuery(), getRequest() (diewald)
    - [cleanup] Removed deprecated method in KrillIndex:
      search() (diewald)
    - [documentation] Refer to KoralQuery instead of Koral (diewald)
    - [cleanup] Removed deprecated method in KrillCollection:
      getCount() (diewald)
    - [feature] Added getDoc() method to KrillIndex (diewald)
    - [bugfix] Fixed UID handling (diewald)
    - [feature] Added document method to Web-API (diewald)
    - [feature] Added experimental KrillStats class (diewald)
    - [bugfix] Escape quotes in JSON strings (diewald)
    - [bugfix] Escape XML and Brackets in snippets correctly (diewald)
    - [feature] Differ between matching scope and match highlighting,
      in case the match was extended to the sentence scope (diewald)
    - [bugfix] KoralQuery bugs are now correctly moved to responses (diewald)
    - [security] Do not mirror arbitrary JSON objects (diewald)
    - [bugfix] Fixed zero-boundary repetition bug (diewald)

0.55.5 2016-05-02
    - [performance] Changed to a dynamic window for sorting in FocusSpans (margaretha)
    - [bugfix] store skipped spans in Repetitionspans as candidates
      (margaretha)
    - [bugfix] Store lazy loading embedded spans for startsWith in
      WithinSpans (diewald)
    - [bugfix] Fixed loading krill.info in case krill.properties is given
      (diewald)
    - [bugfix] Remove element payloads in SubSpans (similar to Focus)
      to prevent wrong highlighting (diewald)
    - [bugfix] Sort SubSpans (margaretha)

0.55.4 2016-04-22
    - [bugfix] Wrap <base/s=t> boundaries around right extended queries
      (diewald)
    - [bugfix] Lazy loading bug in WithinSpans (diewald)
    - [feature] Matching relation nodes with attributes (margaretha)
    - [bugfix] Removed span id in SegmentSpans, added in NextSpans (margaretha)
    - [feature] Updated relation deserialization (margaretha)
    - [feature] Added tests for relation queries and relation deserialization
      (margaretha)
    - [bugfix] Workaround for Nullpointers in SpanOrQuery (diewald)

0.55.3 2016-02-22
    - [bugfix] Use base foundry for default sentences and paragraphs
      (diewald, margaretha)
    - [bugfix] Distance constraint exclusion serialized (diewald)
    - [bugfix] Use indexer without krill.properties packaged (diewald)
    - [bugfix] Clean pom.xml regarding overlapping dependencies (diewald)

0.55.2 2016-02-13
    - [bugfix] Fixed support for corpus and doc IDs containing
      dashes (diewald)
    - [bugfix] Support "s" layer without meaning "surface" -
      this is a hack (diewald)

0.55.1 2016-02-10
    - [bugfix] Fixed attribute serialization in MatchInfo (diewald)

0.55 2016-02-04
    - [feature] Introducing payload identifiers to the index
      structure (diewald, margaretha)
      ! This is a major release, introducing index features  !
      ! not compatible with indices of old versions of Krill !

0.54 2015-11-13
    - [performance] Updated Lucene dependency from 4.10.3
      to 5.0.0 (diewald)
    - [bugfix] Minor fixes regarding invalid tokens in the
      test suite (diewald)
    - [bugfix] Fixed krill.properties test (diewald)
    - [bugfix] Fixed multiple distances in disjunction query
      (GitHub issue #2; margaretha)

0.53 2015-09-25
    - [feature] Implemented new KrillCollection (diewald)
      This should fix a lot of issues with deleted
      documents and negation in virtual collections.
    - [cleanup] REMOVED deprecated collection filtering (diewald)
    - [cleanup] REMOVED deprecated termRelation API (diewald)
    - [feature] Added removal methods for documents (diewald)
    - [cleanup] REMOVED search method in KrillCollection (diewald)
    - [bugfix] Fixed collection statistics (diewald)
    - [feature] Improved packaging (diewald)
    - [feature] Introduced cmd options for server (diewald)
    - [feature] Return meta data on server-based indexation (diewald)

0.52 2015-07-08
    - [bugfix] Fixed payload filtering in FocusSpans (margaretha)
    - [workaround] Reintroduced empty collection support,
      as Koral still creates them (diewald)
    - [bugfix] Escaped characters now supported in MutiTerm (diewald)
    - [feature] Deserialization of flags (diewald)
    - [feature] Made responses valid KoralQueries (diewald)
    - [bugfix] Fixed sequence deserialization bug for simple unordered
      constraint (diewald)
    - [bugfix] Mirror collection (diewald)
    - [bugfix] Updated default fields for meta data (diewald)
    - [bugfix] Updated match identifier for "sigle" data (diewald)
    - [workaround] Support corpusID/docID and textSigle match strings
      (diewald)
    - [workaround] Support matches starting with "contains"
      (Kustvakt bug/diewald)
    - [bugfix] Fixed treatment of several collection types (diewald)
    - [bugfix] Remove legacy error handling in Match (diewald)
    - [bugfix] JSON-serialization bug in match in case of
      error messages (diewald)
    - [bugfix] 'fields' serialization (diewald)
    - [bugfix] Deserialization of group:disjunction (diewald)
    - [bugfix] Deserialization of wrapped spans (diewald)
    - [bugfix] Fix KoralQuery mirroring in case of
      parsing failures (diewald)
    - [feature] Support '@all' as a 'fields' value for all meta
      data fields (diewald)
    - [bugfix] Fix case sensitivity bug in filters (diewald)
    - [bugfix] Fix sentence expansion bug for new data (diewald)
    - [bugfix] Deserialization of 'containsnot' instead of 'excludes'
      (diewald)

0.51 2015-03-17
    - This is a major version (prepared for the GitHub release)
    - [cleanup] Changed groupID to "de.ids_mannheim.korap",
      renamed korap-style.xml to Format.xml (diewald)
    - [bugfix] Updated Format.xml to work with
      recent versions of Eclipse (diewald)
    - [documentation] Improved documentation for API classes (diewald)
    - [bugfix] Updated AttributeSpans (margaretha)
    - [bugfix] Updated SpanRelationQuery (margaretha)
    - [cleanup] Autoformat (diewald)
    - [documentation] References added to the Readme (diewald)
    - [bugfix] Improved failing for missing property file (kupietz)
    - [bugfix] Fixed tests for server responses to not use
      Jackson deserialization (diewald)
    - [cleanup] No more jersey logging in tests (diewald)

0.50.1 2015-03-02
    - [feature] Deserialization of arbitrary elements with
      attributes (margaretha)
    - [cleanup] Extracted KrillMeta from Krill,
      renamed KorapQuery to KrillQuery,
      extracted QueryBuilder from KrillQuery,
      renamed KorapIndexer to index/Indexer,
      renamed KorapDocument to model/AbstractDocument,
      renamed KorapMatch to response/Match,
      renamed KorapIndex to KrillIndex,
      renamed KorapCollection to KrillCollection,
      moved collector classes from index to response,
      renamed KorapDate to KrillDate,
      renamed KorapArray to KrillArray,
      renamed KorapByte to KrillByte,
      renamed KorapString to KrillString,
      moved KorapNode to server/Node,
      moved KorapResult to response/Result,
      renamed KorapResponse to Response,
      moved model/* to index,
      moved meta/SearchContext to response/SearchContext,
      krillified property files,
      added Errorcodes,
      removed KrillIndex#addDocFile (diewald)
    - [documentation] Improved documentation for API classes (diewald)

0.50 2015-02-23
    - Project name is now "Krill"

0.49.4 2015-02-20
    - [documentation] Improved documentation for API classes (diewald)
    - [cleanup] Improved test coverage for utility classes (diewald)
    - [performance] Updated Lucene dependency from 4.5.1 to 4.10.3,
      Updated Jackson dependency from 2.4.0 to 2.4.4,
      Updated Jersey dependency from 2.4.1 to 2.15 (diewald)
    - [feature] Presorting of element terms in the index for coherent
      SpanQuery sorting; Removed buffering of element candidates (diewald)
      Warning: This is a breaking change!
    - [feature] Added CorpusDataException to deal with data importing bugs;
      made some imports break more easily though (diewald)
    - [performance] Payloads in ElementSpans can now be lazily loaded,
      MatchModifyClassSpans no longer rely on payload copies (diewald)
    - [cleanup] Renamed /filter to /collection, 
      merge KorapHTML and KorapString,
      removed KorapSpan, KorapTermSpan and KorapLongSpan,
      renamed /analysis to /model,
      renamed shrink() to focus(),
      removed KorapPrimaryData,
      fixed a lot of wrong tests for WithinSpans,
      renamed KorapFilter to /collection/CollectionBuilder,
      renamed SpanMatchModify to SpanFocus,
      changed KoralQuery root prefix to "koral",
      renamed different kinds of "queries" throughout classes,
      renamed KorapSearch#run to KorapSearch#apply (diewald)
    - [feature] Improved deserialization of SpanSubSpanQueries
      (margaretha)
    - [feature] Introducing the potential need for resorting queries
      on focussing (e.g., set by relations) (diewald)
    - [bugfix] Hopefully fixing a resource related bug for
      server instantiation (diewald)
    - [bugfix] Changed attribute spans to contain element's
      width (margaretha)
    - [feature] Improved highlighting to use semantic html5 (#193; diewald)

0.49.3 2015-02-03
    - [documentation] Improved documentation for
      API classes (diewald)
    - [documentation] Improved documentation for
      various queries (margaretha)
    - [feature] Added deserialization of SpanSubSpanQueries
      (margaretha, diewald)
    - [bugfix] Null filters are now correctly extended (diewald)
    - [cleanup] Refactoring of KorapResult, KorapResponse, KorapQuery,
      deprecated operation:or in favor of operation:junction,
      updating test suite for class and frame attributes (diewald)
    - [bugfix] Empty class segments are now correctly serialized
      in sequences (diewald)
    - [feature] Started support for position frames (diewald)
    - [bugfix] Fixed #134 Nullpointer exception in WithinSpans
      (diewald, margaretha)

0.49.2 2014-12-05
    - [documentation] Improved documentation for
      various queries (margaretha)
    - [feature] Added @Experimental support (margaretha)
    - [feature] Added Eclipse based code formatting (diewald)

0.49.1 2014-11-25
    - [cleanup] Major refactoring for new response messages,
      removed deprecated error messaging,
      removed long-term deprecated methods in KorapResult,
      removed long-term deprecated methods in KorapMatch,
      renamed toJSON->toJsonString
      renamed toJSONnode->toJsonNode,
      renamed fromJSON->fromJson (diewald)
    - [documentation] Improved documentation for notifications (diewald)

0.49 2014-11-14
    - This is a major version (prepared for the Evaluation Meeting)
    - [bugfix] Rewrite works in repeating expansions (margaretha)
    - [feature] Clean timeout with parameter support (diewald)
    - [workaround] Support unknown overlap frame,
      if frames are known (diewald)
    - [bugfix] Class payload fixed in SpanRepetitions (margaretha)
    - [bugfix] #179 Expansion bug fixed (margaretha)
    - [bugfix] Corrected small bug where null warnings where
      returned in JSON (diewald)
    - [cleanup] Converted error to failure (diewald)
    - [bugfix] Added const layer rewrite (diewald)

0.48 2014-11-07
    - This is a major version (prepared for the "Tag der Offenen Tür")
    - [feature] Retrieval of token lists (diewald)
    - [bugfix] Classes can now be highlighted to 127.
    - [bugfix] Sequences with distances won't be flattened in
      SpanSequenceQueryWrapper (diewald)
    - [bugfix] Sequences with [problem][problem][anchor] can now
      be deserialized (diewald)
    - [bugfix] Queries with regular expressions in spanNext() are now
      correctly rewritten (diewald)
    - [bugfix] Ignore foundry for orth layer (diewald)
    - [feature] Support fields in meta (diewald)
    - [workaround] Support more legacy APIs (diewald)
    - [bugfix] Check for the existence of @type in JSON-LD groups
      to avoid NullPointer (diewald)
    - [cleanup] Validated query and collection input - limited
      to a "don't break anyting" policy (diewald)

0.47 2014-11-05
    - [feature] Support new index format with more metadata (diewald)
    - [bugfix] #142 Fixed class spans for skipTo() skips (margaretha)
    - [feature] Added attribute support to relations (margaretha)
    - [bugfix] Make classes and shrink default to 1 instead of 0 (diewald)
    - [bugfix] shrink now removes all non-classes payloads (diewald)

0.46 2014-10-21
    - [feature] Support for relation queries (margaretha)
    - [feature] Wrapping of extension queries
      (not completely tested yet; diewald)

0.45 2014-10-06
    - [bugfix] Correctly respond request in JSON results (diewald)
    - [cleanup] Made SpanQueryWrapper an abstract class instead
      of an interface (diewald)

0.44.1 2014-09-29
    - [cleanup] Prepare test suite for publication (diewald)

0.44 2014-09-28
    - [feature] Match collector using database for
      distributed search (diewald)
    - [bugfix] Unified boundary handling and prevent nullpointer
      exceptions on parsing (diewald)
    - [bugfix] Ordering of payloads reversed to make nesting highlights
      nest correctly (diewald)
    - [performance] Updated Lucene dependency from 4.3.1 to 4.5.1 (diewald)
    - [performance] Updated Jackson dependency from 2.2.2 to 2.4.0 (diewald)
    - [bugfix] Return matches correctly with JSON (diewald)
    - [bugfix] Repare database tests working with temporary
      databases (diewald)

0.43 2014-09-23
    - [cleanup] Made a lot of stuff rely on KorapResponse (diewald)
    - [bugfix] Small but ancient collection bug fixed (diewald)
    - [feature] Collect first matches of documents based on UIDs (diewald)

0.42 2014-09-19
    - [cleanup] Extracted private classes from KorapMatch (diewald)
    - [bugfix] Fix query rewrite in contains-queries (diewald)

0.41 2014-09-17
    - [feature] getStartPos(classNr) and getEndPos(classNr)
      in KorapMatch (diewald)
    - [bugfix] SpanExpansionQuery with fixed Constructor
      and Exclusion handling (margaretha)
    - [feature] Early implementation of match collector (diewald)

0.40 2014-09-03
    - [feature] Skeleton for standalone REST service (diewald)

0.33 2014-09-01
    - [feature] SpanSubspanQuery (margaretha)
    - [feature] SpanExpansionQuery (margaretha)

0.32 2014-08-01
    - [bugfix] Fix for repetition candidates (margaretha)
    - [bugfix] Some fixes for negative segments (diewald)
    - [bugfix] SpanMatchModify now skips in case the
      requested class isn't found (diewald)
    - [performance] Some logging issues fixed (diewald)

0.31.8 2014-07-24
    - [feature] Added optionality to querys for quantifiers (diewald)
    - [feature] Support for korap:boundary deserialization (diewald)

0.31.7 2014-07-18
    - [feature] Added warnings to responses (diewald)

0.31.6 2014-06-30
    - [feature] Support for korap:reference deserialization (diewald)
    - [feature] Preliminary support for attributes in elements (margaretha)
    - [feature] Preliminary support operation:repetition deserialization
      (unfinished and untested; diewald)

0.31.5 2014-06-17
    - [feature] Batch return of defined foundries and layers in
      getMatchInfo() (diewald)
    - [security] Improve foundry and layer check before injection in
      regex (diewald)

0.31.4 2014-06-16
    - [feature] MatchModifyClassQuery now can extend (diewald)
    - [bugfix] Make matchinfo a bit more robust (diewald)

0.31.3 2014-06-11
    - [bugfix] Minor bugfix regarding treatment of
      failed search results (diewald)

0.31.2 2014-05-28
    - [feature] Request parameter "itemsPerResource" limits
      hits per document (diewald)

0.31.1 2014-05-21
    - [bugfix] Minor bugfix for wrongly serialized contexts
      in responses (diewald)

0.31.0 2014-05-20
    - [feature] span contexts in JSON-LD are now supported
    - [bugfix] Multiple bugfixes regarding span context
      extensions (diewald)
    - [bugfix] Minor debugging bugs (diewald)

0.30.9 2014-04-11
    - [bugfix] Prevent multiple identifiers in
      relation highlighting (diewald)

0.30.8 2014-04-10
    - Added getTermRelationJSON() to KorapCollection (diewald)
      This is likely to get deprecated!

0.30.7 2014-04-09
    - Moved JSON interpretation from BooleanFilter to KorapFilter (diewald)
    - Added 'or' and group nesting to KorapFilter (diewald)

0.30.6 2014-03-20
    - Refactoring and cleaning of ElementSpans (diewald)
    - [bugfix] Stabilizing KorapMatch (diewald)

0.30.5 2014-03-18
    - Support for Quantifier Queries (margaretha)
    - Some benchmarks (margaretha)
    - [bugfix] WithinSpans respect match payloads,
      and are now way more correct ;) (diewald)
    - Support for overlap queries (diewald)
    - Refactoring of WithinSpans (diewald)
    - Introducing lazy loading for wrapper .end() in WithinSpans (diewald)

0.30.4 2014-02-26
    - [cleanup] Making MultiTerm* more robust (diewald)

0.30.3 2014-02-20
    - Return json request in response if given (diewald)
    - [bugfix] ClassSpans and WithinSpans check skipTo
      in advance now (diewald)
    - Compilerfriendly logging rules, resulting
      in significant performance improvements (diewald)
    - Small refactorings (diewald)

0.30.2 2014-02-14
    - [bugfix] wrapper uses correct distance constraint (diewald)

0.30.1 2014-02-13
    - Added sentence extension for match info (diewald)

0.30 2014-02-13
    - This is a major version
      (prepared for the IDS meeting on the 17th of february)
    - Improved stringification for distance queries (margaretha)

0.26.4 2014-02-12
    - Serialize SpanDistanceQueries and SpanMultipleDistanceQueries
      (diewald)
    - [temporarily] Added default foundry "mate" in KorapQuery (diewald)

0.26.3 2014-02-12
    - [bugfix] Only open writer in case it's needed (diewald)

0.26.2 2014-02-12
    - Added sequence queries with defined gaps (margaretha)
    - Support for multiple distance constraints (margaretha)
    - Updated json-ld deserialization with nested meta (diewald)
    - [bugfix] Wildcards in segments were ignored (diewald)

0.26.1 2014-01-21
    - Distinct Match retrieval including spans
      and dependency relations (diewald)

0.26 2014-01-16
    - Introduced standalone SpanSegmentQueries (margaretha)
    - [bugfix] SpanNextQueries (margaretha)
    - Support for Match Identifiers (diewald)
    - Support for distinct Match retrieval (diewald)

0.25.3 2014-01-10
    - Updated Lucene to 4.3.1 (diewald)
    - Welcome! Eliza Margaretha has joined the team!

0.25.2 2013-12-29
    - Fixed highlight bug with empty reopened tags

0.25.1 2013-12-28
    - Support for pubDate collections
    - Changed versioning scheme

0.25 2013-12-20
    - Support for Wildcard Queries
    - Improved support for regular expressions
    - Introduced keyword fields that store no positions

0.24_1 2013-12-05
    - This is a pseudo version for demo versions with dirty hacks,
      meant to be rolled back!
    - There is now an ignored broken test in TestKorapCollection

0.24 2013-12-05
    - Json deserializer finished for virtual collections

0.23 2013-12-05
    - Error handling corrected in KorapResult
    - Json deserializer finished for queries

0.22 2013-12-04
    - Introduced KorapSearch
    - Json deserializer (started)

0.21 2013-11-28
    - Virtual collections can now be defined,
      searched, nested and extended

0.20 2013-11-18
    - Unboxing from sandbox repository

0.11 2013-11-14
    - JSON file importer (plain and gzip)
    - [bugfix] Element Query
    - [bugfix] Sequence Query

0.10 2013-11-11
    - Added JSON input to indexer

0.09 2013-11-07
    - Reconstruction of all wrapper queries using an interface
    - Finished KorapQuery (preliminary feature freeze)

0.08 2013-10-18
    - Changed methods to attributes in KorapMatch
    - Changed SimpleJSON to Jackson
    - Fixed Highlighting
    - Some Refactoring of result classes
    - Introduced KorapDocument
    - Introduced KorapHTML utility

0.07 2013-10-14
    - Added position to offset matching

0.06 2013-10-01
    - Added SpanElementQuery for working WithinQeries
    - Added KorapResult and KorapMatching

0.05 2013-09-18
    - Fixed bug in indexing (MultiTermTokenStream)
    - Fixed SpanNext
    - Added KorapIndex
    - First draft for KorapFilter

0.04 2013-09-01
    - Introduced optimized SpanNext class (not working atm),
      as SpanNear does not always work with nested synonyms

0.03 2013-08-28
    - Added within query (not working atm)
    - Pushed query part to public repo

0.02 2013-08-26
    - Added sequences

0.01 2013-08-20
    - First version as maven build environment
