0.50.1 2015-02-27
	- [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 (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 (diewald)
	- [cleanup] Removed deprecated error messaging (diewald)
        - [cleanup] Removed long-term deprecated methods in KorapResult (diewald)
        - [cleanup] Removed long-term deprecated methods in KorapMatch (diewald)
	- [cleanup] Renamed toJSON->toJsonString (diewald)
	- [cleanup] Renamed toJSONnode->toJsonNode (diewald)
	- [cleanup] 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)
	- 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
