# version 0.68

# version 0.67

# version 0.66

# version 0.65.2

2022-03-03
 - Removed VCLoader.

# version 0.65.1

# version 0.65

!!! includes security updates  - please update all Kustvakt libraries
!!! Please also update Krill to version 0.60.2 and Koral to version 0.38 

2021-12-10
 - [security] Updated log4j libs due to CVE -2021 -44228.
2022-01-03
 - [security] More log4j security updates
 - Updated tests.
2022-01-25
 - Added show-tokens option to the search API.

# version 0.64

2021-07-29
 - Updated the change files and made a new version.
2021-08-12
 - Removed initializator from lite config.

# version 0.63.2

2021-07-19
 - Updated mockserver dependency -order in pom.
2021-07-26
 - Replaced annotation parsing with restoring the annotation tables to the
database.
 - Excluded jackson core libraries from Mockserver. 

# 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)
19/02/2021
 - Enabled API info web -service (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)