Skip to content

fix(deps): update dependency keycloak-js to v26 - #5727

Merged
conbrad merged 5 commits into
mainfrom
renovate/keycloak-js-26.x
Aug 20, 2026
Merged

fix(deps): update dependency keycloak-js to v26#5727
conbrad merged 5 commits into
mainfrom
renovate/keycloak-js-26.x

Conversation

@renovate

@renovate renovate Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
keycloak-js (source) ^25.0.0^26.0.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

keycloak/keycloak-js (keycloak-js)

v26.2.4

Compare Source

Highlights

This release of Keycloak JS addresses two regressions in the Cordova adapter that were introduced in version 26.2.1.

Bug Fixes

Cordova adapter no longer triggers duplicate authentication requests

A regression introduced in version 26.2.1 caused the Cordova in-app browser to fire multiple loadstart events before the token exchange completed, resulting in concurrent authentication requests that could fail the login flow. The completed flag is now set before awaiting the token exchange, preventing duplicate processing of the redirect URI.

Cordova in-app browser now closes before awaiting token exchange

A regression introduced in version 26.2.1 caused the Cordova in-app browser to remain open during the asynchronous token exchange, resulting in a brief "Web page not available" error flashing on Android before the browser eventually closed. The browser is now closed immediately after the redirect URI is captured, before the token exchange begins.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

v26.2.3

Compare Source

Highlights

This release of Keycloak JS addresses a regression that was introduced in version 26.2.2 affecting applications that use hash-based routing in combination with the fragment response mode.

Bug Fixes

URL hash fragments are now preserved correctly with 'fragment' response mode

A regression was introduced in version 26.2.2 that caused URL fragments with path-style routing (e.g., #/admin/maintenance/scripts) to be URL-encoded after the OAuth callback, breaking applications that use hash-based routing. This issue affected Angular, React, and other applications that rely on the hash portion of the URL for client-side routing.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

v26.2.2

Compare Source

Highlights

This release of Keycloak JS focuses on addressing several regressions that were introduced by accident. We apologize for any inconvenience these issues may have caused and thank our community for reporting them quickly and helping to verify the fixes.

Bug Fixes

Destructuring public methods now works correctly

A regression was introduced that caused an error when destructuring public methods from a Keycloak instance. This pattern is commonly used in applications:

const { login, logout } = keycloak;
login(); // Previously failed with "Cannot read properties of undefined"

This issue has been resolved by binding all public methods to the class instance using arrow functions, ensuring that this is always correctly scoped regardless of how the method is called.

Hash fragments are now preserved in redirect URIs

A regression caused hash fragments in URLs to be stripped from redirect URIs, which broke navigation in applications that rely on fragment-based routing. For example, when logging in to the Keycloak Admin Console with a URL like http://localhost:8080/admin/master/console/#/demo/users/add-user, the user would be redirected to the default page instead of the intended fragment after authentication.

This also caused issues where redirect URIs would have a trailing slash added unexpectedly, breaking login flows for OIDC servers that perform strict URI matching.

The next major of Keycloak JS will start re-enforcing this constraint, as it is not allowed to pass fragments according to the specification.

Redirect URLs on different domains now work correctly

A regression prevented redirect URLs from being on a different domain than the application origin the navigation to fail with a security error. This affected users who use redirect services that forward authentication requests from an intermediate domain back to the application.

This behavior is likely to be changed in the future to only allow redirect URLs that are on the same origin as where Keycloak JS is initialized, in order to prevent possible open redirects. If this issue affects you please join the discussion.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

v26.2.1

Compare Source

Highlights

This release of Keycloak JS is the first release after our initial announcement to split it off from the main project release cycle. This release is the result of a large internal refactor to make the code more maintainable and make use of modern JavaScript language features, as well as to introduce a new test suite with more comprehensive test coverage. Even though much has changed under the hood, this is a patch releases, and there should be no breaking changes for users, only bugfixes and small enhancements.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

v26.2.0

Highlights

Today marks a significant milestone in the evolution of Keycloak JS with the release of version 26.2.0. This new version represents a shift in how the JavaScript adapter develops and evolves alongside the Keycloak ecosystem. Although this new version introduces no functional changes to the adapter, it does include several organizational changes.

The most notable change is that Keycloak JS now breaks free from the main Keycloak project&#​8217;s release cycle. As announced earlier this year, the JavaScript adapter will follow its own independent development path. The separation from the main project allows for more frequent releases of features, bug fixes, and improved responsiveness to community feedback. The JavaScript adapter will continue to be backwards compatible with all actively supported releases of the Keycloak server, and deviation from this will be considered a breaking change.

The choice to use a higher version than the main project itself was made intentionally in order to signal to users the departure from Keycloak&#​8217;s release cycle. We will however continue to commit to using Semantic Versioning, only bumping major versions if backwards incompatible changes are made, as is customary in the NPM ecosystem. Maintenance updates will continue to land in the 26.1.x series, as it is tied to the current stable release of the Keycloak server, but we encourage users to upgrade to new versions as needed.

Another significant change is the relocation of the codebase to its own dedicated repository. This structural adjustment is not just administrative—it represents a strategic move toward better maintainability. By separating the JavaScript adapter from the main Keycloak repository, the development team gains greater flexibility in managing the codebase and processing community contributions. If you are looking to provide contributions, or are reporting issues, please redirect your efforts here.

Looking ahead, we will be focussing on what is next for Keycloak JS. When it was originally released, only a few OpenID Connect adapters existed for client-side JavaScript, so we needed to make our own adapter. However, this landscape looks very different now, and there are many mature solutions available. The code for Keycloak JS requires modernization and has become challenging to maintain due to the growing complexity. We will continue to evaluate if it makes sense to keep refactoring Keycloak JS, incorporate some mature third-party libraries we can collaborate on, or even replace it with a well-established community solution.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.


Configuration

📅 Schedule: (in timezone America/Vancouver)

  • Branch creation
    • "after 2am and before 8am every weekday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Test Links:

Landing Page
MoreCast
Percentile Calculator
FireCalc
FireCalc bookmark
Auto Spatial Advisory (ASA)
HFI Calculator
SFMS Insights
Fire Watch
Weather Toolkit

@codecov

codecov Bot commented Aug 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.81%. Comparing base (387812f) to head (651e141).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5727   +/-   ##
=======================================
  Coverage   67.81%   67.81%           
=======================================
  Files         386      386           
  Lines       22432    22432           
  Branches     3105     3105           
=======================================
  Hits        15212    15212           
  Misses       6060     6060           
  Partials     1160     1160           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@conbrad
conbrad requested a deployment to production August 19, 2026 20:50 Abandoned
@renovate

renovate Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@sonarqubecloud

Copy link
Copy Markdown

@conbrad
conbrad deployed to production August 20, 2026 22:44 Active
@conbrad
conbrad merged commit 65fb9fb into main Aug 20, 2026
38 checks passed
@conbrad
conbrad deleted the renovate/keycloak-js-26.x branch August 20, 2026 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant