v0.13.8
Enhancement
Breaking Change
v0.13.8 - Canonical custom domains and asset filenames
Custom domains are canonical, globally unique hostnames; blueprint handles are unique per account; every asset gets a filename.
Breaking Changes
This release contains breaking changes. Please review the migration guide below before upgrading.
Changes
- Custom domains: hostnames are trimmed, lowercased and stripped of a trailing dot before saving, and one hostname can belong to only one account platform-wide.
domains_saveon a hostname another account holds now returns a clear error instead of creating a second row. Punycode (xn--) hostnames are now accepted; a Unicode hostname is rejected with itsxn--form named in the message. - Blueprint handles are unique per account at the database level. Two concurrent
blueprints_savecalls for the same new handle now converge on one record instead of one failing. - Assets: a blank filename is derived from the uploaded file and made unique within its folder (
logo (1).png). The 18 nameless assets in production were named from their files.
Fixes
- Uploading the same image name twice in an account no longer leaves a second, nameless asset behind.
Migration Guide
domains_save now rejects Unicode hostnames (send the xn-- A-label) and hostnames already held by another account. Hostnames are stored lowercased; compare case-insensitively if you cache them.