Skip to content

Releases: Suzu-chan1990/henkan-wordpress-plugin

2.3.2

Choose a tag to compare

@Suzu-chan1990 Suzu-chan1990 released this 08 Jul 21:54
0063179
  • **New tab: Smart Options. A dedicated "Smart Options" tab has been added to the plugin dashboard. It groups all optional, advanced features behind individual toggles that are disabled by default. Existing setups are completely unaffected unless a feature is explicitly activated.
  • **Smart Option: Quality by Image Size. Allows a separate, lower quality value to be applied to WordPress-generated thumbnail crop sizes (e.g. thumbnail, medium, medium_large) while the global quality setting continues to apply to full-size originals. The feature uses wp_get_registered_image_subsizes() to determine whether a given image size is an actual WordPress crop — custom single-resolution setups where WordPress thumbnail generation is not used are not affected even if the toggle is enabled.
  • **Smart Option: Integrity Check. Adds a daily WP-Cron job that verifies whether converted files recorded in the wp_henkan_data table still physically exist on disk. Any entry whose files are no longer present is removed from the database, causing the image to be re-queued for conversion on the next bulk scan. The Smart Options tab displays the date of the last run and the number of missing files found. Particularly useful after server migrations or accidental file deletions.
  • **Smart Option: Max Output Width. Optionally limits the pixel width of converted output files. If an uploaded image exceeds the configured maximum width, it is scaled down proportionally before conversion. The original file is never modified — only the converted WebP/AVIF/JXL output is resized. Aspect ratio is always preserved. Images already narrower than the configured value are not affected.
  • **Conversion Statistics panel. A new read-only statistics panel in the Smart Options tab shows the total number of converted images and the cumulative disk space saved. Also introduces the wp henkan stats WP-CLI command for the same information from the terminal.
  • **New WP-CLI command: wp henkan stats. Outputs a summary of total converted images and space saved directly from the terminal.

2.2.0

Choose a tag to compare

@Suzu-chan1990 Suzu-chan1990 released this 20 May 09:44
bf743b5
  • Tested up to: WordPress 7.0
  • New: Full compatibility with WordPress 7.0 architectural changes.
  • New: High-performance database architecture. Migrated conversion data from wp_postmeta to a dedicated custom table (wp_henkan_data). This significantly speeds up backend load times and reduces database queries for large media libraries. The migration runs seamlessly and automatically in the background.
  • New: Asynchronous Background Queue for Bulk Optimization. You can now run massive conversion tasks safely in the background via WP-Cron without keeping the browser tab open. This feature can be toggled in the Advanced Settings.
  • New: Granular Exclusion Rules. You can now exclude specific files, paths, or naming patterns (e.g., logos, specific folders) from conversion using simple string matching or Regex.
  • Tweak: Improved resource management and cleanup routines. The plugin now automatically purges the associated database rows in the custom table when an attachment is permanently deleted.

v2.0.4

Choose a tag to compare

@Suzu-chan1990 Suzu-chan1990 released this 23 Mar 14:45

Core: Bumped minimum requirements to PHP 7.4 and WordPress 6.0 to ensure better security and guarantee maximum performance for native OS binaries.

Compatibility: Increased "Tested up to" version to WordPress 6.9 to ensure full compatibility and remove the out-of-date notice in the plugin directory.

i18n (Localization): Completely overhauled the codebase to use standard English base strings. Removed all hardcoded German text from core files (admin.php, ajax.php, cli.php) to strictly follow WordPress.org translation guidelines.

Maintenance: Updated asset versioning for enqueued JS and CSS files to 2.0.4 to force browser cache busting.

Documentation: Redesigned README.md with a cleaner, more modern layout, stronger feature highlights, and a brand-new FAQ section.

v2.0.3

Choose a tag to compare

@Suzu-chan1990 Suzu-chan1990 released this 21 Mar 15:51

🚀 Release: Security Patch (2.0.3)

This patch addresses strict security standards required by the human WordPress.org review team and resolves formatting issues with the official plugin directory parser.

🛡️ Security & Core

  • Strict Settings Sanitization: Overhauled the register_setting callback (henkan_sanitize_settings) to use a strict, modern whitelist approach. Integers are now strictly cast using absint(), and unrecognised array keys are automatically stripped to prevent malicious injections.
  • Direct File Access Prevention: Added mandatory if ( ! defined( 'ABSPATH' ) ) exit; checks to all executable PHP files (including cli.php and includes) to prevent direct URL access and comply with WP.org security guidelines.

v2.0.2

Choose a tag to compare

@Suzu-chan1990 Suzu-chan1990 released this 20 Mar 08:40

🚀 Release v2.0.2: Full i18n Overhaul & WP.org Compliance

This major patch focuses on deeply refactoring the plugin's internationalization (i18n) architecture and ensuring 100% strict compliance with the official WordPress.org Plugin Directory guidelines.

🌍 Internationalization (i18n) & Localization

  • English Base Language: Completely refactored the plugin's internal strings to use standard English as the base language (msgid) instead of German, complying with WordPress best practices.
  • Hardcoded Strings Removed: Eliminated all hardcoded strings in backend responses (ajax.php) and WP-CLI commands (cli.php), wrapping them in proper gettext functions (__(), sprintf()).
  • JavaScript Localization: Implemented wp_localize_script to pass translatable strings to the frontend admin scripts, removing hardcoded UI texts like progress states and completion messages.
  • Translator Context Added: Added mandatory /* translators: ... */ PHP comments directly above translatable strings containing dynamic placeholders (%s, %d) to aid the polyglot community.
  • Ordered Placeholders: Fixed unordered placeholder variables in translation strings (e.g., using %1$s and %2$s) to allow safe restructuring of sentences in different languages.
  • Updated Language Packs: The .po and .mo files for German (de_DE), English (en_US), and Japanese (ja) have been completely synchronized with the new English base strings.

⚙️ Core & WordPress.org Compliance

  • Text Domain Unification: Conducted a comprehensive sweep to ensure the henkan-webp-avif-converter text domain is used exclusively and consistently across all PHP files to match the official plugin slug.
  • Global Variable Standardization: Refactored internal global variables to remove leading underscores (e.g., changed $_henkan_last_error to $henkan_last_error), strictly adhering to WordPress naming conventions.
  • Stable Tag Alignment: Synchronized the Stable tag in README.md to ensure it accurately reflects the main plugin file header version.
  • Asset Restructuring: Removed official WordPress.org directory assets (banners and icons) from the core plugin distribution zip. These will be managed exclusively via the .org SVN assets/ directory going forward.

v2.0.1

Choose a tag to compare

@Suzu-chan1990 Suzu-chan1990 released this 03 Mar 20:05
  • Fixed: Auto Update Path

v2.0

Choose a tag to compare

@Suzu-chan1990 Suzu-chan1990 released this 01 Mar 20:20
ca2283d
  • New: Strict single-format workflow — user chooses WebP or AVIF (no auto-mode, no dual-output).
  • New: Converter selection per format (when available on the system). No hidden fallbacks.
  • New: Missing-only bulk conversions (skip already-converted targets).
  • New: Resumeable bulk conversions in admin (continue after page reload).
  • New: Conversion state tracking (OK/Failed) with stored error reason.
  • Improved: Bulk scan options incl. “only failed” for targeted retries.

v1.9.2

Choose a tag to compare

@Suzu-chan1990 Suzu-chan1990 released this 13 Dec 07:59
  • Fixed: Percentage calculation for libraries with pre-existing WebP/AVIF images.
  • Added: branding assets.

v1.9.1

Choose a tag to compare

@Suzu-chan1990 Suzu-chan1990 released this 12 Dec 23:15
  • Fixed: Percentage calculation bug in dashboard (showing >100%).
  • Improved: Full compliance with WordPress.org coding standards.

v1.9

Choose a tag to compare

@Suzu-chan1990 Suzu-chan1990 released this 12 Dec 22:57
  • New Feature: Added Status Column to the Media Library.
  • New Feature: Quick "Optimize" button for individual images in the Media Library list view.