The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

Quarkus 2.0.0.Final リリース - Vert.x 4、MicroProfile 4、継続的テスト、その他多数

Quarkusチームは、Quarkus 2.0のファイナルリリースを発表しました。

このバージョンは、Quarkusのルーツである高速起動、低メモリ使用、開発者満足度を維持しつつ、Quarkusを全く新しいレベルに引き上げるための巨大な努力がなされました。

コミュニティに参加してくださった皆様、コントリビューターの皆様、テスターの皆様、本当にありがとうございました。このバージョンはチームの努力の賜物であり、皆様のおかげで素晴らしいものになりました。

移行ガイド

良いニュースとしては、Quarkus 2.0へのアップグレードは非常に簡単で、いつものように 移行ガイドを用意しています。

この新しいバージョンにアップグレードする際に問題が発生した場合は、報告していただければ、修正するか、ガイドに情報を追加します。

変更点

このバージョンの新しさは、すでにAlphas/CRの発表で紹介していますが、ここではその内容をまとめてみました。

また、今週のQuarkus Insights Quarkus 2.0 Launch Party で、複数のQuarkusコントリビューターが新機能について語っていますので、ご覧ください。

JDK 11が最小バージョン

JDK 11が、Quarkus 2.0を使用するための最小バージョンになりました。

JDK 8はもうサポートされていません(ただし、1.13.xにこだわっている方は使い続けることができます!)。

GraalVM 21.1

GraalVM 21.1は、Quarkus 2.0の推奨バージョンです。

Vert.x 4

Vert.xはQuarkusの中核です。

Quarkus 2.0はVert.x 4を搭載しています。詳細は アナウンス変更点のブログ記事でご覧いただけます。

Eclipse MicroProfile 4

MicroProfile 4は、 MicroProfile仕様の最新版です。

QuarkusのSmallRyeコンポーネントはすべて最新のものにアップデートされており、MicroProfile 4を実装しているだけでなく、追加の新機能も搭載されています。

継続的テスト

この素晴らしい新機能を開発したのはStuart Douglas氏なので、彼にお任せします。

このリリースには、開発者の生産性を向上させる全く新しい機能が含まれています。継続的テストです。この機能は、開発モードでテストを自動的に実行できるようにするもので、コンソール(または Dev UI)で r を押すと有効になります。テストを有効にすると、最初にテストスイートが一度だけ実行され、その後はコーディング中に継続的テストがテストを実行し、変更によってテストが壊れるかどうかを教えてくれます。これにより、ブラウザに切り替えることなく、変更内容を即座にフィードバックすることができます。可能な限り、変更されたコードに関連するテストのみを実行します。

また、この機能はいくつか変更点をもたらすため、お客様のアプリケーションに影響を与える可能性があります。

  • テスト用のクラス・ローディング・モデルは、開発モードと同じになりました(テストはホット・リロードが必要なため)。もしこのモデルがアプリケーションに問題を起こすようであれば、 quarkus.test.flat-class-path=true を設定して古いモデルに戻すことができますが、継続的なテストは無効になります。

  • 互換性のある端末が検出された場合、Quarkusはコンソールウィンドウの下部にステータスメッセージを表示し、Enterキーを押すことなく入力に反応します。これがアプリケーションの邪魔になる場合は、 quarkus.test.basic-console=true で無効にすることができます(現時点では、gradleは常に基本コンソールを使用することに注意してください)。

  • コンソールでのテスト出力を必要とせず、開発者用のUIで対話したい場合は、 quarkus.test.console=false を設定します。

継続的なテストは、Quarkusにおける開発者を対象とした革新の長い伝統の一部です。そのため、私たちはそれについてのあなたのフィードバックと、更に良くする方法について聞いてみたいと思っています。

ここでは、継続的テストの動作を紹介するビデオを紹介します。

Quarkus CLI

これまでは、MavenやGradleのコマンドを使ってQuarkusプロジェクトを操作していました。しかし、それももうすぐ終わりです。Quarkus 2.0では新しく改良されたQuarkus CLIが導入されました。

すべてのシステムで簡単に利用できるように、どこにでも公開できるようにまだ取り組んでいますが、すでに実行にJBangを使うことが出来ます。

詳細は 専用のCLIガイドでご確認ください。

その他の注目すべき機能

  • Quarkusは、 SmallRye GraphQL Client エクステンションという形で、GraphQLクライアントを提供しています。

  • Hibernate ORMが5.5にアップグレードされ、Hibernate ORMエクステンションがメタデータ・コントリビューターをサポートするようになりました。

  • CDIの実装であるArCは、CDIのデコレーターをサポートします。

  • MongoDB with Panacheは、トランザクションをサポートするようになりました。

  • RESTEasy Reactive、REST Client、Reactive Messagingの各エクステンションがコルーチンをサポートするようになり、Kotlinのストーリーにいくつかの素晴らしい追加要素が加わりました。

  • Amazon SSM エクステンションが追加されました。

完全な変更履歴

今回のFinalに至るまでの様々な中間バージョンの完全な変更履歴はGitHubで入手できます。

コントリビューター

Quarkusコミュニティは成長を続けており、現在496名の方に ご協力いただいています。皆さまに感謝いたします。

特に2.0 releaseに関しては、次の皆様に感謝いたします: 0SkillAllLuck, Adrian, adrianfiedler, Alexandre Dutra, Alexey Loubyansky, Amos Feng, Andy Damevin, Andy Fedotov, Anoop Krishnakumar, antoniodvr, Arjan van Balken, bcournaud, Bernhard Lutzmann, Bill Burke, Bruno Leonardo Gonçalves, Bryan Varner, Cem Nura, Chris Laprun, Christopher Chianelli, Clement Escoffier, Cristian Morales Alvarez, Daniel Schmidt, David Andlinger, David M. Lloyd, Davide, Davide D’Alto, Dominika Vagnerova, Duncan Doyle, Elshad Kasumov, Elvys Soares, Emmanuel Bourg, Eric Deandrea, Erik Mattheis, Erin Schnabel, essobedo, Ethan J. Gallant, Falko Modler, Felix Seifert, Foivos Zakkak, Fred Bricon, Gabriel Landais, George Gastaldi, Georgios Andrianakis, Gerald Venzl, Guillaume Le Floch, Guillaume Smet, Gwenneg Lepage, Gytis Trikleris, Ioannis Canellos, Ismail BASKIN, Jaikiran Pai, Jan Martiška, Jason Lee, Jason T. Greene, jjaferson, Johan Westerlund, Jorge Solórzano, Jose, Joshua Roys, Juan Zuriaga, Julien Ponge, Justin Lee, Karsten Wintermann, Katia Aresti, Ken Finnigan, Kevin VIET, Kevin Wooten, Knut Wannheden, Kyrylo Shpak, Ladislav Thon, Leonardo, Loïc Mathieu, Luca Masini, luneo7, Maciej Swiderski, manusa, Manyanda Chitimbo, Marco Bungart, Markus Kowalkowski, Markus Thömmes, markusdlugi, Martin Kouba, Matej Novotny, Matej Vasek, Matt Welke, Mattia Forcellese, Max Rydahl Andersen, Mayank Kunwar, Michael Simons, Michał Szynkiewicz, Mikhail Fedorov, Mingyuan Wu, NetoDevel, Nuno Caro, Ondra Chaloupka, Paul Carter-Brown, Pedro Igor, Peter Palaga, Petr Hála, Phillip Krüger, Rafael T. C. Soares, Ramesh Devaraj, Renato Pereira Back, René Grob, Rhuan Rocha, Richard Thomas, Roberto Cortez, Ron Sigal, Rostislav Svoboda, ruromero, Sanne Grinovero, SaumyaSingh1, Sergey Beryozkin, Severin Gehwolf, Stuart Douglas, Stéphane Épardaud, Sven Kattelans, Thomas Segismont, Tomas Hofman, Vadzim Hushchanskou, Vincent Sevel, Vinod Anandan, Frank Wippermueller, xstefank, Yoann Rodière, Yoshikazu Nojima and Youri Bonnaffe.

参加のお誘い

私達は皆様からのフィードバックに重きを置いています。バグ報告、改善要望を是非お願いします。一緒に素晴らしいものを作り上げていきましょう!

Quarkusユーザーの場合でも、単に興味を持っているだけの場合でも、恥ずかしがらずにコミュニティに参加して下さい!: