Skip to content

v0.7.0

Choose a tag to compare

@codebyray codebyray released this 26 Sep 00:39
· 2 commits to main since this release
5140039

v0.7.0 — Image Watermarking

This release adds optional server-side watermarking for uploaded images, expands package configuration documentation, and strengthens upload security and compatibility.

Watermarking is disabled by default, so existing uploaders will continue to behave as before.

Highlights

  • Apply a configurable watermark before an image is stored.
  • Enable watermarking globally or for individual uploader components.
  • Configure position, size, padding, fit, and opacity.
  • Use percentage-based sizing for consistent results across different image dimensions.
  • Watermark the stored original and all Media Library conversions generated from it.
  • Leave documents, videos, and other non-image uploads unchanged.

Enable watermarking globally:

MEDIA_UPLOADER_WATERMARK_ENABLED=true
MEDIA_UPLOADER_WATERMARK_PATH=/absolute/path/to/watermark.png

Or enable it for a specific uploader:

<livewire:media-uploader
    :for="$post"
    collection="images"
    preset="images"
    :watermark="true"
/>

Improvements

  • Uploads are staged locally before processing, allowing watermarking to work with remote Livewire temporary-upload storage.
  • Preset file sizes, extensions, and MIME types can be overridden per uploader while still supplying sensible defaults.
  • The README now documents the complete configuration file and watermarking options.
  • CI coverage now includes PHP 8.5 and dependency security auditing.

Security and reliability

  • Server-controlled authorization and upload-policy properties are protected from client-side Livewire mutation.
  • Watermark processing completes before replacement conflict handling, preserving existing media if processing fails.
  • Deferred uploaders with a configured channel now reject attachment events that omit or mismatch that channel.
  • Supported Livewire minimums have been raised to patched releases.

Upgrade requirements

This release requires:

  • PHP 8.2 or newer
  • Laravel 12 or 13
  • Livewire ^3.8.3 or ^4.3.4
  • Spatie Media Library ^11.0

Spatie Image ^3.3.2 is now installed as an explicit package dependency.

After upgrading, republish or compare your config/media-uploader.php file if you want to configure watermarking.

Full changelog

Full comparison: v0.6.0...v0.7.0