↑ ↓ to navigate
↵ to select
esc to close
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_save on 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 its xn-- form named in the message.
  • Blueprint handles are unique per account at the database level. Two concurrent blueprints_save calls 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.