Triggers now accept conditions on specific fields
Before, triggers only fired on create/update/delete of a resource. Now you can condition on "if field X changed from A to B" — useful to react only to status changes, for example.
Here you follow features, improvements and fixes applied to the features. Filter by type or feature to find what matters.
Before, triggers only fired on create/update/delete of a resource. Now you can condition on "if field X changed from A to B" — useful to react only to status changes, for example.
When a field is tag-restricted, it is now also omitted in list responses (GET /resources), not only in single GET. Behavior is consistent across routes.
Calls to external APIs configured in the project now use exponential backoff (1s, 2s, 4s) instead of immediate retry. Reduces pressure on the target API during instability.
A field can now reference another resource in the same project. E.g. Invoice.customer points to the Customer resource. The API expands it automatically when you pass ?expand=customer in the request.
In case of incident, you can invalidate every token issued before a given date with a single call. Newly issued tokens stay valid. Useful for key leaks or session compromise.
Sorting like ?sort=-due_date in list endpoints could return 500 when the resource had old records with the field empty. Null values are now handled correctly.
Projects can now be hosted in Australia, Singapore and South Africa, totaling 7 countries across 4 continents.
On top of free weekly backup and paid daily backup, hourly backup is now available from the console. Useful for high-churn projects where recovering the last hour matters.