网页 综合 更新时间 2026-11-13 15:39:23

Introducing the Quarkus Almanac - Quarkus

自动蜘蛛 quarkus.io 正文约 4750 字
Introducing the Quarkus Almanac - Quarkus
Blog Introducing the Quarkus Almanac
Upgrading Quarkus starts with a question: what changed between the release I use and the one I want? The answer is spread over migration guides, release notes, the BOM, the configuration reference, and the code.
The Quarkus Almanac puts it in one place. Pick two releases, and it shows what changed between them: config properties, managed dependencies, extensions, and the API of the classes in the Quarkus jars. It covers every Quarkus release, from 0.0.1 to the latest release.
The Almanac is inspired by javaalmanac.io, the Java Version Almanac, which collects the history of every Java release and compares the API of any two of them.
Pick a release to compare from and a release to compare to. The home page also offers quick comparisons, for example between two LTS releases.
A comparison starts with a summary that counts the changes of each kind. The sections below it list the changes, and start collapsed: open the ones you need.
The Configuration section lists the config properties that were added or removed, and those whose default value, type, accepted values, or phase changed, or that were deprecated. The properties are grouped by extension: open an extension to see its changes, or filter by property, extension, or description.
The Dependencies section compares the versions that the Quarkus BOM manages: major, minor, and patch upgrades, downgrades, and the artifacts that were added or removed.
Applications generated by code.quarkus.io import the platform BOM, io.quarkus.platform:quarkus-bom, which sometimes manages other versions than the core BOM, io.quarkus:quarkus-bom. The Almanac compares the platform BOMs when both releases have one; turn off the Platform BOM switch to compare the core BOMs instead. From 3.33.3.3 to 3.33.4, for example, the platform BOM upgrades 68 Jackson artifacts from 2.21.6 to 2.21.7, while the core BOM keeps them at 2.21.6.
The Extensions section lists the extensions that were added or removed, and those whose name or status changed. Between the LTS releases 3.27 and 3.33, for example, the Derby extensions were removed, and CycloneDX and Security became stable.
The Almanac also reads the class files of every Quarkus jar. The API section lists the public and protected classes, fields, methods, and constructors that were added or removed, deprecated, or marked for removal, and those whose signature, modifiers, or supertypes changed. A class that moved to another jar says which jar it was in, as the test framework did in 3.31.
In 3.35, for example, AbstractQuarkusExtensionTest and QuarkusExtensionTest are new, and QuarkusUnitTest is deprecated for removal. 17 of its members moved to its new superclass, AbstractQuarkusExtensionTest, so they are still there, inherited.
The Releases page lists every release by stream, newest first, with its date, and marks the LTS streams. The page of a release links to the comparisons that matter for it, such as with the previous minor release and the previous LTS release. It also shows how many managed artifacts, config properties, and extensions the release has, its deprecated API, and what changed in its API since the release before it.
Every config property, managed artifact, and class has a page with its history across releases.
A config property page shows its type, default value, phase, accepted values, environment variable, and the releases that have it. quarkus.hibernate-orm.database.generation, for example, is deprecated since 3.22 and no longer exists in 4.0.
A class page shows the jars that have the class in each release, its members, and the history of its API. QuarkusUnitTest moved from quarkus-junit5-internal to quarkus-junit-internal in 3.31, was deprecated for removal in 3.35, and is gone in 4.0.0.Beta2.
Search finds a config property by its name, an alias, or its environment variable, as well as managed artifacts, extensions, and classes.
The data comes from the artifacts that Quarkus publishes on Maven Central. A command-line tool reads the BOMs, the config and extension metadata, and the class files of every release, and keeps them as a dataset in the quarkusio/almanac repository. Every twelve hours, a GitHub workflow adds the new releases. The site itself is static: your browser computes every comparison.
Open https://quarkus.io/almanac/ and compare the release you use with the one you want. Problems and ideas are welcome in the issue tracker.
Quarkus is open. All dependencies of this project are available under the Apache Software License 2.0 or compatible license. CC by 3.0This website was built with Roq on Quarkus, is hosted on GitHub Pages and is completely open source. If you want to make it better, fork the website and show us what you’ve got.
访问原文 返回搜索 https://quarkus.io/blog/quarkus-almanac/
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。