# version 0.63
04/12/2020
  - Fix hibernate dialect for SQLite. (margaretha)
14/01/2021
   - Updated Flyway (margaretha)
21/01/2021
   - Fixed running pipe and updated tests with mockserver (margaretha)
  
  
# version 0.62.4
24/01/2020
   - Removed salt from config and updated config files.
04/03/2020
   - Updated the sample index (diewald)
   
# version 0.62.3
03/12/2019
   - Implemented pipe extension in the search API (margaretha)
12/12/2019
   - Added support for multiple cq parameters (margaretha, resolved #46)
13/12/2019
   - Handled pipe errors and added tests (margaretha)
   
# version 0.62.2
13/11/2019
   - Added tests for issue #43 (margaretha)
22/11/2019
   - Added tests for the statistic API with KoralQuery (margaretha)   

# version 0.62.1
08/07/2019
   - Added tests for public metadata response in search API (margaretha, issue #43)
   - Disabled some tests of unused/disabled web-services (margaretha)

version 0.62
19/03/2019
   - Added close index controller (margaretha)

version 0.61.3
05/02/2019
   - Updated kustvakt-lite.conf (margaretha)
18/02/2019
   - Updated core version (margaretha)

version 0.61.2
14/11/2018
   - Integrated lite and full services and controllers in core (margaretha)
   - Added annotation services (margaretha)
19/12/2018
   - Fixed getUser in DummyAuthenticationManager (margaretha)
   - Fixed search test with fields parameter (margaretha)

version 0.61.1
22/10/2018
   - Updated spring and kustvakt-core versions (margaretha)
29/10/2018
   - Added rewrite handler post construct (margaretha)
07/11/2018
   - OpenJDK8u181-workaround (see Debian Bug report #911925; diewald)
13/11/2018
   - Added shutdown handler (margaretha)

version 0.61.0
30/08/2018
   - Fixed root packages & added api version properties in kustvakt-lite.conf (margaretha)
   - Added API versioning tests (margaretha)

version 0.60.2
05/07/2018
   - Added support for unrestricted corpus statistics (ndiewald)
   - Do not pass broken queries to Krill (diewald)
27/08/2018
   - Added vc reference test (margaretha)
28/08/2018
   - Added API URL versioning (margaretha)

version 0.60.1
12/06/2018
   - removed kustvakt_encryption (margaretha)
   - updated kustvakt core version (margaretha)
   - adopted statistics query parameter from full (ndiewald)
   
version 0.60
23/03/2018
   - updated field type:date in the metadata test (margaretha)
   - removed loading application context via BeanFactory (margaretha)
   - fixed missing kustvakt-lite.conf (margaretha)
   - added support for highlights in matchinfo (diewald)

version 0.59.9 
01/02/2018
   - renamed light to lite (margaretha)
   - added Changes file (margaretha)
   - updated library versions and java environment (margaretha)
   - added metadata test (diewald)
   
version 0.59.8 
17/01/2018 
   - restructured Kustvakt and created /lite project
   - removed version from service paths (margaretha)
   - updated query serialization tests (margaretha)
   - added statistic service test (margaretha)
   - updated KustvaktResponseHandler (margaretha)
   - removed FastJerseyLight and simplified Jersey test configuration (margaretha)