|
2 | 2 |
|
3 | 3 | <!-- version list --> |
4 | 4 |
|
| 5 | +## v2.1.0 (2026-04-08) |
| 6 | + |
| 7 | +### Bug Fixes |
| 8 | + |
| 9 | +- Document and test that require_approval raise skips audit log |
| 10 | + ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 11 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 12 | + |
| 13 | +- Merge latest dev updates into main ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 14 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 15 | + |
| 16 | +- Skip PR creation when dev has no new commits vs main |
| 17 | + ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 18 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 19 | + |
| 20 | +- **evaluate**: Document @protect bypass, clarify TOCTOU safety; add SaaS path tests |
| 21 | + ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 22 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 23 | + |
| 24 | +- **security**: Require_approval + offline now raises DaemonNotFoundError (fail-closed) |
| 25 | + ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 26 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 27 | + |
| 28 | +### Continuous Integration |
| 29 | + |
| 30 | +- **auto-pr**: Clarify exit 0 intent with inline comment |
| 31 | + ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 32 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 33 | + |
| 34 | +### Documentation |
| 35 | + |
| 36 | +- **evaluate**: Document fail behaviour, auth, and timeouts; add public API import test |
| 37 | + ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 38 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 39 | + |
| 40 | +### Features |
| 41 | + |
| 42 | +- Export evaluate() as public API ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 43 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 44 | + |
| 45 | +### Testing |
| 46 | + |
| 47 | +- **evaluate**: Assert __all__ membership directly, document existing offline coverage |
| 48 | + ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 49 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 50 | + |
| 51 | +- **saas**: Add denial path test; move assert_not_called inside with block |
| 52 | + ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 53 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 54 | + |
| 55 | +- **saas**: Fix HTTPError mock, assert Bearer token, add run_id test; trim docstring |
| 56 | + ([#10](https://github.com/node9-ai/node9-python/pull/10), |
| 57 | + [`29fa9a7`](https://github.com/node9-ai/node9-python/commit/29fa9a707755d6c8880d729c23fa6ad8e89ce86e)) |
| 58 | + |
| 59 | + |
5 | 60 | ## v2.0.1 (2026-04-08) |
6 | 61 |
|
7 | 62 | ### Bug Fixes |
|
0 commit comments