0.55.7 2016-10-14
        - [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)

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
