今週は新しいAzure SDKやいくつものAkka.NETプラグインのリリース、多様性と包括性にフォーカスしたMicrosoftのディジタルイベントであるInclude 2021のストリーミングなど、.NETコミュニティにとって忙しい1週間だった。ここでは2021年3月15日からの1週間を振り返って、これらのイベントや.NETエコシステム内のちょっとしたストーリについて検証する。
Microsoftは今週、多様性と包括性(diversity & inclusion、D&I)にフォーカスした3日間のディジタルイベント"Include 2021"を開催した。各セッションでは学術界や産業界の講演者によるプレゼンテーションが行われ、企業文化の転換やメンタルヘルスの問題、性別、アイデンティティなど、さまざまなトピックが取り上げられた。すべてのセッションはイベントのWebサイトで、参加登録者に向けて公開されている。
Visual Studio Code用のPython Extensionの新バージョンもリリースされた(Visual Studio Marketplaceから入手できる)。新リリースにはPython、Pylance、Jupyterエクステンションを中心としたバグ修正と安定化が含まれている。Jedi言語サーバ用の言語サポートも改良された。
MicrosoftのML.NETチームは、ML.NET(v 1.5.5)とModel Builderの新バージョンをリリースした。新しいModel Builderには、生成したコードビハインド(code-behind)ファイルを用いた構成ベースのトレーニング(既存プロジェクトへのモデル追加やトレーニングが容易になる)、再構成されたAdvanced Data Options(列の設定とデータフォーマットをより詳細にコントロール可能にすることが目的)などが含まれている。ML.NET v1.5.5にはバグフィックスの他、信頼水準(confidence level)としてdouble型を受け入れる新API、ValueMapping推定量(estimator)のONNXへのエクスポートのサポート、TensorFlowからの出力をバッチ処理するかどうかを指定可能な新APIなど、いくつかの新機能が含まれている。
OpenTelemetry.NETの次期バージョンに向けた最初のベータパッケージ(v1.1.0-beta1)がリリースされた。OpenTelemetryは、可観測性テレメトリのためのベンダニュートラルな仕様である。OpenTelemetry .NETプロジェクトには、インストルメンテーションおよびエクスポータ用のAPIパッケージとSDKも含まれており、さまざまなテレメトリバックエンドとの統合が可能になっている。今回のリリースはOpenTelemetryメトリクス仕様のロードマップの発表に合わせたもので、メトリクスAPI/SDKの安定版、メトリクスデータモデルとプロトコル、Prometheusとの互換性などが含まれる。
Azure SDKの最新リリースでは、さまざまな拡張と合わせて、Azure Mixed Reality client library for .NETが提供されている。複合現実(mixed reality)は、MicrosoftがMicrosoft Meshという、ホログラムベースの復号現実コミュニケーションプラットフォームをリリースした今年のIgniteカンファレンスでも注目のトピックだった。今回のSDKには、Azure Event Grid Client libraries for .NET(イベント駆動アプリケーションの開発用)も含まれている。
今週注目されたもうひとつのリリースはPeachPie v1.0.0だ。PeachPieは"PHP言語を.NETネイティブな言語として扱うことの可能な開発プラットフォーム"で、コンパイラ、ランタイム、実行時ライブラリ、IDEサポート、MSBuildサポートで構成される。数年前から開発が続けられてきたが、今回が初のメジャーリリースとなる。
Akka.NETチームもAkka.NETの最新メンテナンスリリース(v1/4/17)の一部として、いくつかのプラグインのアップデートをリリースしている。EventByPersistenceldのサポートがAkka.Persistence.Redisプラグインに再度追加された他、Akka.Persistence.MongoDbプラグインもアップデートされて、パフォーマンスと信頼性が向上した。Alpakka — さまざまなテクノロジ、プロトコル、ライブラリに対応するAkka Streamsコネクタのコネクション — の新しいベータバージョン(v1.0.0-beta4)がリリースされた。WindowsAzure.ServiceBusへの依存性が削除されて、Azure.Messaging.ServiceBusに置き換えられている。その他にも、Akka.Persistence.PostgreSQLやAkka.Logging.Serilogなどのプラグインがアップデートされた。開発チームはCommunity Standupの中で、次期リリースや他のアップデートに向けた活動について議論しており、その様子はYouTubeで公開されている。
その他、今週のニュースとしては、Spectre.ConsolePythonのRIchライブラリにヒントを得た、コンソールアプリケーション開発用の.NET 5ライブラリ)や、特定の分野(化学)に適用される量子開発ツールに関する非常に詳細なユースケースなどがあった。極めて特殊なシナリオではあるものの、ブログ記事には、Microsoft Quantum Development Kit(QDK)とQ#を使用した量子開発の、既存アルゴリズムへの適用に関する包括的なビジョンが述べられている。