website/docs/releases/2025/v2025.10.md
In previous versions, authentik used Redis for caching, tasks, the embedded proxy outpost's session store, and WebSocket connections. Since 2025.8, tasks were migrated to use Postgres. With this release we've also migrated caching, the embedded outpost, and WebSocket to Postgres, fully removing the need for Redis.
As a result of this change, it is expected that authentik will use roughly 50% more database connections to Postgres. Redis-related settings have also been removed and can be deleted from your configuration.
If your Postgres instance requires a TLS connection, authentik now requires TLS 1.3 or the Extended Master Secret extension to connect to Postgres.
In previous releases with the default scope mappings, we set the email_verified claim to true. As we don't have a single source of whether a users' email is verified or not, and claiming that it is verified could lead to security implications, this claim has been corrected to false.
Some applications may require this claim to be true to successfully authenticate users, in which case you can create a custom email scope mapping that returns email_verified as true.
For more information, refer to the Email scope verification documentation.
SCIM providers can now use OAuth sources to authenticate to SCIM endpoints. This requires support in the remote system for OAuth authentication. Using an OAuth source provides improved security due to not requiring long-lived static tokens.
This is supported by applications such as Slack and Salesforce.
See SCIM Provider documentation for more details.
The RADIUS outpost can now support EAP-TLS which allows for client authentication using certificates with the Mutual TLS stage.
See RADIUS Provider documentation.
In 2025.8 we've introduced support for back-channel logout in the OAuth2 Provider. This release adds support for front-channel logout in the OAuth2 Provider and both back- and front-channel logout support in the SAML Provider.
See OAuth2 Provider documentation and SAML Provider documentation.
Being one of the most upvoted GitHub issues, we've finally done it. Telegram can now be used as a federated identity provider in authentik. This allows users to authenticate with their Telegram credentials.
See Telegram Source documentation.
The flow interface now fits better on mobile devices/small viewports and looks sharper on HiDPi devices. There are also improvements for auto-completion during credential input (thanks to @cjoshmartin!). The user library has improved scaling and makes better use of space with a higher density.
ak_send_email: Allow for easier sending of emails in expressions; see ak_send_email.ak create_recovery_key, the duration is now set in minutes instead of years.ui_locales support: The OAuth2 provider now accepts ui_locales to set the locale of authentik.An integration is how authentik connects to third-party applications, directories, and other identity providers. The following integration guides were recently added.
Following the upgrade instructions below will remove Redis from your installation. If you use authentik with an externally configured Redis, you can simply remove the Redis configuration from authentik; for more detailed information about upgrading authentik, refer to our Upgrade documentation.
:::warning When you upgrade, be aware that the version of the authentik instance and of any outposts must be the same. We recommended that you always upgrade any outposts at the same time you upgrade your authentik instance. :::
To upgrade, download the new docker-compose file and update the Docker stack with the new version, using these commands:
wget -O docker-compose.yml https://goauthentik.io/version/2025.10/docker-compose.yml
docker compose up -d --remove-orphans
The -O flag retains the downloaded file's name, overwriting any existing local file with the same name.
The --remove-orphans flag removes the Redis container as its no longer needed.
Upgrade the Helm Chart to the new version, using the following commands:
helm repo update
helm upgrade authentik authentik/authentik -f values.yaml --version ^2025.10
If you had persistence for Redis configured, you can delete the PVC and PV after the upgrade.
AuthenticatedSession migration (#16400)InitialPermissions in a middleware (#16138)required attribute. (#16168)node:path polyfill. (#16702)<datalist> on Firefox. (cherry-pick #18103 to version-2025.10) (#18135)GET /providers/google_workspace/{id}/Changed response : 200 OK
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
PUT /providers/google_workspace/{id}/Changed content type : application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Changed response : 200 OK
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
PATCH /providers/google_workspace/{id}/Changed content type : application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Changed response : 200 OK
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
GET /providers/microsoft_entra/{id}/Changed response : 200 OK
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
PUT /providers/microsoft_entra/{id}/Changed content type : application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Changed response : 200 OK
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
PATCH /providers/microsoft_entra/{id}/Changed content type : application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Changed response : 200 OK
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
GET /providers/scim/{id}/Changed response : 200 OK
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
PUT /providers/scim/{id}/Changed content type : application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Changed response : 200 OK
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
PATCH /providers/scim/{id}/Changed content type : application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Changed response : 200 OK
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
POST /providers/google_workspace/Changed content type : application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Changed response : 201 Created
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
GET /providers/google_workspace/Changed response : 200 OK
application/json
Changed property results (array)
Changed items (object): > GoogleWorkspaceProvider Serializer
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
POST /providers/microsoft_entra/Changed content type : application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Changed response : 201 Created
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
GET /providers/microsoft_entra/Changed response : 200 OK
application/json
Changed property results (array)
Changed items (object): > MicrosoftEntraProvider Serializer
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
POST /providers/scim/Changed content type : application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Changed response : 201 Created
application/json
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
GET /providers/scim/Changed response : 200 OK
application/json
Changed property results (array)
Changed items (object): > SCIMProvider Serializer
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
PUT /core/transactional/applications/Changed content type : application/json
Changed property provider (object)
Updated authentik_providers_microsoft_entra.microsoftentraprovider provider_model:
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Updated authentik_providers_google_workspace.googleworkspaceprovider provider_model:
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page
Updated authentik_providers_scim.scimprovider provider_model:
Added property sync_page_size (integer)
Controls the number of objects synced in a single task
Added property sync_page_timeout (string)
Timeout for synchronization of a single page