What’s New in Antora 3.1
Antora 3.1.10
Release date: 2024.12.04 | Issue label: 3.1.10
The main focus of this release is to publish a variant of the Antora Docker image compiled for linux/arm64 (which is handled by the docker-antora project pursuit to this release). The project build was also updated to use Biome instead of ESLint/Prettier, which resulted in some minor changes to the code formatting and style. Finally, the Antora helper packages were updated, both which require Node.js 16 (the same as this version of Antora). Other changes from resolved issues are listed below.
Resolved issues
Changed
- Issue #1141
-
Detect and warn when an AsciiDoc extension is registered as an Antora extension, but do no skip it.
- Issue #1157
-
Switch from ESLint/Prettier to Biome and update code formatting accordingly.
- (no issue)
-
Upgrade @antora/expand-path-helper and @antora/user-require-helper dependencies to 3.0.x in various packages.
Fixed
- Issue #1147
-
Gracefully handle case when value of
nav
key in component version descriptor is not an array (content-aggregator). - Issue #1159
-
Use navtitle as content of orphan breadcrumb entry instead of doctitle (aka page title) (page-composer).
- Issue #1158
-
Fully support static register method on Class or Object exported by extension (site-generator).
Antora 3.1.9
Release date: 2024.07.05 | Issue label: 3.1.9
The focus of this release is to fix changes from the previous release that did not adhere to semantic versioning. First, the file publisher was updated to work with a virtual file created by vinyl 3, thus fixing compatibility with the PDF extension. Second, an Asciidoctor extension registered as an Antora extension will be registered rather than skipped, though a warning will still be issued.
Resolved issues
Changed
- Issue #1141
-
Detect and warn when an AsciiDoc extension is registered as an Antora extension, but do no skip it.
- (no issue)
-
Replace "AsciiDoc extension" with "Asciidoctor extension" in log messages
Fixed
- Issue #1139
-
Wrap legacy stream on file when preparing files for output providers; remove listeners limit. Fixes compatibility with the Antora PDF extension.
Antora 3.1.8
Release date: 2024.06.25 | Issue label: 3.1.8
The focus of this release is primarily to upgrade or eliminate out-of-date dependencies, address compliance with Node.js 22, and fix bugs.
Resolved issues
Changed
- Issue #1121
-
Replace new fs.Stats() with plain JavaScript object (content-aggregator, ui-loader)
- Issue #1128
-
Replace @vscode/gulp-vinyl-zip with low-level zip file reader using yauzl (ui-loader)
- Issue #1129
-
Replace @vscode/gulp-vinyl-zip with low-level zip file writer using yazl (file-publisher)
- Issue #1088
-
Log warning if nav entry cannot be resolved (content-classifier)
- Issue #1109
-
Fix
page.role
assignment to read value fromrole
attribute instead of from (non-existent)docrole
attribute (page-composer) - Issue #1121
-
Assign empty object to stat property of output file if file does not have stat property (file-publisher)
- Issue #1131
-
Replace vinyl-fs#dest with internal implementation (file-publisher)
- Issue #1133
-
Upgrade vinyl and vinyl-fs to address security and deprecation warnings
- (no issue)
-
-
Update description for
extension
CLI option to clarify it may be specified multiple times. -
Don’t include file in archive (zip) if contents property is null; matches behavior of fs publisher (file-publisher)
-
Fixed
- Issue #1112
-
Throw clearer error if antora.yml is empty or the data is not an object (content-aggregator)
- Issue #1110
-
Apply include tag filtering update from Asciidoctor (see github.com/asciidoctor/asciidoctor/pull/4233) to ported logic in Antora (asciidoc-loader)
- Issue #1114
-
Filter out cyclic aliases (i.e., redirect loops) (redirect-producer)
- Issue #1134
-
Create files streams for file publishers to process eagerly to avoid race condition (file-publisher)
- Issue #1137
-
Use raw value if attribute value set using
--attribute
option cannot be parsed as YAML (cli)
Antora 3.1.7
Release date: 2024.01.02 | Issue label: 3.1.7
Resolved issues
Changed
- Issue #1099
-
-
Preserve all information in wrapped error (content-aggregator, ui-loader, file-publisher)
-
- Issue #1098
-
-
Upgrade isomorphic-git to incorporate patch for properly handling network error (content-aggregator)
-
Add cause in log message when retrying failed fetch/clone operations in series (content-aggregator)
-
- Issue #1101
-
-
Clear timeout and keep-alive settings on git HTTP connections that don’t use custom agent (content-aggregator)
-
- (No issue)
-
-
Don’t retry failed clone/fetch operation if playbook only has one content source URL (content-aggregator)
-
Antora 3.1.6
Release date: 2023.12.19 | Issue label: 3.1.6
Resolved issues
Added
- Issue #1096
-
Add
git.read_concurrency
playbook key to control how many git indexes to load into memory at once (playbook-builder)
Changed
- Issue #1096
-
-
Change default value of
git.fetch_concurrency
to 1 (playbook-builder). -
Flag git clone/fetch error as recoverable if an unexpected network error occurs (content-aggregator).
-
Decouple step to load (fetch or clone) repositories from step to scan repositories to discover references and start paths and collect files (content-aggregator).
-
- (No issue)
-
-
Don’t read git tree twice if start path is empty; add dirname to tree object in same function (content-aggregator).
-
Fill in progress bar with incomplete marks if cloning a repository fails (content-aggregator).
-
Mention that credentials may have been rejected if server requests them, then sends 404 response (content-aggregator).
-
Antora 3.1.5
Antora 3.1.3
Release date: 2023.04.02 | Issue label: 3.1.3
Resolved issues
Fixed
- Issue #1049
-
Restore error stack in log output when using pino-std-serializers >= 6.1
- (no issue)
-
-
Correctly handle connection error when retrieving remote UI bundle
-
Do not fail to load AsciiDoc if pub or pub.moduleRootPath properties are not set on virtual file
-
Antora 3.1.2
Release date: 2022.10.28 | Issue label: 3.1.2
Resolved issues
Fixed
- Issue #1010
-
Fix infinite auth loop if credentials embedded in content source URL are empty and repository requires auth.
- Issue #1018
-
Fix crash if value of
worktrees
key on content source is~
(null
) and at least one branch is specified. - Issue #1020
-
Add guard to prevent
ContentCatalog#registerSiteStartPage
from registering alias loop. - Issue #1022
-
Decouple logic to compute default log format from process environment.
- Issue #1024
-
Preserve target when creating static route if target is an absolute URL.
- Issue #1025
-
Allow content aggregator to parse value of
content.branches
andcontent.tags
playbook keys. - Site generator
-
Look for IS_TTY on
playbook.env
in site generator to decouple check from process environment.
Antora 3.1.1
Release date: 2022.09.21 | Issue label: 3.1.1
Resolved issues
Changed
- Issue #1004
-
Use pretty log format by default if
IS_TTY
environment variable is set totrue
. Print success message ifIS_TTY
environment variable is set totrue
. See Log Format for more information.
Fixed
- Issue #1003
-
Prevent message from ignored log message from overwriting message from next reported log message.
- Update to Issue #984
-
Define public export
@antora/asciidoc-loader/include/resolve-include-file
for requiringresolveIncludeFile
function. - Site generator
-
Don’t require custom output provider to return a report object.
- CLI
-
If logger can’t be found, print error message to stderr instead of crashing during shutdown.
Antora 3.1.0
Release date: 2022.08.22 | Issue label: 3.1.0
The highlights of the Antora 3.1.0 release include:
-
raising the minimum version of Node.js to Node.js 16,
-
locking down the exported require paths to clearly demarcate the public API,
-
adding support for attribute references in the value of site attributes defined in the playbook and component version attributes defined in component version descriptors,
-
providing more context to log and error messages and formatting the information consistently,
-
including more information about content roots in the model for use by extensions, and
-
assigning additional intrinsic page attributes that relay more of a page’s identity and origin.
You can find a summary of the issues resolved in this release below.
Resolved issues
Added
- Issue #221
-
Log info message if no references are found for content source.
- Issue #354
-
Assign edit URL of current page, if set, to
page-edit-url
AsciiDoc attribute. Define booleanpage-origin-private
AsciiDoc attribute if origin of page is private. - Issue #525
-
Attach parsed component version descriptor to
descriptor
property on origin object. - Issue #814
-
Add
removeFile
method to the content catalog and UI catalog. - Issue #921
-
Define
page-component-latest-version
AsciiDoc attribute with value of version string from latest component version. Define booleanpage-component-version-is-latest
AsciiDoc attribute if page is in latest version of component. See intrinsic page attributes for more information. - Issue #978
-
Add
origins
property containing unique origin objects to each entry in the content aggregate. - Issue #981
-
Resolve attribute references in AsciiDoc attributes defined in the playbook (antora-playbook.yml) and component version descriptors (antora.yml), honoring any escaped attribute references.
- Issue #984
-
Define exports for all packages, locking down what paths can be required to the public API.
- Issue #988
-
-
Add
reftype
key with value of branch or tag to source object in structured log message. -
Add
reftype
property to origin object to explicitly identify type of git reference (branch or tag). -
Add
remote
key with value of remote tracking branch to source object in structured log message, if applicable. -
Add
remote
property to origin object to identify a remote tracking branch. -
Add
local
key with path of local repository to source object in structured log message, if applicable.
-
Changed
- Issue #900
-
Include target in error message for broken or cyclic symbolic link in local content source or UI bundle directory.
- Issue #979
-
Set Node.js 16.0.0 as minimum supported Node.js version. Upgrade dependencies that require Node.js > 12 and remove workarounds.
- Issue #982
-
Move logic to collate AsciiDoc attributes to a helper function. Use helper function to collate AsciiDoc attributes from playbook and component version.
- Issue #985
-
Add context to error and preserve cause if failure occurs when reading supplemental UI files.
- Issue #986
-
Log warning message instead of throwing fatal error if file in worktree disappears or cannot be read.
- Issue #988
-
Consistently format origin information in log and error messages.
- Issue #993
-
Set
worktree
property on origin to false when branch or tag is local but not taken from worktree. Use isolated Handlebars environment instead of the default (global) environment.
Antora 2 is EOL
Antora 2 is EOL. Review the checklist on Upgrade Antora to learn about what changes you should make to your source content, including AsciiDoc syntax and Asciidoctor updates introduced in Asciidoctor 2.2, and Antora configuration prior to upgrading to from Antora 2 to Antora 3.1.
Thank you!
Most important of all, a huge thank you! to all the folks who helped make Antora even better. The Antora community has provided invaluable feedback and testing help during the development of Antora 3.1.
We also want to call out the following people for making contributions to this release: