# version 0.76-SNAPSHOT

- Add institution & landingPage to the resource web-service (#777)
- Make URL mandatory for plugin registration (#573)
- Remove hidden group from test database
- Implemented QueryContextRewrite (#755)
- Replace operation:insertion with operation:injection (#778) 
- Update VirtualCorpusRewrite Remove Owner (#779)
- Add source to QueryReferenceRewrite (#783) and VirtualCorpusRewrite (#780)
- Use operation:override in virtual corpus (reference) rewrite (#780)
- Use operation:override in query reference rewrite (#783)

# version 0.75

- Alter role and remove privilege database tables (#763)
- Update user-group and user-group member web-services (#763)
- Remove edit member role web-service (#763)
- Remove query access table (#763)
- Remove query access admin, merged with user-group admin (#763)
- Update share-query and query-access web-services (#763)
- Add new web-service: delete role by query and group (#763)
- Remove soft delete group and group status deleted (#765)
- Remove soft delete group member and member status deleted (#765)
- Removed SearchResourceFilters and UserGroupJson
- Removed deleted_by from user_group and user_group_member tables (#764)
- Removed created_by, status and status_date from user_group_member table (#764)
- Removed GroupMemberStatus (#764)
- Replace invite and subscribe to add member (#764)
- Remove unsubscribe member (#764)
- Added deprecation messages to deprecated services
- Removed mail configuration (#764)
- Deprecate VC access deletion
- Change default port to 8089
- Disallow scope all for non super clients
- Added config for total result cache and fixed inconsistency (#774)
- Changed memberUsername to member in the new member-role-addition web-service
- Removed user-privileges from user-group list response
- Added role names to user-group list
- Added not-timeExceeded to the totalResult constraints
- Replace EDIT_VC occurrences with CREATE_VC, and removed it
- Fixed administrative user group retrieval to return groups with empty members


# version 0.74.1-SNAPSHOT

- Switch Docker image to temurin (diewald)
- - Introduce filter_by and deprecate authorized_only in OAuth2
  client list (close #579)

# version 0.74 hot-fix

- Removed admin & owner restriction on client info access
- Removed registered_by and restrict registration_date to admin/owner-
  only

# version 0.74

- 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)
