Skip to content

v3.0.0

Latest

Choose a tag to compare

@david-waltermire david-waltermire released this 12 Jan 04:40
· 3 commits to main since this release

✨ Highlights

  • Namespace Migration to dev.metaschema (#219) - All Java packages have been migrated from gov.nist.secauto.* to dev.metaschema.* to align with upstream namespace changes. This is a breaking change for anyone extending or embedding the CLI.

  • Shell Completion Support (#227) - The CLI now supports generating shell completion scripts for bash and zsh, enabling tab completion for commands and options.

  • OCI Container Image (#208) - Official multi-architecture container images are now available, making it easy to run the CLI in containerized environments without local installation.

  • Comprehensive Documentation (#228) - Major documentation expansion including installation guides, building from source, CLI reference, and integration guides.

  • Upstream Improvements - This release incorporates significant improvements from metaschema-java v3.0.0.M2 and liboscal-java v7.0.0, including enhanced constraint validation, performance improvements, and bug fixes.

⚠️ Breaking Changes

Package Namespace Migration

All Java packages have been migrated to align with upstream changes:

  • gov.nist.secauto.metaschema.*dev.metaschema.*
  • gov.nist.secauto.oscal.*dev.metaschema.oscal.*

Migration: Update all import statements if you are extending or embedding the CLI.

(#219) by @david-waltermire

✨ New Features

  • Shell completion - Generate bash/zsh completion scripts with oscal-cli shell-completion (#227) by @david-waltermire
  • SARIF findings - Detailed SARIF findings in security scan summaries (#223) by @david-waltermire
  • OCI container image - Build and run the CLI in Docker containers (#208) by @aj-stein
  • Parallel validation (experimental) - New --threads N option enables concurrent constraint validation on multi-core systems for improved performance on large documents (metaschema-java#560)

🐛 Bug Fixes

From metaschema-java v3.0.0.M2

From liboscal-java v7.0.0

  • Support field nodes in has-oscal-namespace function, returning FALSE instead of throwing an exception (liboscal-java#233)
  • Make ComponentDefinition and MappingCollection implement IOscalInstance to fix ClassCastException with fragment references (liboscal-java#226)
  • Update for OSCAL 1.2.0 model compatibility using ProfileMatching for control selection (liboscal-java#223)

📚 Documentation Improvements

🔧 Build & CI Improvements

📦 Dependency Updates

Java Libraries

  • org.junit:junit-bom: 6.0.1 → 6.0.2 (#220)

Maven Plugins

  • org.sonatype.central:central-publishing-maven-plugin: 0.9.0 → 0.10.0 (#222)
  • org.codehaus.mojo:license-maven-plugin: 2.7.0 → 2.7.1 (#218)

GitHub Actions

  • github/codeql-action: 4.31.7 → 4.31.9 (#205, #211)
  • actions/upload-artifact: 5.0.0 → 6.0.0 (#209)

Core Dependencies

  • metaschema-java: 3.0.0.M1 → 3.0.0.M2
  • liboscal-java: 6.0.0 → 7.0.0