3 Commits

Author SHA1 Message Date
2bd4fe6189 docs: rename v0.1.1 to v0.2.0 in CHANGELOG
Some checks failed
Tests / Run tests on PHP v8.4 (push) Failing after 1s
Tests / Run tests on PHP v8.5 (push) Failing after 1s
The Redactor introduces a new public API surface (RedactorInterface
plus per-game implementation), which under semver is a minor version
bump, not a patch. Correcting the changelog before the v0.1.1 tag is
re-pointed at v0.2.0 in a follow-up step.
2026-05-01 22:08:43 +00:00
5b4f77a72f docs: cut v0.1.1 in CHANGELOG
Some checks failed
Tests / Run tests on PHP v8.4 (push) Failing after 1s
Tests / Run tests on PHP v8.5 (push) Failing after 1s
Convert [Unreleased] section to [0.1.1] dated 2026-05-01. Records what
landed via the redactor branch merge: the RedactorInterface plus
ProjectZomboidRedactor, the 65 new tests across six files, and the
spec/plan documentation refresh. Adds a fresh empty [Unreleased]
section above for future work, plus a [0.1.1] link reference.
2026-05-01 19:39:26 +00:00
1657be7711 Merge branch 'redactor'
Some checks failed
Tests / Run tests on PHP v8.4 (push) Failing after 1s
Tests / Run tests on PHP v8.5 (push) Failing after 1s
Implements the codex Redactor utility per
docs/superpowers/specs/2026-04-30-redactor-design.md and
docs/superpowers/plans/2026-05-01-redactor.md. Adds RedactorInterface
plus ProjectZomboidRedactor with three toggleable redaction passes
(Steam IDs, player names, world coordinates) under a new src/Util/
top-level directory. 65 new tests across five files; full suite
255 -> 260 green; zero deprecations or warnings under PHP 8.5.

Documented v1 limitations carried forward: in PvP, only the attacker's
name and coords are redacted (victim, after `hit`, deferred to v2). In
admin teleport lines, ` to <coords>` form is not redacted (the at-clause
regex anchors on ` at `).
2026-05-01 18:22:47 +00:00

View File

@@ -6,9 +6,15 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
## [Unreleased]
## [0.2.0] — 2026-05-01
Render-time PII redaction utility added on the same calendar day as v0.1.0. Cut as a minor version bump rather than a patch because it adds a new public API surface (`RedactorInterface` plus the per-game implementation), which under semver is a minor change, not a patch. Consumers (notably iblogs) pin to `^0.2.0` to opt into the redactor-aware version.
### Added
- `RedactorInterface` (`src/Util/RedactorInterface.php`) and `ProjectZomboidRedactor` (`src/Util/ProjectZomboid/ProjectZomboidRedactor.php`) — render-time PII filter that scrubs Steam IDs, player names, and world coordinates from Project Zomboid log content. Three independent toggles default to on. Designed as a string-in/string-out utility so consumers can apply it at any rendering or export step. Documented v1 limitations: in PvP combat lines, only the attacker's name and coords are redacted; victim's name and coords (after `hit`) are deferred to v2. In admin lines, `teleported X to <coords>` coordinates are not redacted in v1.
- 65 new test methods across six files under `test/tests/Util/Redactor/` — per-category unit tests, combined / toggle / idempotence matrix, and integration coverage that drives all 11 existing PZ fixtures through the redactor end-to-end. Suite total: 260 tests, 492 assertions.
- `docs/superpowers/specs/2026-04-30-redactor-design.md` flipped from "deferred" to "implemented" status. Plan committed at `docs/superpowers/plans/2026-05-01-redactor.md`.
### Changed
@@ -45,4 +51,5 @@ First public release. Codex is a generic PHP log parsing and analysis framework
- **Other game implementations** — `Minecraft`, `Hytale`, and `SevenDaysToDie` are detective-stub-only. Each has a TODO `<Game>Detective` extending base `Detective`; their per-component subdirectories under `Analyser`, `Log`, `Parser`, and `Pattern` contain only `.gitkeep` placeholders. Real implementations land if and when fixtures and demand exist.
- **Packagist publication** — v0.1.0 is consumable via Composer's `vcs` repository entry pointing at the Gitea remote. Pushing to Packagist is a separate decision and is not in scope for this release.
[0.2.0]: https://git.indifferentketchup.com/indifferentketchup/ik-codex/releases/tag/v0.2.0
[0.1.0]: https://git.indifferentketchup.com/indifferentketchup/ik-codex/releases/tag/v0.1.0