Skip to content

Commit ff0cb0c

Browse files
update 26.0.0.3 blog
1 parent 8aa0647 commit ff0cb0c

1 file changed

Lines changed: 25 additions & 23 deletions

File tree

posts/2026-03-24-26.0.0.3.adoc

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -148,21 +148,23 @@ image::img/blog/blog_btn_stack.svg[Ask a question on Stack Overflow, align="cent
148148
[#userregistry]
149149
== UserRegistry Attribute Reader Enhancement
150150

151-
The UserRegistry Attribute Reader APIs feature enables applications to retrieve specific user attributes and search for users based on attribute values directly from LDAP and custom user registries.
151+
The UserRegistry Attribute Reader APIs feature provide applications with the ability to retrieve specific user attributes and search for users based on attribute values directly from LDAP and custom user registries.
152152

153153
=== What's New?
154154

155-
Previously, the UserRegistry API provided basic user lookups such as searching by `userSecurityName` or wildcard pattern matching. However, it did not allow applications to retrieve specific user attributes or search for users based on attribute values. The capabilities of these two methods are similarly available in Traditional WebSphere under the VMM API. The addition of these two APIs allows applications to search and read attributes from their LDAP and custom user registries.
155+
Previously, the UserRegistry API supported only basic user lookups such as searching by `userSecurityName` or by using wildcard pattern matching. However, it did not allow applications to retrieve specific user attributes or search for users based on attribute values. These capabilities were available in Traditional WebSphere through the VMM API. The introduction of these two new APIs now enables applications to search for users and retrieve attributes from LDAP and custom user registries.
156156

157-
With this change, you can now retrieve specific attributes for a user (such as email, phoneNumber, or "*" for all attributes) using `getAttributesForUser()` and search for users by attribute values using `getUsersByAttribute()`. These new methods are supported for LDAP user registries. A custom user registry implementation can also implement these methods.
157+
With this enhancement, you can now retrieve specific attributes for a user by using the `getAttributesForUser()` method. This method supports retrieval of individual attributes such as email or phoneNumber, or "*" to retrieve all available attributes for a user.
158+
159+
You can also search for users based on attribute values by using the `getUsersByAttribute()` method, enabling applications to locate users by matching specific attribute criteria. These methods are supported for LDAP user registries. Custom user registry implementations can also implement and support these methods.
158160

159161
=== How to Use It
160162

161-
New API methods (added in UserRegistry.java):
163+
New API methods added to `UserRegistry.java`:
162164

163165
. `default Map<String, Object> getAttributesForUser(String userSecurityName, Set<String> attributeNames)`
164166
+
165-
*Description:* Returns a Map<String, Object> of the `attributesNames` and values for `userSecurityName` configured in the LDAP user registry.
167+
*Description:* Returns a Map<String, Object> containing the specified `attributesNames` and their corresponding values for the given `userSecurityName`, as configured in the LDAP user registry.
166168
+
167169
[source,java]
168170
----
@@ -183,7 +185,7 @@ Map<String, Object> result = ur.getAttributesForUser("testuser", attributeNames)
183185

184186
. `default SearchResult getUsersByAttribute(String attributeName, String value, int limit)`
185187
+
186-
*Description:* Returns a `SearchResult` object that contains a list of users that match an `attributeName` with specified `value` configured in the LDAP user registry.
188+
*Description:* Returns a `SearchResult` object that contains a list of users that match an `attributeName` with specified `value` that is configured in the LDAP user registry.
187189
+
188190
[source,java]
189191
----
@@ -201,11 +203,11 @@ SearchResult searchResult = ur.getUsersByAttribute("email", "testuser@example.co
201203
SearchResult hasMore=false [testuser]
202204
----
203205

204-
To learn more about user registry, see the following resources:
206+
To learn more about the user registry, see the following resources:
205207

206-
* link:https://www.ibm.com/docs/en/was-liberty/base?topic=infrastructure-customizing-user-registries-repositories-liberty[Open Liberty Custom User Registry Documentation]
208+
* link:https://www.ibm.com/docs/en/was-liberty/base?topic=infrastructure-customizing-user-registries-repositories-liberty[Open Liberty Custom User Registry documentation]
207209
* link:https://openliberty.io/docs/modules/reference/24.0.0.3/com.ibm.websphere.appserver.api.securityClient_1.1-javadoc/com/ibm/websphere/security/UserRegistry.html[UserRegistry API Javadoc]
208-
* link:https://openliberty.io/docs/latest/user-registries-application-security.html#_federated_user_registries[Federated User Registry Configuration]
210+
* link:https://openliberty.io/docs/latest/user-registries-application-security.html#_federated_user_registries[Federated User Registry configuration]
209211

210212
// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC>
211213

@@ -216,44 +218,44 @@ To learn more about user registry, see the following resources:
216218
[#jandex]
217219
== Jandex Index Format Support Update
218220

219-
Open Liberty now supports the current latest Jandex index formats, enabling you to use Jandex indexes created with Jandex versions 3.1.0 and higher. Jandex is a space-efficient Java annotation indexer and offline reflection library that significantly improves application startup performance by pre-indexing class metadata.
221+
Open Liberty now supports the latest Jandex index formats, allowing the use of Jandex indexes that are created with Jandex version 3.1.0 and later. Jandex is a spaceefficient Java annotation indexer and offline reflection library that improves application startup performance by preindexing class metadata.
220222

221-
This feature is intended for Application developers and DevOps engineers working with Jakarta EE and MicroProfile applications who want to optimize their application startup times and reduce runtime overhead.
223+
This feature targets application developers and DevOps engineers who work with Jakarta EE and MicroProfile applications. It is designed to optimize application startup times and reduce runtime costs.
222224

223225
=== What's New?
224226

225-
With this update, Open Liberty supports Jandex index formats *11, 12, and 13*. Indexes that use these index format versions are generated by Jandex versions 3.1.0 up to and including the current latest Jandex version 3.5.3.
227+
With this update, Open Liberty supports Jandex index formats *11, 12, and 13*. Jandex versions 3.1.0 through the current latest version, 3.5.3, generate indexes that use these formats.
226228

227-
Previously, Open Liberty only supported Jandex index format versions up to and including index format version 10. The index format limitation meant applications that were packaged with Jandex indexes could not use an index format version higher than 10 and continue to obtain expected performance improvements. To maintain performance improvements, build tooling was required to continue using a Jandex version prior to 3.1.0, or to add explicit parameters to Jandex index generation steps to force the generation of indexes using index format 10 or lower.
229+
Previously, Open Liberty supported Jandex index format versions only up to and including version 10. This index format limitation meant that applications packaged with Jandex indexes could not use index formats beyond version 10 while retaining the expected performance improvements. To preserve these performance benefits, build tooling had to continue using a Jandex version prior to 3.1.0, or explicitly configure Jandex index generation to produce indexes that use index format up to and including version 10.
228230

229231
=== Benefits
230232

231233
The added support for Jandex index formats has several benefits:
232234

233-
* *Improved Compatibility:* Seamlessly work with the latest versions of build tools and frameworks that use newer Jandex versions
235+
* *Improved Compatibility:* Works seamlessly with the latest versions of build tools and frameworks that use newer Jandex versions
234236
* *Faster Startup Times:* Continue to benefit from Jandex's efficient annotation indexing without version constraints
235237
* *Reduced Maintenance:* No need to maintain multiple Jandex versions or regenerate indexes for compatibility
236238
* *Future-Proof:* Stay current with the Jandex ecosystem as it evolves
237239

238240
=== Limitations
239241

240-
*When using Jandex indexes, you must ensure that up-to-date index files are provided together with your application classes.* When a Jandex index is not up to date with application classes, incorrect annotation data is used. This might cause the application to function incorrectly. Out-of-date Jandex indexes cannot be reliably detected.
242+
*When using Jandex indexes, ensure that the index files are kept up to date with the application classes.* If a Jandex index is not synchronized with the application classes, it can contain incorrect annotation data, which can cause the application to function incorrectly. Out‑of‑date Jandex indexes cannot be reliably detected.
241243

242-
Open Liberty does not read index formats higher than index format 13. If a new version of Jandex adds a higher index format version, Open Liberty requires an update before it can read Jandex indexes which use that index format version.
244+
Open Liberty does not read index formats higher than index format 13. If a new version of Jandex adds a higher index format version, Open Liberty requires an update before it can read Jandex indexes, which use that index format version.
243245

244-
The Open Liberty feature "mpGraphQL", which is obtained from an external source, is limited to reading Jandex index formats no higher than index format 10. If the feature "mpGraphQL" is used, Jandex indexes should be generated using index format 10. This limitation applies to all current versions of "mpGraphQL", including the current highest version, "mpGraphQL-2.0".
246+
The Open Liberty feature `mpGraphQL`, which is obtained from an external source, is limited to reading Jandex index formats no higher than index format 10. If the feature `mpGraphQL` is used, Jandex indexes should be generated by using index format 10. This limitation applies to all current versions of `mpGraphQL`, including the current highest version, `mpGraphQL-2.0``.
245247

246248
=== Lifting Restriction
247249

248-
Previously, if Jandex use was enabled and an index of formats 11 through 13 was present in an application, an error message would be displayed and that Jandex index would be ignored. Annotation scans would be performed using Liberty's internal annotation scan code.
250+
PPreviously, when Jandex usage was enabled and an application included Jandex indexes that used formats 11 through 13, Open Liberty displayed an error message and ignored those indexes. In such cases, annotation scanning was performed by using Libertys internal annotation scanning mechanism.
249251

250-
With the addition of support for Jandex index formats 11 through 13, the indexes that use those index formats is now used. The indexes must be up to date with application classes. Ensure that the Jandex indexes that are packaged with your application are up to date with application classes.
252+
With the addition of support for Jandex index formats 11 through 13, Open Liberty now uses indexes that are generated in these formats. These indexes must be kept up to date with the application classes. Ensure that the Jandex indexes packaged with your application accurately reflect the current application classes.
251253

252254
=== How to Use
253255

254-
No configuration changes are required in your `server.xml` file to enable reads of the new index formats. Open Liberty detects the Jandex index format and uses an index reader that is appropriate for the index format. Open Liberty automatically reads indexes that use index formats 11, 12, and 13, and still continues to read indexes that use index formats 10 or less.
256+
No configuration changes are required in the `server.xml` file to enable support for the new Jandex index formats. Open Liberty automatically detects the Jandex index format and selects the appropriate index reader for that format. It reads indexes that use formats 11, 12, and 13, and continues to support indexes that use format up to version 10.
255257

256-
Use of Jandex is disabled by default. To enable use of Jandex, you must specify the property `useJandex` with a value of `true` within any application element or within the application manager element.
258+
By default, Jandex usage is disabled. To enable Jandex, set the `useJandex` property to `true` in either an `application` element or the `applicationManager` element.
257259

258260
If you are generating Jandex indexes as part of your build process, you can now use the latest Jandex Maven plugin or Gradle plugin versions:
259261

@@ -285,9 +287,9 @@ plugins {
285287
}
286288
----
287289

288-
The generated `META-INF/jandex.idx` file is automatically recognized by Open Liberty, regardless of which supported format version is used.
290+
Open Liberty automatically detects and recognizes the generated `META-INF/jandex.idx` file for any supported index format version.
289291

290-
To learn more, see the link:https://smallrye.io/jandex/jandex/3.5.3/index.html[Jandex Documentation]
292+
For more information, see the link:https://smallrye.io/jandex/jandex/3.5.3/index.html[Jandex Documentation]
291293

292294
// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC>
293295

0 commit comments

Comments
 (0)