BinsOptimizer – Instant Image Optimizer, Compression & WebP Converter

Changelog

1.4.0

  • New: “Optimize It” button in the Media Library list view — click to optimize any existing JPEG, PNG, or SVG attachment on demand without re-uploading.
  • New: File Size column in the Media Library — shows the current on-disk size of every attachment. Can be toggled off in Settings.
  • Improvement: Media Library column CSS moved to a dedicated stylesheet (assets/css/media.css) and properly enqueued, keeping PHP templates clean.
  • Fix: “Show Filesize Column” toggle was placed outside the settings form and never saved correctly — now included in the form submission.

1.3.0

  • New: Secure SVG upload support — administrators can now enable SVG uploads for specific user roles via Settings > BinsOptimizer.
  • New: Role-based SVG upload permission — choose exactly which user roles (Administrator, Editor, Author, etc.) are allowed to upload SVG files.
  • New: Server-side SVG sanitization — every SVG is cleaned with a DOMDocument-based sanitizer before it is stored. Strips <script> tags, <foreignObject>, event-handler attributes (on*), dangerous href/xlink:href URI schemes (javascript:, vbscript:, data:application/), and unsafe CSS constructs before saving.
  • New: SVG media library compatibility — SVG attachments now display correctly in the Media Library grid and modal, report accurate intrinsic dimensions, and render properly in the Block Editor image block.
  • New: SVG frontend display — wp_get_attachment_image() and responsive image helpers work correctly for SVG attachments; srcset generation is disabled for SVGs (vector format needs no size variants).
  • New: SVG Auto-Optimization setting — a separate toggle controls whether SVG files are automatically converted to WebP on upload (off by default). When disabled, SVGs are uploaded and stored as native SVG files.

1.2.0

  • New: Optimization column added to the Media Library list view — each attachment now shows a colour-coded badge displaying the savings percentage and output format (e.g. “42.3% webp”).
  • New: Hovering the savings badge reveals a tooltip with the original file size, optimised file size, and total bytes saved.
  • New: The Optimization column is fully sortable — click the column header to rank media items from most-saved to least-saved (or vice versa).
  • New: Unoptimised attachments display a neutral “Not optimized” badge so the column is informative for every item in the library.
  • Improvement: Savings percentage is now also persisted as a dedicated post meta key (_biio_savings) alongside the existing attachment metadata, enabling reliable numeric sorting without serialized-field parsing.

1.1.0

  • Fix: Media Library stats panel never rendered in the single-column Details view due to incorrect Backbone template override — switched to a render() override matching the correct pattern.
  • Fix: Fatal JavaScript TypeError when conversionTime is absent from stored metadata — added null guard before calling .toFixed().
  • Fix: canvas.getContext(‘2d’) could return null for very large images — added explicit null check before drawing to canvas.
  • Fix: Metadata queue stored in transients was vulnerable to object-cache eviction — migrated to a persistent WordPress option (biio_metadata_queue).
  • Fix: Typo in save-error button label “Fied to Save” corrected to “Failed to Save”.
  • Fix: Save success button label showed “Saving Changes” after the save had already completed — corrected to “Saved!”.
  • Fix: Redundant __biio_converted event flag removed; a single biio_converted flag is sufficient to prevent re-processing loops.
  • Fix: Removed dead is_admin() guard inside admin_enqueue_scripts hook (the hook already only fires in admin context).
  • Improvement: Removed all debug console.log / console.warn statements from production JS bundles.
  • Improvement: Deactivation hook now cleans up the persistent option queue instead of a transient.

1.0.0

  • Initial release.
  • Browser-based WebP conversion.
  • Client-side image resizing.
  • Premium Admin Dashboard.

Plugin Website
Visit website

Author
Binsaifullah
Version:
1.4.0
Last Updated
May 19, 2026
Requires
WordPress 6.0
Tested Up To
WordPress 6.9.4
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.