Commit Message - Breaking Change With ! and a Footer
A breaking change announced twice, which the specification allows: a `!` after the scope and a `BREAKING CHANGE:` footer whose value continues onto a second line. Generators that stop a footer at the first newline lose half the sentence, and version bumpers that only look for one of the two markers under-bump the release.
feat(rounding)!: round half to even instead of half up
Long runs of half-up rounding drifted the reconciled balance upward by
about a cent every four thousand postings.
BREAKING CHANGE: Round() now returns the nearest even multiple on a tie.
Callers that depended on half-up must pass RoundHalfUp explicitly.
Co-authored-by: Miguel Otero <miguel.otero@example.invalid>
Specifications
- Seed
- 20260807
- Repository Name
- .git/COMMIT_EDITMSG
- Type
- feat
- Scope
- rounding
- Breaking
- true
- Breaking Markers
- ! and BREAKING CHANGE footer
- Footer Spans Two Lines
- true
- Line Endings
- LF
- Encoding
- UTF-8
Testing contract
Expected to pass- Scenario
- Decide the semantic-version bump and extract the breaking-change description.
- Expected result
- A major bump is selected, and the BREAKING CHANGE value includes both lines up to the blank line before Co-authored-by.
What is a .txt file?
TXT is a plain-text file containing unformatted character data with no styling or structure beyond line breaks. Its interpretation depends on character encoding, most commonly UTF-8, and on line-ending convention. It is the most universal and portable text container.
How to use this file
Use an example TXT to test encoding detection, line-ending (LF versus CRLF) handling, and any tool that reads or streams raw text input.
How to use this file for testing
“Commit Message - Breaking Change With ! and a Footer” is a deterministic Novus Examples fixture for Config parsing, Visual diff / regression, Error handling. TOML and INI configuration files with nested sections and typed values — for testing config parsers and loaders.
Documented properties for this file: seed 20260807 · UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Diff and patch fixtures name their target paths and the exact edge case they exercise — rename, mode change, binary hunk, CRLF↔LF, or missing trailing newline. Apply or render them against the documented before-state; every author, path, and hash is fictional.
Point your config loader at the file and assert it reads the documented sections and typed values, including any deliberately-tricky nesting or comments.
Related files
- txtMERGE_MSG - Merge Commit Template With a Conflicts BlockThe message template git writes into .git/MERGE_MSG when a merge stops on conflicts: one real subject line followed by a commented list of the conflicted paths and the standard advice block. Everything after the first blank line is stripped by `git commit`, so a hook that lints the whole file rejects messages git would accept.

- mdChangelog - Generated From Conventional CommitsThe machine-generated twin of the hand-written changelog: version headings that are themselves compare links, a leading warning glyph on the breaking-changes section, and every entry ending in a short-hash link back to the commit. The hashes are the same fictional ids used by the log fixtures in this category.

- mdChangelog - Keep a Changelog LayoutA hand-maintained changelog in the Keep a Changelog layout: an Unreleased section, dated version headings in square brackets, the standard change-type subheadings, and reference-style compare links at the bottom. It describes the same releases as the generated twin in this group, so a converter between the two can be scored.

- txtCODEOWNERS - Intentionally Invalid, Five Distinct DefectsAn intentionally invalid ownership file carrying five defects that all parse as plausible lines: an owner that is neither a handle nor an email, a team with no organisation, a character class, a negation, and a path with an unescaped space. Each is a separate assertion for a linter, and none of them is a syntax error a naive line splitter would notice.

- txtCODEOWNERS - Overlapping Globs With Documented WinnersDeliberately overlapping rules so every interesting path matches two or three of them, which is the only way to test that a resolver applies last-match-wins rather than most-specific-wins. One rule has no owners at all, which clears inherited ownership instead of adding any.

- diffCombined Diff - diff --cc With Two ParentsWhat `git show` prints for a merge commit: a `diff --cc` header, an index line naming three blobs, `@@@` hunk markers, and two prefix columns instead of one. The `++` line is the giveaway a reviewer is looking for — content that appears in the merge result but in neither parent.

Generated by generation/version_control.py. Free for any use, no attribution required — license.