ENHANCEMENT - display success message after copying Status Info.
FIX - Settings page does not open or slow when there is big amount of attachments.
FIX - in multisite network, removing custom tables properly when deleting site.
FIX - skip setting ACL in Stateless mode and during Sync for the buckets with Uniform access, support WP_STATELESS_SKIP_ACL_SET constant #712.
4.0.3
NEW - added Info section to the Status tab on the Settings page, which contains the system info and the ability to copy report to clipboard.
ENHANCEMENT - added Documentation link on the Plugins page.
ENHANCEMENT - added Addons link on the Plugins page.
ENHANCEMENT - added Documentation link on the Settings page.
FIX - fixed Settings shortcut on the Plugins page.
FIX - in multisite network, do not show Data Optimization on the Network Admin Page.
FIX - properly set Content Disposition fields for media objects.
FIX - properly use Cache Control setting for media objects.
FIX - fixed Creation of dynamic property PHP deprecation notice.
FIX - fixed Cannot use ::class with dynamic class name PHP warning.
FIX - avoid PHP warning when unable to get file path in Stateless mode 728.
FIX - fixed links to the constants documentation.
4.0.2
FIX - in multisite network, deleting site can potentially remove WP-Stateless tables from another site.
COMPATIBILITY - Gravity Forms Compatibility updated for the newest Gravity Forms version.
4.0.1
FIX - improvements to Data Optimization process.
FIX - Data Optimization fixed for multisite environment.
4.0.0
NEW - use custom database tables to store GCS file data. This increases plugin performance and will be used for future improvements.
NEW - added filter wp_stateless_get_file, retrieves the GCS file data, should be used instead of getting sm_cloud postmeta directly.
NEW - added filter wp_stateless_get_file_sizes, retrieves the GCS file data for image sizes, should be used instead of getting sm_cloud postmeta directly.
NEW - added filter wp_stateless_get_file_meta, retrieves all GCS file meta data, should be used instead of getting sm_cloud postmeta directly.
NEW - added filter wp_stateless_get_file_meta_value, retrieves the GCS file meta data by meta_key, should be used instead of getting sm_cloud postmeta directly.
NEW - added filter wp_stateless_get_setting_... which allows to override any WP-Stateless setting.
NEW - added setting “Send Status Emails” allowing to change email for WP-Stateless notifications.
NEW - added setting “Use Post Meta” allowing to switch back to using postmeta instead of custom DB tables. Can be used in case of issues after upgrading to 4.0.0.
NEW - added new Settings tab Addons, which contains the list of WP-Stateless Addons, which replace Compatibilities.
NEW - added new Settings tab Status, which contains status and health information related to Google Cloud Storage and WP-Stateless.
NEW - CLI command wp stateless migrate to list and operate data optimizations.
NEW - configuration constant WP_STATELESS_POSTMETA allows to read the GCS file data from postmeta instead of the new custom database tables.
NEW - configuration constant WP_STATELESS_BATCH_HEALTHCHECK_INTERVAL defines an interval in minutes for periodical health checks of a batch background process (like data optimization).
COMPATIBILITY - Gravity Form Compatibility does not support older version of Gravity Forms (< 2.3).
ENHANCEMENT - Allow dismissing notices in Admin Panel only for logged in users.
ENHANCEMENT - Updated wp-background-processing library from from 1.0.2 to 1.1.1.
ENHANCEMENT - Updated phpseclib 3.0.34 to 3.0.37.
FIX - proper use of infinite timeout in set_time_limit function to avoid issues with PHP 8.1 and above #704.
3.4.1
FIX - improve security while processing AJAX requests in Admin Panel
3.4.0
ENHANCEMENT - removed udx/lib-settings package dependency for security reasons.
ENHANCEMENT - removed udx/lib-utility package dependency for security reasons.
ENHANCEMENT - refactored Settings admin page to remove Angular dependency.
ENHANCEMENT - including Software Bill of Materials (SBOM) to GitHub release.
FIX - updated package dependencies for Google Client Library for security reasons.
FIX - replaced utf8_encode with mb_convert_encoding to support PHP 8.2 and above #678.
FIX - Fatal Error in Stateless mode if GCP access credentials are wrong #693.
COMPATIBILITY - preventing PHP warnings while working with WooCommerce version 8.4.0 and above 696.
COMPATIBILITY - avoiding conflicts between builtin compatibilities and WP-Stateless Addon plugins.
3.3.0
NEW - Added new filter wp_stateless_attachment_url. Allows to customize attachment URL after WP-Stateless generates it based on it’s internal conditions.
FIX - Stateless mode Incompatible with Media Uploader in Media Library Grid mode #675.
FIX - Prevent duplicating messages in Admin Panel.
COMPATIBILITY - Dynamic Image Support is now part of the core.
COMPATIBILITY - Google App Engine is now part of the core. Automatically enables Stateless mode when Google App Engine detected. Can be disabled using WP_STATELESS_COMPATIBILITY_GAE constant.
COMPATIBILITY - Removed compatibility with “Advanced Custom Fields: Image Crop Add-on”, because plugin is deprecated.
COMPATIBILITY - Removed compatibility with “VidoRev” plugin.
COMPATIBILITY - Removed compatibility with “WP Retina 2x” plugin.
ENHANCEMENT - Updated Client library for Google APIs from 2.15.0 to 2.15.1.
ENHANCEMENT - Updated Meta Box library from 5.6.3 to 5.8.2.
ENHANCEMENT - Updated Meta Box Tabs to version 1.1.17.
ENHANCEMENT - Updated PHP JWT library from 6.6.0 to 6.9.0.
3.2.5
FIX - Folder setting does not allow custom structure #608.
FIX - Stateless mode Incompatible with Inline Uploader #675.
FIX - html tags incorrectly applied in notice #680.
ENHANCEMENT - Add WP_STATELESS_SKIP_ACL_SET for skip ACL set for GCS #625.
COMPATIBILITY - Add support for The Events Calendar #599.
ENHANCEMENT - Notification for the administrator about finished synchronization. GitHub issue #576.
FIX - Fixed an issue with PDF thumbnails. GitHub issue #577.
FIX - Fixed an issue with synchronization in Stateless mode. GitHub issue #575.
COMPATIBILITY - Changed the way compatibility files are stored on Multisite. GitHub issue #588.
3.1.0
NEW - Completely rewritten the synchronization tool. GitHub issue #523.
NEW - New configuration constant WP_STATELESS_SYNC_MAX_BATCH_SIZE. Sets the maximum size of a background sync batch of items to be saved in a single row in the database. More details.
NEW - New configuration constant WP_STATELESS_SYNC_LOG. Sets a path to a log file where to output logging information during the background sync. More details.
NEW - New configuration constant WP_STATELESS_SYNC_HEALTHCHECK_INTERVAL. Defines an interval in minutes for a cron task that periodically checks the health of a particular background sync process. More details.
FIX - Fixed an issue when original files were not deleted from the server in the Ephemeral mode. GitHub issue #484.
FIX - Fixed an incorrect behavior of image srcset attribute in the Backup mode. GitHub issue #558.
FIX - Fixed incorrect Compatibilities behavior when Bucket Folder is set. GitHub Issue #368.
FIX - Other minor fixes.
2.2.5
NEW - Added ability to start sync process from specific Attachment ID. GitHub Issue #360.
COMPATIBILITY - Added compatibility support for LiteSpeed Cache plugin. Especially to support optimized .webp images. GitHub Issue #357.
FIX - Other minor fixes.
2.2.4
NEW - Added new filter wp_stateless_skip_add_media. Allows skipping synchronization of the media object with GCS depending on custom condition. GitHub Issue #344.
FIX - Fixed read only for Service Account JSON if constant or environment variable is defined.
FIX - Override default cache control.
FIX - Fixed custom domain bucket support with setup assistant.
FIX - Improved support for wp_calculate_image_srcset.
FIX - Synchronizing non-image files will now delete the local copy.
NEW - Support for GOOGLE_APPLICATION_CREDENTIALS environment variable.
NEW - Added bucket region option to setup assistant.
NEW - Added custom file type support for File URL Replacement setting.
NEW - Added failover to image url when not found on disk for sync tool.
ENHANCEMENT - updated service account role to Storage Object Admin.
2.0.3
FIX - Fixed Fatal Error which was occurring on WordPress Multisite after upgrading plugin from 1.x to 2.x.
ENHANCEMENT - Improved support of PDF files.
2.0.2
FIX - Fixed Fatal Errors which were caused by using PHP 5.4 and less.
FIX - Fixed Fatal Error which was caused on Media page when WP Smush Pro plugin is activated.
FIX - Fixed detection of plugin files paths. The issue was occurring on installations with custom file structures ( e.g. Bedrock platform ).
FIX - Fixed redirection URL to Setup Wizard on plugin activation.
ENHANCEMENT - Updated the minimum requirements for PHP to 5.5 to prevent fatal errors and possible warnings.
2.0.1
ENHANCEMENT - Added compatibility with Google SDK v1.x version to prevent conflicts with third-party plugins.
ENHANCEMENT - Added warning message if old Google SDK version is loaded by third-party plugin.
2.0.0
NEW - Added stateless mode.
NEW - Dedicated settings panel.
NEW - Setup assistant for initial plugin activation.
NEW - Support for replacing default GCS domain with a custom domain.
ENHANCEMENT - Expanded network setting overrides.
ENHANCEMENT - Expanded wp-config constants.
ENHANCEMENT - Relocated synchronization and regeneration tools to the new settings panel.
1.9.2
ENHANCEMENT - Added ability to modify default bucket link via ‘wp_stateless_bucket_link’ filter.
ENHANCEMENT - Added checking of connection to GCS once per four hours instead of doing it on every page load.
ENHANCEMENT - Google SDK was moved from vendor dir. So it’s not loaded on every page load anymore, but only when it’s required.
ENHANCEMENT - Updated Composer Autoload logic.
ENHANCEMENT - Reverted all changes included to 1.9.1 version because of conflicts.
1.9.0
Added new ability to define cacheControl for remote objects.
Added new option that adds random hashes to file names.
1.8.0
Added the ability to regenerate and synchronize separate Media file from the list.
Added the ability to regenerate and synchronize Media file from edit screen.
Fixed the issue on multisite setup (switch_to_blog now works as expected).
Performance fixes.
UI cleanup.
1.7.3
Added ability to fix previously failed items.
1.7.1
Migrated from p12 to JSON.
New feature of media sync.
New option Root Directory.
Optimized uploading process.
Other options.
1.7.0
Fixed conflict with SSL forcing plugin.
1.6.0
Plugin Updates ability added.
WordPress 4.4 compatibility fixed.
Post content filter fixed.
1.5.0
Migration into wp-stateless from wp-stateless-media.
Version bump to resolve bucket permissions issues.
1.3.2
Fixed issue with wp_normalize_path causing a fatal error on older installs.
Removed $_SESSION usage for transients.
1.3.1
Added ability to upload non-images to bucket.
Fixed issue with running batches in WP CLI
1.3.0
Added WP CLI functionality.
Added WP CLI command to move all legacy meta data to serialized array.
Changed the way of storing SM cloud meta data.
1.2.0
Added Imagemagic/GD check to warn admin that thumbnails will not be generated.
Added mediaLink, mediaLink and id storage for uploaded objects.
Added support for cacheControl with default settings based on Mime type of upload.
Added sm:item:cacheControl and sm:item:contentDisposition filters.
Cleaned-up metadata that is made available to GCS and visible in response headers.
Removed app_name, using blog domain name automatically.
Added Cache Control to media editor.
1.1.0
Added support for WP_STATELESS_MEDIA_MODE.
Renamed constants STATELESS_MEDIA_SERVICE_ACCOUNT_NAME and STATELESS_MEDIA_KEY_FILE_PATH to WP_STATELESS_MEDIA_SERVICE_ACCOUNT and WP_STATELESS_MEDIA_KEY_FILE_PATH.
1.0.2
Added a view link to media edit page for synchronized items.
Added some wp_get_attachment_image dynamic attributes.
1.0.1
Added Network Management option.
Added support for WP_STATELESS_MEDIA_SERVICE_ACCOUNT_NAME and WP_STATELESS_MEDIA_KEY_FILE_PATH.
1.0.0
Set branch to v1.0.
Removed autocompletion from Email Address and Application Name fields.
Moved lib/classes into just lib.
Rename class-Bootstrap.php to be lowercased.
Added composer/installers to composer.json ‘required’ dependencies.
Rename stateless-media.php to wp-stateless-media.php so there aren’t unexpected plugin basename issues.
Change package name to wp-stateless-media in package.json
Rename ‘wpCloud/wp-stateless-media’ to ‘wpcloud/wp-stateless-media’ in composer.json, Composer does not allow uppercase names.