You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Breaking: the print(GgChart, double) / println(GgChart, double) width-only
overload that Groovy default arguments generated is removed. Pass explicit width and
height, or omit both and let the chart's own dimensions apply.
Output from a Groovy code block that does not end in a newline now gains one, so out.print('x') no longer glues the next source line onto the output. Visible change: out.print('Hello ') followed by prose now yields Hello \nworld instead of Hello world in the Markdown (rendered identically by CommonMark).
Inline = expr is no longer expanded inside CommonMark indented code blocks (a line
indented four or more spaces beyond the document's own base indent). Indent is measured
relative to the indent of the document's first non-blank line, so a .gmd written inside an
indented Groovy string is unaffected. Lazy paragraph continuations and list-item
continuations still expand.
Indented ```{groovy} fences now execute with their body dedented by the fence's own
indent, and the echoed fence and body line up. Visible change: a multi-line string
literal whose continuation lines sit below the fence indent loses those spaces in the
evaluated source as well as the echo.
render Chart/MatrixXChart output (and Html) as a raw <img> HTML tag instead of {attrs}, since CommonMark's image syntax doesn't support Pandoc-style attribute suffixes. This means outputType=md output can now contain raw HTML for charts instead of portable Markdown image syntax; the tag is followed by a blank line so it doesn't swallow subsequent Markdown as an HTML block.
restore the HtmlDecorator.BOOTSTRAP_CSS and HIGHLIGHT_JS_CSS compatibility constants
upgrade the JUnit BOM from 6.1.2 to 6.1.3
upgrade OpenHTMLToPDF from 1.1.65 to 1.1.86
upgrade CommonMark from 0.29.0 to 0.30.0
remove obsolete JavaFX filtering from the fat jar assembly
upgrade groovy to 5.1.3
Upgrade matrix bom to 2.6.0
exclude xml-apis, which bundles pre-Java-5 javax.xml.parsers classes.
On a child-first classloader (e.g. Groovy's RootLoader / @grab) its FactoryFinder shadows the JDK's JAXP and fails with FactoryConfigurationError looking for org.apache.xerces.jaxp.DocumentBuilderFactoryImpl. The JDK already provides these APIs.
highlightjs-jvm
upgrade the JUnit BOM used by module tests to 6.1.3
require Node 22 for bundle generation and verify the generated bundle in CI
add Maven publication metadata and attach source and Javadoc artifacts
configure the versions Maven plugin to use the shared repository version rules
add Javadocs to the public highlighter APIs
upgrade the Babel build dependencies
gmd-gradle-plugin
Breaking:GmdGradlePlugin.hasRepository(Project, MavenArtifactRepository) is removed.
It was public static API on the plugin class; nothing in the repo called it. The plugin now
checks for an existing Maven Central declaration itself before adding one, and also detects
when repositories are settings-managed (PREFER_SETTINGS or FAIL_ON_PROJECT_REPOS) so it
never adds a project-level repository Gradle would ignore or reject.
derive the default GMD core version from a generated plugin-version resource populated from the root Maven revision, failing clearly if metadata is unavailable
derive the development artifact version from the root Maven revision and require an explicit version when publishing
upgrade the Gradle Versions Plugin from 0.58.0 to 0.61.0
upgrade the JUnit BOM from 6.1.2 to 6.1.3
validate the Gradle Plugin Portal publication before uploading the plugin
upgrade groovy to 5.1.3
clean stale generated files only from the dedicated default build/gmd output directory; custom target directories retain pre-existing and orphaned GMD output when sources are deleted, renamed, or change output type, while Gradle tracks their expected generated files individually for up-to-date checks
track the actual GMD processor runtime classpath for up-to-date checks, including changed dynamic or transitive dependencies; avoid resolving it when no .gmd source exists so the no-op and stale-output cleanup paths remain dependency-free
expose that runtime through ProcessGmdTask.runtimeClasspath; the established classpath property remains as a deprecated compatibility alias for directly registered tasks
gmd-maven-plugin
make the default GMD core version follow the Maven plugin version to prevent release drift
validate Maven Central release artifacts before publishing
publish source and Javadoc artifacts as part of the release workflow
replace deprecated Maven @Component injection with JSR-330 @Inject
wait up to 30 seconds after forcibly stopping an interrupted GMD processor, while preserving a subsequent interrupt so Maven cancellation cannot hang indefinitely