Cache-Control for assets, faster related_records, asset URL cache invalidation, authorization policies by name, Instance Clone improvements
May 19, 2026
NEW
-
cache_controlargument foradmin_assets_createandadmin_asset_updatemutations: When provided, the value (for examplemax-age=31536000, public) is stored in the asset'smetadataand applied as theCache-Controlheader on the underlying object in the file storage provider (S3, R2, etc.), allowing CDNs and browsers to cache assets according to your policy. -
authorization_policiesargument foradmin_page_createandadmin_page_updatemutations: Authorization policies can now be associated with a page by name (the same identifier used in Liquid frontmatter, e.g.page_policyormodules/my_module/page_policy), in addition to the existingauthorization_policy_ids. Names and ids can be combined; all provided names must resolve to existingAuthorizationPolicyrecords.
IMPROVED
-
Faster
related_records: Reduced object allocations inrelated_records, improving performance up to 4x. -
Asset cache invalidation now per-instance: Changed the internal implementation of cache invalidation for assets. The
updated=...query parameter appended by theasset_url(andasset_path) filter is now derived from a per-instanceassets_updated_attimestamp that is bumped whenever assets change, instead of being derived per asset. This means all asset URLs are invalidated together when any asset is updated, ensuring CDN caches stay consistent. -
Deprecated
urlargument inadmin_assets_create: Asset URLs are now derived from the assetnameand the per-instance CDN, so the argument is ignored. Upload bytes viaadmin_assets_presign_urlsfirst, then calladmin_assets_createwithout theurlargument. The argument will be removed in a future release. -
Batched page loading on deploy: Pages are now loaded in batches during deploy, providing better support for very large deploys - particularly those containing pages generated by Static Site Generators (SSG).
-
Faster Instance Clone asset dump: The asset manifest step of
pos-cli cloneis significantly faster, reducing the time spent in the export phase of cloning instances with large numbers of assets. -
InstanceClone could leave the target instance's clone record in
pendingindefinitely when export failed (for example due to an oversized file): Failures are now surfaced cleanly as a terminalfailedstatus with a sanitized error message, sopos-clipolling resolves instead of hanging.