Skip to content

Bump @asciidoctor/core from 2.2.8 to 4.0.0#409

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/asciidoctor/core-4.0.0
Open

Bump @asciidoctor/core from 2.2.8 to 4.0.0#409
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/asciidoctor/core-4.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 23, 2026

Copy link
Copy Markdown
Contributor

Bumps @asciidoctor/core from 2.2.8 to 4.0.0.

Release notes

Sourced from @​asciidoctor/core's releases.

v4.0.0

Summary

This release is a complete rewrite of Asciidoctor.js — the Opal runtime and transpiled Ruby code have been replaced by a native JavaScript implementation. The public API has been preserved as closely as possible from version 3, but there are breaking changes. Please refer to the migration guide before upgrading.

Release meta

Released on: 2026-06-22 Released by: github-actions[bot] Published by: GitHub

Logs: full diff

Changelog

Bug Fixes

  • Fix registry reuse — extensions registered directly on a registry instance (e.g. registry.preprocessor(fn)) now survive the internal reset and are preserved across multiple conversions, matching the behaviour of group-block registrations (Extensions.create(name, block)); both patterns are now safe to reuse

Improvements

  • Document registry reuse behaviour — extensions registered via a group block (Extensions.create(name, block)) survive the internal reset and are safe to reuse across multiple conversions; extensions registered directly on a registry instance are cleared on every activation and will be silently lost after the first conversion
  • Add --extension CLI option to load and register Asciidoctor extension files — the option calls the register(registry) named export of the loaded module with a shared registry; can be repeated to load multiple extensions
  • Clarify --require CLI option — it now only loads the module as a side effect and no longer auto-calls any exported function; use --extension to register Asciidoctor extensions, and --require for libraries that configure themselves on load (syntax highlighters, polyfills, etc.)
  • Improve JSDoc for IncludeProcessorDsl#handles — add @overload signatures documenting the two setter forms (arity-1 (target) and arity-2 (doc, target)) and the invoker form; update IncludeProcessorDslInterface typedef to expose both setter overloads

Breaking Changes

  • --require no longer inspects or calls a register export from the loaded module — this auto-call was already broken (it passed the Extensions namespace instead of a registry instance); any extension that relied on this behaviour must be updated to either export a register(registry) function and be loaded via --extension, or self-register using Extensions.register() at the top level to remain loadable via --require

v4.0.0-alpha.6

Summary

Release meta

Released on: 2026-06-03 Released by: github-actions[bot] Published by: GitHub

Logs: full diff

Changelog

Build

  • Bump playwright from 1.59.1 to 1.60.0 and @vitest/browser, @vitest/browser-playwright, @vitest/ui from 4.1.4 to 4.1.7

Bug Fixes

  • Fix caption attribute on a delimited admonition block being stored as true instead of the caption text (the textlabel attribute now receives the resolved caption, matching Asciidoctor Ruby)
  • Fix escaped include directive (\include::file.adoc[]) inside a listing block in an AsciiDoc table cell logging a spurious "include file not found" error — nested documents now use a plain Reader (no include/conditional processing) matching Ruby Asciidoctor behaviour; the first-line preprocessor directive expansion is handled explicitly as Ruby does

... (truncated)

Changelog

Sourced from @​asciidoctor/core's changelog.

== v4.0.0 (2026-06-22)

Bug Fixes::

  • Fix registry reuse — extensions registered directly on a registry instance (e.g. registry.preprocessor(fn)) now survive the internal reset and are preserved across multiple conversions, matching the behaviour of group-block registrations (Extensions.create(name, block)); both patterns are now safe to reuse

Improvements::

  • Document registry reuse behaviour — extensions registered via a group block (Extensions.create(name, block)) survive the internal reset and are safe to reuse across multiple conversions; extensions registered directly on a registry instance are cleared on every activation and will be silently lost after the first conversion
  • Add --extension CLI option to load and register Asciidoctor extension files — the option calls the register(registry) named export of the loaded module with a shared registry; can be repeated to load multiple extensions
  • Clarify --require CLI option — it now only loads the module as a side effect and no longer auto-calls any exported function; use --extension to register Asciidoctor extensions, and --require for libraries that configure themselves on load (syntax highlighters, polyfills, etc.)
  • Improve JSDoc for IncludeProcessorDsl#handles — add @overload signatures documenting the two setter forms (arity-1 (target) and arity-2 (doc, target)) and the invoker form; update IncludeProcessorDslInterface typedef to expose both setter overloads

Breaking Changes::

  • --require no longer inspects or calls a register export from the loaded module — this auto-call was already broken (it passed the Extensions namespace instead of a registry instance); any extension that relied on this behaviour must be updated to either export a register(registry) function and be loaded via --extension, or self-register using Extensions.register() at the top level to remain loadable via --require

== v4.0.0-alpha.6 (2026-06-03)

Build::

  • Bump playwright from 1.59.1 to 1.60.0 and @vitest/browser, @vitest/browser-playwright, @vitest/ui from 4.1.4 to 4.1.7

Bug Fixes::

  • Fix caption attribute on a delimited admonition block being stored as true instead of the caption text (the textlabel attribute now receives the resolved caption, matching Asciidoctor Ruby)
  • Fix escaped include directive (\include::file.adoc[]) inside a listing block in an AsciiDoc table cell logging a spurious "include file not found" error — nested documents now use a plain Reader (no include/conditional processing) matching Ruby Asciidoctor behaviour; the first-line preprocessor directive expansion is handled explicitly as Ruby does
  • Fix findBy throwing TypeError: Receiver must be an instance of class AbstractBlock when traversing a document that contains a description list (dlist) — Array.flat() (depth 1) was leaving the inner terms arrays unflattened, so iterating over them passed a plain array instead of a ListItem to the private #findByInternal method; changed to flat(Infinity) to match Ruby's Array#flatten behaviour
  • Fix named exports from asciidoctor package — remove the redundant export { default } from '@asciidoctor/core' line in index.js that was shadowing named exports and preventing import { Document, ... } from 'asciidoctor' from resolving correctly

== v4.0.0-alpha.5 (2026-05-26)

Improvements::

  • Fix 8 TypeDoc warnings about DSL interface types referenced but not included in the documentation — patch-jsdoc.js now converts export type X = import("./extensions.js").X re-exports in types/index.d.ts to export type { X } from './extensions.js' so TypeDoc follows the re-export chain and documents the definitions inline
  • Add CLI doc generation and copy step to the docs job in build.yml so the main-branch docs push (under /main/) also includes the CLI API docs under /main/cli/, consistent with the release workflow
  • Restore CLI extensibility — Options and Invoker classes are now exported from asciidoctor/cli, allowing third-party tools to extend the CLI by subclassing: add custom options via Options#addOption() and override Invoker#invoke(), Invoker#version(), or Invoker#convertFiles() to customize behavior
  • Add JSDoc to the Options and Invoker classes and generate TypeScript declarations (types/cli.d.ts) via tsc — the asciidoctor/cli export now ships with types
  • Publish CLI API documentation to gh-pages under /\{version}/cli/ alongside the core API docs, with cross-navigation links between the two sites
  • Lower the minimum required Node.js version from 24 to 20 — the engines.node field in all packages is now >=20; Node.js 22 remains the recommended version (current LTS/maintenance); Node.js 20 is EOL but the library has no runtime dependency on any API introduced after Node.js 20

== v4.0.0-alpha.4 (2026-05-21)

Bug Fixes::

  • Fix Windows UNC path handling (\\server\share\...) in PathResolver and Documentbase_dir is now correctly posixified (\\//) and .. segments are expanded; previously _expandPath silently fell back to returning the path unchanged because require() is not available in ESM modules
  • Remove unused posixfy() alias on PathResolver (duplicate of posixify())

Improvements::

... (truncated)

Commits
  • c73c697 4.0.0
  • b918740 fix(extensions): preserve directly-registered extensions across registry reuse
  • 1b7efdc docs: document registry reuse behaviour and add tests
  • 0ac262b docs(extensions): add @​overload signatures to IncludeProcessorDsl#handles
  • b02ce92 feat(cli): warn when extension does not export a register function
  • 81a909a test: add CJS extension support test and document ESM/CJS formats
  • b1bba08 feat: add --extension CLI option and clarify --require contract
  • d068c52 4.0.0-alpha.6
  • 505c48a docs(changelog): move admonition caption fix to unreleased section
  • e8e93ba fix(core): store caption text in textlabel for delimited admonition blocks
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for @​asciidoctor/core since your current version.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [@asciidoctor/core](https://github.com/asciidoctor/asciidoctor.js) from 2.2.8 to 4.0.0.
- [Release notes](https://github.com/asciidoctor/asciidoctor.js/releases)
- [Changelog](https://github.com/asciidoctor/asciidoctor.js/blob/main/CHANGELOG.adoc)
- [Commits](asciidoctor/asciidoctor.js@v2.2.8...v4.0.0)

---
updated-dependencies:
- dependency-name: "@asciidoctor/core"
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Jun 23, 2026
@netlify

netlify Bot commented Jun 23, 2026

Copy link
Copy Markdown

Deploy Preview for benchmarking-polite-crostata-92f389 failed.

Name Link
🔨 Latest commit 17a44cd
🔍 Latest deploy log https://app.netlify.com/projects/benchmarking-polite-crostata-92f389/deploys/6a39d68c91abf90008f62042

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants