Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions posts/2026-04-07-26.0.0.4-beta.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The link:{url-about}[Open Liberty] 26.0.0.4-beta includes the following beta fea
** <<jakarta_security, Application Security 6.0 (Jakarta Security 4.0)>>
* <<java_26, Beta support for Java 26>>
* <<mcp, Updates to `mcpServer-1.0`>>
* <<data_1.1, Preview of some Jakarta Data 1.1 M2 capability>>
* <<jakarta_data, Preview of some Jakarta Data 1.1 M2 capability>>
* <<jandex_index, Support for Reading Jandex Indexes from WEB-INF/classes in Web Modules>>


Expand Down Expand Up @@ -296,7 +296,7 @@ Re-enter text:

===== Application Specification

The link:https://jakarta.ee/specifications/security/4.0/jakarta-security-spec-4.0#handling-multiple-authentication-mechanisms[Jakarta Security 4.0] specification allows multiple multiple HTTP Authentication Mechanisms (HAMs) to be defined within a single application, as shown in the following example:
The link:https://jakarta.ee/specifications/security/4.0/jakarta-security-spec-4.0#handling-multiple-authentication-mechanisms[Jakarta Security 4.0] specification allows multiple HTTP Authentication Mechanisms (HAMs) to be defined within a single application, as shown in the following example:

[source,java]
----
Expand Down Expand Up @@ -421,8 +421,11 @@ public class CustomHAMHandler implements HttpAuthenticationMechanismHandler {
@Inject @Fallback // this will be the Custom HAM
private HttpAuthenticationMechanism fallbackHAM;

public AuthenticationStatus validateRequest(HttpServletRequest request, HttpServletResponse response,
HttpMessageContext context) throws AuthenticationException {
public AuthenticationStatus validateRequest(
HttpServletRequest request,
HttpServletResponse response,
HttpMessageContext context
) throws AuthenticationException {

String path = request.getRequestURI();

Expand Down Expand Up @@ -530,7 +533,7 @@ This beta release of Open Liberty includes updates to the `mcpServer-1.0` featur

Tools can now be registered dynamically through an API. This capability allows the set of available tools on the server to be adjusted based on configuration or environment.

Tools can be registered by injecting `ToolManager` and calling its methods to add, remove, and list the available tools on the server. The full Javadoc for `ToolManager` can be found within the liberty beta in `dev/api/ibm/javadoc/io.openliberty.mcp_1.0-javadoc.zip`.
Tools can be registered by injecting `ToolManager` and calling its methods to add, remove, and list the available tools on the server. The full Javadoc for `ToolManager` can be found within the Liberty beta in `dev/api/ibm/javadoc/io.openliberty.mcp_1.0-javadoc.zip`.

Tools can be registered when the application starts through the CDI `Startup` event. See the following example where the `Startup` event is used to register a weather forecast tool only if a `WeatherClient` bean is available.

Expand Down Expand Up @@ -583,7 +586,7 @@ The result of a `tools/list` call is now paginated with a page size of 20. This
=== Bug fixes

* During cancellation of a tool call, we check that both the session id and the authenticated user match the session id and the user that made the tool call. Previously only the session id was checked.
* Messages that are returned to the MCP client no longer contain OpenLiberty message codes.
* Messages that are returned to the MCP client no longer contain Open Liberty message codes.
* Structured content is only returned when client is using protocol version `2025-06-18` or later.

=== Further information
Expand All @@ -598,10 +601,10 @@ The result of a `tools/list` call is now paginated with a page size of 20. This
// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/34299
// Contact/Reviewer: njr-11
// // // // // // // //
[#data_1.1]
[#jakarta_data]
== Preview of some Jakarta Data 1.1 M2 capability

Previews some new capability at the Jakarta Data 1.1 Milestone 2 level: `Constraint` subtype parameters for repository methods that constraints to repository `@Find` operations and limited use of `Restriction` with repository `@Find` operations. Also included from the prior beta are: retrieving a subset/projection of entity attributes and the `@Is` annotation.
Previews some new capability at the Jakarta Data 1.1 Milestone 2 level: `Constraint` subtype parameters for repository methods that constrain to repository `@Find` operations and limited use of `Restriction` with repository `@Find` operations. Also included from the prior beta are: retrieving a subset/projection of entity attributes and the `@Is` annotation.

Previously, parameter-based `@Find` reposotory methods could filter results only using equality conditions. This limitation has now been removed, allowing additional filtering options to be defined.

Expand Down Expand Up @@ -824,7 +827,7 @@ When the new property is placed on an application manager element, it applies to

Jandex index support requires explicit enablement. See the `useJandex` property  on `applicationManager` and on `application` elements. The new `useJandexUnderClasses` property is meaningful only if the `useJandex` property is `true`.

For compatibility with an earlier versions, reads of Jandex from the new location requires explicit enablement. See the new *useJandexUnderClasses* property, as documented previously. Explicit enablement is required to prevent applications from accidentally reading an out of date Jandex index from the new location. An out of date Jandex index might cause hard to detect application errors.
For compatibility with earlier versions, reads of Jandex from the new location require explicit enablement. See the new *useJandexUnderClasses* property, as documented previously. Explicit enablement is required to prevent applications from accidentally reading an out of date Jandex index from the new location. An out of date Jandex index might cause application errors that are hard to detect.

The name of the new property, *useJandexUnderClasses*, is subject to revision.

Expand Down
Loading