Skip to content

Releases: itsallcode/openfasttrace

Release 4.5.0

01 Jun 13:42
86ce373

Choose a tag to compare

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

  • #352: Tag parsing in XML documents
  • #503: Added -h / --help to the command line.
  • #506: Exception when no importer was found.
  • #524: Added version number to help text.
  • #533: Added AGENTS.md

Release 4.4.0

14 May 16:09
52e477b

Choose a tag to compare

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

  • #507: Tag importer now support .kts files
  • #514: Added changeset skill

Documentation

  • #514: Added changeset skill

Release 4.3.0

07 May 14:08
e84aa61

Choose a tag to compare

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

02 Feb 06:00
3ab07ed

Choose a tag to compare

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.01.2026.1
  • nl.jqno.equalsverifier:equalsverifier:4.34.3.1
  • org.junit.jupiter:junit-jupiter-api:6.0.16.1.0-M1
  • org.junit.jupiter:junit-jupiter-engine:6.0.16.1.0-M1
  • org.junit.platform:junit-jupiter-params:6.0.16.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.12.21.0

Bugfixes

  • #471: Add tag importer support for SystemVerilog files

4.2.1: Peek before you guess (.xml detection improvement)

01 Feb 17:08
ea05d33

Choose a tag to compare

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 .xml no longer implies ReqM2; prevents misclassification of arbitrary XML files

Release 4.2.0

22 Jun 12:22
e088239

Choose a tag to compare

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.md file 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, .mjs and .ejs

Refactoring

  • #452: Migrated Deployment to the new "Central Repository" mechanism
  • #454: Fixed deployment to Maven Central

4.1.0: Third-party plugins

11 Aug 07:41
159a20e

Choose a tag to compare

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

06 Jul 13:37
7b26b0e

Choose a tag to compare

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 aspec as possible option for --output-format
  • The user guide now shows the correct option --report-verbosity instead of --verbosity-level
  • The user guide example command line for generating an Aspec tracing report fixes a typo in the reporter name aspac instead of aspec

Bugfixes

Release 4.0.1: Allow numbers after dots in specification item names

22 Jun 12:10
63c846a

Choose a tag to compare

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

4.0.0: RST Importer

03 Jun 04:21
8c2c443

Choose a tag to compare

Good news for our 🐍 Python friends: in this release we derived a parser for Restructured Text (RST) from our existing Markdown parser.

The Markdown parser in the process now accepts specification item titles underlined with either "=" (H1) or "-" (H2).

Also, the Markdown parser now ignores whitespace in Needs and Tags entries and correctly parses Tags at the start of a requirement item.

The test coverage for the Markdown importer is now at 100%, and we were able to remove tests that were done with mocks in favor or more robust low-level integration tests.

We also improved detection of requirement forwarding markup:

currentArtifactType-->forwaredTo:originalArtifactType~name~revision

This now works directly after:

  1. Markdown title
  2. "Needs" section
  3. "Depends" section
  4. "Covers" section
  5. "Tags" section

Breaking Changes

Java 17

We dropped support for Java 11 for a couple of reasons:

  1. Oracle JDK does not support version 11 anymore
  2. AdoptJDK will likely end support for version 11 in September 2024
  3. Most machines now come preinstalled with 17 or later
  4. Java 17 has a couple of features that allow for cleaner, safer and more readable code

Removed Deprecated Elektrobit-proprietary Specification Item ID Format

Support for the previously deprecated Elektrobit-proprietary specification item ID format

req:name, v1

has now been removed from the Markdown format. Please migrate to OFT's native format:

req~name~1

Features

  • #378: Added an RST importer
  • #412: Added automatic release for Maven Central and GitHub