# Release note

## 4.1.2

*Release date: 2025-03-27*

**Bug**

* \[[GUM-384](https://gazelle.ihe.net/jira/browse/GUM-384)] Special characters are allowed in email during User Registration

## 4.1.1

*Release date: 2025-02-24*

**Bug**

* \[[GUM-377](https://gazelle.ihe.net/jira/browse/GUM-377)] Users are not able to complete action in Gazelle User Management

## 4.1.0

*Release date: 2025-02-07*

**Bug**

* \[[GUM-364](https://gazelle.ihe.net/jira/browse/GUM-364)] error when the user have desynchro between GUM and PNT

**Improvement**

* \[[GUM-367](https://gazelle.ihe.net/jira/browse/GUM-367)] Make Automatic Email Sending Configurable in GUM Interface

## 4.0.0

*Release date: 2024-11-29*

Step 4 of Gazelle User Management renovation (new user management interface).

**Bug**

* \[[GUM-105](https://gazelle.ihe.net/jira/browse/GUM-105)] Users created by administrators in Keycloak are not purged
* \[[GUM-221](https://gazelle.ihe.net/jira/browse/GUM-221)] Timestamp data are stored without time zone

**Story**

* \[[GUM-98](https://gazelle.ihe.net/jira/browse/GUM-98)] \[GUM04] Implement specific Keycloak CAS mapper groups->roles
* \[[GUM-260](https://gazelle.ihe.net/jira/browse/GUM-260)] Account management - Swagger for REST APIs
* \[[GUM-261](https://gazelle.ihe.net/jira/browse/GUM-261)] Account management - Content-Range header for pagination
* \[[GUM-268](https://gazelle.ihe.net/jira/browse/GUM-268)] Account management - Possibility to delete user
* \[[GUM-290](https://gazelle.ihe.net/jira/browse/GUM-290)] User management interface - Possibility for admin to create users

**Task**

* \[[GUM-241](https://gazelle.ihe.net/jira/browse/GUM-241)] Upgrade to Keycloak V24
* \[[GUM-245](https://gazelle.ihe.net/jira/browse/GUM-245)] OIDC Authn and Authz framework - Integrate Groups into GUM
* \[[GUM-249](https://gazelle.ihe.net/jira/browse/GUM-249)] Account management - New user preferences API
* \[[GUM-252](https://gazelle.ihe.net/jira/browse/GUM-252)] Account management - Update GUM APIs for user management
* \[[GUM-259](https://gazelle.ihe.net/jira/browse/GUM-259)] Integrate authorisation framework
* \[[GUM-262](https://gazelle.ihe.net/jira/browse/GUM-262)] Upgrade Keycloak to V25
* \[[GUM-265](https://gazelle.ihe.net/jira/browse/GUM-265)] Account management - Add cache for user preferences
* \[[GUM-266](https://gazelle.ihe.net/jira/browse/GUM-266)] Create migration script for user preferences
* \[[GUM-271](https://gazelle.ihe.net/jira/browse/GUM-271)] OIDC Authn and Authz framework - Migrate existing user roles to user groups

**Improvement**

* \[[GUM-288](https://gazelle.ihe.net/jira/browse/GUM-288)] Rework users api to divide user registration from user creation
* \[[GUM-295](https://gazelle.ihe.net/jira/browse/GUM-295)] i18n for GUM mails
* \[[GUM-320](https://gazelle.ihe.net/jira/browse/GUM-320)] Inform user that inactive account will be deleted
* \[[GUM-327](https://gazelle.ihe.net/jira/browse/GUM-327)] Refacto transaction from DAO to Service
* \[[GUM-333](https://gazelle.ihe.net/jira/browse/GUM-333)] Upgrade Keycloak to V26.0.6

## 3.2.2

*Release date: 2024-XX-XX*

**Improvement**

* \[[GUM-319](https://gazelle.ihe.net/jira/browse/GUM-319)] Make the limit for the users purge customizable

## 3.2.1

*Release date: 2024-08-06*

**Bug**

* \[[GUM-284](https://gazelle.ihe.net/jira/browse/GUM-284)] Problem of SMTP sender host configuration

## 3.2.0

*Release date: 2024-06-21*

**Improvement**

* \[[GUM-257](https://gazelle.ihe.net/jira/browse/GUM-257)] Redundancy database possibility

## 3.1.1

*Release date: 2024-06-05*

**Bug**

* \[[GUM-243](https://gazelle.ihe.net/jira/browse/GUM-243)] Configure other domain for SMTP sender mails

## 3.1.0

*Release date: 2024-05-13*

**Bug**

* \[[GUM-195](https://gazelle.ihe.net/jira/browse/GUM-195)] Purge of inactivated user did not work.

**Task**

* \[[GUM-219](https://gazelle.ihe.net/jira/browse/GUM-219)] \[RAF] Common delegation code review

**Improvement**

* \[[GUM-210](https://gazelle.ihe.net/jira/browse/GUM-210)] Update of Quarkus to 3.2.10.Final
* \[[GUM-220](https://gazelle.ihe.net/jira/browse/GUM-220)] Easy access to Keycloak Admin Console for Gazelle admins

## 3.0.1

*Release date: 2024-04-19*

**Bug**

* \[[GUM-216](https://gazelle.ihe.net/jira/browse/GUM-216)] Client registration does not update attributes at each restart
* \[[GUM-217](https://gazelle.ihe.net/jira/browse/GUM-217)] Duplicate key value on consent

## 3.0.0

*Release date: 2024-04-05*

Step 3 of Gazelle User Management renovation (delegation of authentication).

**Story**

* \[[GUM-139](https://gazelle.ihe.net/jira/browse/GUM-139)] \[DELEG] Delegated user can access the external IDP.
* \[[GUM-140](https://gazelle.ihe.net/jira/browse/GUM-140)] \[DELEG] Authentication of a delegated user.
* \[[GUM-150](https://gazelle.ihe.net/jira/browse/GUM-150)] \[DELEG] Authentication of a new delegated user with existing delegated orga.
* \[[GUM-151](https://gazelle.ihe.net/jira/browse/GUM-151)] \[DELEG] Authentication of a new delegated user with new orga.
* \[[GUM-152](https://gazelle.ihe.net/jira/browse/GUM-152)] \[DELEG] Delegated user must accept Gazelle TOS
* \[[GUM-153](https://gazelle.ihe.net/jira/browse/GUM-153)] \[DELEG] Account collision of a new delegated user
* \[[GUM-154](https://gazelle.ihe.net/jira/browse/GUM-154)] \[DELEG] Organisation collision with delegated authn
* \[[GUM-155](https://gazelle.ihe.net/jira/browse/GUM-155)] \[DELEG] Update user attributes at delegation authentication.
* \[[GUM-156](https://gazelle.ihe.net/jira/browse/GUM-156)] \[DELEG] Update organization attributes at delegation authn
* \[[GUM-158](https://gazelle.ihe.net/jira/browse/GUM-158)] \[DELEG] Delegated user cannot login from GUM.
* \[[GUM-160](https://gazelle.ihe.net/jira/browse/GUM-160)] \[DELEG] Delegated user must not be able to reset their password in GUM.
* \[[GUM-166](https://gazelle.ihe.net/jira/browse/GUM-166)] \[DELEG] Logout of a delegated user
* \[[GUM-167](https://gazelle.ihe.net/jira/browse/GUM-167)] \[DELEG] Delegated session expiration
* \[[GUM-168](https://gazelle.ihe.net/jira/browse/GUM-168)] \[DELEG] Delegation session renewal
* \[[GUM-169](https://gazelle.ihe.net/jira/browse/GUM-169)] \[DELEG] Local users of a delegated-orga cannot login from GUM
* \[[GUM-170](https://gazelle.ihe.net/jira/browse/GUM-170)] \[DELEG] Block local account creation for a delegated-organization.

**Task**

* \[[GUM-171](https://gazelle.ihe.net/jira/browse/GUM-171)] \[DELEG] Support for PKCE
* \[[GUM-172](https://gazelle.ihe.net/jira/browse/GUM-172)] \[DELEG] Support for Client Assertion
* \[[GUM-173](https://gazelle.ihe.net/jira/browse/GUM-173)] \[DELEG] Support ID Token signed with client\_secret
* \[[GUM-174](https://gazelle.ihe.net/jira/browse/GUM-174)] \[DELEG] Support Realm updates with custom configs
* \[[GUM-175](https://gazelle.ihe.net/jira/browse/GUM-175)] \[DELEG] Packaging and extensions deployment
* \[[GUM-196](https://gazelle.ihe.net/jira/browse/GUM-196)] Secure rest endpoint
* \[[GUM-207](https://gazelle.ihe.net/jira/browse/GUM-207)] Add application licensing

**Improvement**

* \[[GUM-191](https://gazelle.ihe.net/jira/browse/GUM-191)] \[DELEG] Authorize aliases in emails gum-backend + gum-ui

## 2.0.1

*Release date: 2024-03-07*

**Bug**

* \[[GUM-193](https://gazelle.ihe.net/jira/browse/GUM-193)] Missing error log in case of Mail failure or unexpected failure at user registration.

**Task**

* \[[GUM-187](https://gazelle.ihe.net/jira/browse/GUM-187)] \[UI] Add password requirements

## 2.0.0

*Release date: 2024-01-23*

Step 2 of Gazelle User Management renovation (migrate users in GUM microservice)

**Story**

* \[[GUM-46](https://gazelle.ihe.net/jira/browse/GUM-46)] User submits account creation request
* \[[GUM-56](https://gazelle.ihe.net/jira/browse/GUM-56)] Improve password security
* \[[GUM-60](https://gazelle.ihe.net/jira/browse/GUM-60)] Remove username display in gazelle apps
* \[[GUM-78](https://gazelle.ihe.net/jira/browse/GUM-78)] Create webservice to search/edit users in GUM from TM
* \[[GUM-90](https://gazelle.ihe.net/jira/browse/GUM-90)] Options to prohibit organisation creation / user registration
* \[[GUM-94](https://gazelle.ihe.net/jira/browse/GUM-94)] Collect user consents
* \[[GUM-96](https://gazelle.ihe.net/jira/browse/GUM-96)] Purge users never activated

**Task**

* \[[GUM-51](https://gazelle.ihe.net/jira/browse/GUM-51)] Init user preferences through webservice
* \[[GUM-55](https://gazelle.ihe.net/jira/browse/GUM-55)] Script to migrate users
* \[[GUM-57](https://gazelle.ihe.net/jira/browse/GUM-57)] Industrialisation of M2M authentication
* \[[GUM-65](https://gazelle.ihe.net/jira/browse/GUM-65)] Init user-management-quarkus module
* \[[GUM-67](https://gazelle.ihe.net/jira/browse/GUM-67)] Writing interface GUM specifications
* \[[GUM-76](https://gazelle.ihe.net/jira/browse/GUM-76)] Client to perform actions on organisations in TM
* \[[GUM-88](https://gazelle.ihe.net/jira/browse/GUM-88)] Integrate M2M to GUM and TM
* \[[GUM-99](https://gazelle.ihe.net/jira/browse/GUM-99)] Customizable Logo in login form
* \[[GUM-100](https://gazelle.ihe.net/jira/browse/GUM-100)] Integrate ServiceMetadata with scopes
* \[[GUM-104](https://gazelle.ihe.net/jira/browse/GUM-104)] Cache access tokens to limit calls to Keycloak
* \[[GUM-146](https://gazelle.ihe.net/jira/browse/GUM-146)] Always Lowercase user ids and emails for insertions

## 1.0.1

*Release date: 2023-09-14*

**Bug**

* \[[GUM-93](https://gazelle.ihe.net/jira/browse/GUM-93)] User cannot login if two users have the same "lower case"

## 1.0.0

*Release date: 2023-07-11*

Step 1 of Gazelle User Management renovation (add Keycloak as SSO).

**Bug**

* \[[GUM-49](https://gazelle.ihe.net/jira/browse/GUM-49)] Keycloak can't manage groups with spaces

**Story**

* \[[GUM-35](https://gazelle.ihe.net/jira/browse/GUM-35)] User authenticate himself (Part 1)
* \[[GUM-36](https://gazelle.ihe.net/jira/browse/GUM-36)] Unsuccessful login (Notify user)
* \[[GUM-37](https://gazelle.ihe.net/jira/browse/GUM-37)] Unsuccessful login (Blocks accounts)
* \[[GUM-38](https://gazelle.ihe.net/jira/browse/GUM-38)] Redirect user to request page after login
* \[[GUM-43](https://gazelle.ihe.net/jira/browse/GUM-43)] User reset his password
* \[[GUM-48](https://gazelle.ihe.net/jira/browse/GUM-48)] Create account link redirect to TM account creation.
* \[[GUM-50](https://gazelle.ihe.net/jira/browse/GUM-50)] Manage internationalization for emails

**Task**

* \[[GUM-33](https://gazelle.ihe.net/jira/browse/GUM-33)] Upgrade Gazelle keycloak to V21
* \[[GUM-34](https://gazelle.ihe.net/jira/browse/GUM-34)] Setup CI with Integration tests
* \[[GUM-41](https://gazelle.ihe.net/jira/browse/GUM-41)] Log out
* \[[GUM-61](https://gazelle.ihe.net/jira/browse/GUM-61)] \[GUM] Register gazelle app in Keycloak at startup
* \[[GUM-62](https://gazelle.ihe.net/jira/browse/GUM-62)] Create end 2 end tests with Cypress


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc-ihe.kereval.cloud/gazelle-applications/gazelle-user-management/development-guide/release-note.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
