
- Jakarta Security 3.0
- Jakarta Authentication 3.0
- Jakarta Server Pages 3.1
- Jakarta Activation 2.1
- Jakarta Authorization 2.1
- Jakarta Connectors 2.1
- Jakarta Interceptors 2.1
- Jakarta Mail 2.1
- Jakarta Messaging 3.1
Jakarta Security 3.0
2.0 から 3.0 へのバージョンアップ
- 認証メカニズムとして OpenID Connect Annotation がサポートされた
OpenIdAuthenticationMechanismDefinitionアノテーションを利用
HttpAuthenticationMechanismインターフェースを実装したHttpAuthenticationMechanismWrapperクラスが追加されたHttpAuthenticationMechanismのカスタム動作を提供したいアプリケーション向けにAPIを提供
CallerPrincipalがSerializable宣言された- 認証されたプリンシパルをシリアル化して保存するケースに対応
- 各アノテーションにアノテーションリテラルが追加された
- Java モジュールシステム用の
module-info.javaが追加された
module jakarta.security {
exports jakarta.security.enterprise;
exports jakarta.security.enterprise.authentication.mechanism.http;
exports jakarta.security.enterprise.authentication.mechanism.http.openid;
exports jakarta.security.enterprise.credential;
exports jakarta.security.enterprise.identitystore;
exports jakarta.security.enterprise.identitystore.openid;
requires jakarta.servlet;
requires jakarta.cdi;
requires jakarta.security.auth.message;
requires jakarta.el;
requires jakarta.json;
}
Jakarta Authentication 3.0
2.0 から 3.0 へのバージョンアップ
- いくつかのジェネリクス対応
AuthConfigFactoryにServerAuthModuleを登録するメソッドが追加されたServerAuthModuleとClientAuthModuleインターフェースにのメソッドをデフォルトメソッド化AuthExceptionのコンストラクタ(Throwableを引数に取る)追加PasswordValidationCallbackのJavaDocに実装例が追記された- SecurityManager の非推奨化に伴う関連APIの非推奨化
- 具体的には
jakarta.security.auth.message.config.AuthConfigFactoryの各メソッド
- 具体的には
ServerAuthModuleと他の仕様との相互作用に関する要件の追加ServerAuthModuleがデータソース、EJB Bean、CDI Bean などの参照を取得可能となる
jakarta.servlet.http.isAuthenticationRequestキーの追加- 認証モジュールの validateRequest は HTTPリクエストの開始時、または
HttpServletRequest.authenticate呼び出しの後に呼び出されるケースがあり、これらを区別可能とする
- 認証モジュールの validateRequest は HTTPリクエストの開始時、または
- Java モジュールシステム用の
module-info.java追加
module jakarta.security.auth.message {
exports jakarta.security.auth.message;
exports jakarta.security.auth.message.callback;
exports jakarta.security.auth.message.config;
exports jakarta.security.auth.message.module;
}
Jakarta Server Pages 3.1
3.0 から 3.1 へのマイナーバージョンアップ
- EL 5.0 の変更に合わせ、
ELResolver.getFeatureDescriptors()オーバーライドするメソッドが非推奨となった - ELの式が未知の識別子を含んでいる場合、
PropertyNotFoundExceptionを発生させるオプションを追加されたerror-on-el-not-found
- カスタムアクションに関連するスクリプト変数における 'scope' の定義が明確化された
jsp:pluginに関連するアクションが非推奨となった- 関連する HTML 要素がどのメジャーなブラウザでもサポートされなくなったため
- isThreadSafe ページディレクティブ属性が非推奨となった
- Servlet 6.0 で SingleThreadModel インターフェースが削除されたため
- JSP内のEL環境は、スクリプト環境のデフォルトインポートと一致するデフォルトインポートのセットを持っていることが明確化された
- ScopedAttributeELResolverがリファクタリングされ、importと未解決の変数に対する特別な処理が削除された
- Java モジュールシステム用の
module-info.java追加
module jakarta.servlet.jsp {
exports jakarta.servlet.jsp;
exports jakarta.servlet.jsp.tagext;
exports jakarta.servlet.jsp.el;
requires transitive jakarta.el;
requires transitive jakarta.servlet;
requires transitive java.desktop;
}
Jakarta Activation 2.1
2.0 から 2.1 へのマイナーバージョンアップ
- API と実装が整理され、API として Jakarta Activation、実装として Eclipse Angus Activation というプロジェクトに分離された
- これに伴いインターフェース追加など各種変更が入った
- Java モジュールシステム用の
module-info.javaが追加された
module jakarta.activation {
uses jakarta.activation.spi.MailcapRegistryProvider;
uses jakarta.activation.spi.MimeTypeRegistryProvider;
exports jakarta.activation;
exports jakarta.activation.spi;
requires java.logging;
//reflective call to java.beans.Beans.instantiate
requires static java.desktop;
}
Jakarta Authorization 2.1
2.0 から 2.1 へのマイナーバージョンアップ
PolicyConfigurationに現在の設定を読み取る以下のメソッドが追加された
void addToExcludedPolicy(Permission permission) throws PolicyContextException; Map<String, PermissionCollection> getPerRolePermissions(); PermissionCollection getUncheckedPermissions(); PermissionCollection getExcludedPermissions();
PolicyConfigurationの変更に合わせてPolicyConfigurationFactoryの getPolicyConfiguration() に、状態なしの設定読み込みメソッドが追加されたPolicyContextのgetContext()メソッドの戻り値がジェネリクス化された- Java モジュールシステム用の
module-info.javaが追加された
module jakarta.security.jacc {
exports jakarta.security.jacc;
requires jakarta.servlet;
}
Jakarta Connectors 2.1
2.0 から 2.1 へのマイナーバージョンアップ
- 幾つかのジェネリクス対応がなされた
IndexedRecord,MappedRecord,
- Java モジュールシステム用の
module-info.javaが追加された。
module jakarta.resource {
requires java.desktop;
requires transitive java.naming;
requires transitive java.sql;
requires transitive java.transaction.xa;
requires jakarta.annotation;
requires transitive jakarta.transaction;
exports jakarta.resource;
exports jakarta.resource.cci;
exports jakarta.resource.spi;
exports jakarta.resource.spi.endpoint;
exports jakarta.resource.spi.security;
exports jakarta.resource.spi.work;
}
Jakarta Interceptors 2.1
2.0 から 2.1 へのマイナーバージョンアップ
- 他の仕様に合わせた依存の更新
- Java モジュールシステム用の
module-info.javaの追加
module jakarta.interceptor {
exports jakarta.interceptor;
requires jakarta.annotation;
}
Jakarta Mail 2.1
2.0 から 2.1 へのマイナーバージョンアップ
- API と実装が整理され、API として Jakarta Mail、実装として Eclipse Angus Mail というプロジェクトに分離
- 分離に伴って API として
jakarta.mail.util.StreamProviderというインターフェースが追加
- 分離に伴って API として
- Java モジュールシステム用の
module-info.javaの追加
module jakarta.mail {
requires java.logging;
requires transitive jakarta.activation;
exports jakarta.mail;
exports jakarta.mail.event;
exports jakarta.mail.internet;
exports jakarta.mail.search;
exports jakarta.mail.util;
uses jakarta.mail.Provider;
uses jakarta.mail.util.StreamProvider;
//reflective call to java.beans.Beans.instantiate
requires static java.desktop;
}
Jakarta Messaging 3.1
3.0 から 3.1 へのマイナーバージョンアップ
@JMSDestinationDefinitionと@JMSConnectionFactoryDefinitionが@Repeatableとしてマークされた- 各例外にコンストラクタが追加された
- Java モジュールシステム用の
module-info.java追加
module jakarta.messaging {
// Optional for jakarta.annotation.Resource javadoc refs
requires static jakarta.annotation;
// Optional for XA* classes
requires static transitive java.transaction.xa;
exports jakarta.jms;
}