- 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; }