Skip to content

v1.0.2

Latest

Choose a tag to compare

@panly2003 panly2003 released this 19 May 05:19
· 3 commits to main since this release

Release Notes — v1.0.2

🐛 Bug fixes

  • Gaussian-Shading on CPU: removed hardcoded .cuda() / .half() and hardcoded 64x64 latent shapes from markdiffusion/watermark/gs/gs.py, detection/gs/gs_detection.py, and visualize/gs/gs_visualizer.py. CPU-only machines (e.g. macOS) can now run GS via pip install markdiffusion[optional]. Fixes the regression reported by reviewers in v1.0.1.post1.
  • Tree-Ring / ROBIN / SFW detectors: separate thresholds for p_value and cosine_similarity detectors (previously they reused the l1_distance threshold, e.g. 50, which made p < 50 always true and marked every image as watermarked).
  • RI dtype alignment: align latent dtype in RI to prevent device/dtype mismatch (thanks @codelformat, PR #41).
  • Bundled resource paths: resolve markdiffusion/config/*.json from the installed package rather than CWD, so PyPI users no longer need to be in the source repo to load default configs.

✨ New features

  • DiffusionPurification regeneration attack: encodes the image to latent space, injects noise at a configurable schedule fraction, and reverse-denoises through the diffusion pipe (Nie et al., DiffPure 2022).
  • NeuralCodecCompression regeneration attack: round-trips the image through a pretrained learned image codec (compressai, default cheng2020-anchor) at a target quality level (Cheng et al., CVPR 2020).
  • CrSc (Crop & Scale) now supports position="center" (existing default), position="random", or an explicit (x_ratio, y_ratio) offset.

🏗 Internal / Refactor

  • Repository restructure: code moved into a proper markdiffusion/ Python package so pip install -e . (editable) and pip install markdiffusion (PyPI) share the same import paths (from markdiffusion.watermark import AutoWatermark).
  • Dependency pins in pyproject.toml:
    • torch>=2.4,<2.11 so PyPI's CUDA-12.x wheels are selected (avoids cu130 wheels that need driver ≥ 575).
    • setuptools<81 so pkg_resources remains available for openai-clip.

📚 Docs & Tests

Full changelog: v1.0.1...v1.0.2