16 Apr 2025
JBoss Blogs
Quarkus 3.21.3 - Maintenance release
We released Quarkus 3.21.3, the third maintenance release for our 3.21 release train. UPDATE To update to Quarkus 3.21, we recommend updating to the latest version of the Quarkus CLI and run: quarkus update Note that quarkus update can update your applications from any version of Quarkus (including 2.x) to Quarkus 3.21. For more information about the adjustments you need to make to your applications, please refer to the . FULL CHANGELOG You can get the full changelog of on GitHub. COME JOIN US We value your feedback a lot so please report bugs, ask for improvements… Let's build something great together! If you are a Quarkus user or just curious, don't be shy and join our welcoming community: * provide feedback on ; * craft some code and ; * discuss with us on and on the ; * ask your questions on .
16 Apr 2025 12:00am GMT
Keycloak at KubeCon EU 2025
Keycloak had a very active presence at this year's KubeCon EU in London. This blog presents a few of the highlights as well as ways you can contribute to Keycloak's CNCF journey. PROJECT PAVILION Keycloak hosted a project pavilion stand during Wednesday, Thursday and Friday afternoon slots. Attending the booth were Keycloak contributors and from Hitachi, alongside and from Red Hat. During these sessions, we had the opportunity to connect with both existing and prospective Keycloak users to talk all things related to Identity and Access Management. Keycloak stickers were as popular as ever, with both the CNCF sticker wall and our own stash completely emptied! It was fantastic to hear firsthand feedback - what's working well and where there's room for improvement. Insights like these are invaluable as we continue to grow the project and shape the future roadmap. If you weren't able to stop by the pavilion, we'd still love to hear from you, please feel free to share your thoughts via the . KEYCLOAK TALK and presented a talk titled "Evolving OpenID Connect and Observability in Keycloak". to hear about how OpenID Connect and observability have evolved over the past year in the Keycloak project. A video of the talk is linked below. Thank you to all who attended and asked questions, there were good follow-up conversations that continued well after our time was up. KEYCLOAK SURVEY Are you a Keycloak user who is deploying in production or just considering starting with Keycloak? We would love to hear more from you about your success stories, what is crucial to your deployments and what can be done better. Please fill out the so we can better understand your use cases. Your story maybe a candidate for a . If you would like to share your success story with our community, answer yes to the "Would you be interested to share your story with our broader community?" and we will be in touch shortly. KEYCLOAKCON AND KUBECON JAPAN The two events KeycloakCon Japan and KubeCon Japan will happen in Tokyo on June 13 and June 16-17 2025, respectively. KeycloakCon 2025 Japan is a half-day meetup on June 13 where the community of Keycloak gathers. It provides opportunities for technical lectures, growth, and networking with talks related Identity and Access Management (IAM) and Single Sign On (SSO). The call for papers and the registration for is now open! Submit your talks to the first-ever KeycloakCon in Japan. will be held on June 16-17, where and will be presenting the talk: . We hope to see you there and hear your latest Keycloak stories!
16 Apr 2025 12:00am GMT
15 Apr 2025
JBoss Blogs
Keycloak Client Libraries 26.0.5 released
UPGRADING Before upgrading refer to for a complete list of changes. ALL RESOLVED ISSUES NEW FEATURES * Add release notes so they can be pulled into the website client ENHANCEMENTS * Close session when client is closed client * Testing and document keycloak-client with Java 11 client * Update PR-CHECKLIST client * Sync with Keycloak server after Keycloak 26.2 release client BUGS * POM contains invalid SCM URLs client
15 Apr 2025 12:00am GMT
11 Apr 2025
JBoss Blogs
Quarkus Newsletter #55 - April
Max Rydahl Andersen discusses Red Hat's Middleware engineering moving to IBM and how Quarkus remains an open-source project supported by a vibrant global community in his blog post "Quarkus & Red Hat's evolving middleware strategy". Jeff Beck's blog post "The Quarkus Edge: How Real Customers Achieve Speed, Performance, and Agility" that highlights real-world success stories from telco, transportation, and banking industries, showcasing how enterprises use Quarkus to achieve massive performance gains, lower costs, and improved developer productivity in cloud-native applications. Get a hands-on look at Quarkus' developer experience advantages, focusing on coding constructs, testing, and configuration and not just speed in "Ten Reasons for Spring Developers to Explore Quarkus" by Markus Eisele. By Markus Eisele shows Quarkus is not simply "catching up" to Spring Boot in AI integration; it's carving its own path, leveraging its cloud-native foundation and community agility to offer a compelling platform for building modern, high-performance AI applications in "Quarkus: A Lean and Agile Foundation for Enterprise Generative AI". Check out this blog post to learn how Quarkus LangChain4j and OIDC can help to create secure agentic Google Gemini AI services in "Secure Agentic AI with Quarkus and Google Gemini" by Sergey Beryozkin. Jianguo_Ma shows you how to observe Red Hat Quarkus applications with Azure Application Insights using OpenTelemetry. Read "Migrating from AWS Lambda to EKS: Our Journey and Key Learnings" by Asim Naqvi to see the details their migration journey from AWS Lambda to EKS, the challenges we faced, our architectural decisions, and the impact of moving to Kubernetes (EKS) and Quarkus. You will also see the latest Quarkus Insights episodes, top tweets/discussions and upcoming Quarkus attended events. Check out ! Want to get newsletters in your inbox? using the on page form.
11 Apr 2025 12:00am GMT
Keycloak 26.2.0 released
To download the release go to . HIGHLIGHTS SUPPORTED STANDARD TOKEN EXCHANGE In this release, we added support for the Standard token exchange! The token exchange feature was in preview for a long time, so we are glad to finally support the standard token exchange. For now, this is limited to exchanging the Internal token to internal token compliant with the . It does not yet cover use cases related to identity brokering or subject impersonation. We hope to support even more token exchange use cases in subsequent releases. For more details, see the . For information on how to upgrade from the legacy token exchange used in previous Keycloak versions, see the . FINE-GRAINED ADMIN PERMISSIONS SUPPORTED This release introduces support for a new version of fine-grained admin permissions. Version 2 (V2) provides enhanced flexibility and control over administrative access within realms. With this feature, administrators can define permissions for administering users, groups, clients, and roles without relying on broad administrative roles. V2 offers the same level of access control over realm resources as the previous version, with plans to extend its capabilities in future versions. Some key points follow: * Centralized Admin Console Management - New Permissions section was introduced to allow management from a single place without having to navigate to different places in the Admin Console. * Improved manageability - Administrators can more easily search and evaluate permissions when building a permission model for realm resources. * Resource-Specific and Global Permissions - Permissions can be defined for individual resources (such as specific users or groups), or entire resource types (such as all users or all groups). * Explicit Operation Scoping - Permissions are now independent, removing hidden dependencies between operations. Administrators must assign each scope explicitly, making it easier to see what is granted without needing prior knowledge of implicit relationships. * Per-Realm Enablement - Fine-Grained Admin Permissions can be enabled on a per-realm basis, allowing greater control over adoption and configuration. For more details, see . For more information about migration, see the . GUIDES FOR METRICS AND GRAFANA DASHBOARDS In addition to the list of useful metric names now also contains a guide on how to display these metrics in Grafana. contains two dashboards. * Keycloak troubleshooting dashboard - showing metrics related to service level indicators and troubleshooting. * Keycloak capacity planning dashboard - showing metrics related to estimating the load handled by Keycloak. ZERO-CONFIGURATION SECURE CLUSTER COMMUNICATION For clustering multiple nodes, Keycloak uses distributed caches. Starting with this release for all TCP-based transport stacks, the communication between the nodes is encrypted with TLS and secured with automatically generated ephemeral keys and certificates. This strengthens a secure-by-default setup and minimizes the configuration steps of new setups. For more information, check the in the distributed caches guide. ROLLING UPDATES FOR OPTIMIZED AND CUSTOMIZED IMAGES When using an optimized or customized image, the Keycloak Operator can now perform a rolling update for a new image if the old and the new image contain the same version of Keycloak. This is helpful when you want to roll out, for example, an updated theme or provider without downtime. To use the functionality in the Operator, enable the Auto update strategy and the Keycloak Operator will on image change briefly start up the old and the new image to determine if a rolling update without downtime is possible. Read the section in the Keycloak Operator Advanced Configuration guide for more details on this functionality. The checks to determine if a rolling update is possible are also available on the Keycloak command line so you can use them in your deployment pipeline. Continue reading in the guide for more information about the functionality available on the command line. ADDITIONAL QUERY PARAMETERS IN ADMIN EVENTS API The Admin Events API now supports filtering for events based on Epoc timestamps in addition to the previous yyyy-MM-dd format. This provides more fine-grained control of the window of events to retrieve. A direction query parameter was also added, allowing controlling the order of returned items as asc or desc. In the past the events where always returned in desc order (most recent events first). Finally, the returned event representations now also include the id, which provides a unique identifier for an event. LOGS SUPPORT ECS FORMAT All available log handlers now support ECS (Elastic Common Schema) JSON format. It helps to improve Keycloak's observability story and centralized logging. For more details, see the . NEW CACHE FOR CRLS LOADED FOR THE X.509 AUTHENTICATOR Now the Certificate Revocation Lists (CRL), that are used to validate certificates in the X.509 authenticator, are cached inside a new infinispan cache called crl. Caching improves the validation performance and decreases the memory consumption because just one CRL is maintained per source. Check the crl-storage section in the guide to know the options for the new cache provider. OPERATOR CREATES NETWORKPOLICIES TO RESTRICT TRAFFIC The Keycloak Operator now creates by default a NetworkPolicy to restrict traffic to internal ports used for Keycloak's distributed caches. This strengthens a secure-by-default setup and minimizes the configuration steps of new setups. You can restrict the access to the management and HTTP endpoints further using the Kubernetes NetworkPolicies rule syntax. Read more about this in the . OPTION TO RELOAD TRUST AND KEY MATERIAL FOR THE MANAGEMENT INTERFACE The https-management-certificates-reload-period option can be set to define the reloading period of key store, trust store, and certificate files referenced by https-management-* options for the management interface. Use -1 to disable reloading. Defaults to https-certificates-reload-period, which defaults to 1h (one hour). For more information, check the guide. DYNAMIC AUTHENTICATION FLOW SELECTION USING CLIENT POLICIES Introduced the ability to dynamically select authentication flows based on conditions such as requested scopes, ACR (Authentication Context Class Reference) and others. This can be achieved using by combining the new AuthenticationFlowSelectorExecutor with conditions like the new ACRCondition. For more details, see the . JWT CLIENT AUTHENTICATION ALIGNED WITH THE LATEST OIDC SPECIFICATION The latest version of the tightened the rules for audience validation in JWT client assertions for the Client Authentication methods private_key_jwt and client_secret_jwt . Keycloak now enforces by default that there is single audience in the JWT token used for client authentication. For information on the changed audience validation in JWT Client authentication Keycloak versions, see the . Many thanks to for the contribution. FEDERATED CREDENTIALS ARE AVAILABLE NOW WHEN FETCHING USER CREDENTIALS Until now, querying user credentials using the User API will not return credentials managed by user storage providers and, as a consequence, prevent fetching additional metadata associated with federated credentials like the last time a credential was updated. In this release, we are adding a new method getCredentials(RealmModel, UserModel) to the org.keycloak.credential.CredentialInputUpdater interface so that user storage providers can return the credentials they manage for a specific user in a realm. By doing this, user storage providers can indicate whether the credential is linked to it as well as provide additional metadata so that additional information can be shown when managing users through the administration console. For LDAP, it should be possible now to see the last time the password was updated based on the standard pwdChangedTime attribute or, if using Microsoft AD, based on the pwdLastSet attribute. In order to check if a credential is local - managed by Keycloak - or federated, you can check the federationLink property available from both CredentialRepresentation and CredentialModel types. If set, the federationLink property holds the UUID of the component model associated with a given user storage provider. TOKEN BASED AUTHENTICATION FOR SMTP (XOAUTH2) The Keycloak outgoing link:Configuring email for a realm[SMTP mail configuration] now supports token authentication (XOAUTH2). Many service providers (Microsoft, Google) are moving towards SMTP OAuth authentication and end the support for basic authentication. The token is gathered using Client Credentials Grant. Many thanks to for the contribution. NEW CLIENT CONFIGURATION FOR ACCESS TOKEN HEADER TYPE A new admin setting has been added: Clients → Advanced → Fine grain OpenID Connect configuration → Use "at+jwt" as access token header type If enabled, access tokens will get header type at+jwt in compliance with . Otherwise, the access token header type will be JWT. This setting is turned off by default. Many thanks to for the contribution. OPENID FOR VERIFIABLE CREDENTIAL ISSUANCE DOCUMENTATION The OpenID for Verifiable Credential Issuance (OID4VCI) remains an experimental feature in Keycloak, but it received further improvements and especially the , with the steps how to try this feature. You will find significant development and discussions in the . Anyone from the Keycloak community is welcome to join and provide the feedback. Many thanks to all members of the OAuth SIG group for the participation in the development and discussions about this feature. Especially thanks to and . UPGRADING Before upgrading refer to for a complete list of changes. ALL RESOLVED ISSUES NEW FEATURES * Release process for OperatorHub operator * Traefik SPI Provider * Token exchange - permissions token-exchange * New CLI command: update-compatibility * New operator spec: upgrade strategy * Support token type "at+jwt" for OAuth 2 access tokens oidc * Create CA certificate for JGroups encryption * Expose OTP Policy in FreeMarker Context for Login Themes login/ui ENHANCEMENTS * Add support for SMTP OAuth 2.0 authentication for outgoing email core * Improve docs about audience docs * Token Exchange in "Securing Applications and Services" should mention admin_fine_grained_authz token-exchange * Removal of X-XSS-Protection header core * Review and document how refresh tokens are issued when executing token exchanges token-exchange * Add authentication flow mapping to existing ACR implementation authentication * `VERIFY_EMAIL` is not supported as an Application Initiated Action * The way CRLs are currently loaded is slow and uses large amounts of memory authentication * Use separate OLM channels for each major Keycloak release operator * Ability to set DN for new users/groups seperate to DN used for search * Admin-UI: disable Direct Access Grant by default when creating a new client * Improved consent handling in token exchange (OIDC to OIDC Client) token-exchange * Create some mechanism to catch duplicate keys in .properties file translations * Support multiple mail domains for linked IDPs per organization organizations * Replace `RTL_LANGUAGE_CODE` with Intl request * Keycloak Admin Client: Close Session when Client is Closed * Signed SAML metadata saml * Improve useability of authentication flow UI admin/ui * Organizations: Allow Organization Selection organizations * CreatedResponseUtil.getCreatedId should expose the actual error message from the server admin/client-java * Include broker session ID in IDENTITY_PROVIDER_LOGIN events * Do not remove users in LDAP when queries return an empty result ldap * IPv6 support: OLM tests not passing operator * Extend InfiniSpan ProtoSchema with custom types * Not email password policy provider: case insensitive comparison * Support for multiple values of audience token-exchange * Make client cert lookup honor the `proxy-trusted-addresses` option dist/quarkus * Document how Keycloak is upgraded when Operator is upgraded via OLM docs * Review usages of `ref` in `Inject` annotations as they not always translate to the identifier of the object being injected test-framework * Make Network policy supported * Add OpenSSF Scorecard badge to README * Introduce guide for metrics provided by Keycloak docs * Make user events feature supported * Remove Node.js adapter documentation from main repo docs * Clarify IPv6 JGroups requirements in Keycloak documenation * Upgrade to Quarkus 3.17.x dist/quarkus * Polishing of CreatedResponseUtil.getCreatedId admin/client-java * Extend REST API for login and admin events to support sync scenarios * Translation guide should show a more detailed translation status translations * Upstream KC main docs to ROSA 4.17 in the sizing guide docs * Operator: automatic upgrade strategy * Add option to enable debugging for distribution server mode test-framework * SPI for compatibility metadata * Upgrade to Quarkus 3.20 LTS * Add detail on dependencyManagement section for POM files * Update Compatibility CLI: add feature flag * Enable QUARKUS_LOG_JSON_LOG_FORMAT = ecs when logging in Keycloak dist/quarkus * Improve UX of realm selector * Add APIResponse annotations to User resources * Add APIResponse annotations to Role resources * Add APIResponse annotations to Client Scope resources * Add APIResponse annotations to Realm resources * Add APIResponse annotations to Organization resources * Organization membership for federated users organizations * Updated translation for "noAccount" in messages_ko.properties * Login[v2]: Worsen appearance of list of Identity Providers login/ui * Missing language: Slovenian translations * Improve readability of relevant options in guides docs * Remove redundant information from cache entries * Upgrade to Quarkus 3.18.2 dist/quarkus * Slow query when checking if a realm has brokers and brokering is enabled identity-brokering * Improve docs about JPA provider configuration for DB migration strategy core * Update screens for new realm selector * Test logs for Quarkus IT are huge and cannot be viewed testsuite * Stabilize `QuarkusPropertiesDistTest` for Windows in Quarkus IT testsuite * Avoid sending JSON for user and client sessions to the database * Create new guide for Keycloak Grafana dashboards * Simplify translations by removing leading blanks in strings translations * Operator: new CR status condition for upgrades * Refactor OAuthClient used for testing test-framework * Add full Keycloak CR HPA example to docs * JGroups certificate rotation * Make event metrics supported * Operator: Implement an explicit update stategy * Add a HTML sanitizer for translated message resources translations * Allow admin to disable automatic refresh of event views admin/ui * Quarkus 3.19.x upgrade * Prevent proxy-protocol-enabled=true from being used proxy-headers set * Add CLOMonitor Badge to the README * Check surplus blanks in source strings translations * Support RTL in HTML generated for emails translations * Suppress info message about mapper config synchronizer core * Changes needed for new realm selector admin/ui * Document default key length (2048 bits) and key type (RSA) and make JGroups encryption enabled by default * Upgrade to Infinispan 15.0.14 * Upgrade to Quarkus 3.19.2 dist/quarkus * Improve Documentation for Email Event Listner * Upgrade to Quarkus 3.20.0.CR1 * Make make the rolling updates feature supported versioned and supported * Improve message when evaluating permission results admin/fine-grained-permissions * Login[v2]: Use SVG Keycloak logo * Support partial evaluation for the group resource type admin/fine-grained-permissions * Add Italian and Romanian language to translations.md * Polish the events thrown by client policies oidc * Update javadoc of java admin-client for Keycloak 26.2 admin/client-java * Login[v2]: WebAuthn/Passkeys screens are not polished * New realm creation should validate the name uniqueness before hitting the DB * Not possible to delegate creating or deleting RecoveryKeys credential to userStorage authentication * Docker image creation simplification * Support decoding EC private keys and PEM bundles in PEM/DER utilities * Validate placeholder usage in frontend and backend messages * Clear persistent user sessions cache on Keycloak cluster merge * Rework titles in the observability guide * Prevent NPE in `CryptoIntegration.setProvider(null)` * Do not allow delete the FGAP client admin/fine-grained-permissions * Adding a guide on how to use and enable exemplars * Improvements to partial evaluation admin/fine-grained-permissions * OTel: Unable to disable sampling at runtime; tracing-sampler-ratio validation prevents setting 0.0 dist/quarkus * Add Janher to Dutch translation * Update FGAP documentation admin/fine-grained-permissions * Make sure that there is single audience allowed by default in JWT tokens sent to client authentication oidc * Cache resource names associated to policies to improve partial evaluation admin/fine-grained-permissions BUGS * Improper Input Validation for Recovery Codes Setup authentication * Users Can Change Recovery Codes Generation Timestamp authentication * Recovery Code Validation Race Possible authentication * Passkeys conditional UI authenticator: NullPointerException when filling some random username authentication/webauthn * Passkeys conditional UI authenticator: NullPointerException when authenticated as removed user authentication/webauthn * SAML Frontchannel Logout missing via Redirect or Post Binding is missing signature if login happened via artifact binding saml * Invalid migration export for empty database core * Translation error in messages_fr.properties translations * Update realm erases browser security header fields admin/api * External token (not issued by Keycloak) cannot be validated in token exchange flow in case user info check is disabled token-exchange * UI Build complains about Typescript issue (TS2742) admin/ui * quarkus-next: SunCertPathBuilderException: unable to find valid certification path to requested target ci * LDAP groups not showing members in Groups when using memberOf attribute ldap * Social login - several tests failing constantly ci * Linked accounts displayed when there are no providers available account/ui * User import gets exponentially slow import-export * com.google.code.findbugs:jsr305 is old and no longer under active maintenance dependencies * quarkus-next: StackOverflowError causes build failure dist/quarkus * Keycloak OpenAPI specification doesn't match actual API implementation admin/api * [Jenkins Operator CI] - Test remote - ClusteringTest on OpenShift ci * Pasword creation date from active directory is wrong ldap * liveness probe /health/live not UP while DB migrations initialization core * AvailableRoleMappingResource.listAvailableUserRoleMappings returns the wrong roles when using fine grained permissions admin/fine-grained-permissions * Very uncommon new german Weblate translation 'Berechtigungsnachweis' for login data /account credential translations * Install on oracle database with custom schema fails on clean install storage * Translation resolution bug in keycloak-admin-ui admin/ui * Realm not found while exists and works if entered directly in the URL admin/ui * CVE-2024-12397 - HTTP Request Smuggling in io.quarkus.http:quarkus-http-core dist/quarkus * Fail to import realm during the startup with specific name file import-export * Permission editor shows resource IDs instead of names admin/ui * Scrollbar missing so I can't scroll to the last menu item on the left admin/ui * [Keycloak CI] - Cookies tests - KcOidcBrokerTokenExchangeTest ci * Operator tests failing on IPV6 environment operator * Redirect after linking account account/ui * Verify email required action shows presents message that email was sent even on errors core * Empty state in new events tabs admin/ui * ClientProtocolCondition.getProviderId() typo authentication * Deployment artifacts for Quarkus extensions are not in deployment dir dist/quarkus * Remove a duplicate code block * DPoP: Refresh token created with DPoP can be refreshed without proof oidc * DPoP: User Info Endpoint authorization type mismatch oidc * Spelling and grammar mistakes in admin UI messages admin/ui * The root cause of error is suppressed in KC 26 at building dependencies * Wrong link for tracing in 26.1.0 release notes docs * ExternalLinksTest is broken after Keycloak 26.1.0 release docs * Duplicated code due to typo in DefaultHttpClientFactory core * The organization claim does not appear if the Organization Membership Mapper is added through a custom client scope organizations * Custom ClientAuthenticatorFactory with ProviderConfigProperty broken admin/ui * Duplicate groups needs fine grained authorisation admin/ui * Viewing user events requires `view-realm`-role admin/ui * WebAuthN and dark mode: device icons are hardly readable login/ui * Duplicate message keys for FA email template translations * Unable to build from source using instructions core * keycloak.v2 forms are too small for mobile view login/ui * Policy enforcer do not handle suppressed server resources authorization-services * Organization invite link leads to non-defined page, when clicked second time organizations * Keycloak user attribute key broken in Keycloak 26.1.0 admin/ui * Client session list doesn't show all sessions (again..) admin/ui * Duplicated warning banner for temporary admin admin/ui * TimeOffsetSupplier for new test framework doesn't reset time offset test-framework * Unable to regenerate secret after changing client authenticator admin/ui * Multi-valued control in user attributes doesn't sort entries and doesn't support autocomplete admin/ui * All IDPs shown when reloading login page login/ui * JGroups warning on startup infinispan * When organizations feature is turned on, login_hint doesn't prefill identity-first login's page email field organizations * --spi-connections-liquibase-default-index-creation-threshold does not work core * Links error for https://jwt.io in documentation docs * FIPS docs is incorrect docs * kc.bat script doesn't allow multiple log level entries dist/quarkus * When linking IDP to an organization hide on login sets as off admin/ui * After importing SAML client certificate the client is broken and can't be saved admin/ui * SAML2 Client Signing Keys Config does not accept PEM import admin/ui * IPA-Tuura federation README needs a few fixes core * Logging errors on DB transaction retries core * External (IDP) token-exchange is possible even for clients needing user consents token-exchange * Conflict when Keycloak uses an OpenShift cluster ingress certificate operator * Addition of crl cache is a breaking change infinispan * Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnTransportLocaleTest#localizationTransportInternal ci * Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnSigningInTest#multipleSecurityKeys ci * Seaching users in the user selector will not show the username for users already selected admin/ui * OAuth 2.0 Device Authorization Grant Issues: Token Issued After Authorization Denial and Browser Back oidc * NullPointerException when registering a oid4vc CredentialBuilder provider component oid4vc * Documentation about ImportSynchronization mentions wrong interface UserStorageProvider storage * Remove resources from permissions when updating the associated resources admin/fine-grained-permissions * Update FGAP v2 to not grant permissions of all users when permission is granted only for a single user admin/fine-grained-permissions * Comboxes do not display selected option after reset admin/ui * Login with x-forwarded-for: IP address in user login event is null admin/cli * Provide an option to force login after reset credentials authentication * JDBC Ping with Docker infinispan * AuthenticationFlowContext.getRefreshUrl(true) - adds auth_session_id query param in an old non-supported format core * Error pulling from docker.io in DockerClientTest ci * Duplicate admin UI message keys admin/ui * Unrecognized configuration key "quarkus.smallrye-health.extensions.enabled" was provided dist/quarkus * Outdated documentation about how to use reCAPTCHA in development with localhost docs * Flaky test: org.keycloak.testsuite.webauthn.account.WebAuthnErrorTest#errorPageWithTimeout ci * [FGAP] User can see itself even though he has negative permission to view itself * Latency issue after Keycloak version upgrade core * Invoking dynamic client registration with lightweight access token results in a 404 oidc * MeterFilter is configured after a Meter has been registered dist/quarkus * Bad escape apostrophe character in messages_fr.properties login/ui * CVE-2025-0736 Error during JGroups channel creation may reveal secure information * Admin console: unable to edit user profile attribute either on the form or the JSON editor. admin/ui * Typos in English email message templates translations * UI tests failing admin/ui * RawKeycloakDistribution creates empty directory when copying provider testsuite * Certificate reloading dosen't work for management interface related certificate dist/quarkus * Error on import of a public key (pem) authentication * AccountRestService.supportedLocales is missing @Produces account/api * Account console not working on embedded Keycloak server account/ui * Review how all resource type permissions are evaluated admin/fine-grained-permissions * Organization invitation flow -> changing locale / language does not work organizations * Customized quarkus.properties for MySQL cause "Unable to find the JDBC driver (org.h2.Driver)",The server fails to start. storage * Password Setting modal box title is "Reset Password..." admin/ui * Pods become unresponsive after upgrade to 26.1.0 infinispan * Wrong organization claim assignment in JWT access token organizations * Change default value for force-login option in reset-credential-email authentication * Login form can be used to determine which email addresses / usernames are in the system login/ui * Problems changing pre-defined user profile attributes admin/ui * Upgrade to latest JGroups patch version * Main is broken because of the OAuthClient changes testsuite * Cannot fetch realm role that was renamed admin/api * Make sure resources are properly managed when updating permissions admin/fine-grained-permissions * CVE-2024-47072 - XStream is vulnerable to a Denial of Service attack due to stack overflow from a manipulated binary input stream * [Jenkins Operator CI] - UpgradeTest#testImageChange ci * Organizations: Adding LDAP federated user to org leads to org group being pushed to LDAP core * Typo in English text for admin UI key resourceAttributeHelp translations * Password policies like NoUsername consider case-sensitivity authentication * External Link Test failing docs * 'Registration Flow' forms on organization invites should have the 'token' query parameter added to forms 'url.loginAction' organizations * Allow refresh of session list in admin ui even if list is corrently empty admin/ui * Missing translation for INVITE_ORG event in admin console admin/ui * INVALID_REQUEST error code returned but not INVALID_SCOPE authentication * new warnings with simple start-dev dist/quarkus * The token exchange grant type not available in well-known endpoint when token-exchange-standard feature enabled oidc * Flaky test OrganizationInvitationLinkTest testsuite * Requested locale applied on first login page but not on following pages admin/ui * Flaky test: org.keycloak.testsuite.actions.RequiredActionPriorityTest#executeRequiredActionWithCustomPriorityAppliesSamePriorityToSessionAndUserActions ci * Property Name Casing Mismatch in ProtocolMapperUtils saml * When calling the token revoke endpoint multiple times with the same token, a database REVOKED-TOKEN constraint error is reported storage * [Keycloak Integration CI] - Extension - Start keycloak failed ci * `ClientPolicyProvider` doesn't check for deleted Clients - throws NPE authorization-services * Keycloak Fails to Load HTTPS Key Material (Incorrect Path Resolution) dist/quarkus * [Operator] Test UpgradeTest is unstable ci * Session type incorrectly set in access-token context when token created with scope=offline_access oidc * Code editor is not displaying when viewing a policy from Clients → Authorization → Policies admin/ui * Quick Theme needs icon support admin/ui * Group search of nested groups does not work as expected core * "remember me" session are reset as standard session after browser restart authentication * API docs don't build after adding new ISPN compile time annotations ci * Configuring log levels for package names with underscores dist/quarkus * keycloak.conf allows for some quarkus. properties dist/quarkus * Config expression may use the wrong value dist/quarkus * Save Button Not Enabled When Switching OTP Type from "Time Based" to "Counter Based" admin/ui * Add User to Organisation documentation wrong admin/api * Compilation failure: KeycloakModelSchema cannot find symbol KeycloakModelSchemaImpl infinispan * internal options are settable in non-cli config sources dist/quarkus * Organization - Identity-First Flow automatic redirect only works with domain in login name organizations * URI template for paths shouldn't allow nested braces core * OIDC Backchannel Logout does not honour pairwise subject identifier oidc * webauthn-authenticate.ftl broken login/ui * Admin events: resource type filter does not work admin/ui * ConditionalOtpFormAuthenticator fails to set CONFIGURE_TOTP required action for LDAP read-only users * Add search filter to Organizations page admin/ui * [Keycloak CI] - SSSD tests ci * Unwanted placeholder texts in user profile fields admin/ui * When testing/evaluating permissions UMA resources are not resolved properly authorization-services * KeycloakModelUtils.findUserByNameOrEmail() returns null for email as "username" (realm setting: login with email disabled) core * Custom Authenticator SPI MAP_TYPE default value ignored in Admin UI admin/ui * Inconsistent use of single quotes in message resources translations * Repeated info logs running an import infinispan * KC_HTTPS_TRUST_STORE_TYPE not working dist/quarkus * For external-to-internal token exchange when using the userinfo endpoint, information from access or ID token can't be extracted token-exchange * Id of user federations not respecting UUID format, consequently warning logs "The given key is not a valid key per specification, future migration might fail" are raised core * Polynomial regex in KeycloakUriBuilder core * [FGAP] [UI] Remove the requirement for mandatory fields in admin console when creating policies * User created with undefined locale except when they explicitely select their language login/ui * Need a better 403 page for admin console admin/ui * The default setting of the client request object parameter is empty admin/ui * [Keycloak CI] - WebAuthn tests ci * Selecting an indvidual Client Policy selects all client policies admin/ui * Issue in clearing offline sessions internally using ClearExpiredUserSessions Scheduled task * Login with admin-cli not possible with password starting with "@@" admin/cli * Custom UI Tab Incorrectly Displayed Under Multiple Tabs admin/ui * Worse UX with new realm selector admin/ui * Login[v2]: Worsen UI design for login screens core * Login[v2]: Keycloak logo is not fully visible core * Login[v2]: Missing info section for screens core * Login[v2]: Worsen login screen layout core * Profile Custom Attribute Group: Click on attribute group changes URL, breaking the navigation in AdminUI admin/ui * Cannot authenticate to "admin-cli" client due to Java null pointer exception admin/cli * Account UI doesn't show max length validation for user profile account/ui * Message format must not be used for UI messages account/ui * Broken guides link on reverseproxy page docs * Missing Space in Role Attribute View After Refresh admin/ui * Unstable test TimeOffsetTest testsuite * [Documentation CI] - External links check docs * Managed resource not injected if a dependency is incompatible testsuite * Injected HttpClient is always re-created testsuite * Attribute added to managed test client with rollback is not removed testsuite * [FGAP] [UI] Searching for permissions doesn't clear `Resource` field upon changing `Resource type` admin/fine-grained-permissions * Updating a client with rollback in a test doesn't reset all values testsuite * Keycloak rotate certificate without delay when rotation time is less then 100s infinispan * Unable to activate user-event-metrics with optimized container image using the operator dist/quarkus * Unexpected transformation of user labels in the Account UI account/ui * ERROR Hostname v1 options [hostname-strict-https] are still in use on startup dist/quarkus * Can not set user email to blank organizations * File upload in realm settings is not working admin/ui * Fine-Grain Admin Permissions: Difference in Policy Evaluation in v1 vs v2 admin/fine-grained-permissions * [Keycloak CI] - AuroraDB IT - Error deleting AuroraDB ci * [Keycloak JavaScript CI] - Admin UI E2E (chrome) - Upload Playwright report error ci * `PartialEvaluator` ignores `view-*` and `manage-*` roles admin/fine-grained-permissions * Fix leaking 5s rotation period to other tests * Filtering not working when using view-member permission with a permission that denies access to a resource admin/fine-grained-permissions * Authorization Settings (ResourceServerRepresentation) Import doesn't reflected into all keycloak functionalities without server restart authorization-services * Locale RTL does not work properly login/ui * Regression in the "client selector" UI component admin/ui * Not Recently Used (In Days) "user" is null on registration core * When calling the user info endpoint, the DPoP is not bound to the access token core * Keycloak email message ID contains the local host name or IP address core * [FGAP] User not visible when permission with different scope exists admin/fine-grained-permissions * Recovery Codes messages in account console are not displayed / API change account/ui * JWKSUtils.computeThumbprint(..) broken for ECPublicKeys oidc * Cookie "KC_AUTH_SESSION_HASH" has been rejected because it is in a cross-site context and its "SameSite" is "Lax" or "Strict" authentication * Keycloak account console is missing the Keycloak logo account/ui * Frontend endpoint redirects to admin endpoint core * PersistenceExceptionConverter#convert NPE if SQLState is null storage * Impossible to update client settings after previously updated client in tab "Advanced" admin/ui * Disabled switch for "Allow refresh token for token exchange" after client is created admin/ui * [Keycloak CI] - Quarkus IT - ProxyHostnameV2DistTest.testForwardedProxyHeaders ci * Cluster is not correctly formed with JDBC_PING2 infinispan * Missing explicit target for cross-reference 2FA in server admin guide docs * Define a max expiration window for Signed JWT client authentication oidc * Persistent User Sessions doesn't track staleness of client sessions core * Recaptcha secret key configuration lost when migrating from 24.0.5 to 26.1.4 authentication * Set the correct revision number in stateful set operator * Can not delete users using the administration consle admin/ui * [FGAP] Documentation contains redundant sentense admin/fine-grained-permissions * Export failing if the realm has FGAP enabled admin/fine-grained-permissions * Can not add or remove groups when updating a group resource type permission admin/fine-grained-permissions * Obsolete pinned guides and wrong ordering in downstream docs * OTelHttpClientFactory not configured properly when tracing enabled dist/quarkus * POST /admin/realms/{realm}/organizations/{id}/members in Keycloak API not working with some REST clients admin/api * Client 'admin-permissions' doesn't have protocol set. admin/fine-grained-permissions
11 Apr 2025 12:00am GMT
Keycloak 26.1.5 released
To download the release go to . UPGRADING Before upgrading refer to for a complete list of changes. ALL RESOLVED ISSUES ENHANCEMENTS * Upgrade to Quarkus 3.15.4 dist/quarkus * OTel: Unable to disable sampling at runtime; tracing-sampler-ratio validation prevents setting 0.0 dist/quarkus BUGS * The root cause of error is suppressed in KC 26 at building dependencies * Save Button Not Enabled When Switching OTP Type from "Time Based" to "Counter Based" admin/ui * ConditionalOtpFormAuthenticator fails to set CONFIGURE_TOTP required action for LDAP read-only users * [Keycloak CI] - WebAuthn tests ci * Issue in clearing offline sessions internally using ClearExpiredUserSessions Scheduled task * Broken guides link on reverseproxy page docs * Keycloak email message ID contains the local host name or IP address core * Keycloak account console is missing the Keycloak logo account/ui * Define a max expiration window for Signed JWT client authentication oidc * Recaptcha secret key configuration lost when migrating from 24.0.5 to 26.1.4 authentication * OTelHttpClientFactory not configured properly when tracing enabled dist/quarkus
11 Apr 2025 12:00am GMT
10 Apr 2025
JBoss Blogs
WildFly 36 is released!
I'm pleased to announce that the new WildFly and WildFly Preview 36.0.0.Final releases are available for download at , The Galleon feature packs for WildFly 36 are available in Maven. NEW AND NOTABLE This quarter we had some exciting innovation outside the main appserver itself: * You can now . To learn more about this feature, please read the in the WildGly Glow documentation. This feature is provided at the . * The evolved rapidly during the quarter. Learn more by checking out Emmanuel Hugonnet's talks at last month's or at . This feature pack is currently and will likely continue to change rapidly. Of course, there's new stuff in the main appserver as well: * The micrometer extension has been modified to , allowing for pull-based scraping of metrics information for deployments, if that is preferred. This much-requested feature is provided at the . * The JBoss EJB Client library and the ejb3 subsystem now support for remote EJB invocations. * When configuring WildFly to act as a reverse proxy, the undertow subsystem now supports configuring the reverse proxy handler to . This feature is provided at the . Previously this had been supported at preview stability. The promotion to community stability means this feature is now available out of the box in standard WildFly. * The undertow subsystem now allows . This feature is provided at the . Previously this had been supported at preview stability. The promotion to community stability means this feature is now available out of the box in standard WildFly. * Within the WildFly Preview distribution we also . Finally, we did some long overdue improvements to the . We plan to continue improving there, particularly by giving greater emphasis to the growing ecosystem of Galleon feature packs that WildFly provides. Your feedback is very much wanted! SUPPORTED SPECIFICATIONS JAKARTA EE Standard WildFly 36 is a compatible implementation of the EE 10 as well as the and the . WildFly is EE 10 Platform, Web Profile and Core Profile compatible when running on Java SE 17 and Java SE 21. Evidence supporting our certification is available in the repository on GitHub: Specification Compatibility Evidence Jakarta EE 10 Full Platform Jakarta EE 10 Web Profile Jakarta EE 10 Core Profile MICROPROFILE Standard WildFly 36 supports , along with several other MicroProfile specifications that are not part of MicroProfile Platform. The full listing is available in the . for the specifications that are part of MicroProfile 7.0 can be found in the WildFly Certifications repository on GitHub. WILDFLY PREVIEW AND EE 11 Since the , we are using WildFly Preview to provide a look at what we're doing for Jakarta EE 11 support. The EE 11 Platform and Web Profile specifications won't go GA before later this year. But there are milestone, Release Candidate and Final releases of many EE 11 specs and implementations available, so we are providing those in WildFly Preview. This means for a number of EE APIs, WildFly Preview no longer provides an EE 10 compatible implementation. However, for a number of specifications that are planning changes for EE 11 we are still offering the EE 10 variant. In future releases we'll shift those to the EE 11 variants. The went GA last November and WildFly Preview 36 supports that profile. Full details on the EE specification versions provided by WildFly Preview can be found in . JAVA SE SUPPORT Our recommendation is that you run WildFly 36 on Java SE 21, as that is the latest LTS JDK release where we have completed the full set of testing we like to do before recommending a particular SE version. WildFly 36 also is heavily tested and runs well on Java 17. Our recommendation of SE 21 over SE 17 is solely because as a general principle we recommend being on later LTS releases, not because of any problems with WildFly on SE 17. While we recommend using an LTS JDK release, I do believe WildFly runs well on SE 24. By runs well, I mean the main WildFly testsuite runs with no more than a few . We want developers who are trying to evaluate what a newer JVM means for their applications to be able to look to WildFly as a useful development platform. We've also had good results with tests on Linux of an EA release of SE 25 (Oracle 25-ea+10-1084). Please note that WildFly runs in classpath mode. NEW AND NOTEWORTHY CONTRIBUTORS WildFly gets great contributions from so many people. I'm going to start using this section of the release announcement to thank a few of them. Andrew Golding reported an and . Thank you, Andrew! slew the dragon of Prometheus support with Micrometer. Thank you, Jason! showed great innovative initiative by driving the new ability to using . Thank you, Jeff! Same for , who is on fire with new improvements to the incubating . Go Emmanuel! RELEASE NOTES The full WildFly 36 release notes are . Issues fixed in the underlying WildFly Core 28.0.0 release are listed in the . Please try it out and give us your feedback, in the , or . I hope you enjoy WildFly 36 as much as we've enjoyed bringing it to you! Best regards, Brian
10 Apr 2025 12:00am GMT
Optimizing Java for the Cloud-Native Era with Quarkus
INTRO This post explores how Quarkus can help organizations reduce costs, streamline development, and modernize their Java applications for today's cloud-native environments. It outlines the real-world benefits of adopting Quarkus and highlights how its core features address the performance and scalability challenges commonly associated with traditional Java frameworks. Quarkus is already being adopted across industries. One example is Orange, a global telecom provider that selected Quarkus to support its 5G API initiative, and benefited from fast startup times, a lightweight footprint, and seamless integration with Kubernetes. * After evaluating multiple frameworks, Orange chose Quarkus as the optimal solution for exposing 5G APIs, thanks to its fast startup, lightweight footprint, modularity, and seamless Kubernetes deployment. Quarkus successfully deployed 10 APIs across 4G/5G network cores, with smooth upgrades and optimized resource usage. This solidified Quarkus as a key technology for telecom innovation. For a collection of user stories from the community, see the series. These stories highlight how different teams and organizations are using Quarkus in the real world. WHAT DOES QUARKUS HAVE TO OFFER? DEVELOPER JOY WITH LIVE CODING AND DEV MODE Quarkus streamlines the traditional write-compile-deploy-refresh cycle by offering live coding support out of the box. As developers make changes, Quarkus automatically detects, recompiles, and redeploys the application, which eliminates the need for manual restarts. While similar functionality has existed through third-party tools, Quarkus integrates it natively and without licensing overhead. This significantly boosts productivity and enhances the developer experience. COST EFFICIENCY AND PERFORMANCE By optimizing for low memory usage and fast startup times, Quarkus enables higher-density deployments and rapid scaling. For comparable workloads, Quarkus typically consumes fewer resources such as CPU and memory, which can lead to significant cost savings in cloud environments. However, organizations considering the switch should always measure and evaluate their specific workloads to validate these benefits in practice. REACTIVE AT ITS CORE At its core, Quarkus is built on Eclipse Vert.x, a high-performance reactive toolkit. Still, it allows developers to work primarily in an imperative style while leveraging the performance benefits of its reactive underpinnings. This hybrid approach allows developers to squeeze out even more efficiency from traditional imperative programming while offering the flexibility to adopt reactive patterns where they make sense. Unlike traditional reactive-only frameworks, Quarkus enables developers to combine both imperative and reactive styles in a single application. This is particularly beneficial for systems requiring high throughput and low latency, ensuring that applications remain robust under heavy load. Quarkus's reactive model makes it ideal for event-driven architectures and microservices. * A basic example of reactive messaging in Quarkus: @ApplicationScoped public class PriceConverter { @Incoming("prices") @Outgoing("converted-prices") public double convert(double priceInEuro) { return priceInEuro * 1.1; } } In this example, prices are received from one channel (prices), converted, and sent to another channel (converted-prices). This pattern supports high-throughput, event-driven processing with clean and efficient logic. * An example of a reactive HTTP endpoint using reactive routes in Quarkus: @ApplicationScoped public class GreetingRoute { @Route(path = "/hello", methods = HttpMethod.GET) public Uni hello() { return Uni.createFrom().item("Hello from reactive route!"); } } This route handles HTTP GET requests reactively using Uni from Mutiny, making it easy to build non-blocking, low-latency APIs. WHICH OF YOUR CURRENT DEVELOPMENT PAINS COULD QUARKUS SOLVE? One often-overlooked benefit of Quarkus is how it improves onboarding and standardization across teams. With built-in conventions, automatic service provisioning, and curated extension defaults, Quarkus helps developers get up to speed quickly and encourages consistent patterns across projects. DEV SERVICES Quarkus Dev Services reduce friction during development and testing by automatically provisioning required services such as databases, message brokers, or identity providers. For example, if your application includes PostgreSQL, Kafka, or Keycloak extensions, Quarkus can spin up the necessary containers without any manual setup. This allows you to focus on coding instead of configuring infrastructure, accelerating your local development workflow. VAST EXTENSION ECOSYSTEM Quarkus offers a rich extension ecosystem that simplifies integration with essential technologies such as databases, messaging systems, authentication providers, and cloud services. In addition to official extensions, the Quarkiverse community provides a growing collection of open-source extensions maintained by contributors across the ecosystem. This broadens the range of supported technologies and enables developers to benefit from shared solutions and community expertise. Popular extensions include: * quarkus-hibernate-orm and quarkus-jdbc-postgresql for seamless data persistence. * quarkus-smallrye-reactive-messaging and quarkus-kafka-client for reactive messaging and Apache Kafka integration. * quarkus-oidc for implementing OpenID Connect authentication and securing applications. * quarkus-micrometer and quarkus-opentelemetry for observability, metrics, and tracing. * quarkus-container-image-docker and quarkus-kubernetes for containerization and deployment to Kubernetes platforms. These extensions are widely adopted because they reduce boilerplate, provide reliable default configurations out of the box, and follow cloud-native best practices-making it easy to plug Quarkus into real-world architectures. "OK, I WOULD LIKE TO TRY IT, BUT IS IT EASY ENOUGH TO MIGRATE MY WORKFLOW TO QUARKUS?" Migrating to a new framework can feel daunting, even when it promises better performance, lower costs, and an improved developer experience. It's like being offered a better house in a better neighborhood, but hesitating because of the hassle of packing, moving, and settling in. With Quarkus, the transition doesn't have to be disruptive. Thanks to its compatibility with standard Java APIs, support for Jakarta EE and Spring, and a wide range of extensions, many projects can adopt Quarkus incrementally without rewriting existing code. Whether you're coming from a traditional Java EE application server, a Spring-based stack, or another framework such as Micronaut or Dropwizard, Quarkus provides familiar APIs, tooling, and migration guides to ease the transition. The platform supports commonly used Jakarta specifications like JAX-RS, CDI, JPA, and Bean Validation out of the box. For Spring users, the compatibility layer includes support for widely used annotations and components. See the to learn more. Need assistance getting started? You're not alone. The Quarkus team offers expert guidance throughout the migration journey, from initial architecture reviews to production readiness. Whether you're evaluating the framework or planning a full transition, support is available to help ensure a smooth and successful adoption. All it takes is a decision to move forward. Your team deserves a faster, leaner, and cloud-native future. CONCLUDING NOTE Quarkus is redefining Java development by combining modern features with the robustness of the Java ecosystem. Its focus on developer productivity, performance, and seamless integration positions it as a formidable framework for building efficient, cloud-native applications. Whether you're looking to optimize costs, enhance development speed, or adopt a reactive approach, Quarkus is a game-changer for Java developers. The end.
10 Apr 2025 12:00am GMT
09 Apr 2025
JBoss Blogs
Quarkus 3.21.2 - Maintenance release
We released Quarkus 3.21.2, the second maintenance release for our 3.21 release train. NOTICEABLE CHANGES JUNIT UPDATE We had to update JUnit from 5.10 to 5.12 to solve an alignment issue with Mockito. JUnit 5.11 comes with to how hierarchies of tests are handled so you might have to adjust your tests accordingly. UPDATE To update to Quarkus 3.21, we recommend updating to the latest version of the Quarkus CLI and run: quarkus update Note that quarkus update can update your applications from any version of Quarkus (including 2.x) to Quarkus 3.21. For more information about the adjustments you need to make to your applications, please refer to the . FULL CHANGELOG You can get the full changelog of on GitHub. COME JOIN US We value your feedback a lot so please report bugs, ask for improvements… Let's build something great together! If you are a Quarkus user or just curious, don't be shy and join our welcoming community: * provide feedback on ; * craft some code and ; * discuss with us on and on the ; * ask your questions on .
09 Apr 2025 12:00am GMT
07 Apr 2025
JBoss Blogs
Education Learning in the Modern Age: A Smarter Way to Succeed
Education learning has undergone a remarkable transformation over the past decade. With technology deeply integrated into academic life, students now have more tools and resources than ever to support their educational journeys. From virtual classrooms to online libraries, the process of acquiring knowledge has expanded beyond traditional textbooks. Today, learning is a dynamic, personalized experience where students can access help anytime, anywhere-and it's revolutionizing how they perform academically. One area where students often seek extra support is mathematics. Whether it's algebra, calculus, statistics, or geometry, math can be challenging and time-consuming. That's where comes into play. These services are designed to provide expert guidance on complex math problems, offering step-by-step solutions that help students understand core concepts rather than just getting the answers. With dedicated math tutors and specialists, students are able to not only improve their grades but also build confidence in a subject that many find intimidating. This kind of focused support makes a huge difference in a student's ability to keep up with coursework and avoid falling behind. For students in Australia, the need for quality academic assistance has led to a surge in professional tutoring and assignment support services. Platforms offering are tailored to align with the country's academic standards, university requirements, and student expectations. These services cover a wide range of subjects beyond math-such as science, literature, business, law, and more-ensuring that every student can find the help they need, regardless of their field of study. With experienced writers, researchers, and educators, these platforms deliver high-quality, plagiarism-free work that not only meets deadlines but also improves understanding of the topic. Education learning today is not just about passing exams; it's about developing critical thinking, time management, and independent learning skills. Assignment help services complement traditional learning by offering a support system that reduces academic stress and encourages deeper engagement with the subject matter. When students understand their assignments better, they become more active participants in their own education, leading to better long-term outcomes. Moreover, in a time where students juggle studies with part-time jobs, internships, and social responsibilities, having reliable academic support is more than a luxury-it's a necessity. It ensures that students don't have to choose between quality learning and a healthy lifestyle. The combination of classroom learning with professional assistance allows for a well-rounded education that adapts to the student's pace and needs. In conclusion, education learning is evolving, and embracing tools like math assignment help and assignment help Australia empowers students to take control of their academic future. By utilizing these resources, learners are not only improving their performance but also developing a stronger foundation for future success. Education is no longer a one-size-fits-all experience-it's a personalized journey, and with the right support, every student can thrive. The post appeared first on .
07 Apr 2025 5:31am GMT
Translating Keycloak with Weblate
Keycloak runs in a lot of regions and countries. Translations help Keycloak to reach a wider audience by making the platform usable for speakers of various languages. For translations, to simplify the process. The community can use a web-based frontend to contribute translations, and the language maintainers get automated notifications and review the translations. Join us in the two upcoming episodes of Keycloak Hour of Code ( or ) to see it live and in action, and to ask your questions. Read on for more details on the process. TRANSLATE USING WEBLATE and browsers suffice for translation contributions. Two language maintainers are needed to set up a translation for Keycloak in Weblate. They need to be native speakers of that language and will regularly review the contributions from the community. Today this is the case . To have your language added to Weblate, and pair up with others. TRANSLATE USING GITHUB PULL REQUESTS Before Weblate, we used GitHub pull requests to contribute and maintain all translations, . Each pull request for a translation needs to be reviewed by a native speaker. You can either ask the community, a friend or a colleague for the review. JOIN THE DISCUSSION AND READ UP ON THE PROCESS Read more about the in our repository, or to ask questions or to contribute ideas. Let's make Keycloak's translations shine!
07 Apr 2025 12:00am GMT
Eclipse Vert.x 5 candidate 6 released!
07 Apr 2025 12:00am GMT
03 Apr 2025
JBoss Blogs
Eclipse Vert.x 4.5.14 released!
03 Apr 2025 12:00am GMT
02 Apr 2025
JBoss Blogs
Quarkus 3.21.1 - Maintenance release
We released Quarkus 3.21.1, the first maintenance release for our 3.21 release train. UPDATE To update to Quarkus 3.21, we recommend updating to the latest version of the Quarkus CLI and run: quarkus update Note that quarkus update can update your applications from any version of Quarkus (including 2.x) to Quarkus 3.21. For more information about the adjustments you need to make to your applications, please refer to the . FULL CHANGELOG You can get the full changelog of on GitHub. COME JOIN US We value your feedback a lot so please report bugs, ask for improvements… Let's build something great together! If you are a Quarkus user or just curious, don't be shy and join our welcoming community: * provide feedback on ; * craft some code and ; * discuss with us on and on the ; * ask your questions on .
02 Apr 2025 12:00am GMT
31 Mar 2025
JBoss Blogs
Request for input: Narayana in a foundation?
The Narayana project has been very successful for many, many years and we are very grateful for the contributions that our upstream community give to us through discussing, reporting issues, and providing code contributions to help the project thrive. I would like to share an update with our community that we are considering to move the Narayana project to a vendor-neutral software foundation. By doing this we can hopefully further expand our community and continue to improve openness and transparency in the project. IMPORTANT CONSIDERATIONS Moving to a foundation is not a trivial task, so it's critical that the choice we make is a net benefit to our community. To help ensure this, there are a number of key factors we're looking at when evaluating what foundation would be the best fit: 1. Flexibility to continue shipping third-party components using a wide array of Open Source Initiative (OSI)-approved Open Source licences. 2. Maintain as much as possible our current release processes. 3. Retain independence in decision making, particularly on technical matters. 4. Ensure Narayana remains visible and recognizable within a foundation's potentially larger portfolio of projects. 5. Ensure Narayana can make decisions based on technical merits, not foundation-imposed options. 6. Provide flexibility in using Open Source Initiative (OSI)-approved Open Source licences for Narayana. SUPPORT AND ALIGNMENT WITH RED HAT VALUES Red Hat business leaders are fully behind this move. Red Hat is dedicated to participating in and supporting vendor-neutral collaboration projects, such as the Linux kernel, Kubernetes, and OpenJDK. We seek the same for Narayana. PLEASE LET US KNOW WHAT YOU THINK We invite members of our Narayana community, inside and outside of Red Hat to join the discussion in the community either on the blog, in our users forum (https://groups.google.com/g/narayana-users) or over on Zulip (https://narayana.zulipchat.com/).
31 Mar 2025 3:56pm GMT
27 Mar 2025
JBoss Blogs
WildFly 36 Beta is released!
I'm pleased to announce that the new WildFly 36.0.0.Beta1 release is available for download at . As can be seen from the a lot of issues were resolved in this release but I would also like to call out some of the following highlights: * [] - Add a prometheus endpoint to the micrometer extension * [] - Support remote+tls with EJBClient and remote-outbound-connection * [] - Promote ajp-listener AJP_ALLOWED_REQUEST_ATTRIBUTES_PATTERN to community stability * [] - Promote undertow subsystem's reuse-x-forwarded and rewrite-host header configurability to community stability Within the WildFly Preview distribution we also . We've also enhanced , so it is now possible to using ! Please try out this release and let us know how you get on.
27 Mar 2025 12:00am GMT