Skip to content

Releases: FlutterPlaza/secure_watermark

v0.3.1

16 Feb 19:04

Choose a tag to compare

Fixes

  • Shorten package description to meet pub.dev 60–180 character limit
  • Tighten args lower bound to ^2.5.0 for ArgResults.flag()/option() compatibility
  • Replace setPixelRgba with getPixel channel assignment in tests for image 4.0.0 compatibility
  • Pass pub.dev downgrade analysis with zero errors

v0.3.0 — Forensic (Invisible) Watermarking

16 Feb 18:28

Choose a tag to compare

What's New

Forensic Watermark (ForensicWatermark)

  • Spread-spectrum LSB embedding hides traceable data in image pixels
  • DJB2-seeded PRNG with Set-based collision avoidance for deterministic pixel selection
  • Majority voting across configurable redundancy copies for error correction
  • Magic number (0x574D) validation for wrong-key detection
  • ForensicWatermarkImage widget with background isolate processing via compute()

CLI Tools

  • dart run secure_watermark:embed — embed a payload into a PNG
  • dart run secure_watermark:extract — extract a hidden payload from a PNG

Example App

  • Two-tab demo: Visible watermark controls + Forensic embed/extract workflow
  • Interactive payload, key, and redundancy configuration

Docs

  • GIF showcases for both visible and forensic features
  • Badges: pub version, points, popularity, likes, license, lints
  • Full API reference tables for all new classes

Dependencies

  • Added image ^4.0.0 (PNG decode/encode)
  • Added args ^2.4.0 (CLI argument parsing)

Tests

  • 61 total tests (25 existing + 36 new)
  • Covers roundtrip, unicode, redundancy variants, determinism, error handling, widget lifecycle

Full Changelog: v0.1.0...v0.3.0

v0.1.0

15 Feb 19:52

Choose a tag to compare

0.1.0 — Initial Release

  • Watermark widget with Stack + IgnorePointer + RepaintBoundary overlay
  • WatermarkStyle immutable config with opacity, rotation, spacing, staggered mode
  • WatermarkPainter using ParagraphBuilder for efficient text tiling
  • Diagonal tiling with staggered rows (brick pattern) for crop resistance
  • enabled flag to toggle watermark without removing from widget tree
  • Widget, painter, and style unit tests (25 passing)