Releases: itsallcode/openfasttrace
Release list
Release 4.6.0
OpenFastTrace 4.6.0, released 2026-07-19
Code name: Status Filter at Import
Summary
We added a new feature to filter specification items by status at import time via -w or --wanted-statuses CLI parameters.
This is helpful when your project uses specification documents for planning future requirements (marked by the status "draft" or "porposed").
Big thanks to first-time contributor @Davidius86 who added a dark theme to OFT's HTML report. If your browser is set to a dark theme, the report will automatically switch. He alo added Doxygen file support to the Tag importer and added a convenience notation that lets you cover multiple specification items in a single tag:
// [impl -> dsn~a-covered-item~1, dsn~another~covered-item~2]We also updated test and build dependencies to fix vulnerabilities. Runtime code is not affected, so no update is required.
We moved some GitHub action permissions from workflow-level to job-level. Sonar findings that accumulated with Sonar introducing new code rules were reduced a lot. Since OFT is used in safety-critical projects, code quality is crucial to us.
New Features
- #519: Added support for filtering by specification item status.
Security
- #556: Updated JUnit, PlantUML, Jacoco Maven plugin and Central publishing Plugin dependencies to fix vulnerabilities
Refactoring
- #552: Parameterized tests in
TestSpecobjectImporter - #546: Replaced
OsDetectorwith JUnit5'sEnabledOnOsannotation. - #544: Replaced optional parameter with null check
- #543: Made
CliExceptionaRuntimeException
Features
Release 4.5.0
OpenFastTrace 4.5.0, released 2026-06-01
Code name: 10 years of OFT
Summary
OpenFastTrace just turned ten on GitHub. We are on Mastodon now: https://mastodon.social/@OpenFastTrace
In this release we added the option -h / --help to the command line. Also, the help message now prints the version of OpenFastTrace.
We also refactored the tests around the CLI starter to improve readability and maintainability and made getting the test coverage easier.
We added FXML to the list of supported file formats for the tag importer.
File extensions can now be handled by multiple importers. Importers have a priority order, the first importer that can handle a file extension will be used. Since the XML importer has a peek function to detect SpecObject files, it can decide not to handle an XML file, in which case the tag importer can take over.
When no importer factory is found for a given file format, the importer factory loader will now throw an exception that explains the likely cause. This is helpful in case OFT is used as a library with a custom classloader and thus does not have the right context.
Last but not least, we added the AGENTS.md file as the central entry point to guidance for LLM agents.
Features
Release 4.4.0
OpenFastTrace 4.4.0, released 2026-05-14
Code name: Spec-driven Development Skill
Summary
In this release we added the OpenFastTrace Spec-driven Development Skill. The skill guides AI agents through turning a GitHub issue into a changeset plan that can be reviewed before it gets executed by the user. The process uses a spec-driven development approach backed by an OFT spec.
We also moved the skills to .agents/skills for best cross-vendor compatibility.
The tag importer now supports Kotlin script files (.kts).
Features
Documentation
- #514: Added changeset skill
Release 4.3.0
OpenFastTrace 4.3.0, released 2026-05-07
Code name: Reverse specification skill
Summary
In this release we added the OpenFastTrace Reverse Specs Skill. The skill guides AI agents through reverse-engineering missing system requirements and design documentation from a project's user guide, tests, and source code.
The skill provides templates for doc/system_requirements.md, doc/design.md, and arc42-style design chapters. It also defines a user-guide-first workflow for capturing product intent, filling gaps from implementation evidence, and recording contradictions under Open Issues.
Features
- #510: Added the OpenFastTrace Reverse Specs Skill for reverse-engineering missing specifications
Release 4.2.2
OpenFastTrace 4.2.2, released 2025-02-02
Code name: SystemVerilog file support
Summary
In this release we added support for SystemVerilog files.
Dependency Updates
net.sourceforge.plantuml:plantuml:1.2026.0→1.2026.1nl.jqno.equalsverifier:equalsverifier:4.3→4.3.1org.junit.jupiter:junit-jupiter-api:6.0.1→6.1.0-M1org.junit.jupiter:junit-jupiter-engine:6.0.1→6.1.0-M1org.junit.platform:junit-jupiter-params:6.0.1→6.1.0-M1
Plugin Updates
Please note that plugin updates are only relevant if you want to build OFT. If you run OFT, no update is required.
org.codehaus.mojo:versions-maven-plugin:2.20.1→2.21.0
Bugfixes
- #471: Add tag importer support for SystemVerilog files
4.2.1: Peek before you guess (.xml detection improvement)
This is a bugfix release. It addresses the problem that ReqM2 uses a generic .xml file suffix which led OpenFastTrace to treat any XML file as a ReqM2 file based solely on the extension. To avoid false detections, this version adds a peek function to the file type detection so that we no longer rely only on the file type/extension (#429).
Please note that due to an issue with our CI pipeline, this release was not deployed on Maven Central and GitHub on 2025-09-14 as intended. We are sorry for the inconvenience.
Bugfixes
- #429: Add content peek to file type detection so
.xmlno longer implies ReqM2; prevents misclassification of arbitrary XML files
Release 4.2.0
OpenFastTrace 4.2.0, released 2025-06-22
Code name: Markdown code blocks
Summary
In this release we changed the behavior of the Markdown importer so that if we are inside a code block, no OFT specification items are found. This is a corner case, but we think that this behavior is what users would expect (#480).
We also added a whole section about understanding and fixing broken links between specification items to the user guide.
The new token oft:on|off allows switching off OFT parsing for certain text passages in Markdown and RST documents.
The Central Repository changed its deployment mechanism. We adapted the project accordingly.
Finally, we updated test dependencies and Maven plugins.
Features
- #437: Upgrade build and test dependencies on top of 4.1.0
- #480: Ignore specification items inside Markdown code blocks
Documentation
- #427: Removed old
CHANGELOG.mdfile and merged missing parts into release history. - #431: Documented "unwanted coverage" in user guide.
- #449: Fix parsing past the end of a "needs" paragraph.
- #440: Added Tag importer support for TOML files.
- #442: Added support for JavaScript file extensions
.cjs,.mjsand.ejs
Refactoring
4.1.0: Third-party plugins
OpenFastTrace 4.1.0, released 2024-08-11
Code name: Third-party plugins
Summary
This release adds support for loading third-party plugins from external JAR files. See the documentation for details:
The release also adds command line option --log-level that allows configuring the log level. Possible values are OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL. The default log level is WARNING.
The release also adds support for using Gherkin feature files with OFT, thanks to @sophokles73 for his contribution!
Features
- #413: Added support for third-party plugins
- #425: Add support for reading Tags from Gherkin feature files (@sophokles73)
4.0.2: Fix usability of HTML report
This release updates the HTML report so that jumping to anchored tags does no longer hide the target section under the navbar. Thanks to @RobertZickler for fixing this!
The release also fixes some inconsistencies in the documentation and in error messages reported by @RobertZickler:
- OFT now reports the exact name for unexpected parameters instead of removing dashes and converting it to lower case.
- The user guide now also lists
aspecas possible option for--output-format - The user guide now shows the correct option
--report-verbosityinstead of--verbosity-level - The user guide example command line for generating an Aspec tracing report fixes a typo in the reporter name
aspacinstead ofaspec
Bugfixes
- #420: Fix jumping in HTML reports (@RobertZickler)
- #419: Fixed inconsistencies in documentation and error messages (reported by @RobertZickler)
Release 4.0.1: Allow numbers after dots in specification item names
This release allows using specification item names with dots . followed by numbers, e.g. req~SR.AB.1.1.1~1. We also updated the relevant section in the user guide. Thanks to @RobertZickler for reporting this!
Bugfixes
- #417: Allow numbers after dots in specification item names (reported by @RobertZickler)