Releases: blackbuild/anno-docimal
Release list
1.0.0 - The Anno is mightier than the Doc
-
SourceProjectionTasknow accepts a cacheablereferencedClassesClasspathof directories or JARs for resolving
referenced declarations. Consumers can pass their schema compile classpath (or a proven narrower runtime classpath),
so nested dependency types project with legal Java names while ambiguous binary$names still fail diagnostically.
See the usage guide. -
Groovy property documentation is now retained as property semantics across capture and source projection. The
normalized textual carrier stays on the backing field, undocumented custom accessors inherit it, and projected
Groovy-generated getters and setters receive it while explicitly documented accessors keep precedence. Projection does
not apply general JavaBeans inference; see the usage guide and
authoring migration. -
Added a protected, immutable GitHub Pages publication seam for deterministic static HTML and all supported Java API
Javadocs. Pull requests render and crawl a distinct non-release rehearsal without deployment; exact release manifests
cover the deployed HTML, assets, and Javadoc bytes. Immutable RC, final, and historical snapshots all use their exact
version route; the archive is a discovery index, and labelled stable, maintained-line, and preview aliases require
#45-recorded public-artifact proof. Release authorization and recovery remain in the #45 runbook. See
repository-owned versioned documentation. -
Added shared Java APT, local Groovy, and packaged global-AST capture conformance evidence across Groovy 3, 4, and 5.
The shared declaration matrix covers documented keys, normalization, nested declarations, parameters, empty content,
and carrier selection. Java APT now removes surrounding whitespace from documentation-properties values consistently
with Groovy capture. -
Added runtime GroovyDoc interoperability across Groovy 3, 4, and 5. Exact extraction now selects non-blank carriers in
deterministic@AnnoDoc, runtime@Groovydoc, documentation-properties order; local and global Groovy capture avoid
duplicate@AnnoDocemission when Groovy supplies its runtime carrier. Source projection normalizes and renders the
selected carrier as Javadoc without copying carrier annotations. AnnoDocimal's protocol remains the canonical
cross-language and future-evolution boundary; see the usage guide. -
Added an unsigned, network-independent publication audit for all six artifacts and both Gradle plugin markers. It
verifies POM and Gradle metadata, sources and Javadocs, module and service packaging, shaded boundaries, signing and
staging configuration, and clean Gradle and Apache Maven consumers. A separate exact-version RC task is ready for
authorized validation from Maven Central and the Gradle Plugin Portal; see
repository-owned publication validation. -
Added a recompiling Java and Groovy source-projection contract matrix across Groovy 3, 4, and 5. Representative
declarations now verify deterministic, compilable output for classes, interfaces, annotations, enums, top-level and
nested records, members, generic and wildcard signatures, arrays, declared exceptions, and documentation carriers.
Record projections retain record kind and components, and generic declarations no longer lose non-generic declared
exceptions. -
Normalized projected annotation members lexicographically by name, including primitive, enum, class, nested-annotation,
and array-valued members. Repeated projection is byte-identical across Groovy 3, 4, and 5 without treating incidental
source or bytecode declaration order as Java semantics. -
Added the supported cacheable
SourceProjectionTaskand thecom.blackbuild.annodocimal.groovy-pluginconvention.
Independently registered tasks select top-level class files with declared patterns, project deterministic managed
source mirrors, clean stale output, and support Gradle's build and configuration caches. Gradle 7.3.3 through 8.14.5
is supported with TestKit coverage at both endpoints.CreateClassStubsand
com.blackbuild.annodocimal.pluginare removed without shims; see the usage guide and
0.x-to-1.0 migration. -
Rewrote the repository-owned landing page, usage guide, and migration guidance for the 1.0 documentation contract.
They now describe the six artifacts, Java and Groovy capture, the supported authoring and projection APIs, automatic
module names, Javadoc and IDE-mirror boundaries, and the conventional and independently configurable Gradle
integrations. See
the usage guide and 0.x-to-1.0 migration. -
Defined the supported 1.0 Java API as non-null by default with JSpecify. Supported annotation, transformation-author,
and source-projection types are@NullMarked, genuine raw-null inputs are explicit, andOptional, runtime null
rejection, and template semantics are unchanged. See the supported API and
0.x-to-1.0 migration. -
Added the supported
SourceProjectorand explicitProjectionPolicycontract for deterministic
documentation-oriented Java text and managed output files. The policy now defines visibility, named nesting,
synthetic and Groovy-runtime artifacts, and mandatory signature closure. The provisionalAnnoDocGeneratorAPI is
removed; see the source-projection guide and
0.x-to-1.0 migration. -
Corrected inherited generic source projection so inherited type variables are resolved through parameterized API
relationships and nested types retain their enclosing owner, including bounds and wildcards. The resulting Java now
compiles without unresolved generic context. -
Stabilized the 1.0 transformation-authoring language around
DocumentationandAstDocumentation, including
first-class code blocks, deterministic normalization, one-pass named templates, canonical links, and exact
extraction/attachment. The final Java shape uses optional scalar accessors, explicit clearing, strict null handling,
immutable value semantics, and a checked-in supported-API baseline. The accidental 0.x helper names are replaced; see the
authoring migration guide. -
Published Java-facing artifacts now declare stable automatic module names for JPMS consumers. The global-AST service
provider is packaged with its service descriptor, preserving classpath discovery while enabling module-path use. The
Gradle plugin remains build-tool-only and the annotation processor remains processor-path-oriented. See
the module-path migration notes.
AnnoDocimal 1.0.0-rc.8
since rc.7
SourceProjectionTasknow accepts a cacheablereferencedClassesClasspathof directories or JARs for resolving
referenced declarations. Consumers can pass their schema compile classpath (or a proven narrower runtime classpath),
so nested dependency types project with legal Java names while ambiguous binary$names still fail diagnostically.
See the usage guide.
since 0.6.5
-
Groovy property documentation is now retained as property semantics across capture and source projection. The
normalized textual carrier stays on the backing field, undocumented custom accessors inherit it, and projected
Groovy-generated getters and setters receive it while explicitly documented accessors keep precedence. Projection does
not apply general JavaBeans inference; see the usage guide and
authoring migration. -
Added a protected, immutable GitHub Pages publication seam for deterministic static HTML and all supported Java API
Javadocs. Pull requests render and crawl a distinct non-release rehearsal without deployment; exact release manifests
cover the deployed HTML, assets, and Javadoc bytes. Immutable RC, final, and historical snapshots all use their exact
version route; the archive is a discovery index, and labelled stable, maintained-line, and preview aliases require
#45-recorded public-artifact proof. Release authorization and recovery remain in the #45 runbook. See
repository-owned versioned documentation. -
Added shared Java APT, local Groovy, and packaged global-AST capture conformance evidence across Groovy 3, 4, and 5.
The shared declaration matrix covers documented keys, normalization, nested declarations, parameters, empty content,
and carrier selection. Java APT now removes surrounding whitespace from documentation-properties values consistently
with Groovy capture. -
Added runtime GroovyDoc interoperability across Groovy 3, 4, and 5. Exact extraction now selects non-blank carriers in
deterministic@AnnoDoc, runtime@Groovydoc, documentation-properties order; local and global Groovy capture avoid
duplicate@AnnoDocemission when Groovy supplies its runtime carrier. Source projection normalizes and renders the
selected carrier as Javadoc without copying carrier annotations. AnnoDocimal's protocol remains the canonical
cross-language and future-evolution boundary; see the usage guide. -
Added an unsigned, network-independent publication audit for all six artifacts and both Gradle plugin markers. It
verifies POM and Gradle metadata, sources and Javadocs, module and service packaging, shaded boundaries, signing and
staging configuration, and clean Gradle and Apache Maven consumers. A separate exact-version RC task is ready for
authorized validation from Maven Central and the Gradle Plugin Portal; see
repository-owned publication validation. -
Added a recompiling Java and Groovy source-projection contract matrix across Groovy 3, 4, and 5. Representative
declarations now verify deterministic, compilable output for classes, interfaces, annotations, enums, top-level and
nested records, members, generic and wildcard signatures, arrays, declared exceptions, and documentation carriers.
Record projections retain record kind and components, and generic declarations no longer lose non-generic declared
exceptions. -
Normalized projected annotation members lexicographically by name, including primitive, enum, class, nested-annotation,
and array-valued members. Repeated projection is byte-identical across Groovy 3, 4, and 5 without treating incidental
source or bytecode declaration order as Java semantics. -
Added the supported cacheable
SourceProjectionTaskand thecom.blackbuild.annodocimal.groovy-pluginconvention.
Independently registered tasks select top-level class files with declared patterns, project deterministic managed
source mirrors, clean stale output, and support Gradle's build and configuration caches. Gradle 7.3.3 through 8.14.5
is supported with TestKit coverage at both endpoints.CreateClassStubsand
com.blackbuild.annodocimal.pluginare removed without shims; see the usage guide and
0.x-to-1.0 migration. -
Rewrote the repository-owned landing page, usage guide, and migration guidance for the 1.0 documentation contract.
They now describe the six artifacts, Java and Groovy capture, the supported authoring and projection APIs, automatic
module names, Javadoc and IDE-mirror boundaries, and the conventional and independently configurable Gradle
integrations. See
the usage guide and 0.x-to-1.0 migration. -
Defined the supported 1.0 Java API as non-null by default with JSpecify. Supported annotation, transformation-author,
and source-projection types are@NullMarked, genuine raw-null inputs are explicit, andOptional, runtime null
rejection, and template semantics are unchanged. See the supported API and
0.x-to-1.0 migration. -
Added the supported
SourceProjectorand explicitProjectionPolicycontract for deterministic
documentation-oriented Java text and managed output files. The policy now defines visibility, named nesting,
synthetic and Groovy-runtime artifacts, and mandatory signature closure. The provisionalAnnoDocGeneratorAPI is
removed; see the source-projection guide and
0.x-to-1.0 migration. -
Corrected inherited generic source projection so inherited type variables are resolved through parameterized API
relationships and nested types retain their enclosing owner, including bounds and wildcards. The resulting Java now
compiles without unresolved generic context. -
Stabilized the 1.0 transformation-authoring language around
DocumentationandAstDocumentation, including
first-class code blocks, deterministic normalization, one-pass named templates, canonical links, and exact
extraction/attachment. The final Java shape uses optional scalar accessors, explicit clearing, strict null handling,
immutable value semantics, and a checked-in supported-API baseline. The accidental 0.x helper names are replaced; see the
authoring migration guide. -
Published Java-facing artifacts now declare stable automatic module names for JPMS consumers. The global-AST service
provider is packaged with its service descriptor, preserving classpath discovery while enabling module-path use. The
Gradle plugin remains build-tool-only and the annotation processor remains processor-path-oriented. See
the module-path migration notes.
AnnoDocimal 1.0.0-rc.7
-
Groovy property documentation is now retained as property semantics across capture and source projection. The
normalized textual carrier stays on the backing field, undocumented custom accessors inherit it, and projected
Groovy-generated getters and setters receive it while explicitly documented accessors keep precedence. Projection does
not apply general JavaBeans inference; see the usage guide and
authoring migration. -
Added a protected, immutable GitHub Pages publication seam for deterministic static HTML and all supported Java API
Javadocs. Pull requests render and crawl a distinct non-release rehearsal without deployment; exact release manifests
cover the deployed HTML, assets, and Javadoc bytes. Immutable RC, final, and historical snapshots all use their exact
version route; the archive is a discovery index, and labelled stable, maintained-line, and preview aliases require
#45-recorded public-artifact proof. Release authorization and recovery remain in the #45 runbook. See
repository-owned versioned documentation. -
Added shared Java APT, local Groovy, and packaged global-AST capture conformance evidence across Groovy 3, 4, and 5.
The shared declaration matrix covers documented keys, normalization, nested declarations, parameters, empty content,
and carrier selection. Java APT now removes surrounding whitespace from documentation-properties values consistently
with Groovy capture. -
Added runtime GroovyDoc interoperability across Groovy 3, 4, and 5. Exact extraction now selects non-blank carriers in
deterministic@AnnoDoc, runtime@Groovydoc, documentation-properties order; local and global Groovy capture avoid
duplicate@AnnoDocemission when Groovy supplies its runtime carrier. Source projection normalizes and renders the
selected carrier as Javadoc without copying carrier annotations. AnnoDocimal's protocol remains the canonical
cross-language and future-evolution boundary; see the usage guide. -
Added an unsigned, network-independent publication audit for all six artifacts and both Gradle plugin markers. It
verifies POM and Gradle metadata, sources and Javadocs, module and service packaging, shaded boundaries, signing and
staging configuration, and clean Gradle and Apache Maven consumers. A separate exact-version RC task is ready for
authorized validation from Maven Central and the Gradle Plugin Portal; see
repository-owned publication validation. -
Added a recompiling Java and Groovy source-projection contract matrix across Groovy 3, 4, and 5. Representative
declarations now verify deterministic, compilable output for classes, interfaces, annotations, enums, top-level and
nested records, members, generic and wildcard signatures, arrays, declared exceptions, and documentation carriers.
Record projections retain record kind and components, and generic declarations no longer lose non-generic declared
exceptions. -
Normalized projected annotation members lexicographically by name, including primitive, enum, class, nested-annotation,
and array-valued members. Repeated projection is byte-identical across Groovy 3, 4, and 5 without treating incidental
source or bytecode declaration order as Java semantics. -
Added the supported cacheable
SourceProjectionTaskand thecom.blackbuild.annodocimal.groovy-pluginconvention.
Independently registered tasks select top-level class files with declared patterns, project deterministic managed
source mirrors, clean stale output, and support Gradle's build and configuration caches. Gradle 7.3.3 through 8.14.5
is supported with TestKit coverage at both endpoints.CreateClassStubsand
com.blackbuild.annodocimal.pluginare removed without shims; see the usage guide and
0.x-to-1.0 migration. -
Rewrote the repository-owned landing page, usage guide, and migration guidance for the 1.0 documentation contract.
They now describe the six artifacts, Java and Groovy capture, the supported authoring and projection APIs, automatic
module names, Javadoc and IDE-mirror boundaries, and the conventional and independently configurable Gradle
integrations. See
the usage guide and 0.x-to-1.0 migration. -
Defined the supported 1.0 Java API as non-null by default with JSpecify. Supported annotation, transformation-author,
and source-projection types are@NullMarked, genuine raw-null inputs are explicit, andOptional, runtime null
rejection, and template semantics are unchanged. See the supported API and
0.x-to-1.0 migration. -
Added the supported
SourceProjectorand explicitProjectionPolicycontract for deterministic
documentation-oriented Java text and managed output files. The policy now defines visibility, named nesting,
synthetic and Groovy-runtime artifacts, and mandatory signature closure. The provisionalAnnoDocGeneratorAPI is
removed; see the source-projection guide and
0.x-to-1.0 migration. -
Corrected inherited generic source projection so inherited type variables are resolved through parameterized API
relationships and nested types retain their enclosing owner, including bounds and wildcards. The resulting Java now
compiles without unresolved generic context. -
Stabilized the 1.0 transformation-authoring language around
DocumentationandAstDocumentation, including
first-class code blocks, deterministic normalization, one-pass named templates, canonical links, and exact
extraction/attachment. The final Java shape uses optional scalar accessors, explicit clearing, strict null handling,
immutable value semantics, and a checked-in supported-API baseline. The accidental 0.x helper names are replaced; see the
authoring migration guide. -
Published Java-facing artifacts now declare stable automatic module names for JPMS consumers. The global-AST service
provider is packaged with its service descriptor, preserving classpath discovery while enabling module-path use. The
Gradle plugin remains build-tool-only and the annotation processor remains processor-path-oriented. See
the module-path migration notes.
First ink - with fixes
A couple of necessary fixes over 0.6.0