0.45 2014-10-01
        - [bugfix] Correctly respond request in JSON results (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.

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.

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.
