Servd Assets and Helpers icon

Servd Assets and Helpers

Version 2.10.7

March 12, 2024

Fixed

  • Fixed a bug when purging static cache URLs with no defined path

Version 2.10.6

February 13, 2024

Updated

  • Added rawurlencoding to custom file pattern URLs to match non-custom handling

Version 2.10.5

February 13, 2024

Fixed

  • Fixed an issue where parentheses in v3 asset filenames would cause the image to fail to load.

Version 2.10.4

November 30, 2023

Fixed

  • Fixed an order of execution bug when integrating the Servd Plugin with Blitz

Version 2.10.3

November 20, 2023

Added

  • Added a CLI command to convert accent modifier characters in asset filenames in the database to their equivalent absolute accented characters as is used by the S3 protocol.

Version 2.10.2

November 7, 2023

Updated

  • Normalise any accent modifier characters in asset filenames which upset our Asset Platform storage provider's API

Version 2.10.1

October 26, 2023

Fixed

  • Ampersands in filenames of assets are now encoded to prevent security token hash mismatches

Version 2.10.0

September 19, 2023

If you are using {% dynamicInclude %} twig tags, you will need to clear any static caches to regenerate their HTML with this update.

Updated

  • Improve security of dynamic include calls

Version 2.9.8

September 14, 2023

Updated

  • Increased the timeout when contacting the Servd Asset Platform to obtain a token
  • Removed a url encoding which would break asset urls with a rev query param

Version 2.9.7

July 31, 2023

Fixed

  • Fixed an incompatibility between Asset Platform V3 and ImagerX integration when Imager is passed a URL as a string (like it is when retcon is transforming images)

Version 2.9.6

June 13, 2023

Fixed

  • Fixed a reference to a const which has recently been removed which broke the ImagerX storage adapter

Version 2.9.5

May 25, 2023

Fixed

  • A little fix to handle an unexpected code path when a Servd Volume is instantiated before Craft has bootstrapped

Version 2.9.4

May 22, 2023

Fixed

  • Fixed a couple of bugs when syncing assets between asset platform V3 and the local filesystem

Version 2.9.3

May 15, 2023

Added

  • Added additional request validation for dynamicInclude endpoint to prevent annoying exceptions being thrown by bots

Version 2.9.2

May 3, 2023

Fixed

  • Removed all URL encoding in transform URLs, it was upsetting things

Version 2.9.1

May 3, 2023

Fixed

  • Fixed a URL encoding issue involving @ characters in asset file names which caused 401 security token errors to be returned.

Version 2.9.0

April 29, 2023

Version 2.8.6

April 16, 2023

Added

  • Support for fillmax image transform mode

Version 2.8.5

April 13, 2023

Fixed

  • Fix a bug when pulling or pushing the database but the local DB's password is empty

Version 2.8.4

February 20, 2023

Fixed

  • Fix for the cookie SERVD_LOGGED_IN_STATUS was not cleared as expected when using a wildcard cookie domain.

Version 2.8.3

February 14, 2023

Updated

  • The plugin's CSRF token and dynamic content injection JS functions can now be deferred and executed manually to avoid collisions with other ajax requests which might run on intial page load (causing csrf session issues).

Version 2.8.2

December 19, 2022

Added

  • Servd's Imager-X integration will now play nicely with RetCon modified img tags, including srcset

Version 2.8.1

December 14, 2022

Fixed

  • Fixed an edge case which could result in static cache purges getting stuck in a redirect loop

Version 2.8.0

December 5, 2022

Added

  • You can now disable automatic image format conversion if webp isn't treating your images nicely
  • Alternatively, you can now use AVIF as your auto-format of choice (check the plugin's settings for the new option)

Version 2.7.7

November 1, 2022

Fixed

  • Set the $handled property on asset url events to prevent Craft undoing our good work

Version 2.7.6

October 21, 2022

Fixed

  • Use correct action URLs when a site is using a subfolder basepath

Version 2.7.5

October 12, 2022

Fixed

  • Detection of video files updated to work when custom filetype definitions are included in general.php

Version 2.7.4

October 5, 2022

Updated

  • Cleaned up some static cache busting code which was no longer needed

Version 2.7.3

September 15, 2022

Fixed

  • Avoid purging URLs via Ledge that don't have a recognisable hosts.

Version 2.7.2

September 15, 2022

Fixed

  • Skip purging null URLs

Version 2.7.1

September 14, 2022

Fixed

  • Added the 'development' environment to the list of valid Servd environments for pushing/pulling databases and assets

Version 2.7.0

August 17, 2022

Added

  • Added an integration with Blitz to allow it to make use Servd's static cache as a caching reverse proxy. This allows you to use the speed and throughput of the Static Caching layer, whilst keeping all of your cache configuration and functionality within Blitz. Servd + Blitz Docs

Version 2.6.6

August 6, 2022

Added

  • Added a tweak to Yii's Redis session management to make it work in the way everyone expects. The PHP session's TTL is now reset whenever is is opened, which prevents the session from expiring after a specific length of time. It now expires after a specific period of user inactivity which will also shortly be configurable via the Servd dashboard.

Version 2.6.5

July 6, 2022

Fixed

  • Fixed a bug when rendering a non-image file with the Image Optimize integration.

Version 2.6.4

June 20, 2022

Fixed

  • Fixed a bug when manually clearing the static cache using a Commerce Product's 'tag'

Version 2.6.3

June 3, 2022

Fixed

  • Fixed a bug when using an environment variable as the 'subfolder' on a Servd Volume

Version 2.6.2

May 26, 2022

Fixed

  • Fallback to the defaultImageQuality config variable if no image quality is specified when defining a transformation.

Version 2.6.1

May 26, 2022

Fixed

  • Apply stricter checks when hydrating dynamicInclude contexts

Version 2.6.0

May 19, 2022

Updated

  • Feed Me logs now work as originally intended, browsable in the Craft CP, even when running on a load balanced infra or in an isolated task runner

Version 2.5.5

May 1, 2022

Fixed

  • Fixed a bug which could cause an infinite loop when clearing tagged urls from the static cache

Version 2.5.4

April 20, 2022

Added

  • The local db push command now runs a MySQL optimize command to fix any indexes that were corrupted during the import

Version 2.5.3

April 11, 2022

Added

  • Support for video on the Asset Platform

Fixed

  • Don't break filename icons for non image files in the Craft CP assets view
  • Additional fixes for yii debug bar's recent changes

Version 2.5.2

April 7, 2022

Fixed

  • Fixed an incompatibility with the latest release of yii2-debug which changed the way data is serialised, breaking our debug logs redis target.

Version 2.5.1

February 25, 2022

Changed

  • The option to skip the cache for logged in users now differentiates between users who have cp access and not - so front-end-only users don't have to have all static caching disabled when they log in.
  • Background tasks for static cache purges now have a priority of 1025 in order to try to get them to run after more important things as they sometimes can take quite a while.

Version 2.5.0

January 28, 2022

Added

  • Added an optional integration with the feed-me plugin to allow feed logs to be pushed to standard log output. This allows Servd to collect and display them using its normal log aggregation services

Updated

  • Rearranged the plugin settings page so that it's a little more organised
  • Removed README content and added a link to the relevant Servd docs page

Version 2.4.20

January 27, 2022

Updated

  • Significantly improve the performance of tag-based static cache clearing for sites with a very large number of unique URLs

Version 2.4.19

January 25, 2022

Updated

  • Fire an event in JS when CSRF tokens have been loaded into the DOM if using static caching

Version 2.4.18

January 24, 2022

Updated

  • Ensure objects passed into {% dynamicInclude %} contexts, that do not have an id set, are removed (because they can't be rehydrated later)
  • Craft CMS Hosting on Servd

Version 2.4.17

January 18, 2022

Fixed

  • 2.4.16 caused another bug when multiple blocks were loaded onto the same page. Now fixed.

Version 2.4.16

January 18, 2022

Fixed

  • Fixed a bug which caused only a subset of dynamicInclude blocks to be included in the dynamicLoaded JS event.

Version 2.4.15

January 7, 2022

Fixed

  • Fixed a bug (recently introduced by changes to users and permissions in Servd's nginx processes) which prevented static cache purges from working as expected in some circumstances.

Version 2.4.14

January 6, 2022

Updated

  • Changed the download timeout when syncing assets to/from local volumes to 300 seconds instead of the previous 30 seconds.

Version 2.4.13

January 3, 2022

Fixed

  • Image transforms alignments using the (e.g.) 'top-left' syntax were being ignored in Servd asset transform URLs. Now they are not.

Version 2.4.12

December 28, 2021

Fixed

  • Twig extensions were only being registered for 'site' requests which caused problems when rendering templates from a CLI command. This is now fixed.

Version 2.4.11

December 15, 2021

Updated

  • The event which fires when the plugin has loaded in any {% dynamicInclude %} content now includes a list of all the blocks which have been added to the DOM, allowing you to target them in JS and do things with them (like init alpine JS objects etc).

Version 2.4.10

November 25, 2021

Updated

  • Allowed Servd powered ImagerX transforms to work when passed an existing ImagerX model instead of an Asset. Not sure why you'd do it, but folk do, and now they can.

Version 2.4.9

November 18, 2021

Updated

  • Added a timeout to the redis connection which clears Servd's static cache. There are now some legitimate situations in which these components might not exist all of the time, but PHP doesn't necesserily know about it.

Version 2.4.8

October 20, 2021

Updated

  • Disabled SEOMatic's automatic meta inclusion in templates generated by dynamicInclude - they aren't needed and slow things down

Version 2.4.7

October 20, 2021

Fixed

  • Fixed an issue with dynamicInclude blocks which are placed within a loop

Version 2.4.6

September 17, 2021

Fixed

  • Bug fix for projects which don't have commerce installed

Version 2.4.5

September 15, 2021

Fixed

  • A variable check error introduced in 2.4.4 #28

Version 2.4.4

September 15, 2021

Updated

  • Added the Servd Static Cache clear button to commerce product pages

Version 2.4.3

September 10, 2021

Added

  • Added a --skipDelete flag for preventing deletion of assets when cloning up or down from the local filesystem.

Version 2.4.2

September 3, 2021

Updated

  • Added a link to the Servd SMTP docs when the sendmail CP alert is shown. This provides information on why sendmail is disabled and also actionable alternative.

Version 2.4.1

August 27, 2021

Added

  • You can now disable image asset transforms and optimisations with a plugin setting. This can be useful if you're using another plugin or service to perform the necessary transforms and you only require the original image's URL.

Version 2.4.0

July 12, 2021

Added

  • You can now specify 'placeholder' on the 'dynamicInclude' tag, and combine with the 'endDynamicInclude' tag, in order to display placeholder content which is visible during dynamic content loading.

Version 2.3.3

July 9, 2021

Fixed

  • Fixed a bug with dynamicIncludes which prevented the plugin from automatically detecting the availability of ESI

Version 2.3.2

June 14, 2021

Fixed

  • Fixed a bug with dynamicIncludes which would strip certain values from context arrays if their keys matched values from Craft's global context

Version 2.3.1

June 11, 2021

Fixed

  • When the static cache is cleared, also clear all associated metadata. This ensures any cached 301/302 redirects are purged.
  • dynamicInclude blocks whose responses contain multiple top level nodes no longer break things.

Version 2.3.0

May 6, 2021

Added

  • Support for super simple dynamic content in combination with static caching. Also supports zero-config ESI dynamic content if avaialble on Servd

Version 2.2.6

April 26, 2021

Updated

  • Updated the static cache clear button to purge all URLs associated with an entry, rather than just the one for the default site

Version 2.2.5

April 12, 2021

Updated

  • Altered the method used to detect whether users are logged in when deciding whether or not to skip the static cache for those users

Version 2.2.4

March 31, 2021

Fixed

  • Fixed the 2.2.3 fix which didn't fix the thing it was supposed to fix

Version 2.2.3

March 30, 2021

Fixed

  • Fixed a bug when using a mysql 8 client to locally to pull database dumps from Servd

Version 2.2.2

March 25, 2021

Fixed

  • Tweaked a couple of control panel routes which were throwing access denied errors for non-admin users.

Version 2.2.1

March 23, 2021

Updated

  • Remove composer.json version constraint which was added to prevent an AWS SDK bug from being downloaded (which is now fixed)

Version 2.2.0

March 22, 2021

Added

  • Added local development tooling

Fixed

  • Constrained AWS SDK version to prevent the bugged 3.175 update from being used

Version 2.1.16

March 8, 2021

Updated

Version 2.1.15

March 5, 2021

Updated

  • Improved warnings and error messages for problems with Servd's asset platform

Version 2.1.14

March 2, 2021

Added

  • Allow Servd's warning banners in the Craft control panel to be suppressed

Version 2.1.13

February 10, 2021

Updated

  • Purge URLs in batches of 50 to ensure the Craft queue doesn't get clogged up when large purge requests are triggered
  • Only track static cache tags on URLs which are actually going to be cached

Version 2.1.12

February 9, 2021

Updated

  • Include the triggers for cache purges in the background task for informational purposes

Version 2.1.11

February 5, 2021

Fixed

  • Do not track static cache tags against pages which return a non-200 response code, they won't get cached anyway

Version 2.1.10

February 4, 2021

Added

  • Compatibility with optional GET param inclusion in static cache keys

Updated

  • Improved cache tag garbage collection

Version 2.1.9

February 3, 2021

Updated

  • Further improvements to static cache tagging performance

Version 2.1.8

February 3, 2021

Fixed

  • Fixed a bug which was causing more tags to be associated with statically cached URLs than necessary.

Version 2.1.7

February 3, 2021

Updated

  • Batched redis commands during url <-> tag associations
  • Deduplicated static cache tags

Version 2.1.6

February 3, 2021

Fixed

Version 2.1.5

February 3, 2021

Fixed

  • Prevented the S3 URL structure from being mangled by any other competing configurations

Version 2.1.4

February 1, 2021

Fixed

  • Removed use of a deprecated redis call

Version 2.1.3

January 28, 2021

Added

  • Manual control panel button for clearing individual Entries from the static cache
  • Protected against a potential error when an asset is deleted while another CP user is doing things

Version 2.1.2

January 21, 2021

Fixed

  • Fixed a bug when using full purge static caching and saving a Craft Section

Version 2.1.1

January 21, 2021

Fixed

  • Fixed an upgrade path error from V1 to V2.1

Version 2.1.0

January 21, 2021

Added

  • Automatic, tag based static cache invalidation

Deprecated

  • CLI command clear-caches/servd-asset-storage use clear-caches/servd-static-cache instead

Removed

  • Handling of filesystem based static cache which is no longer used

Version 2.0.7

January 20, 2021

Fixed

  • Fixed a bug which prevented the settings property from being accessed on a Servd Assets Volume

Version 2.0.6

January 10, 2021

Fixed

  • Fixed a bug which prevented the CDN cache being invalidated for non-image assets when the volume used a subfolder.

Version 2.0.5

January 5, 2021

This update contains a migration which attempts to maintain any existing custom domains which you have used in previous versions of the plugin. Please double check your volume settings after updating to make sure that this migration has had the intended effect.

Added

  • You can now define fully custom URL structures for source files and optimised images which make use of custom domains. You'll need to provide your own logic (in a Cloudflare worker or Lambda@edge) to proxy this request and convert the URL structure back to Servd's expected format.

Updated

  • Servd asset volumes are now forced to use the correct Base URL to avoid incorrect settings for this value

Version 2.0.4

December 14, 2020

Added

  • The data for the Yii2 Debug Bar will be stored in Redis instead of the filesystem, allowing it to work on ephemeral or load balanced environments.

Version 2.0.3

December 14, 2020

Added

  • You can now clear the CDN cache for the Servd Assets Platform by clicking a button in the Craft CP. This will cause any image transforms to be re-applied and any caches for original files will be destroyed.

Version 2.0.2

November 30, 2020

Fixed

  • CORS tokens were being injected into pages even when they were disabled. These overexicted tokens are now firmly back under control.

Version 2.0.1

November 13, 2020

Fixed

  • Graceful handling of a situation in which the $SERVD_ASSETS_ENVIRONMENT is explicitly set in the plugin settings, but the env var doesn't actually exist
  • Fixed display of a control panel alert which prompts user to add appropriate plugin settings

Version 2.0.0

November 8, 2020

Added

  • ImageOptimize support for Servd assets platform
  • ImagerX support for Servd assets platform (requires ImagerX Pro)
  • Control panel warnings for Servd related misconfigurations

Updated

  • Large code refactor to plan for upcoming new features
  • Moved Servd Project Slug and Security Key config param to plugin settings instead of volume settings

Fixed

  • Some things that previously broke, but nobody noticed 🤫
  • No default env var fallback for $SERVD_ASSETS_ENVIRONMENT (#11)

Removed

  • Support for Servd's legacy asset platform

Version 1.3.12

October 17, 2020

Fixed

  • Fixed a bug introduced with Craft 3.5 which prevents assets being downloaded from the control panel

Version 1.3.11

September 11, 2020

Updated

  • Only asynchronously load CSRF tokens if there's an element on the page which will actually use it. Reduces precious PHP executions for statically cached sites.

Version 1.3.10

September 10, 2020

Fixed

  • Optimised assets with special characters in their filename were generating an incorrect security token because of some url encoding things. That is now longer the case and everyone can now safely include spaces, copyright symbols or aubergine emojis in their filenames.

Version 1.3.9

September 3, 2020

Added

  • Ability to override the automatically detected environment for assets. This allows, for E.G., developers to use the assets stored in their production environment whilst working locally.

Version 1.3.8

September 3, 2020

Fixed

  • Fixed a typo in the plugin settings

Version 1.3.7

August 25, 2020

Added

  • Ability to disable automatic static cache clearing or restrict it to only occur when entries are saved as part of a control panel request.

Version 1.3.6

August 7, 2020

Added

  • Ability to replace the domain used for optimised images. This allows the use of custom domains for assets stored within the Servd Assets Platform. Read how.

Version 1.1.0

August 9, 2019

Added static cache busting on element updates (beta)

Version 1.0.0

June 30, 2019

Initial release.