PyroCMS v3.5 and v3.6-alpha

Ryan Thompson Releases


PyroCMS v3.5 introduces a hefty versioning utility, entry modification locks, and now comes out of the box with the Blocks module for managing content.

Try it out!

composer create-project pyrocms/pyrocms

Read More

PyroCMS v3.6-alpha

We are also releasing an alpha of the next version of Pyro at this time. This is a 100% backwards compatible release that focuses entirely on performance.

Try it out!

composer create-project pyrocms/pyrocms:3.6.x-dev

Database Cache

https://pyrocms.com/documentation/streams-platform/1.5/database/query-builders#caching-queries

v3.6 comes with CP controls for enabling database query caching and there have been a number of fixes around the database caching layer.

When enabled Pyro will automatically cache unique queries, manage garbage collection, and bust cache when data changes. The API allows bypassing this feature as desired.

View Cache Prefixes

https://pyrocms.com/help/developer-tools/cache/caching-in-twig

We've improved cache key generation when passing an array containing a prefix and the dataset to use for key generation:

{% cache ['extra_prefix', posts] 60*24 %}
    ...
{% endcache %}

This can be used to cache content using the exact same dataset as a key generator in multiple areas of the site.

HTTP Cache

https://pyrocms.com/documentation/streams-platform/1.5/the-basics/httpcache

Last but certainly not least v3.6 comes with a built in HTTP cache. The cache stores the response as a static file and returns the file until cache for the unique path is purged, it expires as defined by TTL, or cache is cleared / disabled.

The HTTP cache intercepts requests at the kernel level and serves cached files before the application boots up making responses incredibly fast.

Settings can be used to configure the default TTL, exclusion rules, as well as per-path timeout rules. Making it easy to continue to serve dynamic content or even use an include-only cache strategy.

This is the first in a number of planned releases focused on performance and stability.

Alpha Status

I am going with an alpha because I would like to reserve the right to change the API as needed or possibly break things. I also need time to patch other PRO/community addons to properly manage edge case caching situations. I do not expect this release cycle to take long at all! Expect a beta in a couple weeks and a stable release early December.

Upgrading

To upgrade simply copy the composer.json requirements from the 3.6 branch's composer file to your project and update. Lastly mirror the changes t the public/index.php file highlighted here: https://github.com/pyrocms/pyrocms/blob/3.6/public/index.php#L50-L60

No migrations needed. I will tweet about updates to first-party addons that need patching for HTTP cache management. Currently the API Module has been updated as well as all of the default core addons.

Enjoy!

- Ryan


No Comments


Please login to leave a comment.