今週の幅広いテクノロジー業界での大きな話題の1つは、一部のオープンソースパッケージリポジトリ、特にnpmに対する「ブランドジャック」攻撃であった。
Sonatypeのチーム(Maven Centralを担当)は、Javaエコシステムにとってそれが何を意味するかについて、詳細な回答といくつかの視点を公開した。
Microsoftは、JavaでGraph SDKのv3のリリースを発表した。Graph APIは、REST APIとクライアントライブラリを公開した。これは、Microsoft365サービスや、エンタープライズモビリティおよびセキュリティサービスなどのMicrosoftクラウドサービス上のデータにアクセスするためのものである。
OpenJDKにとっては忙しい週であった。Java 16が2番目のリリース候補(RC2)を公開した。これは、以前のランプダウンフェーズの最後に統合されていた修正が、最初のリリース候補ビルドに含まれていなかったことが原因であった。
更新されたJava16バイナリは、いつもの場所から入手できる。
追加のリリース候補は計画に影響を与えず、Java16は2021/03/16の一般向け提供を目指す。
Java 16の先を見ると、Project Valhallaの成果物を記述するJEPにいくつかの更新があった。
「プリミティブオブジェクト(プレビュー版)」JEPは、識別のないプリミティブオブジェクト(以前はインラインクラス、値型と呼ばれていた)の基本的なセマンティクスをカバーしている。
このJEPは、「基本プリミティブをオブジェクトと統合する(プレビュー版)」ガイドとペアになっている。これは、Javaのプリミティブ型をプリミティブオブジェクトの構造に組み込み、すべてのJava値をオブジェクトにするするものである(ただし、プリミティブオブジェクトにはオブジェクトIDがない)。
これらの2つのJEPは、Valhallaを完全に実装するために必要なすべてを網羅しているわけではない。たとえば、Javaのジェネリックをアップデートして、プリミティブクラスを型パラメーターとして使用できるようにするには、追加で個別のJEPが必要になる。しかし、これはまだ公開されていない。
バイトコードとジェネリッククラスの特殊化も現在のJEPではカバーされていない。別のJEPの一部としても現れるであろう。
このアップデートされたProject Valhalla JEPはすべてまだドラフト状態である。Java 17が長期サポート(LTS)として指定されている可能性があるが、Java17の一部として確実に含まれることを示すものは今のところない。もちろん、そのリリースにValhallaの成果物の一部だけでもプレビューバージョンに含められることには大きな関心が寄せられるであろう。