From b7e0e308a948f6a88b89e897d8da8af46c27b7d7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 6 Jul 2026 07:52:03 +0000 Subject: [PATCH 1/9] chore(main): release 4.0.1 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ pyproject.toml | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e6f877563..cf533f280 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.0.0" + ".": "4.0.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index fa39211ef..d56a25a0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,13 @@ This file is maintained by [release-please](https://github.com/googleapis/releas from Conventional Commit messages; release sections are generated on release, not hand-edited in PRs. +## [4.0.1](https://github.com/Brad-Edwards/aptl/compare/v4.0.0...v4.0.1) (2026-07-06) + + +### Bug Fixes + +* publish under the aptl-labs distribution name ([#651](https://github.com/Brad-Edwards/aptl/issues/651)) ([8b9174a](https://github.com/Brad-Edwards/aptl/commit/8b9174a90f8be2677f07f4278a21a1e47fd912ae)) + ## [4.0.0](https://github.com/Brad-Edwards/aptl/compare/v3.0.10...v4.0.0) (2026-07-06) diff --git a/pyproject.toml b/pyproject.toml index d390abd7b..38ea7c00b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "aptl-labs" -version = "4.0.0" +version = "4.0.1" description = "Advanced Purple Team Lab CLI" readme = "README.md" requires-python = ">=3.11" From 87bed6a7dc4be9e208388c7b5337c69664327743 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 6 Jul 2026 19:00:14 +0000 Subject: [PATCH 2/9] chore(main): release 4.1.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 12 ++++++++++++ pyproject.toml | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index cf533f280..411256bca 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.0.1" + ".": "4.1.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index d56a25a0f..b08de8aaf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,18 @@ This file is maintained by [release-please](https://github.com/googleapis/releas from Conventional Commit messages; release sections are generated on release, not hand-edited in PRs. +## [4.1.0](https://github.com/Brad-Edwards/aptl/compare/v4.0.1...v4.1.0) (2026-07-06) + + +### Features + +* bundle lab assets so pipx install runs a lab without a clone ([#660](https://github.com/Brad-Edwards/aptl/issues/660)) ([00fe44b](https://github.com/Brad-Edwards/aptl/commit/00fe44bd9ddc33744648aeb22b76224162d39d5b)) + + +### Bug Fixes + +* correct grc.boundaries surfaces to GC adapter vocabulary ([#644](https://github.com/Brad-Edwards/aptl/issues/644)) ([471f381](https://github.com/Brad-Edwards/aptl/commit/471f381bbffd48ff623b9cd69f50900d5eb5f9e9)), closes [#634](https://github.com/Brad-Edwards/aptl/issues/634) + ## [4.0.1](https://github.com/Brad-Edwards/aptl/compare/v4.0.0...v4.0.1) (2026-07-06) diff --git a/pyproject.toml b/pyproject.toml index 9bc01df95..b1bd07127 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "aptl-labs" -version = "4.0.1" +version = "4.1.0" description = "Advanced Purple Team Lab CLI" readme = "README.md" requires-python = ">=3.11" From c00994d7a756f153626c9731ef7c6d5b9f79bb31 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 6 Jul 2026 19:46:49 +0000 Subject: [PATCH 3/9] chore(main): release 4.1.1 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ pyproject.toml | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 411256bca..9965c417f 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.1.0" + ".": "4.1.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index b08de8aaf..6705a1d7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,13 @@ This file is maintained by [release-please](https://github.com/googleapis/releas from Conventional Commit messages; release sections are generated on release, not hand-edited in PRs. +## [4.1.1](https://github.com/Brad-Edwards/aptl/compare/v4.1.0...v4.1.1) (2026-07-06) + + +### Bug Fixes + +* drop removed --workers flag from web-api container CMD ([#664](https://github.com/Brad-Edwards/aptl/issues/664)) ([8717e6a](https://github.com/Brad-Edwards/aptl/commit/8717e6a81e4eb6369b8b9ff9f35163f5e546115c)) + ## [4.1.0](https://github.com/Brad-Edwards/aptl/compare/v4.0.1...v4.1.0) (2026-07-06) diff --git a/pyproject.toml b/pyproject.toml index b1bd07127..04f6d29d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "aptl-labs" -version = "4.1.0" +version = "4.1.1" description = "Advanced Purple Team Lab CLI" readme = "README.md" requires-python = ">=3.11" From cab9c99d77b597538e402b203d6b617d0b2e52d4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 6 Jul 2026 23:00:11 +0000 Subject: [PATCH 4/9] chore(main): release 4.1.2 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ pyproject.toml | 2 +- src/aptl/__init__.py | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 9965c417f..ec2d45d7f 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.1.1" + ".": "4.1.2" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 6705a1d7f..3160e7165 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,13 @@ This file is maintained by [release-please](https://github.com/googleapis/releas from Conventional Commit messages; release sections are generated on release, not hand-edited in PRs. +## [4.1.2](https://github.com/Brad-Edwards/aptl/compare/v4.1.1...v4.1.2) (2026-07-06) + + +### Bug Fixes + +* report the correct aptl --version on released installs ([#669](https://github.com/Brad-Edwards/aptl/issues/669)) ([fb749bd](https://github.com/Brad-Edwards/aptl/commit/fb749bd5121bae8cbe281993858fc9f45b0107c0)) + ## [4.1.1](https://github.com/Brad-Edwards/aptl/compare/v4.1.0...v4.1.1) (2026-07-06) diff --git a/pyproject.toml b/pyproject.toml index 04f6d29d5..9653804d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "aptl-labs" -version = "4.1.1" +version = "4.1.2" description = "Advanced Purple Team Lab CLI" readme = "README.md" requires-python = ">=3.11" diff --git a/src/aptl/__init__.py b/src/aptl/__init__.py index 62be4906c..7835c7546 100644 --- a/src/aptl/__init__.py +++ b/src/aptl/__init__.py @@ -6,4 +6,4 @@ # pyproject.toml, not this src-layout __init__.py). Keep the annotation comment # on the same line as the literal, and keep the literal equal to pyproject's # `version` — test_version_consistency.py enforces the latter. -__version__ = "4.1.1" # x-release-please-version +__version__ = "4.1.2" # x-release-please-version From 1b516504ab1ac5affdbc22f199d0002e06e8fd84 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 Jul 2026 17:26:44 +0000 Subject: [PATCH 5/9] chore(main): release 4.2.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 33 +++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- src/aptl/__init__.py | 2 +- 4 files changed, 36 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index ec2d45d7f..34a3350a9 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.1.2" + ".": "4.2.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 3160e7165..1e12b934c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,39 @@ This file is maintained by [release-please](https://github.com/googleapis/releas from Conventional Commit messages; release sections are generated on release, not hand-edited in PRs. +## [4.2.0](https://github.com/Brad-Edwards/aptl/compare/v4.1.2...v4.2.0) (2026-07-08) + + +### Features + +* add host platform detection layer ([#693](https://github.com/Brad-Edwards/aptl/issues/693)) ([aa4a2b5](https://github.com/Brad-Edwards/aptl/commit/aa4a2b54cd5090a961e7f0ca277c8fe95b61a679)) +* auto-remap in-use host ports and report real URLs on lab start ([#706](https://github.com/Brad-Edwards/aptl/issues/706)) ([75055b2](https://github.com/Brad-Edwards/aptl/commit/75055b262d230766865a3cecdee7d96142391c0f)) + + +### Bug Fixes + +* bind mailserver ports to loopback (ADR-034/ADR-039) ([#674](https://github.com/Brad-Edwards/aptl/issues/674)) ([e11a327](https://github.com/Brad-Edwards/aptl/commit/e11a3272c99ce9ae9ed0923dcbfd10f4876c468c)) +* generate certs as host user on native Docker ([#694](https://github.com/Brad-Edwards/aptl/issues/694)) ([a75b5f3](https://github.com/Brad-Edwards/aptl/commit/a75b5f37ada87481ede224510376f0b48447c08f)) +* harden SSH keys on Windows ([#698](https://github.com/Brad-Edwards/aptl/issues/698)) ([60fbeb3](https://github.com/Brad-Edwards/aptl/commit/60fbeb31b0f0fb032592b11e40e2e3b5ae3574b2)) +* point TheHive references at https (it serves HTTPS on 9000) ([#675](https://github.com/Brad-Edwards/aptl/issues/675)) ([700ab31](https://github.com/Brad-Edwards/aptl/commit/700ab31c1e913c14785c4ad1699b5faf6cdcaa51)) +* preserve LF line endings for rendered configs ([25290f0](https://github.com/Brad-Edwards/aptl/commit/25290f0e2e62d1ef47cf10d49ffc9fee1d8a9afe)) +* preserve LF rendered configs ([#701](https://github.com/Brad-Edwards/aptl/issues/701)) ([25290f0](https://github.com/Brad-Edwards/aptl/commit/25290f0e2e62d1ef47cf10d49ffc9fee1d8a9afe)) +* repair Suricata seed ownership without host sudo ([#695](https://github.com/Brad-Edwards/aptl/issues/695)) ([4cc3987](https://github.com/Brad-Edwards/aptl/commit/4cc39873fdb524f63b1c8e4f7726e7c95b20ade7)) +* satisfy release sonar gate ([#708](https://github.com/Brad-Edwards/aptl/issues/708)) ([9fbe0c5](https://github.com/Brad-Edwards/aptl/commit/9fbe0c572878fda3a87359ca93f747d1cab2228a)) +* skip vm max map count check off native Docker ([#697](https://github.com/Brad-Edwards/aptl/issues/697)) ([6c9fd2e](https://github.com/Brad-Edwards/aptl/commit/6c9fd2e740248d652c0f3e8da6fc7a6c8e1ba41e)) +* use exception logging for cert generator ([#704](https://github.com/Brad-Edwards/aptl/issues/704)) ([958009c](https://github.com/Brad-Edwards/aptl/commit/958009c15770de8f7a0c8462fbefdb40ab903c02)) +* use exception logging for sysreq parse errors ([#705](https://github.com/Brad-Edwards/aptl/issues/705)) ([b0fc394](https://github.com/Brad-Edwards/aptl/commit/b0fc394b4bdbe7571bbb8f198a849022dd136177)) +* validate m8 cross-platform blockers ([#702](https://github.com/Brad-Edwards/aptl/issues/702)) ([122c4bf](https://github.com/Brad-Edwards/aptl/commit/122c4bff3f8f3339948cc22999d350cece81a1c7)) + + +### Documentation + +* add per-OS prerequisites ([#700](https://github.com/Brad-Edwards/aptl/issues/700)) ([7882e29](https://github.com/Brad-Edwards/aptl/commit/7882e290ae6f1c09b9666fda0b8b75a289366344)) +* add workshop playbook + lab walkthrough ([c8ae705](https://github.com/Brad-Edwards/aptl/commit/c8ae70512766a4b06214863afd5e57aaaf9879b9)) +* add workshop playbook and lab walkthrough ([#687](https://github.com/Brad-Edwards/aptl/issues/687)) ([c8ae705](https://github.com/Brad-Edwards/aptl/commit/c8ae70512766a4b06214863afd5e57aaaf9879b9)) +* genericize private workflow-platform references ([239f369](https://github.com/Brad-Edwards/aptl/commit/239f369531467d27324dda977d7be70dc8cd1953)) +* genericize private workflow-platform references in public docs ([#673](https://github.com/Brad-Edwards/aptl/issues/673)) ([239f369](https://github.com/Brad-Edwards/aptl/commit/239f369531467d27324dda977d7be70dc8cd1953)) + ## [4.1.2](https://github.com/Brad-Edwards/aptl/compare/v4.1.1...v4.1.2) (2026-07-06) diff --git a/pyproject.toml b/pyproject.toml index 9653804d0..6ab44d0e9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "aptl-labs" -version = "4.1.2" +version = "4.2.0" description = "Advanced Purple Team Lab CLI" readme = "README.md" requires-python = ">=3.11" diff --git a/src/aptl/__init__.py b/src/aptl/__init__.py index 7835c7546..a269c3f90 100644 --- a/src/aptl/__init__.py +++ b/src/aptl/__init__.py @@ -6,4 +6,4 @@ # pyproject.toml, not this src-layout __init__.py). Keep the annotation comment # on the same line as the literal, and keep the literal equal to pyproject's # `version` — test_version_consistency.py enforces the latter. -__version__ = "4.1.2" # x-release-please-version +__version__ = "4.2.0" # x-release-please-version From 92ffa328fc4297a775429c013c31435399af5645 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 Jul 2026 19:05:12 +0000 Subject: [PATCH 6/9] chore(main): release 4.2.1 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ pyproject.toml | 2 +- src/aptl/__init__.py | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 34a3350a9..3d3c52686 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.2.0" + ".": "4.2.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e12b934c..a73f8305b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,14 @@ This file is maintained by [release-please](https://github.com/googleapis/releas from Conventional Commit messages; release sections are generated on release, not hand-edited in PRs. +## [4.2.1](https://github.com/Brad-Edwards/aptl/compare/v4.2.0...v4.2.1) (2026-07-08) + + +### Bug Fixes + +* **release:** document release-please title parsing ([a92119d](https://github.com/Brad-Edwards/aptl/commit/a92119dad58a513bf4e3bbc4a577d65ad3e86221)) +* **release:** document release-please title parsing ([#717](https://github.com/Brad-Edwards/aptl/issues/717)) ([e2746f3](https://github.com/Brad-Edwards/aptl/commit/e2746f356fbb1e842bf4126f08e3ac1d2f6133c2)) + ## [4.2.0](https://github.com/Brad-Edwards/aptl/compare/v4.1.2...v4.2.0) (2026-07-08) diff --git a/pyproject.toml b/pyproject.toml index 6ab44d0e9..cde5deb9c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "aptl-labs" -version = "4.2.0" +version = "4.2.1" description = "Advanced Purple Team Lab CLI" readme = "README.md" requires-python = ">=3.11" diff --git a/src/aptl/__init__.py b/src/aptl/__init__.py index a269c3f90..9fd055c55 100644 --- a/src/aptl/__init__.py +++ b/src/aptl/__init__.py @@ -6,4 +6,4 @@ # pyproject.toml, not this src-layout __init__.py). Keep the annotation comment # on the same line as the literal, and keep the literal equal to pyproject's # `version` — test_version_consistency.py enforces the latter. -__version__ = "4.2.0" # x-release-please-version +__version__ = "4.2.1" # x-release-please-version From 0be5607b1ccd531c1684b3c91d8e6b7421f37b72 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 Jul 2026 20:06:05 +0000 Subject: [PATCH 7/9] chore(main): release 4.2.2 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 12 ++++++++++++ pyproject.toml | 2 +- src/aptl/__init__.py | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 3d3c52686..132ec753b 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.2.1" + ".": "4.2.2" } diff --git a/CHANGELOG.md b/CHANGELOG.md index a73f8305b..2934911bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,18 @@ This file is maintained by [release-please](https://github.com/googleapis/releas from Conventional Commit messages; release sections are generated on release, not hand-edited in PRs. +## [4.2.2](https://github.com/Brad-Edwards/aptl/compare/v4.2.1...v4.2.2) (2026-07-08) + + +### Bug Fixes + +* enable full SOC lab in default config so init+start works ([#727](https://github.com/Brad-Edwards/aptl/issues/727)) ([0d18d7d](https://github.com/Brad-Edwards/aptl/commit/0d18d7d27b42de2f49b408a4c4a8d23a06fe8389)) + + +### Documentation + +* **troubleshooting:** triage 'Up (unhealthy)' containers — memory-tight vs daemons-crashed ([#726](https://github.com/Brad-Edwards/aptl/issues/726)) ([46b7b3e](https://github.com/Brad-Edwards/aptl/commit/46b7b3eaed0942f478f965db0b889914c205766b)) + ## [4.2.1](https://github.com/Brad-Edwards/aptl/compare/v4.2.0...v4.2.1) (2026-07-08) diff --git a/pyproject.toml b/pyproject.toml index cde5deb9c..b6e26d785 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "aptl-labs" -version = "4.2.1" +version = "4.2.2" description = "Advanced Purple Team Lab CLI" readme = "README.md" requires-python = ">=3.11" diff --git a/src/aptl/__init__.py b/src/aptl/__init__.py index 9fd055c55..65052c683 100644 --- a/src/aptl/__init__.py +++ b/src/aptl/__init__.py @@ -6,4 +6,4 @@ # pyproject.toml, not this src-layout __init__.py). Keep the annotation comment # on the same line as the literal, and keep the literal equal to pyproject's # `version` — test_version_consistency.py enforces the latter. -__version__ = "4.2.1" # x-release-please-version +__version__ = "4.2.2" # x-release-please-version From 883ebc2ab0c9d43baa2084905e59aeb3866a8860 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 Jul 2026 00:05:57 +0000 Subject: [PATCH 8/9] chore(main): release 5.0.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 47 +++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- src/aptl/__init__.py | 2 +- 4 files changed, 50 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 132ec753b..32dbe0e2b 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.2.2" + ".": "5.0.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 2934911bb..be656112f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,53 @@ This file is maintained by [release-please](https://github.com/googleapis/releas from Conventional Commit messages; release sections are generated on release, not hand-edited in PRs. +## [5.0.0](https://github.com/Brad-Edwards/aptl/compare/v4.2.2...v5.0.0) (2026-07-15) + + +### ⚠ BREAKING CHANGES + +* the `aptl aces-inventory` command is removed. Asset-inventory capture is owned by ACES. + +### Features + +* **aces:** realize account/group placements via DeploymentBackend ([#768](https://github.com/Brad-Edwards/aptl/issues/768)) ([a4a0984](https://github.com/Brad-Edwards/aptl/commit/a4a09843e639ff7f1e131d2429ece45039aaecb2)) +* **aces:** realize TechVault content and account placements or fail closed ([#750](https://github.com/Brad-Edwards/aptl/issues/750)) ([45c6ece](https://github.com/Brad-Edwards/aptl/commit/45c6ecebc789d90555adc4c43ef3cf1fb1db7687)) +* **deployment:** surface a redacted stderr hint when a volume seed exits nonzero ([#756](https://github.com/Brad-Edwards/aptl/issues/756)) ([f168e43](https://github.com/Brad-Edwards/aptl/commit/f168e43e80cb5620b503ef68d263796a37f8fc29)) +* **deployment:** surface redacted stderr hint on volume seed failure ([f168e43](https://github.com/Brad-Edwards/aptl/commit/f168e43e80cb5620b503ef68d263796a37f8fc29)) +* realize runtime services and honest SEM-218 disclosure via RuntimeManager ([#770](https://github.com/Brad-Edwards/aptl/issues/770)) ([10dc1e2](https://github.com/Brad-Edwards/aptl/commit/10dc1e205d4cb8dd42a950b317ca49e26558452d)) +* run MCP build and SOC seed shell steps on native Windows ([#729](https://github.com/Brad-Edwards/aptl/issues/729)) ([5a0b7f9](https://github.com/Brad-Edwards/aptl/commit/5a0b7f92c46ac7c2280aadd5af7760ba2acf74a5)) +* **web:** add /config summary, Settings dialog, and local-use notice ([#751](https://github.com/Brad-Edwards/aptl/issues/751)) ([98cabd2](https://github.com/Brad-Edwards/aptl/commit/98cabd2bc1cc71479d9e1aef6b546f44602ddc4c)) + + +### Bug Fixes + +* **ci:** clear Sonar test code smells ([#771](https://github.com/Brad-Edwards/aptl/issues/771)) ([cf02a61](https://github.com/Brad-Edwards/aptl/commit/cf02a61f3ebe561643ce308439d2bf1c281dc133)) +* **cli:** `aptl lab info` reflects live published ports, not compile-time defaults ([9d2d29b](https://github.com/Brad-Edwards/aptl/commit/9d2d29bc18084a334f90edd1ca54074847e95aef)), closes [#737](https://github.com/Brad-Edwards/aptl/issues/737) +* **cli+windows:** clear [#739](https://github.com/Brad-Edwards/aptl/issues/739) SonarCloud smells and green the suite on native Windows ([#747](https://github.com/Brad-Edwards/aptl/issues/747)) ([dc4e2f1](https://github.com/Brad-Edwards/aptl/commit/dc4e2f1fba9b9867ecc5bb0960ba414fef3a1d8c)) +* **cli:** reflect live published ports in `aptl lab info` (was hardcoded defaults) ([#738](https://github.com/Brad-Edwards/aptl/issues/738)) ([9d2d29b](https://github.com/Brad-Edwards/aptl/commit/9d2d29bc18084a334f90edd1ca54074847e95aef)) +* **compose:** raise suricata memory limit 1g -> 3g so IDS stays up under full rule set ([d9b7676](https://github.com/Brad-Edwards/aptl/commit/d9b7676e3e923b4720af98086e578bd08d2827a1)) +* **compose:** suricata memory 1g -> 3g so IDS stays up under full APTL rule set ([#731](https://github.com/Brad-Edwards/aptl/issues/731)) ([d9b7676](https://github.com/Brad-Edwards/aptl/commit/d9b7676e3e923b4720af98086e578bd08d2827a1)) +* constrain ACES and define libvirt service boundary ([#767](https://github.com/Brad-Edwards/aptl/issues/767)) ([2bf9988](https://github.com/Brad-Edwards/aptl/commit/2bf99883ff4714ef63408aedf48b8a21cefb2cc5)) +* **lab:** cross-platform lab-start fixes (indexer wait, WSL detection, Sonar smells) ([#740](https://github.com/Brad-Edwards/aptl/issues/740)) ([40244be](https://github.com/Brad-Edwards/aptl/commit/40244be63684b755895101531be3a9243ab0613c)) +* **lab:** restart wazuh-manager between compose retries if daemons never spawn ([#736](https://github.com/Brad-Edwards/aptl/issues/736)) ([75a050d](https://github.com/Brad-Edwards/aptl/commit/75a050d6bd33635a05dd208e189bf6d9e75e28a5)) +* **lab:** use resolved indexer host port in readiness probe (was hardcoded 9200) ([#735](https://github.com/Brad-Edwards/aptl/issues/735)) ([e45c3a6](https://github.com/Brad-Edwards/aptl/commit/e45c3a6b3e4d57ade35cbeb7f2512de6543c05c6)), closes [#733](https://github.com/Brad-Edwards/aptl/issues/733) +* make generated cert mounts container-readable ([#734](https://github.com/Brad-Edwards/aptl/issues/734)) ([ac5224a](https://github.com/Brad-Edwards/aptl/commit/ac5224a9a29b00bc80e345a3b6619162a87de795)) +* narrow evaluator surface to conditions and objectives ([#749](https://github.com/Brad-Edwards/aptl/issues/749)) ([1b2159d](https://github.com/Brad-Edwards/aptl/commit/1b2159d1ad27de525be84002d72c7c9b1ab4216b)) +* **techvault:** stop lab-boot crash on prose content and realize weak-password accounts ([#754](https://github.com/Brad-Edwards/aptl/issues/754)) ([c6bda8b](https://github.com/Brad-Edwards/aptl/commit/c6bda8b7ca9a5d9da44b395f6201280217e77bc9)) + + +### Documentation + +* align ACES backend capability claims ([#766](https://github.com/Brad-Edwards/aptl/issues/766)) ([81c268f](https://github.com/Brad-Edwards/aptl/commit/81c268fd6563b759262602794bfbef851881bfdb)) +* generalize workshop rollout capacity example ([b3657c4](https://github.com/Brad-Edwards/aptl/commit/b3657c4abfabbec14889b41f108782aae5fd1549)) +* **workshop:** document emergency rollout ([#746](https://github.com/Brad-Edwards/aptl/issues/746)) ([33966d3](https://github.com/Brad-Edwards/aptl/commit/33966d33ef4101784527c100182e4cdf11b714dc)) +* **workshop:** generalize rollout capacity example ([#748](https://github.com/Brad-Edwards/aptl/issues/748)) ([b3657c4](https://github.com/Brad-Edwards/aptl/commit/b3657c4abfabbec14889b41f108782aae5fd1549)) + + +### Code Refactoring + +* remove ACES capture inventory and the SCN-010 parity surface ([#757](https://github.com/Brad-Edwards/aptl/issues/757)) ([b4b9c04](https://github.com/Brad-Edwards/aptl/commit/b4b9c04dd380ae259f59320000bf496959801b14)) + ## [4.2.2](https://github.com/Brad-Edwards/aptl/compare/v4.2.1...v4.2.2) (2026-07-08) diff --git a/pyproject.toml b/pyproject.toml index 9d6aa85f3..f2a536c27 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "aptl-labs" -version = "4.2.2" +version = "5.0.0" description = "Advanced Purple Team Lab CLI" readme = "README.md" requires-python = ">=3.11" diff --git a/src/aptl/__init__.py b/src/aptl/__init__.py index 65052c683..57b2c637e 100644 --- a/src/aptl/__init__.py +++ b/src/aptl/__init__.py @@ -6,4 +6,4 @@ # pyproject.toml, not this src-layout __init__.py). Keep the annotation comment # on the same line as the literal, and keep the literal equal to pyproject's # `version` — test_version_consistency.py enforces the latter. -__version__ = "4.2.2" # x-release-please-version +__version__ = "5.0.0" # x-release-please-version From 9a43127152285ec1256996e85f69e968ac1d27b7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 25 Jul 2026 17:07:25 +0000 Subject: [PATCH 9/9] chore(main): release 5.1.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 50 +++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- src/aptl/__init__.py | 2 +- 4 files changed, 53 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 32dbe0e2b..affd1ab3d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "5.0.0" + ".": "5.1.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index be656112f..25a2e9622 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,56 @@ This file is maintained by [release-please](https://github.com/googleapis/releas from Conventional Commit messages; release sections are generated on release, not hand-edited in PRs. +## [5.1.0](https://github.com/Brad-Edwards/aptl/compare/v5.0.0...v5.1.0) (2026-07-25) + + +### Features + +* **aces:** image-free generic-materializer realization envelope ([#581](https://github.com/Brad-Edwards/aptl/issues/581)) ([#805](https://github.com/Brad-Edwards/aptl/issues/805)) ([421a836](https://github.com/Brad-Edwards/aptl/commit/421a836d47135008d4cfc831f3b4f1669a860c2e)) +* **aces:** realize the TechVault SDL dynamically, retire hand-authored compose plumbing ([#581](https://github.com/Brad-Edwards/aptl/issues/581)) ([#812](https://github.com/Brad-Edwards/aptl/issues/812)) ([96a14a0](https://github.com/Brad-Edwards/aptl/commit/96a14a029e98db3ba6dd9e8d993bc8b60d4fcb2e)) +* **aces:** realize Wazuh stateful services from SDL ([#796](https://github.com/Brad-Edwards/aptl/issues/796)) ([a4423db](https://github.com/Brad-Edwards/aptl/commit/a4423db9a5f49be6dc2462cb52c1e53e1935d0a6)) +* add ACES experiment specification admission and trial planning (EXP-002) ([#806](https://github.com/Brad-Edwards/aptl/issues/806)) ([955f7d6](https://github.com/Brad-Edwards/aptl/commit/955f7d6c772d6007fff4b35017a958a60cd1506d)) +* add experiment correlation identity and clock-context projection (OBS-002) ([#808](https://github.com/Brad-Edwards/aptl/issues/808)) ([a4c60db](https://github.com/Brad-Edwards/aptl/commit/a4c60db424301cb0814a9af57f8edc39796303ac)) +* consume ACES runtime-substituted plans ([#798](https://github.com/Brad-Edwards/aptl/issues/798)) ([c0dc206](https://github.com/Brad-Edwards/aptl/commit/c0dc206982810e71009a3e17e5d441ef195649e2)) +* **evidence:** acquire ACES experiment evidence from admitted capture bindings ([#811](https://github.com/Brad-Edwards/aptl/issues/811)) ([e9373f5](https://github.com/Brad-Edwards/aptl/commit/e9373f5bec57b2c315c4a9c5d7ab837983b19595)) +* **experiment:** admit capture requirements via a code-owned collector registry ([#810](https://github.com/Brad-Edwards/aptl/issues/810)) ([5dfc017](https://github.com/Brad-Edwards/aptl/commit/5dfc017b103895fd191531920ad9d25d887e6060)) +* **scenario:** restore TechVault content parity for dynamic realization ([#581](https://github.com/Brad-Edwards/aptl/issues/581)) ([#818](https://github.com/Brad-Edwards/aptl/issues/818)) ([2a3bd09](https://github.com/Brad-Edwards/aptl/commit/2a3bd099611cd48d2db6e42b9a7d02d7710c6f7d)) + + +### Bug Fixes + +* **aces:** restore custom Wazuh rule/decoder mounts dropped by stateful !override ([#814](https://github.com/Brad-Edwards/aptl/issues/814)) ([3da3bee](https://github.com/Brad-Edwards/aptl/commit/3da3beee5f6552e681de84085dc075e16b10a78c)) +* **aces:** restore custom Wazuh rule/decoder mounts in stateful realization ([3da3bee](https://github.com/Brad-Edwards/aptl/commit/3da3beee5f6552e681de84085dc075e16b10a78c)) +* **aces:** truth up backend manifest ([#792](https://github.com/Brad-Edwards/aptl/issues/792)) ([9ce7ef3](https://github.com/Brad-Edwards/aptl/commit/9ce7ef3af3e88d0bfad025dccc7d6ea6cd0cfee3)) +* align live smoke tests with current lab ([70f0731](https://github.com/Brad-Edwards/aptl/commit/70f0731d067356b7e64dc140d6fcd57d17a30f6e)) +* **certs:** restore vendored wazuh-certs-tool.sh to its pinned digest ([#813](https://github.com/Brad-Edwards/aptl/issues/813)) ([ec54ee2](https://github.com/Brad-Edwards/aptl/commit/ec54ee2da2cd59c58eb17f1dd7737483901b1838)) +* document Linux Buildx prerequisite ([#789](https://github.com/Brad-Edwards/aptl/issues/789)) ([c573dca](https://github.com/Brad-Edwards/aptl/commit/c573dca42854c5542787e00862c8b06d493f8612)) +* flush Kali captures before session close ([#780](https://github.com/Brad-Edwards/aptl/issues/780)) ([cf15604](https://github.com/Brad-Edwards/aptl/commit/cf1560451e54abc9b5d144de90e5f4b08ebac267)) +* generate certs producer-owned and repair fresh lab start ([#801](https://github.com/Brad-Edwards/aptl/issues/801)) ([abb3fc1](https://github.com/Brad-Edwards/aptl/commit/abb3fc1b42dc78baac51e59b4d57b3e7a2db65db)) +* generate current MCP client configuration ([#788](https://github.com/Brad-Edwards/aptl/issues/788)) ([aafa008](https://github.com/Brad-Edwards/aptl/commit/aafa008c6c4821e7d972ab7b67b1daec98454f52)) +* harden Suricata seed ownership-repair helper container ([#807](https://github.com/Brad-Edwards/aptl/issues/807)) ([304d121](https://github.com/Brad-Edwards/aptl/commit/304d1217f72d053b0e4201844eb731d5f513e24a)) +* hide disabled reverse access ([#773](https://github.com/Brad-Edwards/aptl/issues/773)) ([bf97101](https://github.com/Brad-Edwards/aptl/commit/bf97101f9d85dc5b185fa911407554c78398486b)) +* keep Shuffle writable on high-usage hosts ([#779](https://github.com/Brad-Edwards/aptl/issues/779)) ([00e7d87](https://github.com/Brad-Edwards/aptl/commit/00e7d8707616da0e9a591a9b4d9c605b949689d5)) +* keep TheHive and Cortex writable on high-usage hosts ([#784](https://github.com/Brad-Edwards/aptl/issues/784)) ([85b3645](https://github.com/Brad-Edwards/aptl/commit/85b36455527141af9d2157fea95656ecc2f8ce55)) +* make MISP event seeding idempotent ([#785](https://github.com/Brad-Edwards/aptl/issues/785)) ([1b7cc40](https://github.com/Brad-Edwards/aptl/commit/1b7cc40671eedbed465f5c33e717f3f940336290)) +* make SEM-218 realization disclosure non-vacuous ([#794](https://github.com/Brad-Edwards/aptl/issues/794)) ([c05fedd](https://github.com/Brad-Edwards/aptl/commit/c05fedd9f64a1bff075e0f0ea49853b8246a7f5f)) +* preserve participant endpoints on repeated starts ([#775](https://github.com/Brad-Edwards/aptl/issues/775)) ([c9b3754](https://github.com/Brad-Edwards/aptl/commit/c9b3754dd5dadce969e87496c40a0debda1e7393)) +* remove seeded volumes during full lab cleanup ([#776](https://github.com/Brad-Edwards/aptl/issues/776)) ([f50593b](https://github.com/Brad-Edwards/aptl/commit/f50593b83b9a91203d56454f33ac58aa3da5afe1)) +* report live host-port remaps accurately ([#774](https://github.com/Brad-Edwards/aptl/issues/774)) ([057d645](https://github.com/Brad-Edwards/aptl/commit/057d6458f868e1364157a4698465a332745105d4)) +* reuse generated credentials in manual SOC seeding ([#777](https://github.com/Brad-Edwards/aptl/issues/777)) ([386a7e0](https://github.com/Brad-Edwards/aptl/commit/386a7e0d7c662cd03e6c80f44e28c6392b68ede7)) +* reuse lab credentials in manual SOC seeding ([386a7e0](https://github.com/Brad-Edwards/aptl/commit/386a7e0d7c662cd03e6c80f44e28c6392b68ede7)) +* scope host port planning to active profiles ([#787](https://github.com/Brad-Edwards/aptl/issues/787)) ([fc31e1a](https://github.com/Brad-Edwards/aptl/commit/fc31e1a74d436d7ced2c3d85baa02e64e3f01787)) +* scope SOC seed and retry to the scenario's selected profiles ([#797](https://github.com/Brad-Edwards/aptl/issues/797)) ([7b7769c](https://github.com/Brad-Edwards/aptl/commit/7b7769c1c6c1e0359575ac5811cf7febe628d250)) +* **security:** content-source deny-list + Linux capability allowlist ([#817](https://github.com/Brad-Edwards/aptl/issues/817)) ([5f8d6a8](https://github.com/Brad-Edwards/aptl/commit/5f8d6a88bbff169f08a8a22bff857af4505cc0d4)) +* serialize first-run Vale bootstrap ([#781](https://github.com/Brad-Edwards/aptl/issues/781)) ([19c1101](https://github.com/Brad-Edwards/aptl/commit/19c1101032b5a8125de9203d7cd29bf62b64bafd)) +* **shuffle:** make the Wazuh->Shuffle->TheHive alert-to-case loop work ([#815](https://github.com/Brad-Edwards/aptl/issues/815)) ([b9dc59e](https://github.com/Brad-Edwards/aptl/commit/b9dc59ea70510919cbf8fd7fe2f5098d333e8a2c)) +* surface required prime seed failures ([#786](https://github.com/Brad-Edwards/aptl/issues/786)) ([932c0ea](https://github.com/Brad-Edwards/aptl/commit/932c0eac809ecfd25da4c5b27243dc5c2ffde9ed)) + + +### Documentation + +* add ADR-047 for ACES experiment admission and trial-plan boundary ([#800](https://github.com/Brad-Edwards/aptl/issues/800)) ([e931d28](https://github.com/Brad-Edwards/aptl/commit/e931d287eb90e3bf55b58dbb06d174773c8ba7bf)) + ## [5.0.0](https://github.com/Brad-Edwards/aptl/compare/v4.2.2...v5.0.0) (2026-07-15) diff --git a/pyproject.toml b/pyproject.toml index b61f1c1ff..9c8c4445e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "aptl-labs" -version = "5.0.0" +version = "5.1.0" description = "Advanced Purple Team Lab CLI" readme = "README.md" requires-python = ">=3.11" diff --git a/src/aptl/__init__.py b/src/aptl/__init__.py index 57b2c637e..5e25876a2 100644 --- a/src/aptl/__init__.py +++ b/src/aptl/__init__.py @@ -6,4 +6,4 @@ # pyproject.toml, not this src-layout __init__.py). Keep the annotation comment # on the same line as the literal, and keep the literal equal to pyproject's # `version` — test_version_consistency.py enforces the latter. -__version__ = "5.0.0" # x-release-please-version +__version__ = "5.1.0" # x-release-please-version