✨ Highlights
-
Namespace Migration to dev.metaschema (#219) - All Java packages have been migrated from
gov.nist.secauto.*todev.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 Noption 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
- Fix
isRequired()returning false for choice block properties (metaschema-java#608) - Make
CommandService.getCommands()thread-safe (metaschema-java#632) - Resolve document cache race condition and add cache configuration (metaschema-java#590)
- Escape ampersands in generated Javadoc formal names (metaschema-java#621)
- Fix YAML/JSON module loading with missing typeAdapter and discriminatorValue (metaschema-java#557)
From liboscal-java v7.0.0
- Support field nodes in
has-oscal-namespacefunction, returningFALSEinstead of throwing an exception (liboscal-java#233) - Make
ComponentDefinitionandMappingCollectionimplementIOscalInstanceto fixClassCastExceptionwith fragment references (liboscal-java#226) - Update for OSCAL 1.2.0 model compatibility using
ProfileMatchingfor control selection (liboscal-java#223)
📚 Documentation Improvements
- Expand website documentation with guides and architecture (#228) by @david-waltermire
- Add --no-color usage documentation for legacy consoles (#216) by @david-waltermire
🔧 Build & CI Improvements
- Add reusable build workflow and scheduled nightly build (#221) by @david-waltermire
- Add Claude Code configuration (#224) by @david-waltermire
- Remove Saxon and xmlresolver dependencies (#215) by @david-waltermire
- Update CallingContext import for metaschema-java compatibility (#213) by @david-waltermire
- Update dependencies to latest releases (#207) by @david-waltermire