| # version 0.74-SNAPSHOT | 
 |  | 
 | - Remove corpusQuery param in the statistics web-service (close #758). | 
 | - Moved NamedVCLoader to the init package. | 
 | - Clean up Spring XML configs. | 
 | - Fix some logging to write to file instead of stdout. | 
 | - Change CC RE from CC-BY.* to CC.* (kupietz) | 
 | - Unified ResourceFilters and SearchResourceFilters. | 
 | - Fixed supported versions in the configs & changed delimiter to comma. | 
 | - Setup log4j2 config (#753) | 
 |  | 
 | # version 0.73.2 | 
 |  | 
 | - Added tests for the DNB scenario with custom max match  | 
 |   and context size. (#745) | 
 | - Cleaned up named-vc.   | 
 | - Updated tests using the old match info web-services (#757) | 
 | - Added deprecation warning for the old matchInfo service (#757) | 
 | - Fixed empty named VC path in configuration (solves #754) | 
 | - Restrict registration info for plugins (solves #572)   | 
 | - Removed redirect uri from InstalledPluginDto & updated tests. | 
 |  | 
 | # version 0.73.1 | 
 |  | 
 | - Fixed jakarta validation error. | 
 | - Added openapi doc (#744) | 
 | - Moved service.properties to src/main/resources/properties  | 
 | - Moved free-resources.json to src/main/resources/json | 
 | - Enables inputting free-resources.json from data folder | 
 | - Changed loading external kustvakt.conf and jdbc.properties  | 
 |   to use /data folder (#598) | 
 | - Added KoralQuery check when updating VC (solved #676) | 
 | - Setup vc-cache in the data folder (#598) | 
 | - Changed generating adminToken in the data folder (#598). | 
 | - Moved disk store path cache_store into the data folder (#598) | 
 | - Fixed invalid signature of the uber jar. | 
 | - Updated configurations of the lite version to use the  | 
 |   data folder (#598) | 
 | - Setup logs files to be generated inside the data folder (#598) | 
 |  | 
 | # version 0.73 | 
 |  | 
 | - Moved the content of the full folder to the root folder | 
 | - Removed Piwik | 
 | - Removed unused libraries | 
 | - Cleaned up spring configs | 
 | - Updated Krill and Koral with new groupIds | 
 | - Updated Github workflow | 
 | - Updated search Krill and removed Lucene | 
 | - Updated readme | 
 |  | 
 | # version 0.72 | 
 |  | 
 | - 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) |