diff --git a/Changes b/Changes
new file mode 100644
index 0000000..0180350
--- /dev/null
+++ b/Changes
@@ -0,0 +1,849 @@
+# version 0.72.1-SNAPSHOT
+
+# version 0.72-SNAPSHOT
+
+- Replaced javax.ws to jakarta.ws namespace (#648)
+- Upgrading Jersey 2.40 to 3.x (#646)
+- Updated Spring 5.x to 6.x and jetty 9.x to 11.x (#645)
+- Replaced javax.persistence with jakarta.persistence (#648)
+- Migrate Hibernate 5 to 6 (#649)
+- Fix missing placeholders 
+- Fixed conflicting jackson-jarxrs
+- Fixed conflicting commons-logging and spring jcl
+- Replaced javax.servlet with jakarta.servlet (#648)
+- Updated authorization services using Nimbus (#650)
+- Fixed BlockingFilter by replacing javax.annotation.Priority 
+  with jakarta.annotation.Priority (#659, #648)
+- Replaced javax.annotation with jakarta.annotation
+- Enabled legacy support for authorization POST request
+- Changed OAuth2 token request using Nimbus (#650) 
+- Removed Apache Oltu API from token requests (#650)
+- Removed OpenID
+- Fixed clearing cache
+- Fix JettyServerTest, init package, and some java docs.
+- Make scope extraction more flexible.
+- Updated token response using Nimbus (#650)
+- Remove Oltu request and validator implementations (#650)
+- Updated OAuth2 response handler (#650)
+- Fixed ShutdownHandler (fixed #708)
+- Fixed issues with multi-release jar (#706, #708)
+
+
+# version 0.71.1
+
+- Removed auditing (#611)
+- Removed old database configurations (#612)
+- Removed old tests
+- Removed unnecessary caches and methods in the authentication interface
+- Added total result cache (#599)
+- Fixed missing project.version in info web-service
+- Make sure totalResults and other numeric results are numbers (Kupietz)
+- Introduce CQP query language in Koral 0.41
+- Changed DB connection (fixed #670)
+- Resolved duplicate libraries
+- Fixed testing expiry access token
+- Fix lombok compile warning
+- Ensure the order of clean token tests.
+
+# version 0.71
+
+- Renamed entity and service packages in core
+- Renamed web.controller package in core
+- Moved SearchNetworkEndpoint to core.service package
+- Merged lite into full
+- Merged core into full
+
+
+# version 0.70.1
+
+- Added data folder containing super_client_info and database 
+  for mounting into docker
+- Added an error for missing redirect uri in a token request 
+  when it has been included in the authorization request.
+- Added tests for VC sharing and for OAuth2 client using VC services
+- Added and updated VC controller tests
+- Moved hibernate.properties
+- Added maximum number of user persistent virtual corpora and queries
+
+# version 0.70
+
+- Support token array in matchinfo (fixes #570; diewald)
+- Updated VC list API and deprecated owner VC list (addressed #580)
+- Added user info web-service (solved #566)
+- Implemented configurable resource filters for search and match 
+  info APIs (#539)
+- Added getting username from LDAP (#568)
+- Disabled LDAP auth provider and token API in the auth filter (#587)
+- Added LDAP log for users without idsC2Profile
+- Fixed log4j2 properties.
+
+
+# version 0.69.3
+
+- Moved the service path of VC admin services to admin/vc (closed #543)
+- Added an admin service to load and cache system vc (solved #268)
+- Move oauth2 admin service path (closed #544) 
+- Excluded admin service to load-cache VC from the test suite
+- Fixed refresh token expiry test
+- Fixed scope check in OAuth2 token request with refresh token
+
+# version 0.69.2
+
+2022-12-05
+- Upgrade version for E2E-simplified Docker images (diewald)
+2023-01-27
+- Updated client info API (replaced user authorization requirement with super 
+  client authentication)
+2023-01-30
+- Made scope param required in authorization request (solved #508)
+2023-01-31
+- Allowed OAuth2 clients to use localhost as redirect URIs.
+2023-02-03
+- Fixed content-type in error responses by changing it to application/json
+2023-02-06
+- Allow admin access using admin token for the clean token API
+2023-02-10
+- Use admin filter instead of OAuth2 ADMIN scope  
+- Added a plugin test.
+2023-02-15
+- Moved user-group retrieval API to UserGroupAdminController 
+  and changed the service path URL of UserGroupAdminController. 
+2023-02-20
+- Deprecate API token (JWT) web-service
+- Fixed Slf4J binding
+2023-02-28
+- Exclude junit5 dependencies to keep test runner in Eclipse using JUnit 4
+2023-03-06
+- Fixed testing refresh token expiry.
+
+
+# version 0.69.1
+
+- Upgrade version for docker including indexer (diewald)
+
+
+# version 0.69
+
+ - Migrated to Java 11 and Jersey 2
+ - Updated dependencies
+ - Use LDAP authentication in Kustvakt-full oauth2 example config (kupietz)
+
+
+# version 0.68
+
+2022-05-25
+ - Added a new API: list plugins (e.g for marketplace)
+ - Added redirect URI validation in authorization request (addressed #374)
+ - Handled user-defined refresh token expiry (added in client info and 
+   list API response)
+ - Added installed_plugins table
+ - Added a new API: install plugin 
+ - Handled redundant plugin installation
+ - Handled super client id in plugin installation
+ - Deprecated UserClientDto and uses ClientinfoDto instead
+ - Updated redirect URI error message for coherence
+2022-05-27
+ - Added maximum limit to custom refresh token expiry
+2022-06-01
+ - Added new APIs: list user-installed plugins and uninstall plugin.
+ - Moved install and list plugin APIs to PluginController and updated their
+   service paths under /plugins.
+2022-06-03 
+ - Implemented searching option using a network endpoint
+ - Implemented initial super client registration for user authentication.
+ - Fixed admin clean token API and restrict plugins to confidential only.
+ 
+ 
+ 
+# version 0.67.1
+
+2022-05-12
+ - Implemented mapping of LDAP username to email
+ - Handled null parameters in authorization requests
+2022-05-25
+ - Fixed null client_id
+ - Updated ldap.config path in the kustvakt-test.conf
+ 
+
+# version 0.67
+
+2022-05-09
+ - LDAP authentication and authorization is now configurable and supports SSL (LDAPS) connections.
+ - An embedded LDAP server can now be started automatically if configured accordingly.
+2022-05-11
+ - Changed the SQL script updating oauth2_client table
+
+
+# version 0.66
+
+2022-03-31
+ - Updated query and user-group name pattern.
+2022-04-08
+ - Added redirect_uri to client info API.
+2022-04-11
+ - Added registration_date, refresh_token_expiry, source and is_permitted
+   to the oauth2_client database table, and updated the OAuth2 client 
+   registration mechanism.
+ - Added authorization request with GET and deprecated that with POST.
+2022-04-13
+ - Updated OAuth2Client list API (added redirect_uri, registration_date, 
+   permitted, source to OAuth2UserClientDto).
+2022-04-20
+ - Updated authorization error response. (Included error and error 
+   description in the client redirect URI except for missing or 
+   invalid client id or redirect URI.
+
+ 
+# version 0.65.2
+
+2022-03-03
+ - Removed VCLoader.
+ - Added foreign keys to the DB tables of access and refresh token scopes.
+2022-03-07
+ - Added more parameter checks and OAuth2Client web-service tests.
+2022-03-17
+ - Updated admin filter by using admin token and role checks.
+2022-03-18
+ - Added an OAuth2 admin API to delete expired/revoked access and refresh tokens.
+2022-03-28
+ - Updated admin filter (admintoken as a form param) and uses 
+   it for the closing index reader API. 
+ - Removed unused admin API: clear access token cache.
+2022-03-29
+ - Updated and moved admin API: updateClientPrivilege to OAuth2AdminController
+
+# version 0.65.1
+
+2022-03-01
+ - Restricts the field retrieval web-service to admin only.
+
+# 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-02
+ - Updated VC cache.
+2021-12-03
+ - Enabled listing system vc for authorized users.
+2021-12-08
+ - Removed koralQuery and statistics from VC list.
+ - Added a web-service to retrieve KoralQuery of a VC
+2021-12-10
+ - [security] Updated log4j libs due to CVE-2021-44228.
+2021-12-13
+ - Fixed broken test suite.
+2022-01-03
+ - [security] More log4j security updates
+ - Bumped unboundid-ldapsdk
+ - Updated tests.
+2022-01-25
+ - Added show-tokens option to the search API.
+2022-01-31
+ - Added an API retrieving fields of a virtual corpus.
+
+# version 0.64.1
+
+2021-10-26
+ - Bump Kustvakt and Krill versions.
+
+
+# version 0.64
+2021-07-29
+ - Updated the change files and made a new version.
+2021-08-12
+ - Fixed errors due to missing query type and added tests.
+2021-08-13
+ - Fixed missing request entity.
+ - Updated the query service to enable editing query references.
+2021-08-16
+ - Fixed creator param when storing query or VC by admins for 
+  the system or other users.
+
+# version 0.63.2
+2021-06-11
+ - Updated OAuth2 token length & secure random algorithm config.
+ - Added character set filter to random code generator, e.g. for client_id.
+2021-06-14
+ - Updated roleId and super client parameters.
+2021-06-24
+ - Fixed broken test. 
+2021-07-22
+ - Updated cache settings and some loggings.
+2021-07-26
+ - Replaced annotation parsing with restoring the annotation tables to the
+database.
+ - Moved cache config to the full config. 
+
+# version 0.63.1
+2021-02-22
+ - Updated libraries (margaretha)
+ - Renamed virtual corpus to query (margaretha)
+2021-02-26
+ - Added query access roles and fixed vc access roles (margaretha)
+ - Added delete query webservice and tests (margaretha) 
+2021-03-25
+ - Updated Koral version for Info Controller (margaretha)
+ - Updated OAuth2 token list with token type and user clientId 
+parameters (margaretha) 
+2021-03-29
+ - Added client type in the client list web-service. Resolved #58 (margaretha)  
+2021-04-19
+ - Updated OAuth2Client JSON definition and controller tests (margaretha)
+2021-04-26
+ - Updated OAuth2 Client list (margaretha)
+2021-04-30
+ - Updated parameters in the error responses of OAuth2 APIs for coherence (margaretha)
+ - Updated OAuth2 API responses for coherence (margaretha) 
+2021-06-07
+ - Updated OAuth2 client dto (margaretha)
+  
+# version 0.63
+26/10/2020
+ - Updated dependency of nimbus-jose-jwt and oauth2-oidc-sdk (diewald)
+29/10/2020
+ - Introduction of a query reference rewrite mechanism (diewald)
+30/10/2020
+ - Added database methods for storing query references (diewald) 
+04/12/2020
+ - Fix hibernate dialect for SQLite. (margaretha)
+04/12/2020
+ - Fix pipe warning. (margaretha)
+14/01/2021
+ - Updated Flyway (margaretha)
+21/01/2021
+ - Fixed running pipe and updated tests with mockserver (margaretha)
+01/02/2021
+ - Updated methods dependent to Antrl4-maven-plugin libraries (margaretha) 
+05/02/2021
+ - Add query reference web-service (diewald,margaretha) 
+10/02/2021
+ - Fixed problem with multiple desktop apps (diewald, margaretha)
+12/02/2021
+ - Added listing available queries for users (margaretha)
+17/02/2021
+ - Removed escaping for KoralQuery in VC and query reference responses (margaretha)
+ - Added query and query language in virtual corpus table (margaretha)
+18/02/2021
+ - Set corpus access public for stored query (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 (margaretha)
+03/02/2020
+ - Added an admin API for clearing access token cache (margaretha)
+05/02/2020
+ - Added a config properties for a long-time access token expiry 
+  and excluded refresh tokens for public clients in OAuth2 token 
+  responses (margaretha)
+ - Removed client authentication from the client deregistration and 
+  client-secret reset APIs (margaretha) 
+04/03/2020
+ - Updated the sample index (diewald)
+
+# version 0.62.3
+03/12/2019
+ - Implemented pipe extension in the search API (margaretha)
+11/12/2019
+ - Added errors when requesting VC in caching process (margaretha, 
+ resolved #47)
+12/12/2019
+ - Added support for multiple cq parameters (margaretha, resolved #46)
+13/12/2019
+ - Handled pipe errors and added tests (margaretha)
+19/12/2019
+ - Updated create update user-group API (margaretha)
+20/12/2019
+ - Removed transactional annotations from simple select queries (margaretha)
+ - Updated free resource controller (margaretha)
+15/01-2020
+ - Added additional statistic figures to virtual corpus info API 
+  response (margaretha) 
+  
+# version 0.62.2
+17/10/2019
+ - Handled vulnerability CVE-2019-17195. (margaretha)
+8/11/2019
+ - Added user-group name pattern (margaretha, issue #33)
+11/11/2019
+ - Updated user group service paths and replaced groupId with groupName 
+  (margaretha, resolved #33)
+12/11/2019
+ - Removed UserGroupJson & updated listUserGroups and createUserGroup 
+  services (margaretha)
+ - Added prefixes to username and groupname parameters in service paths 
+  (margaretha, resolved #35)
+13/11/2019
+ - Added tests for issue #43 (margaretha)
+14/11/2019
+ - Added client description and URL to list-authorized-clients service 
+  (margaretha, close #53)
+ - Implemented a service to list clients registered by a user (margaretha, 
+  close #52)
+ - Added a check for OAuth2 client, VC, and group name length (margaretha)
+15/11/2019
+ - Merged list authorized client and list registered client services
+  (margaretha)
+21/11/2019
+ - Added a service to list active refresh tokens of a user (margaretha)
+ - Added username filtering to token revocation service via super client 
+  (margaretha)
+26/11/2019
+ - Added a service to revoke a single refresh token via super client 
+  (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)
+07/08/2019
+ - Fixed missing scopes after requesting access token with refresh token 
+  (margaretha)
+ - Fixed post requests with status OK and empty body (margaretha)
+07/08/2019
+ - Added users to hidden group when searching in a published VC (margaretha, 
+  resolved #40)
+15/08/2019
+ - Updated the response statuses of VC PUT requests (margaretha)
+
+# version 0.62
+28/02/2019
+ - Removed old VC controllers and updated tests (margaretha, issue #34)
+ - Updated VC access controllers (margaretha)
+19/03/2019
+ - Added close index controller (margaretha)
+11/04/2019
+ - Fixed unknown authentication scheme, missing VC entity, and parameter 
+  checker (margaretha)
+ - Fixed sharing unknown VC, updating corpusQuery, and handling non-
+  unique group name and unknown VC access (margaretha)
+27/06/2019
+ - Handled LDAP errors, fixed #45 (margaretha)
+03/07/2019
+ - Added re-caching VC at closing-index service, resolved #44 (margaretha)
+ - Changed the response media-type of authentication controllers (margaretha)
+ - Fixed bugs: allow guest to retrieve system VC, 
+  remove VC from cache when it is deleted (margaretha)
+04/07/2019
+ - Updated VC name pattern and tests (margaretha)
+
+# version 0.61.6
+04/02/2019
+ - Fixed SQL data and merged oauth2_client_url and oauth2_client (margaretha)
+ - Updated client deregistration behavior (margaretha)
+05/02/2019
+ - Added delete-group-by-name controller (margaretha)
+ - Added unique index to group name (margaretha)
+06/02/2019
+ - Updated a user setting test using array for multiple values (margaretha)
+ - Added metadata controller tests (margaretha)
+18/02/2019
+ - Fixed tests (margaretha)
+ - Updated handling errors from Koral (margaretha)
+19/02/2019
+ - Added fields to metadata controller (margaretha, issue #39)
+
+# version 0.61.5
+17/12/2018
+ - Added a search timeout test (margaretha)
+18/12/2018
+ - Updated tests using BeanConfigTest to use SpringJerseyTest (margaretha)
+08/01/2019
+ - Improved predefined vc caching (issue #28, margaretha)
+09/01/2019
+ - Added comments (margaretha)
+ - Updated code structure (margaretha)
+11/01/2019
+ - Degraded API version to 1.0 (margaretha)
+ - Added OAuth2 client info tests (margaretha)
+14/01/2019
+ - Added retrieveVCByName and deleteVCByName controllers (margaretha)
+16/01/2019
+ - Added a PUT request for both creating and editing vc (margaretha)
+ - Added aliases to some VC controllers (margaretha)
+ - Merged VC access list controllers (margaretha)
+21/01/2019
+ - Removed codes related to user registration & password management (margaretha)
+22/01/2019
+ - Added create, edit, retrieve user default setting controllers (margaretha)
+22/01/2019
+ - Updated default setting controllers & added tests (margaretha)
+ - Added delete key in setting controllers (margaretha)
+23/01/2019
+ - Added default setting key validation (margaretha)
+ - Fixed UserdataTest (margaretha) 
+24/01/2019
+ - Added default setting key validation & fixed UserdataTest (margaretha)
+25/01/2019 
+ - Added VC reference and MapUtil tests (margaretha)
+28/01/2019
+ - Fixed username verification in DefaultSettingService (margaretha)
+ - Added foundry rewrite with user default setting (margaretha)
+ - Added default foundry for morphology layer (margaretha)
+29/01/2019
+ - Fixed share VC type (margaretha)
+ - Added delete setting controller (margaretha)
+ - Handled "no resource found" cases (margaretha, issue #37)
+30/01/2019
+ - Added server shutdown description in readme (margaretha) 
+
+# version 0.61.4
+14/11/2018
+ - Integrated lite and full services and controllers in core (margaretha)
+21/11/2018
+ - Updated OAuth2 refresh token request to create a new refresh token and 
+  revoke the old one per request (margaretha)
+28/11/2018
+ - Updated NamedVCLoader to delete existing VC in DB (margaretha)
+ - Handled storing cached VC with VC reference (margaretha)
+29/11/2018
+ - Added a controller for listing user clients having active refresh tokens 
+  (margaretha)
+6/12/2018
+ - Added debug flags to mitigate log4j debugging performance (margaretha)
+ - Fixed KoralNode at() method (margaretha)
+11/12/2018
+ - Implemented revoking all tokens of a user client via a super client
+ (margaretha) 
+ - Removed document controllers and KustvaktResource (margaretha)
+ - Fixed rewrite bugs (updated rewriteQuery & KoralNode) (margaretha)
+
+ 
+# version 0.61.3
+17/10/2018
+ - Updated NamedVCLoader to be optional (margaretha)
+ - Updated annotation tables & implemented key-value structure (margaretha)
+ - Added annotation parser for annotation data from kalamar (margaretha)
+ - Implemented parsing free resource info from json (margaretha)
+22/10/2018
+ - Updated jetty, spring and hibernate versions (margaretha)
+ - Fixed the order of annotation keys and values, and added tests (margaretha)
+ - Fixed resource DAO & added tests (margaretha)
+24/10/2018
+ - Fixed query serialization service (margaretha)
+ - Added "highlights" parameter to matchInfo controller (margaretha)
+ - Added "fields" parameter to search controllers (margaretha)
+ - Integrated lite controllers, services and tests in full version (margaretha)
+29/10/2018
+ - Moved javax.servlet-api to core (margaretha)
+07/11/2018
+ - OpenJDK8u181-workaround (see Debian Bug report #911925; diewald)
+13/11/2018
+ - Added Shutdown handler to Jetty server (margaretha)
+ - Fixed storing VC order in NamedVCLoader (margaretha)
+
+# version 0.61.2
+12/09/2018
+ - Added various log4j2 configurations (margaretha)
+13/09/2018
+ - Implemented VirtualCorpusRewrite (margaretha)
+14/09/2018
+ - Fixed SpringJerseyTest ApplicationContext (margaretha)
+ - Handled VCRef with username in VirtualCorpusRewrite (margaretha)
+ - Enabled VCReferenceTest in maven test suite (margaretha)
+18/09/2018
+ - Handled unique constraints / inserting duplicate items to DB (margaretha)
+ - Added a controller for editing user group member roles (margaretha)
+19/09/2018
+ - Fixed cached-VC ref with username (margaretha) 
+
+# version 0.61.1
+28/08/2018
+ - Added API URL versioning (margaretha)
+ - Deactivated IdRewrite (margaretha)
+ - Fixed kustvakt controller (margaretha)
+30/08/2018
+ - Fixed root packages & added api version properties in kustvakt.conf
+  (margaretha)
+ - Fixed versioning in SearchController (margaretha)
+ - Added API versioning tests (margaretha)
+
+# version 0.61.0
+
+02/08/2018
+ - Added VC reference tests (margaretha)
+ - Implemented loading and caching named VCs (margaretha)
+03/08/2018 
+ - Implemented OAuth2 revoke token (margaretha)
+ - Updated OAuth2 refresh token implementation (margaretha)
+14/08/2018 
+ - Implemented revoke all OAuth2 access tokens and authorization codes of
+ client users when deregistering/deleting a client (margaretha)
+ - Fixed update OAuth2 access token (margaretha)
+ - Implemented reset client secret (margaretha)
+ - Fixed revoking latest access token when refreshing OAuth2 access token
+  (margaretha)
+15/08/2018
+ - Implemented OAuth2 client info controller (margaretha)
+ - Implemented update OAuth2 client privilege controller for admins
+  (margaretha)
+ - Implemented unlimited authorization scope for super clients with OAuth2
+  password grant (margaretha)
+ - Marked native clients implementation to deprecated in favour of super
+  clients (margaretha)
+ - Enabled using Bearer tokens as user authentication tokens (Authorization
+  header value) for many controllers including OAuth2 controllers (margaretha)
+16/08/2018
+ - Implemented degrading super clients (margaretha)
+ - Improved and added OAuth2 tests (margaretha)
+21/08/2018
+ - Added VC name pattern check (margaretha)
+22/08/2018
+ - Implemented loading VC from gz files (margaretha)
+ - Updated OAuth2 authorization codes' & access tokens' expiry check
+  (margaretha)
+23/08/2018 
+ - Updated RefreshToken implementations with separate DB tables (margaretha)
+ - Allows multiple access tokens per refresh token (margaretha)
+27/08/2018
+ - Added statistic with VC reference tests (margaretha)
+ - Fixed OAuth2 SQL files (margaretha) 
+28/08/2018
+ - Added c3p0 datasource configuration to Spring default-config-xml
+  (margaretha)
+ - Added running Kustvakt server with custom spring config in the readme
+  (margaretha)
+ - Removed old OAuth2 codes (margaretha)
+ - Moved non-config test codes to misc (margaretha)
+ 
+
+# version 0.60.5
+
+09/07/2018
+ - Added service layer to the search controller (margaretha)
+ - Added OAuth2 scope checking in search and VC controllers (margaretha)
+ - Added handling OAuth2 bearer token for VC access and User group
+  controllers (margaretha)
+ - Added default scope to password grant (margaretha)
+10/07/2018
+ - Made createBasicAuthorizationHeaderValue static (margaretha)
+ - Added store access token in openID token service (margaretha)
+ - Fixed empty scope in openID authorization and token service (margaretha)
+ - Implemented storing authorization code in cache (margaretha)
+11/07/2018
+ - Fixed authentication time in authentication controller (margaretha)
+ - Added OAuth2 access token tests (margaretha)
+12/07/2018
+ - Updated maven surefire setting for faster test suite runtime (margaretha)
+ - Implemented refreshing OAuth2 access token (margaretha)
+26/07/2018
+ - Fixed issue #27 (margaretha)
+02/08/2018s
+ - Fixed clientId encoding in OAuth2ClientControllerTest (margaretha)
+
+ 
+# version 0.60.4
+
+05/07/2018
+ - implemented OAuth2 authorization code request with OpenID Authentication
+  (margaretha)
+ - enabled OAuth2 authorization without OpenID authentication using Nimbus
+  library (margaretha)
+ - implemented response handler for OpenID authentication errors in authorization
+  requests (margaretha)
+ - added tests regarding OpenID authentication in authorization requests
+  (margaretha)
+ - implemented OAuth2 authorization error response via redirect URI instead of
+  JSON (margaretha)
+ - added state to OAuth2 authorization error response (margaretha)
+ - implemented OpenID token service for authorization code flow (margaretha)
+ - implemented signed OpenID token with default algorithm RSA256 (margaretha)
+ - implemented JSON Web Key (JWK) set web-controller listing kustvakt public
+  keys (margaretha)
+ - implemented OpenId configuration (margaretha)
+ - added authentication time and support for auth_time in id_token (margaretha)
+ - implemented support for nonce and max_age parameters in OpenID authentication
+  (margaretha)
+ - implemented OAuth2 token request with password grant using Nimbus library
+  (margaretha)
+ - updated redirect URI validator (margaretha)
+ - updated client registration requirement to allow desktop applications
+  (margaretha)
+ - fixed RSA key configuration (margaretha)
+ - merged OAuth2 client deregistration controllers (margaretha)
+ - fixed OAuth2 client unique URL-hashcode (margaretha)
+ - migrated logging to log4j 2 and adapted java.util.logging to log4j(margaretha)
+ - Added support for unrestricted corpus statistics (ndiewald)
+ - updated paths of user-group deletion-controllers (margaretha)
+ - Do not pass broken queries to Krill (diewald)
+ - added OAuth2 token request with client authentication via Authorization
+  header (margaretha)
+ - added port checking in test suite (margaretha)
+ 
+# version 0.60.3
+
+06/06/2018
+ - improved user authentication by using authentication filter for authorization
+  code request (margaretha)
+ - limited client authentication to client id checking in authorization code
+  request (margaretha)
+ - added user_id in the oauth2_access_token database table (margaretha)
+ - implemented OAuth2Authentication provider for token context management
+  (margaretha)
+ - added parameter checking for authorization DAO (margaretha)
+ - added controller tests using OAuth2 access token (margaretha)
+ - added database tables for MySQL (margaretha)
+ - updated JWT library and related codes (margaretha)
+ 
+# version 0.60.2
+
+03/05/2018
+ - implemented OAuth2 client registration (margaretha)
+ - implemented OAuth2 client authentication (margaretha)
+ - changed virtual corpus search to retrieval (margaretha)
+ - implemented public client deregistration task (margaretha)
+ - added client registration and deregistration tests (margaretha)
+ - implemented confidential client deregistration task (margaretha)
+ - fixed storing client secret (margaretha)
+ - implemented OAuth2 response handler (margaretha)
+ - implemented OAuth2 request access token with client credentials grant
+  (margaretha)
+ - implemented OAuth2 request access token with resource owner password grant
+  (margaretha)
+ - implemented OAuth2 authorization code request (margaretha)
+ - added OAuth2 error codes (margaretha)
+ - added OAuth2 authorization, scope and access token tables for SQLite
+  (margaretha)
+ - implemented OAuth2 authorization, scope and access token DAO (margaretha)
+ - implemented OAuth2 request access token with authorization code grant
+  (margaretha)
+ - added setting default scopes in the config file (margaretha)
+ - fixed loading spring config multiple times in the test suite (margaretha)
+ - added SQLite created_date trigger for access token (margaretha)
+ - added a join table for access token scopes (margaretha)
+ - added access scopes handling (margaretha)
+ - added tests about request token with authorization code (margaretha)
+ 
+# version 0.60.1
+
+28/03/2018
+ - added admin-related SQL codes (margaretha)
+ - updated AdminDao (margaretha)
+ - added optional username query parameter to group list controller (margaretha)
+ - fixed non hierarchical URI of kustvakt conf files (margaretha)
+ - added delete group member triggers (margaretha)
+ - added list user-group by username and status for system admin (margaretha)
+ - added user-group status in user-group DTO (margaretha)
+ - added check for hidden groups in user-group tests (margaretha)
+ - added database trigger test on deleting members when deleting group
+  (margaretha)
+ - renamed VC type PREDEFINED to SYSTEM (margaretha)
+ - added VC list controller for system admin (margaretha)
+ - added VC controller tests with for system admin (margaretha)
+ - added hidden access removal when deleting published VC (margaretha)
+ - added check for hidden groups in VC controller tests (margaretha)
+ - added search user-group controller (margaretha)
+ - removed createdBy from VirtualCorpusJson (margaretha)
+ - moved member role setting from the invitation phase to the after-subscription
+  phase (margaretha)
+ - added member role removal after deleting members (margaretha)
+ - added add and delete member role controllers (margaretha)
+ 
+# version 0.60
+
+14/03/2018
+ - set up mail settings using localhost port 25 (margaretha)
+ - added mail template in kustvakt configuration (margaretha)
+ - added mail settings to readme (margaretha)
+ - disabled email notification for auto group (margaretha)
+ - added metadata retrieval (diewald)
+ - enabled custom implementation for email address retrieval (margaretha)
+ - removed old policy and deprecated code (margaretha)
+ - moved authentication related code to /full (margaretha)
+ - added userRoles attribute to UserGroupDto. (margaretha)
+ - fixed sqlite trigger (margaretha)
+ - fixed member exist error message (margaretha)
+ - fixed member invitation to join deleted group (margaretha)
+ - added checking deleted group (margaretha)
+
+# version 0.59.10
+ 
+20/02/2018 
+ - added sort VC by id (margaretha)
+ - added test cases regarding VC sharing (margaretha)
+ - implemented withdraw VC from publication (margaretha)
+ - added Changes file (margaretha)
+ - implemented add/invite users to group (margaretha)
+ - implemented delete user-group and member tasks (margaretha)
+ - added userMemberStatus in group lists (margaretha)
+ - updated and added SQL test data (margaretha)
+ - added user group related tests (margaretha)
+ - implemented custom configuration for deleting user groups and members (margaretha)
+ - updated library versions and java environment (margaretha)
+ - added expiration time check for member invitation (margaretha)
+ - moved .properties files (margaretha)
+ - merged changelog file to Changes (margaretha)
+ - updated status codes and error messages to be more detailed (margaretha)
+ - testing mail implementation using embedded jetty jndi (margaretha)
+ - fixed collection rewrite regarding OR operation with other fields
+  (margaretha)
+ - implemented sending mail using spring injection and removed jetty jndi
+  (margaretha)
+ - fixed unrecognized application/json (margaretha)
+ - fixed and updated velocity template (margaretha)
+ 
+# version 0.59.9 
+
+19/01/2018
+ - restructured basic authentication (margaretha)
+ - fixed AuthenticationException to include authentication scheme (margaretha)
+ - fixed rewrite redundancy in collection rewrite (margaretha)
+ - fixed foundry rewrite for constituents (margaretha)
+ - introduced authentication methods, schemes and tokens (margaretha)
+ - implemented collection rewrite with multiple licenses (margaretha)
+ - fixed foundry rewrite for korap span without wrap node (margaretha)
+ - implemented list user group (margaretha)
+ - implemented delete VC task (margaretha)
+ - implemented create user-group, subscribe to user-groups, unsubscribe to
+  user-groups tasks(margaretha)
+ - fixed handling JSON mapping exception for missing enums (margaretha)
+ - implemented list VC task (margaretha)
+ - added KoralQuery in VC lists (margaretha)
+ - implemented edit VC task (margaretha)
+ - implemented publish VC task (margaretha)
+ - implemented share VC task (margaretha)
+ - implemented list only owned VC task (margaretha)
+ - implemented list VC access task (margaretha)
+ - implemented search VC by id task (margaretha)
+ - implemented delete VC access (margaretha)
+ - implemented search for project VC (margaretha)
+ - added search VC related tests (margaretha)
+ - removed PredefinedUserGroup.ALL and related codes (margaretha)
+ - implemented search for published VC (margaretha)
+ 
+# version 0.59.8
+ 
+21/09/2017
+ - restructured statistics service (margaretha)
+ - removed deprecated loader codes and tests (margaretha)
+ - removed old Spring java configurations (margaretha)
+ - implemented entity classes for the new database (margaretha)
+ - added MySQL codes regarding VC and for testing (margaretha)
+ - added dao methods regarding VC (margaretha)
+ - added similar SQL codes (to MySQL) for sqlite (margaretha)
+ - added dao methods regarding user groups (margaretha)
+ - restructured web-service codes into controller and logic/business-service
+  (margaretha)
+ - implemented user role and privilege, and added tests (margaretha)
+ - prepared test suite using new database (margaretha)
+ - implemented UserGroupDao and tests (margaretha)
+ - fixed missing exceptions in JsonUtils (margaretha)
+ - restructured web filters and authentication codes (margaretha)
+ - implemented create/store VC (margaretha)
+ - fixed collection rewrite bug regarding availability with operation or
+  (margaretha)
+
+# version 0.59.7
+
+13/10/2016
+ - MOD: updated search to use new siglen (diewald)
+ - MOD: fixed matchinfo retrieval in light service (diewald)
+
+05/05/2015
+ - ADD: rest test suite for user service (hanl)
+ - MOD: setup parameter modification (hanl)
+ - ADD: oauth2 client unique constraint (hanl)
