|
2 | 2 |
|
3 | 3 | <!-- version list --> |
4 | 4 |
|
| 5 | +## v4.0.0 (2026-03-16) |
| 6 | + |
| 7 | +### Bug Fixes |
| 8 | + |
| 9 | +- Add missing optional fields to Parameter and Property constructors |
| 10 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 11 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 12 | + |
| 13 | +- All tests pass ([#2061](https://github.com/oscal-compass/compliance-trestle/pull/2061), |
| 14 | + [`f43515b`](https://github.com/oscal-compass/compliance-trestle/commit/f43515b8e755cf192abb6d777794a67701c78c86)) |
| 15 | + |
| 16 | +- Allow valid diamond dependencies in profile resolution |
| 17 | + ([#2072](https://github.com/oscal-compass/compliance-trestle/pull/2072), |
| 18 | + [`5fdb614`](https://github.com/oscal-compass/compliance-trestle/commit/5fdb614e767eedcd66cd458052fcd2a6057af4b7)) |
| 19 | + |
| 20 | +- Close config file handle in task command |
| 21 | + ([#2117](https://github.com/oscal-compass/compliance-trestle/pull/2117), |
| 22 | + [`07f9737`](https://github.com/oscal-compass/compliance-trestle/commit/07f9737d5c84775c724bd0069c5bd688d72ab341)) |
| 23 | + |
| 24 | +- Close file handles in ocp4 task methods using with statement |
| 25 | + ([#2126](https://github.com/oscal-compass/compliance-trestle/pull/2126), |
| 26 | + [`0fb085f`](https://github.com/oscal-compass/compliance-trestle/commit/0fb085f9b31390e8ee64125dbdfd4cf3ded6f3bb)) |
| 27 | + |
| 28 | +- Close file handles in OscalBaseModel oscal_write and oscal_read |
| 29 | + ([#2129](https://github.com/oscal-compass/compliance-trestle/pull/2129), |
| 30 | + [`4d130fa`](https://github.com/oscal-compass/compliance-trestle/commit/4d130fabe7b2cbb804db55cba72ecb577381acff)) |
| 31 | + |
| 32 | +- Close script file handles with context managers |
| 33 | + ([#2153](https://github.com/oscal-compass/compliance-trestle/pull/2153), |
| 34 | + [`b429bf1`](https://github.com/oscal-compass/compliance-trestle/commit/b429bf194854e7f8fca1a87341fb898e0e5cbeb1)) |
| 35 | + |
| 36 | +- Correct typos in docstrings (hierarchical) |
| 37 | + ([#2125](https://github.com/oscal-compass/compliance-trestle/pull/2125), |
| 38 | + [`d9198dc`](https://github.com/oscal-compass/compliance-trestle/commit/d9198dc9624f27fa9e06deb384f6db1ae2c851a1)) |
| 39 | + |
| 40 | +- Correct typos in docstrings and error messages |
| 41 | + ([#2109](https://github.com/oscal-compass/compliance-trestle/pull/2109), |
| 42 | + [`c4bdf53`](https://github.com/oscal-compass/compliance-trestle/commit/c4bdf53b5343cd3d8152ee384b535c19b24006b2)) |
| 43 | + |
| 44 | +- Correct typos in log messages and docstrings |
| 45 | + ([#2128](https://github.com/oscal-compass/compliance-trestle/pull/2128), |
| 46 | + [`1bedd65`](https://github.com/oscal-compass/compliance-trestle/commit/1bedd651d412bdec5925d3d1b8f9a63565968013)) |
| 47 | + |
| 48 | +- Don't duplicate code ([#2152](https://github.com/oscal-compass/compliance-trestle/pull/2152), |
| 49 | + [`e1d43d4`](https://github.com/oscal-compass/compliance-trestle/commit/e1d43d4d16b3e67c02ff156f7d8e32465559d5f0)) |
| 50 | + |
| 51 | +- Folder name should have "." in it |
| 52 | + ([#2061](https://github.com/oscal-compass/compliance-trestle/pull/2061), |
| 53 | + [`f43515b`](https://github.com/oscal-compass/compliance-trestle/commit/f43515b8e755cf192abb6d777794a67701c78c86)) |
| 54 | + |
| 55 | +- Improved names ([#2061](https://github.com/oscal-compass/compliance-trestle/pull/2061), |
| 56 | + [`f43515b`](https://github.com/oscal-compass/compliance-trestle/commit/f43515b8e755cf192abb6d777794a67701c78c86)) |
| 57 | + |
| 58 | +- Lint errors ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 59 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 60 | + |
| 61 | +- Log correct error message in repository import failure |
| 62 | + ([#2119](https://github.com/oscal-compass/compliance-trestle/pull/2119), |
| 63 | + [`24e4bff`](https://github.com/oscal-compass/compliance-trestle/commit/24e4bffcfc90af99eb5eafbf67dee34cebc5a2e0)) |
| 64 | + |
| 65 | +- Mypy generic oscal control interface |
| 66 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 67 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 68 | + |
| 69 | +- Oscal version 1.2.1 ([#2061](https://github.com/oscal-compass/compliance-trestle/pull/2061), |
| 70 | + [`f43515b`](https://github.com/oscal-compass/compliance-trestle/commit/f43515b8e755cf192abb6d777794a67701c78c86)) |
| 71 | + |
| 72 | +- Remediate hatch issue (temp) |
| 73 | + ([#2099](https://github.com/oscal-compass/compliance-trestle/pull/2099), |
| 74 | + [`b1cb728`](https://github.com/oscal-compass/compliance-trestle/commit/b1cb728e8e13d8665362a552805da749375ef80a)) |
| 75 | + |
| 76 | +- Run hatch version ([#2152](https://github.com/oscal-compass/compliance-trestle/pull/2152), |
| 77 | + [`e1d43d4`](https://github.com/oscal-compass/compliance-trestle/commit/e1d43d4d16b3e67c02ff156f7d8e32465559d5f0)) |
| 78 | + |
| 79 | +- Seems that DMCG 0.55.0 breaks v1 compatibility mode |
| 80 | + ([#2061](https://github.com/oscal-compass/compliance-trestle/pull/2061), |
| 81 | + [`f43515b`](https://github.com/oscal-compass/compliance-trestle/commit/f43515b8e755cf192abb6d777794a67701c78c86)) |
| 82 | + |
| 83 | +- Sonar complaint about timestamp |
| 84 | + ([#2152](https://github.com/oscal-compass/compliance-trestle/pull/2152), |
| 85 | + [`e1d43d4`](https://github.com/oscal-compass/compliance-trestle/commit/e1d43d4d16b3e67c02ff156f7d8e32465559d5f0)) |
| 86 | + |
| 87 | +- Sonar complaint re: _timestamp |
| 88 | + ([#2152](https://github.com/oscal-compass/compliance-trestle/pull/2152), |
| 89 | + [`e1d43d4`](https://github.com/oscal-compass/compliance-trestle/commit/e1d43d4d16b3e67c02ff156f7d8e32465559d5f0)) |
| 90 | + |
| 91 | +- Unpin version for datamodel-code-generator[http] |
| 92 | + ([#2061](https://github.com/oscal-compass/compliance-trestle/pull/2061), |
| 93 | + [`f43515b`](https://github.com/oscal-compass/compliance-trestle/commit/f43515b8e755cf192abb6d777794a67701c78c86)) |
| 94 | + |
| 95 | +- Update maintainers ([#2105](https://github.com/oscal-compass/compliance-trestle/pull/2105), |
| 96 | + [`9fe1e76`](https://github.com/oscal-compass/compliance-trestle/commit/9fe1e76c96ffe2e1ddd5c3c78340efa3cedef1a4)) |
| 97 | + |
| 98 | +- Updated README.md - breaking change |
| 99 | + ([#2150](https://github.com/oscal-compass/compliance-trestle/pull/2150), |
| 100 | + [`7088b3f`](https://github.com/oscal-compass/compliance-trestle/commit/7088b3fae46d2208ab52c43594ad133b0414e0f7)) |
| 101 | + |
| 102 | +- Use total_seconds() in model_age to handle multi-day deltas |
| 103 | + ([#2110](https://github.com/oscal-compass/compliance-trestle/pull/2110), |
| 104 | + [`20fbd3b`](https://github.com/oscal-compass/compliance-trestle/commit/20fbd3be5e403ff34467d53618c7aa0ca0f0dbe7)) |
| 105 | + |
| 106 | +- V4 ([#2061](https://github.com/oscal-compass/compliance-trestle/pull/2061), |
| 107 | + [`f43515b`](https://github.com/oscal-compass/compliance-trestle/commit/f43515b8e755cf192abb6d777794a67701c78c86)) |
| 108 | + |
| 109 | +- Workflow caching issues ([#2152](https://github.com/oscal-compass/compliance-trestle/pull/2152), |
| 110 | + [`e1d43d4`](https://github.com/oscal-compass/compliance-trestle/commit/e1d43d4d16b3e67c02ff156f7d8e32465559d5f0)) |
| 111 | + |
| 112 | +- **deps**: Bump actions/cache from 4.3.0 to 5.0.2 |
| 113 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 114 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 115 | + |
| 116 | +- **deps**: Bump actions/checkout from 6.0.1 to 6.0.2 |
| 117 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 118 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 119 | + |
| 120 | +- **deps**: Bump actions/download-artifact from 6.0.0 to 7.0.0 |
| 121 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 122 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 123 | + |
| 124 | +- **deps**: Bump actions/download-artifact from 7.0.0 to 8.0.0 |
| 125 | + ([#2103](https://github.com/oscal-compass/compliance-trestle/pull/2103), |
| 126 | + [`0eedd5d`](https://github.com/oscal-compass/compliance-trestle/commit/0eedd5d4ab6d98fac1f90b990d858e047b079dfe)) |
| 127 | + |
| 128 | +- **deps**: Bump actions/download-artifact from 8.0.0 to 8.0.1 |
| 129 | + ([#2158](https://github.com/oscal-compass/compliance-trestle/pull/2158), |
| 130 | + [`589ede3`](https://github.com/oscal-compass/compliance-trestle/commit/589ede382f7fe764d77d629ed971c2eb2518c77e)) |
| 131 | + |
| 132 | +- **deps**: Bump actions/setup-python from 6.1.0 to 6.2.0 |
| 133 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 134 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 135 | + |
| 136 | +- **deps**: Bump actions/stale from 10.1.1 to 10.2.0 |
| 137 | + ([#2091](https://github.com/oscal-compass/compliance-trestle/pull/2091), |
| 138 | + [`ed9f463`](https://github.com/oscal-compass/compliance-trestle/commit/ed9f463b909c0a6e2b09c4921c0e56e36a691f5c)) |
| 139 | + |
| 140 | +- **deps**: Bump actions/upload-artifact from 5.0.0 to 6.0.0 |
| 141 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 142 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 143 | + |
| 144 | +- **deps**: Bump actions/upload-artifact from 6.0.0 to 7.0.0 |
| 145 | + ([#2102](https://github.com/oscal-compass/compliance-trestle/pull/2102), |
| 146 | + [`6bc0e4e`](https://github.com/oscal-compass/compliance-trestle/commit/6bc0e4efeae5b2114ece53e2bfb68245f556be7d)) |
| 147 | + |
| 148 | +- **deps**: Bump github/codeql-action from 4.31.10 to 4.31.11 |
| 149 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 150 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 151 | + |
| 152 | +- **deps**: Bump github/codeql-action from 4.31.9 to 4.31.10 |
| 153 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 154 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 155 | + |
| 156 | +- **deps**: Bump github/codeql-action from 4.32.1 to 4.32.3 |
| 157 | + ([#2087](https://github.com/oscal-compass/compliance-trestle/pull/2087), |
| 158 | + [`9dabd6f`](https://github.com/oscal-compass/compliance-trestle/commit/9dabd6f9d041f06c1cfd224eabefc176403c21d8)) |
| 159 | + |
| 160 | +- **deps**: Bump github/codeql-action from 4.32.3 to 4.32.4 |
| 161 | + ([#2090](https://github.com/oscal-compass/compliance-trestle/pull/2090), |
| 162 | + [`e4f1590`](https://github.com/oscal-compass/compliance-trestle/commit/e4f15906af68a2b71e79cc90683614cab14bdfd4)) |
| 163 | + |
| 164 | +- **deps**: Bump github/codeql-action from 4.32.4 to 4.32.6 |
| 165 | + ([#2123](https://github.com/oscal-compass/compliance-trestle/pull/2123), |
| 166 | + [`2715e84`](https://github.com/oscal-compass/compliance-trestle/commit/2715e8433ba74f76b2ec88b888a7b88f6f7d8d5b)) |
| 167 | + |
| 168 | +- **deps**: Bump python-semantic-release/python-semantic-release |
| 169 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 170 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 171 | + |
| 172 | +### Chores |
| 173 | + |
| 174 | +- Progressively eliminate lint exceptions (Phase 1) |
| 175 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 176 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 177 | + |
| 178 | +- Progressively eliminate lint exceptions (Phase 2) |
| 179 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 180 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 181 | + |
| 182 | +### Features |
| 183 | + |
| 184 | +- Pythons supported 3.10-3.13 |
| 185 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 186 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 187 | + |
| 188 | +- **ssp**: Add --all-controls flag to include controls without rules |
| 189 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 190 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 191 | + |
| 192 | +- **ssp**: All controls specified in impl-req should be transported |
| 193 | + ([#2047](https://github.com/oscal-compass/compliance-trestle/pull/2047), |
| 194 | + [`eee2e78`](https://github.com/oscal-compass/compliance-trestle/commit/eee2e7864ef7ecdad80f1cc9b6fc1f2036f7118c)) |
| 195 | + |
| 196 | + |
5 | 197 | ## v3.12.0 (2026-02-13) |
6 | 198 |
|
7 | 199 | ### Bug Fixes |
|
0 commit comments