PackageTrack
Sign in Get early access

watermark_kit

Fast watermarking for Flutter (iOS + Android). Image/text overlays for images and videos without FFmpeg (Core Image/AVFoundation on iOS; MediaCodec + GLES on Android).

2.2.0 9.8K downloads/mo #2977 most downloaded on pub.dev tttocklll/watermark_kit

What this package is like to depend on

Last release 6 months ago

02 Feb 2026

Ships on a steady schedule

a new release about every 2 months

Nearly every release is documented

notes for 7 of 7 stable releases

Nothing withdrawn

no release was ever pulled

11 months old

7 releases · first in 2025

7 releases in the last 12 months

see the full history below

Release timeline

7 releases · Sep 2025 to Feb 2026
2026
Release Pre-release

Releases

latest 7
  1. 2.2.0 02 Feb 2026
    Release notes

    Added\n- iOS & Android: animated GIF watermark support for video composition (per-frame overlay timing).\n- Example app: bundled sample GIF for video watermark testing.

    Open source →
    Release notes

    Added

    • iOS & Android: Animated GIF watermark support for video composition (per-frame overlay timing).
    • Example app: added a bundled sample GIF for video watermark testing.
    Open source →
  2. 2.1.1 29 Oct 2025
    Release notes

    2.1.1

    Fixed

    • iOS: Resolved crash in composeText when converting colorArgb (0xFFFFFFFF) from Int64 to UInt32
      • Changed from unsafe Int64 → Int32 → UInt32 conversion to idiomatic UInt32(truncatingIfNeeded:)
      • Fixes "Fatal error: Not enough bits to represent the passed value" crash
      • Resolves issue #2
    • iOS: Fixed text watermark clipping on right side
      • Improved canvas size calculation using CTLineGetImageBounds in addition to CTLineGetTypographicBounds
      • Ensures glyphs with italic, kerning, or ligatures are not clipped
      • Increased padding from 4.0 to 8.0 for safety margin
    Open source →
    Release notes

    Fixed

    • iOS: Resolved crash in composeText when converting colorArgb (0xFFFFFFFF) from Int64 to UInt32
      • Changed from unsafe Int64 → Int32 → UInt32 conversion to idiomatic UInt32(truncatingIfNeeded:)
      • Fixes "Fatal error: Not enough bits to represent the passed value" crash
    • iOS: Fixed text watermark clipping on right side
      • Improved canvas size calculation using CTLineGetImageBounds in addition to CTLineGetTypographicBounds
      • Ensures glyphs with italic, kerning, or ligatures are not clipped
      • Increased padding from 4.0 to 8.0 for safety margin
    Open source →
  3. 2.1.0 29 Oct 2025
    Release notes

    2.1.0

    Improved

    • Android & iOS: Significantly enhanced watermark quality for both images and videos
      • Android: High-quality filtering (FILTER_BITMAP_FLAG, DITHER_FLAG) with Matrix-based scaling for images; mipmaps + trilinear filtering (GL_LINEAR_MIPMAP_LINEAR) for video watermarks
      • iOS: CILanczosScaleTransform for superior quality scaling (replaces simple CGAffineTransform); highQualityDownsample option added to CIContext
      • Results in sharper, smoother watermarks with better detail preservation and anti-aliasing

    Example

    • Add save to gallery feature: users can now save watermarked images directly to their device photo library
      • Cross-platform implementation using gal package with proper permission handling
      • "Save to Gallery" button added to Result preview card
    Open source →
    Release notes

    Improved

    • Android & iOS: Significantly enhanced watermark quality for both images and videos
      • Android: High-quality filtering (FILTER_BITMAP_FLAG, DITHER_FLAG) with Matrix-based scaling for images; mipmaps + trilinear filtering (GL_LINEAR_MIPMAP_LINEAR) for video watermarks
      • iOS: CILanczosScaleTransform for superior quality scaling (replaces simple CGAffineTransform); highQualityDownsample option added to CIContext
      • Results in sharper, smoother watermarks with better detail preservation and anti-aliasing

    Example

    • Add save to gallery feature: users can now save watermarked images directly to their device photo library
      • Cross-platform implementation using gal package with proper permission handling
      • "Save to Gallery" button added to Result preview card
    Open source →
  4. 2.0.0 07 Sep 2025
    Release notes

    Release Notes (v2.0.0) — Android Joins The Party 🎉

    • Android support is in! Images, text, and full video watermarking on API 24+.
    • Same simple API across iOS and Android. No FFmpeg, no drama.

    Highlights

    • Video pipeline: MediaCodec + OpenGL ES with a smooth hardware path.
    • Smart fallback: auto-switch to ByteBuffer YUV + GLES when hardware gets grumpy.
    • Progress + cancel: real-time updates and graceful aborts for long jobs.
    • Audio passthrough: best‑effort copy to keep your soundtrack rolling.
    • Anchors that “just work”: positions apply to the displayed orientation.

    Fixes

    • No more 100% freeze: proper decoder → encoder EOS propagation.
    • Upright overlays: fixed vertical flip for text/image watermarks on Android.
    • Calmer logs: added WMLog gate; warnings/errors only by default.

    Compatibility

    • iOS: unchanged, solid as ever.
    • Android: minSdk 24. HEVC/Dolby Vision support varies by device (we auto‑fallback).
    • Emulators may have limited codec support—physical devices recommended for final checks.

    Notes

    • Default codec is H.264. Use HEVC when supported for extra sparkle.
    • The plugin itself requests no permissions; your app handles file/media access.

    Upgrade

    • pubspec: watermark_kit: ^2.0.0
    • Example app updated; try the “Video” tab to see end‑to‑end watermarking.
    Open source →
    Release notes

    Added

    • Android support for image, text, and video watermarking (API 24+).
      • Hardware Surface pipeline with automatic fallback to ByteBuffer YUV + GLES when needed.
      • Progress callbacks and cancellation, matching iOS.
      • Audio passthrough (best effort).

    Fixed

    • Android: prevent video tasks from hanging at 100% by properly propagating decoder EOS to the encoder.
    • Android: corrected overlay vertical flip (image/text) so placement is upright while keeping coordinates unchanged.

    Changed

    • README updated for cross‑platform support; removed iOS‑only notes.
    • Default logs reduced; added WMLog gate for verbose debugging on Android.

    Notes

    • Default codec is H.264; HEVC is used when supported. Some devices/emulators may not support HEVC/Dolby Vision.
    • Minimum Android SDK is 24.
    Open source →
  5. 1.0.0 06 Sep 2025
    Release notes Open source →
    Release notes

    Added

    • iOS video watermarking with progress/cancel (Core Image + AVFoundation Reader/Writer)
      • Pigeon APIs: composeVideo, cancel, and WatermarkCallbacks (progress/completed/error)
      • Dart: VideoTask exposes progress Stream and done Future
      • Example: dedicated Video tab with text/image watermark selection and output preview player

    Changed

    • Package description updated to reflect image + video support
    • iOS Podspec metadata (summary/homepage/author) updated; minimum iOS set to 15.0

    Notes

    • Default codec is H.264; codec: 'hevc' can be used where supported
    • Audio is passed through on a best‑effort basis
    Open source →
  6. 0.0.2 06 Sep 2025
    Release notes

    Added

    • Text watermark support for images: new WatermarkKit.composeTextImage(...) API.
      • Placement options mirror composeImage (anchor, margin, offset, units).
      • Text style: fontFamily, fontSizePt (or widthPercent fit), fontWeight, colorArgb, opacity.
    • Pigeon host method WatermarkApi.composeText and Dart client wiring (MethodChannel fallback retained).
    • Example app: "Text Watermark" section and Compose Text action.

    Changed/Chore

    • README updated with text watermark usage and API reference.
    Open source →
  7. 0.0.1 06 Sep 2025
    Release notes

    Initial release.

    Added

    • iOS image watermarking plugin using Core Image (Metal-backed CIContext under the hood).
    • Public API: WatermarkKit.composeImage(...) that composes a watermark image over a base image and returns encoded bytes.
      • Options: anchor, margin (with marginUnit: 'px'|'percent'), widthPercent, opacity, offsetX/offsetY (with offsetUnit), format: 'png'|'jpeg', quality (JPEG).
      • Anchors: topLeft, topRight, bottomLeft, bottomRight, center.
    • Pigeon-based typed bridge (Dart/Swift) for composeImage.
    • Example app to pick base/watermark from gallery, tweak options, and preview the result.

    Changed/Chore

    • Simplified README to state iOS support without version numbers.
    • Committed example iOS CocoaPods setup (Podfile/lock, xcconfig includes) for reproducible builds.
    • Removed unused template tests and misc files; tightened .gitignore.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive