v0.13.5
Enhancement
Breaking Change
v0.13.5 - Identity constraints for assets, fields, values and paths
Asset paths, blueprint field handles, stored values and content paths are now unique at the database level, and collections_save no longer shares one blueprint between collections.
Breaking Changes
This release contains breaking changes. Please review the migration guide below before upgrading.
Changes
- Assets:
(path, filename)is unique per account, enforced by the database. Uploads from imports and background jobs are no longer rejected because a different account holds the same filename. - Blueprint fields: handles are unique within a blueprint, and every field must have a handle and a registered type.
- One stored value per field per entry, enforced by the database.
- Content paths: one URL per account and one path per entry. An entry whose new path would collide with an existing one keeps its previous URL and logs the clash.
collections_save: naming ablueprint_handlesentry that another collection already owns is now refused and reported inmissingwith the owning collection, instead of silently sharing the schema between collections.collections_delete,navigations_deleteandglobals_deleteleave a blueprint another owner still claims in place and return the retained handles in the response, rather than failing with an internal error.- Custom domains: a platform surface (
app,api,authunder a platform apex) or another account's subdomain can no longer be claimed as a custom domain.
Migration Guide
collections_save with a blueprint_handles entry owned by another collection now returns the handle in missing. To reuse a schema, create a copy under a new handle with blueprints_save and attach that instead.