Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.4.0] - 2022-07-07
Added
-
Add monitoring endpoint to count disconnected websockets
-
Add Kubernetes compatible health checks
Fixed
-
Minor bug fixes spotted by static code analyses
Changed
-
Add incremental delay when retrying on server error response from third party service
-
Add timeout when connecting on websocket, so that it won’t wait forever on failing connection
[2.3.1] - 2022-06-13
Added
-
Add support for app users with multiple clientIds in v2 cti-app-context endpoint
[2.3.0] - 2021-04-07
Added
-
Add support for app users with multiple clientIds
Changed
-
Update to JDK 17
-
Update to EE4j/Jakarta 9.1
-
Update to Microprofile 5.0
-
Update OpenLiberty image
[2.2.2] - 2021-12-13
Changed
-
Bump OWASP ESAPI dependency
[2.2.1] - 2021-12-09
Changed
-
Improve resilience when receiving 5xx responses from third parties by retrying a number of times to perform the API call
[2.2.0] - 2021-10-25
Added
-
New eventUriMappings resource allowing GET and PUT methods
[2.1.3] - 2021-06-02
Changed
-
Update openliberty image
[2.1.2] - 2021-02-10
Fixed
-
Updating refresh token in database when receiving it as part of an access token refresh
[2.1.1] - 2020-11-25
Changed
-
Updating clientId and clientSecret in addition to access and refresh token when reposting same user
[2.1.0] - 2020-10-15
Added
-
Add ExternalApiEndpoint resource to v2 resources
[2.0.6] - 2020-09-04
Changed
-
Improve logging
Fixed
-
AppUserContext entity not refreshed in v1 WAR when changed via v2 WAR
[2.0.5] - 2020-05-22
Fixed
-
AppUserContext entity not refreshed in v1 WAR when changed via v2 WAR
[2.0.4] - 2020-05-20
Fixed
-
Remove handler v1 dependency from resource v2 package
[2.0.3] - 2020-05-19
Fixed
-
Add missing sl4j error logging messages which were mistakenly removed
[2.0.2] - 2020-05-19
Fixed
-
Double Websocket startup listener causing race conditions when establishing Websocket connections
-
Map javax.ws.rs.NotFoundException to 404 status instead of 500
-
Print REST response of external API calls.
-
Exception not correctly logged in archived file logs
[2.0.1] - 2020-04-30
Fixed
-
Refresh token should be refreshed also on non 401 resource responses
[2.0.0] - 2020-04-20
Changed
-
New security mechanism introduced with v2 resources
Deprecated
-
Resources with non versioned URLs are deprecated, only v2 URLs will be available in the future
[1.15.4] - 2020-04-01
Changed
-
Improve error logging when receiving non 200 responses
[1.15.3] - 2020-01-27
Fixed
-
Fix case sensitivity when searching for xelion user in database, is case insensitive now.
-
Fix issue when updating existing user in appuser context.
Fixed
-
Fix refresh token of Exchange user was not updated, when app was posting new one.
[1.15.2] - 2020-01-27
Fixed
-
Fix refresh token of Exchange user was not updated, when app was posting new one.
[1.15.1] - 2019-11-06
Fixed
-
Singleton TimerService was causing deadlock, changed it to Stateless
[1.15.0] - 2019-11-05
Changed
-
Use Java 11 for compilation and in open-liberty web server
Fixed
-
Concurrency and timer issues when connnecting and disconnecting from websockets
[1.14.1] - 2019-09-26
Changed
-
Add database logging
-
Start using [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) changelog format
[1.14.0] - 2019-09-10
-
Added support for HTTP patch, delete, put external API calls.
-
Changed CrmIntegrationResource post user validation against Xelion server; is no longer case sensitive
[1.13.0] - 2019-07-12
-
Filter websocket notifications which contain same calleePhoneNumber and callerPhoneNumber
-
Change client_secret to optional when non websocket modus (e.g. exchange integration) is used
[1.12.2] - 2019-07-05
-
Encode spaces in query params passed to external APIs as '%20' instead of '+'
[1.12.1] - 2019-06-13
-
Fixed object used by timer was not serializable
[1.12.0] - 2019-06-13
-
In AdminWebSocketResource changed response by adding whole RestEventUriMapping object
-
Renamed oauth and oauthconnector project and package names to cti
[1.11.5] - 2019-06-11
-
Fixed wrong database ID when creating model object
[1.11.4] - 2019-06-03
-
Added support for Microsoft x-www-form-urlencoded way of refreshing tokens
[1.11.3] - 2019-06-03
-
Fixed stackoverflowerror when validating long string
[1.11.2] - 2019-06-03
-
Fixed xelion context URL for API Token verification
[1.11.1] - 2019-06-03
-
Fixed xelionUserOid mandatory in cti-app-context resource
[1.11.0] - 2019-06-03
-
Added CtiAppContext resource
-
Added ExternalApiEndpoint resource
-
Add crmContext_id as unique database constraint in UserCredentialsEntity
[1.10.1] - 2019-05-28
-
Fixed encoding of query parameters in crmResourceURI
[1.10.0] - 2019-05-15
-
Removed Xelion events validation
[1.9.1] - 2019-04-26
-
Fix CreationDate not serializable exception when websockets automatically reconnect
[1.9.0] - 2019-04-16
-
Automatic Websocket reconnection if websocket is terminated on the remote
-
Added CRM integration creation date field
-
Added Usercredentials creation date field
[1.8.0] - 2019-03-28
-
Added new resources to the Admin API interface
-
admin/crm-integrations/id/crm-contexts/id/user-credentials - GET method
-
admin/users - DELETE method
-
-
Added "used" boolean column to database
-
Improved logging when deleting a resource
-
Fix "unused not persisted" bug when starting up application
[1.7.0] - 2019-03-18
-
Added support for EL expressions(e.g. template literals) in variables present in the crmResourceUri and crmResourcePayload fields
-
New field call duration added which can be used when calling external CRM APIs
-
Wrap error plain text messages in JSON message
-
Security improvement: Encryption of sensitive fields in database
-
Added new resources to the Admin API interface
-
Some bug fixes in websocket connections during startup
[1.6.2] - 2019-03-05
-
Fixes in connecting to websockets during startup
[1.6.1] - 2019-02-12
-
Fix URL path regression for Admin API interface
[1.6.0] - 2019-02-12
-
Added the following new resources and subresources
-
/users resource - supported methods GET, DELETE, PUT - allows to retrieve, delete and update information about a user
-
/users/<userid>/clientid/update action - method POST - allows to update the user Oauth 2.0 clientid
-
/users/<userid>/clientsecret/update action - method POST - allows to update the user Oauth 2.0 clientsecret
-
/users/<userid>/refreshtoken/update action - method POST - allows to update the user Oauth 2.0 refreshtoken
-
/users/<userid>/devicecode/update action - method POST - allows to update the user Oauth 2.0 devicecode
-
-
/xelion-environment resource - supported methods GET, PUT - allows to retrieve and update information about a xelion context
-
/xelion-environment/<xelionContextId>/admin/username/update - method POST - allows to update the xelion Admin username
-
/xelion-environment/<xelionContextId>/admin/password/update - method POST - allows to update the xelion Admin password/update
-
-
-
/crm-integrations POST method - userCredentials object is now optional and can therefore be omitted
-
/crm-integrations/<xelionContextId>/crm-contexts/<crmContextId>/user-credentials POST method - returns userIds and other info of created users
-
/crm-integrations/<xelionContextId>/crm-contexts/<crmContextId>/user-credentials Resource - added new GET method to retrieve information about the users e.g. the userId
[1.5.0] - 2018-11-14
-
Added POST session/login resource to retrieve an API authentication token
-
Following resources need an Authorization HTTP Header with the API token prefixed by "xelion " as value, e.g. (Authorization:"xelion xxxxxxxxxxxx"):
-
GET /crm-integrations
-
DELETE /crm-integrations
-
POST /crm-integrations/<xelionContextId>/crm-contexts/<crmContextId>/user-credentials
-
-
Removed HTTP support (REST services are now only available via HTTPS).
[1.4.0] - 2018-11-05
-
Added oauth-connector domain
-
Added SSL support
-
Removed DELETE by host/tenant combination
-
Bug fixes
[1.3.0] - 2018-10-25
-
POST /crm-integrations now returns a body with IDs. You can use in other requests to add new xelionUsers
-
Added new POST /crm-integrations/<xelionContextId>/crm-contexts/<crmContextId>/user-credentials Resource, which allows to add new users to an existing XelionContext and CrmContext
-
Added new GET /crm-integrations?xelionHost=<domain name or IP address>&xelionTenant=<tenantName> with which you can retrieve some information like relevant IDs
-
Added new DELETE /crm-integrations/<xelionContextId> which deletes the whole crmIntegration, including the xelionContext, crmContext, userCredentials and eventUriMappings
-
Old DELETE with host tenant combination is deprecated and if you’re not already using it, I will remove it next week. Please let me know if you are not ok with this.