Skip to content

Releases: metaschema-framework/oscal-cli

v2.6.0

14 Dec 19:35

Choose a tag to compare

Download the OSCAL CLI tool. (GPG Signature)

This major release brings OSCAL 1.2.0 support and upgrades to metaschema-java 3.0.0.M1 and liboscal-java 6.0.0, along with a new --pretty-print option for profile resolution and CI/CD improvements.

✨ Highlights

  • OSCAL 1.2.0 Support: Updated to the latest OSCAL model with full compatibility
  • New --pretty-print option: Format profile resolution output for XML, JSON, and YAML files
  • metaschema-java 3.0.0.M1: Major framework upgrade with improved module loading and exception handling
  • liboscal-java 6.0.0: Updated to latest OSCAL library
  • Improved CI/CD: Added workflow concurrency control and scheduled nightly builds

⚠️ Breaking Changes

metaschema-java 3.0.0.M1 Migration

This release requires migrating to the new metaschema-java 3.0.0.M1 APIs. See the metaschema-java v3.0.0.M1 release notes for complete details.

Dependency Previous Version New Version
metaschema-java 2.2.0 3.0.0.M1
liboscal-java 5.2.1 6.0.0

API Changes

The IBindingContext.registerModule() method signature changed in metaschema-java 3.0.0 to throw a checked MetaschemaException. Error handling has been improved to provide more descriptive error messages and proper exit codes when module registration fails.

✨ New Features

🔧 Build & CI Improvements

  • Added concurrency configuration to cancel in-progress workflow runs on new commits (#206)
  • Added scheduled nightly builds at 4:00 AM UTC (#206)
  • Removed deprecated --exclude-mail flag from lychee-action (#194)

What's Changed

Features

Core Changes

Build & CI

Full Changelog: v2.5.1...v2.6.0

📦 Dependency Updates

Java Libraries

  • gov.nist.secauto.metaschema:metaschema-java: 2.2.0 → 3.0.0.M1 (#204, #207)
  • gov.nist.secauto.oscal:liboscal-java: 5.2.1 → 6.0.0 (#204, #207)
  • commons-io:commons-io: 2.18.0 → 2.21.0 (#195)
  • org.json:json: 20250107 → 20250517 (#153)
  • org.junit:junit-bom: 5.12.1 → 6.0.1 (#199)
  • org.apache.logging.log4j:log4j-bom: 2.24.3 → 2.25.2 (#180)
  • org.xmlresolver:xmlresolver: 6.0.14 → 6.0.19 (#203)
  • org.fusesource.jansi:jansi: 2.4.1 → 2.4.2
  • com.github.erosb:everit-json-schema: 1.14.5 → 1.14.6

Maven Plugins

  • org.codehaus.mojo:license-maven-plugin: 2.5.0 → 2.7.0 (#179)
  • org.sonatype.central:central-publishing-maven-plugin: updates (#181)
  • io.github.git-commit-id:git-commit-id-maven-plugin: updates (#157)
  • me.fabriciorby:maven-surefire-junit5-tree-reporter: updates (#202)

GitHub Actions

  • actions/checkout: 4.2.2 → 6.0.1 (#168, #197)
  • actions/setup-java: 4.7.1 → 5.1.0 (#170, #201)
  • actions/upload-artifact: 4.6.2 → 5.0.0 (#196)
  • actions/github-script: 7.0.1 → 8.0.0 (#175)
  • github/codeql-action: 3.28.17 → 4.31.8 (#191, #200, #205)
  • peter-evans/create-issue-from-file: 5.0.1 → 6.0.0 (#198)
  • lycheeverse/lychee-action: 2.4.1 → 2.7.0 (#190)

v2.5.1

16 May 13:34

Choose a tag to compare

Download the OSCAL CLI tool. (GPG Signature)

This patch release incorporates the liboscal-java 5.2.0 patch and build environment updates.

What's Changed

New Contributors

Full Changelog: v2.5.0...v2.5.1

v2.5.0

06 Apr 15:50

Choose a tag to compare

Download the OSCAL CLI tool. (GPG Signature)

This minor release incorporates feature improvements and bug fixes from metaschema-framework/metaschema-java v2.2.0 and metaschema-framework/liboscal-java v5.2.0.

The OSCAL version used by this tool is v1.1.3.

New and Noteworthy

Important Bug Fixes

  • Ensured that controls defined at the catalog level are not duplicated during profile resolution. This fixes a bug (#60) caused during the import handling phase of profile resolution, which was "promoting" controls defined at the catalog level, causing a second copy of the control to be added. This was fixed by making controls at the catalog level always eligible for selection. Supported by metaschema-framework/liboscal-java#92.
  • Added missing functionality for the DEBUG constraint level adderessing bug #92, based on metaschema-framework/metaschema-java#307.

What's Changed

Full Changelog: v2.4.0...v2.5.0

v2.4.0

26 Nov 18:27

Choose a tag to compare

Download the OSCAL CLI tool. (GPG Signature)

This minor release incorporates feature improvements and bug fixes from metaschema-java.

The OSCAL version used by this tool has been updated to v1.1.3.

What's Changed

Full Changelog: v2.3.1...v2.4.0

v2.3.1

09 Nov 22:06

Choose a tag to compare

Download the OSCAL CLI tool. (GPG Signature)

This patch release incorporates bug fixes from metaschema-java.

What's Changed

  • Add unit tests for a bug causing error messages to be silently dropped by @david-waltermire in #69

Full Changelog: v2.3.0...v2.3.1

v2.3.0

04 Nov 02:47

Choose a tag to compare

Download the OSCAL CLI tool. (GPG Signature)

This minor release integrates changes from metaschema-framework/metaschema-java v2.0.0. A major release was chosen here since this release only adds functionality to and fixes bugs in the CLI.

This release fixes #67 based on metaschema-java changes. See metaschema-framework/metaschema-java#232.

What's Changed

Full Changelog: v2.2.0...v2.3.0

v2.2.0

08 Oct 23:52

Choose a tag to compare

Download the OSCAL CLI tool. (GPG Signature)

Changelog

What's Changed

Full Changelog: v2.1.0...v2.2.0

v2.1.0

16 Sep 16:52

Choose a tag to compare

Download the OSCAL CLI tool. (GPG Signature)

What's new

This minor release adds the oscal-cli list-allowed-values command, which lists all allowed values constraints associated with a given node in the OSCAL model graph.

usage: oscal-cli list-allowed-values [<options>] [<destination-file>]
 -c <URL>                additional constraint definitions
 -h,--help               display this help message
    --no-color           do not colorize output
    --overwrite          overwrite the destination if it exists
 -q,--quiet              minimize output to include only errors
    --show-stack-trace   display the stack trace associated with an error
    --version            display the application version

This release also adds new commands under the oscal-cli metaschema command path, which are provided by metaschema-java.

These include:

  • oscal-cli metaschema metapath eval
  • oscal-cli metaschema generate-diagram

Additionally, all content validation commands now allow you to disable schema or constraint validation using arguments.

--disable-constraint-validation   do not perform constraint validation
--disable-schema-validation       do not perform schema validation

What's Changed

New Contributors

Full Changelog: v2.0.2...v2.1.0

v2.0.2

20 Aug 13:28

Choose a tag to compare

Download the OSCAL CLI tool. (GPG Signature)

What's Changed

Full Changelog: v2.0.1...v2.0.2

v2.0.1

12 Aug 01:39

Choose a tag to compare

Download the OSCAL CLI tool. (GPG Signature)

What's Changed

New Contributors

Full Changelog: v2.0.0...v2.0.1