Added: “Search by image” is now available throughout the wp-admin media flow – a panel on the Upload New Media screen, a toolbar button in the Media Library list and grid views, and a dedicated tab in the media modal.
Changed: colour fingerprints now use HSV histograms instead of RGB averages, improving tolerance to lighting and exposure differences.
Changed: edge fingerprints expanded to orientation histograms for finer structural matching.
Changed: perceptual hash now uses the low-frequency AC block of the DCT (DC components excluded), so uniform brightness shifts no longer dominate the hash.
Changed: histogram comparison switched from cosine to Bhattacharyya similarity for more accurate distribution matching.
Changed: images that fail fingerprinting are now marked unprocessable instead of receiving an all-zero hash, preventing failed images from clustering as false duplicates.
Added: upgrade routine that migrates the database schema and automatically rebuilds the image index when fingerprint formats change between versions.
Changed: per-IP search rate limiting now uses advisory locks to avoid double-counting under concurrent requests.
0.1.4 – 2026-06-04
Changed: search visibility default changed from “Anyone” to “Logged-in users only” for stricter access out of the box.
Changed: “Drop data on uninstall” now defaults to disabled – your index is preserved on plugin removal unless you opt in.
Changed: slider values in Settings are now click-to-edit – click any numeric label to type a value directly.
Changed: indexing panel shows “Last run completed” once a reindex job finishes, rather than staying silent.
Changed: admin UI terminology standardised from “attachments” to “images” throughout.
0.1.3 – 2026-06-03
Fixed: bulk indexer no longer aborts the entire queue when a later batch encounters only unreadable images; the stall guard now fires only on the first batch, so isolated file failures are skipped rather than stranding all remaining attachments.
Changed: inter-batch delay reduced from 60 s to 15 s, keeping the reindex progress UI responsive during a full library scan.
Fixed: third-party admin notices are now suppressed on the Snopix dashboard to prevent them from breaking the full-bleed layout.
Changed: admin script now declares wp-i18n as a dependency; build artefacts reorganised to assets/ subdirectories.
Fixed: uninstall cleanup now removes all plugin data – index table, all options, transients, scheduled cron events, and per-user meta – when the “Remove all plugin data on uninstall” setting is enabled.
0.1.2 – 2026-06-02
Fixed: removed readonly properties that broke activation on PHP 8.0 (the declared minimum version).
Changed: per-IP search rate limiting now uses an atomic counter when a persistent object cache is present, and fails closed when the client IP cannot be resolved.
Fixed: bulk indexing no longer stalls when a run of unsupported image types (SVG/AVIF/TIFF/HEIC) is queued – they are skipped at enqueue time.
Fixed: the daily duplicate scan no longer restarts an in-progress scan, and a failed scan tick recovers instead of appearing to run forever.
Fixed: deleting a non-existent index row now returns 404; plus minor admin-UI memory and dead-code cleanups.
Changed: the dashboard “Indexed” count is now shown in green, with status colours centralised as reusable design tokens.
0.1.1 – 2026-05-30
Fixed: certain extreme aspect-ratio images could trigger a fatal error during indexing; working dimensions are now clamped.
Changed: index vector columns now use LONGTEXT instead of JSON for compatibility with older MySQL / MariaDB.
Fixed: capitalised indexed-image status labels and corrected spacing on the duplicate “Keep” badge.
Removed: the non-functional Plugins-screen delete-confirmation modal and its “require confirmation” setting. The keep / drop-on-uninstall setting is unchanged.