2022年2月21日週のJavaラウンドアップでは、Open JDK 18、JDK 19、Quarkus 2.7.2.Final、JReleaser早期アクセス版の他、Springプロジェクトのアップデートとして、Spring Boot 2.7.0-M1 2.6.4および2.5.10、Spring Data 3.0-M2用の新たなインターフェースListCrudRepository
、Spring Security 5.7.0-M2 5.6.2および5.5.5、Spring Session 2021.1.2および2021.0.5、Spring Shell 2.1.0-M3、Spring Batch 4.3.5などの情報をお届けする。
OpenJDK
JEP Dearf 8277163 "Value Objects(プレビュー)"が先週、DraftからSubmittedにステータス移行した。同ドラフトは、すでにCandidateステータスに向けた評価が可能な状態にある、とJEPオーナのDan Smith氏は述べている。このJEPは、IDフリーな値クラスである値オブジェクト(value object)の新設を提案するとともに、そのインスタンスの挙動を定義したものだ。今回のドラフトはJEP401"Primitive Classes (Preview)"と関連しており、Project Valhallaの実現に向けて今後もコントリビューションが続けられる予定である。
JDK 18
JDK 18早期アクセスビルドのbuild 37が先週公開されたが、Build 36からの大きなアップデートは含まれていない。JDK 18のGAリリースまで1か月もない今回のリリースのリリースノートには、APIの完全な仕様、JDK 17(Build 35)とJDK 18(Build 37)の違いを比較した注釈付きAPI仕様などのドキュメントへのリンクが紹介されている。
JDK 19
JDK 19の早期アクセスビルドであるBuild 11も同じく先週公開されており、Build 10からのアップデートとして、さまざまな問題が修正されている。詳細はリリースノートで確認して頂きたい。
JDK 18とJDK 19に関しては、開発者からのバグ報告がJava Bug Database経由で募集されている。
Spring Framework
Springチームのこの1週間は、Spring Boot、Spring Data、Spring Security、Spring Session、Spring Shell、Spring Batchなど、一連のポイントリリースやマイルストンリリースの提供によって多忙を極めるものだった。
Spring Boot 2.7.0に向けた2番目のマイルストンが公開された。137件のバグ修正、ドキュメントの改善、依存関係のアップグレードの他、CouchbaseとElasticsearchのテストアノテーション、新設された@AutoConfiguration
アノテーションによる自動コンフィギュレーションの登録と指示、OkHttp 4.9.3のサポートなどが新機能として提供されている。詳細はリリースノートで確認して頂きたい。
Spring Boot 2.6.4がリリースされた。61件のバグ修正、ドキュメントの改善、依存関係のアップデートがフィーチャーされている。詳細はchangelongに記載されている。
Spring Boot 2.5.10がリリースされた。52件のバグ修正、ドキュメントの改善、依存関係のアップデートが含まれている。詳細はchangelongに記載されている。
Sping DataチームがSpring Data 3.0-M2用のListCrudRepository
インターフェースを公開した。これまでのCrudRepository
インターフェースがInterable
を戻していたのに代えて、List
型の結果セットを戻すように設計されている。Spring Dataを使用する際の戻り値として、開発者にとって都合のよい型を選択できるようにする、というのが変更のモチベーションだ。
Spring Security 5.7.0に向けて、2番目のマイルストンがリリースされた。コンポーネントを基本とするセキュリテイコンフィギュレーションに向かう変更の一環として、WebSecurityConfigurerAdapter
クラスが非推奨とされている。開発者に対しては、WebSecurityConfigurerAdapter
を除いたSpring Securityの使用について、こちらのブログ記事を参照するように勧めている。詳細はリリースノートでも確認が可能だ。
Spring Security 5.6.2と5.5.5がリリースされた。バグ修正と部分的な改良、依存関係のアップデートが含まれる。いずれのバージョンにも、AuthorizationManager
のインスタンスにチェックを委譲するWebInvocationPrivilegeEvaluator
インターフェースの実装として、AuthorizationManagerWebInvocationPrivilegeEvaluator
クラスが導入されている。
Spring Sessionのバージョン2021.1.2と2021.0.5が先週リリースされた。Spring Session Core、Spring Session Data Redis、Spring Session JDBC、Spring Session Hazelcast、Spring Session MongoDB (Spring Session 2021.1.2のみ)が、それぞれ2.6.2と2.5.5にアップグレードされている。
Spring Shell 2.1.0に向けた3番目のマイルストンリリースが公開された。ユーザとの魅力的なインタラクションを構築するための、より高度なUI Componentモデルに向けた初期作業がフィーチャーされている。プログラム例はリリースノートにある。
Spring Batch 4.3.5がリリースされた。バグ修正と依存関係のアップデートが含まれる。拡張機能としては、サブセレクト(subselect)でデカルト結合(cartesian join)の代わりに等価結合(equi-join)を使用することを目的とした
JdbcStepExecutionDao
クラス内のGET_LAST_STEP_EXECUTIONフィールドの簡略化、
StepExecution
に定義されているgetEndTime()
メソッドへの@Nullableアノテーションの追加、MongoItemReader
クラスのsetSort()
メソッドへの引数チェックの実装などがある。詳細はchangelongに記載されている。
Quarkus
Quarkus 2.7.2 Finalのセカンドメンテナンスリリースが公開された。依存関係のアップグレードとして、Kogito 1.17.0およびOptaPlanner 8.17.0.Fibnalが提供される。詳細は<a4>changelong</a4>に記載がある。
JReleaser
バージョン 1.0.0に向けたJReleaserの早期アクセスリリースが先週公開された。jpackage
コンフィギュレーションにWindowsリソースが追加された他、NATIVE_PACKAGE
型のディストリビューションのアセンブルに使用可能なツールが提供されている。