From de1e463d23bdd3da9c38ddbf73788a5628349646 Mon Sep 17 00:00:00 2001 From: Lou DeGenaro Date: Wed, 18 Mar 2026 07:42:50 -0400 Subject: [PATCH 1/3] fix: support for OSCAL 1.2.1 Mapping Model (#2167) Signed-off-by: degenaro --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 4248867bc..be556a0a3 100644 --- a/README.md +++ b/README.md @@ -93,14 +93,17 @@ A collection of demos utilizing trestle can be found in the related project [com ### v4: stable (actively developed) - supports NIST OSCAL 1.2.1 as well as previous versions +- supports newly released Mapping Model ### v3: stable (maintenance mode) - supports NIST OSCAL 1.1.3 as well as previous versions +- limited support until June 30, 2026 ### v2: stable (deprecated) - supports NIST OSCAL 1.0.4 as well as previous versions +- no longer supported ## Community meetings and communications From a430c6962fd721034a27ee073ef0aa519730fc0c Mon Sep 17 00:00:00 2001 From: Lou DeGenaro Date: Wed, 18 Mar 2026 07:51:01 -0400 Subject: [PATCH 2/3] fix: hatch caused release pipeline failure (#2168) Signed-off-by: degenaro --- .github/workflows/python-push.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/python-push.yml b/.github/workflows/python-push.yml index f77ce4662..7b67962df 100644 --- a/.github/workflows/python-push.yml +++ b/.github/workflows/python-push.yml @@ -103,6 +103,11 @@ jobs: if: steps.core-version.outputs.core == 'true' run: | make docs-validate + - name: Recreate hatch test environment + shell: bash + run: | + hatch env remove hatch-test.py${{ matrix.python-version }} 2>/dev/null || true + hatch env create hatch-test.py${{ matrix.python-version }} - name: Pytest Fast if: steps.core-version.outputs.core != 'true' run: | @@ -151,6 +156,11 @@ jobs: - name: gen OSCAL models run: | make gen-oscal + - name: Recreate hatch test environment + shell: bash + run: | + hatch env remove hatch-test.py${{ matrix.python-version }} 2>/dev/null || true + hatch env create hatch-test.py${{ matrix.python-version }} - name: Run tests run: | make test From 288a17fa7082fcf7c0a86a9c27fd3a1ed977c947 Mon Sep 17 00:00:00 2001 From: Lou DeGenaro Date: Wed, 18 Mar 2026 10:03:52 -0400 Subject: [PATCH 3/3] docs: updates for 4.0.0 (#2169) * docs: update trestle version in docs Signed-off-by: degenaro * docs: update mapping docs Signed-off-by: degenaro --------- Signed-off-by: degenaro --- docs/index.md | 37 +++++-------------- docs/reference/API/trestle/oscal/mapping.md | 7 ++++ .../API/trestle/tasks/csv_to_oscal_mc.md | 7 ++++ .../tasks/csv_to_oscal_mc_utilities.md | 7 ++++ pyproject.toml | 5 +-- 5 files changed, 33 insertions(+), 30 deletions(-) create mode 100644 docs/reference/API/trestle/oscal/mapping.md create mode 100644 docs/reference/API/trestle/tasks/csv_to_oscal_mc.md create mode 100644 docs/reference/API/trestle/tasks/csv_to_oscal_mc_utilities.md diff --git a/docs/index.md b/docs/index.md index 50ef07db1..1601d8fce 100644 --- a/docs/index.md +++ b/docs/index.md @@ -37,10 +37,11 @@ Trestle provides tooling to help orchestrate the compliance process across a num ## Important Note: -The current version of trestle 3.x supports NIST OSCAL 1.1.2. +The current version of trestle 4.x supports NIST OSCAL 1.2.1. Below shows trestle versions correspondence with OSCAL versions: ``` +trestle 4.x => OSCAL 1.2.1 trestle 3.x => OSCAL 1.1.2 trestle 2.x => OSCAL 1.0.4 trestle 1.x => OSCAL 1.0.2 @@ -51,46 +52,28 @@ Visit [pypi](https://pypi.org/project/compliance-trestle/#history) for trestle r ## Notes for install of current and older versions of trestle -#### Install of trestle 3.x +#### Install of trestle 4.x Use python 3.11. ``` python3.11 -m venv venv.trestle source venv.trestle/bin/activate -pip install compliance-trestle==3.6.0 -trestle version -Trestle version v3.6.0 based on OSCAL version 1.1.2 -``` - -#### Install of trestle 2.x - -Use python 3.10 or higher. - -``` -python3.10 -m venv venv.trestle -source venv.trestle/bin/activate -pip install compliance-trestle==2.6.0 +pip install compliance-trestle trestle version -Trestle version v2.6.0 based on OSCAL version 1.0.4 +Trestle version v4.0.0 based on OSCAL version 1.2.1 ``` -#### Install of trestle 1.x - -Use python 3.9. +#### Install of trestle 3.x -Due to dependency updates since the release of trestle 1.2.0, perform the following in your venv: +Use python 3.11. ``` -python3.9 -m venv venv.trestle +python3.11 -m venv venv.trestle source venv.trestle/bin/activate -pip install compliance-trestle==1.2.0 -pip uninstall pydantic -pip uninstall pydantic_core -pip install pydantic==1.10.2 -pip install requests +pip install compliance-trestle==3.6.0 trestle version -Trestle version v1.2.0 based on OSCAL version 1.0.2 +Trestle version v3.6.0 based on OSCAL version 1.1.2 ``` ## Why Trestle diff --git a/docs/reference/API/trestle/oscal/mapping.md b/docs/reference/API/trestle/oscal/mapping.md new file mode 100644 index 000000000..e6bbdd185 --- /dev/null +++ b/docs/reference/API/trestle/oscal/mapping.md @@ -0,0 +1,7 @@ +--- +title: trestle.oscal.mapping +description: Documentation for trestle.oscal.mapping module +--- + +::: trestle.oscal.mapping +handler: python diff --git a/docs/reference/API/trestle/tasks/csv_to_oscal_mc.md b/docs/reference/API/trestle/tasks/csv_to_oscal_mc.md new file mode 100644 index 000000000..78430e001 --- /dev/null +++ b/docs/reference/API/trestle/tasks/csv_to_oscal_mc.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.csv_to_oscal_mc +description: Documentation for trestle.tasks.csv_to_oscal_mc module +--- + +::: trestle.tasks.csv_to_oscal_mc +handler: python diff --git a/docs/reference/API/trestle/tasks/csv_to_oscal_mc_utilities.md b/docs/reference/API/trestle/tasks/csv_to_oscal_mc_utilities.md new file mode 100644 index 000000000..de2606851 --- /dev/null +++ b/docs/reference/API/trestle/tasks/csv_to_oscal_mc_utilities.md @@ -0,0 +1,7 @@ +--- +title: trestle.tasks.csv_to_oscal_mc_utilities +description: Documentation for trestle.tasks.csv_to_oscal_mc_utilities module +--- + +::: trestle.tasks.csv_to_oscal_mc_utilities +handler: python diff --git a/pyproject.toml b/pyproject.toml index 232e62e1e..9066c4ab7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,8 +29,7 @@ classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.12" ] dependencies = [ "attrs", @@ -128,7 +127,7 @@ dependencies = [ ] [[tool.hatch.envs.hatch-test.matrix]] -python = ["3.10", "3.11", "3.12", "3.13"] +python = ["3.10", "3.11", "3.12"] [tool.hatch.envs.docs] features = ["docs"]