From 545c38320163cb9825ef43271e6a5fe60397fa20 Mon Sep 17 00:00:00 2001 From: guillaume Date: Wed, 12 Aug 2026 11:16:59 -0700 Subject: [PATCH] Release v0.3.0: optional SynthID pixel scoring --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e11342a..60acebd 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Agent skill + stdlib Python scripts to strip **multi-vendor AI provenance marks* Vendors / ecosystems (class-level): **Claude**, **Gemini / SynthID-Text**, **OpenAI** provenance surfaces, **open-LLM** Kirchenbauer-style marks. -**Latest release:** [v0.2.0](https://github.com/guillaumemeyer/watermarks-remover/releases/tag/v0.2.0) +**Latest release:** [v0.3.0](https://github.com/guillaumemeyer/watermarks-remover/releases/tag/v0.3.0) Skill path: [`skills/remove-ai-marks/`](skills/remove-ai-marks/) (migration: formerly `remove-claude-marks`; slash alias `/remove-claude-marks` still documented) @@ -223,6 +223,14 @@ make smoke # quick CLI smoke on fixtures ## Changelog +### [v0.3.0](https://github.com/guillaumemeyer/watermarks-remover/releases/tag/v0.3.0) — optional SynthID pixel scoring + +- Optional pixel-domain SynthID scorer via an external [`aloshdenny/reverse-SynthID`](https://github.com/aloshdenny/reverse-SynthID) checkout (`score_synthid.py`); surfaced in `inspect_image.py` / `clean_image.py` with `REVERSE_SYNTHID_DIR` or `--synthid-dir` +- `setup_synthid.sh` bootstrap (scorer-only dependencies; `--full` installs upstream requirements); `Dockerfile.synthid` plus `make docker-synthid-build` / `docker-synthid-help` +- Makefile `smoke-synthid` and `bootstrap-synthid` targets +- Tests for the scorer adapter, CLI unavailable path, JSON parsing, and runtime errors +- Docs: detection/scoring only (no pixel removal); upstream code is not bundled and remains under its non-commercial Research License + ### [v0.2.0](https://github.com/guillaumemeyer/watermarks-remover/releases/tag/v0.2.0) — c2patool false-positive fix - `image_meta.py`: `has_manifest` no longer flags `Error: No claim found` / `No JUMBF data found` as a manifest (operator-precedence bug: the negative markers now veto every positive branch)