Add optional Changelog root element to Bjoern specs#101
Merged
Conversation
Co-authored-by: Mehtrick <4493019+Mehtrick@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add new root element 'changelog' to specification
Add optional Mar 4, 2026
Changelog root element to Bjoern specs
Mehtrick
requested changes
Mar 4, 2026
Mehtrick
left a comment
Owner
There was a problem hiding this comment.
stelle sicher dass das Changelog sanitized ist
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an optional root-level Changelog field to the .zgr specification format and wires it through parsing, validation keywords, Java test-class Javadoc generation, and AsciiDoc documentation output.
Changes:
- Extend YAML + internal models to carry
Changelogand propagate it into generators. - Render changelog in generated artifacts (AsciiDoc template +
@ChangelogJavadoc tag). - Add/adjust tests and docs for the new keyword/field.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/java/de/mehtrick/bjoern/parser/modell/BjoernZGRModell.java | Adds @JsonProperty("Changelog") field + accessors to YAML model. |
| src/main/java/de/mehtrick/bjoern/parser/modell/Bjoern.java | Adds internal changelog field and constructor mapping from YAML model. |
| src/main/java/de/mehtrick/bjoern/generator/builder/BjoernFeatureTestClassBuilder.java | Emits @Changelog in generated feature class Javadoc. |
| src/main/resources/asciidoc.ftlh | Outputs Changelog: block in generated AsciiDoc when present. |
| src/main/java/de/mehtrick/bjoern/parser/validator/validations/BjoernKeywords.java | Registers Changelog: as a valid keyword for validator keyword checks. |
| src/test/resources/changelog.zgr | New test spec file including Changelog:. |
| src/test/java/de/mehtrick/bjoern/asciidoc/AsciiDocBuildTest.java | Adds AsciiDoc generation tests for presence/absence of changelog output. |
| src/test/java/de/mehtrick/bjoern/generator/builder/BjoernFeatureTestClassBuilderTest.java | Adds Javadoc generation test for @Changelog. |
| src/test/java/de/mehtrick/bjoern/parser/BjoernValidatorTest.java | Updates expected allowed-keyword list to include Changelog:. |
| README.md | Documents the new optional Changelog field and its outputs. |
Co-authored-by: Mehtrick <4493019+Mehtrick@users.noreply.github.com>
Contributor
Author
Added |
Mehtrick
approved these changes
Mar 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a new optional
Changelogfree-text field to the.zgrspec format for documenting changes, background, and technical rationale. When present, it is surfaced in both generated Javadoc and AsciiDoc output. The field supports YAML multiline block scalars (|and>) for arbitrarily long content.Spec format
Single-line:
Multiline (YAML literal block scalar):
Changes
BjoernZGRModell,Bjoern) — newChangelogfield with full@JsonPropertywiring and constructor mappingBjoernFeatureTestClassBuilder) — appends@Changelog <text>to the abstract class Javadoc when presentasciidoc.ftlh) — rendersChangelog: <text>after the Reference line, guarded by a null/empty check; useschangelogAsAsciidocfor sanitized outputBjoern) —getChangelogAsAsciidoc()appliesAsciidocReplacer.replace()to escape AsciiDoc-special characters (e.g. pipe|→\|)BjoernKeywords,InvalidKeywordValidation) — addedChangelog:as a recognized keyword; continuation lines inside aChangelog: |orChangelog: >block scalar are exempt from keyword validationOriginal prompt
🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.