mirror of
https://github.com/trailbaseio/trailbase.git
synced 2026-05-21 00:40:12 -05:00
Prepare new release v0.14.0.
This commit is contained in:
@@ -1,3 +1,17 @@
|
||||
## v0.14.0
|
||||
|
||||
* Allow truly random UUIDv4 record IDs by relying on AES encrypted `_rowid_`s
|
||||
for cursors. UUIDv7, while great, has the problem of leaking creation-time.
|
||||
* Note: the encryption key for cursors is tied to the instance lifetime, i.e.
|
||||
they cannot be used across instance restarts (at least for now).
|
||||
* Move user ids to UUIDv4 by default to avoid leaking user creation-time.
|
||||
* A bundled schema migration will update the PK to allow any UUID type, this is
|
||||
mostly to allow for existing users with UUIDv7 ids to continue to exist.
|
||||
* We expect this change to be transparent for most users but may break you,
|
||||
if you're relying on user ids being of the UUIDv7. Sorry, we felt this was an
|
||||
important change and wanted to rip off the band-aid. If you're having issues
|
||||
and are unsure on how to address them, please reach out and we'll help.
|
||||
|
||||
## v0.13.3
|
||||
|
||||
* Improve RecordAPI settings sheet with tabs, help text, and curl examples.
|
||||
|
||||
@@ -13,8 +13,8 @@ TrailBase's restful CRUD _Record APIs_ allow you to access your `TABLE`s and
|
||||
- Tables and views need to be `STRICT`ly[^1] typed to guarantee type-safety all the
|
||||
way from your records, via JSON schema, to your client-side language bindings [^2].
|
||||
- They need to have a sequential primary key column to allow for stable sorting
|
||||
and thus efficient cursor-based pagination. Either an explicit `INTEGER` or
|
||||
UUIDv7 `PRIMARY KEY` will do, including `FOREIGN KEY` columns.
|
||||
and thus efficient cursor-based pagination. Either an explicit `INTEGER`,
|
||||
UUIDv4 or UUIDv7 `PRIMARY KEY` will do, including `FOREIGN KEY` columns.
|
||||
|
||||
## Configuration
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ CREATE TABLE IF NOT EXISTS movies (
|
||||
```
|
||||
|
||||
Note that the only schema requirement for exposing an API is: `STRICT` typing
|
||||
and an integer (or UUIDv7) primary key column.
|
||||
and an integer, UUIDv4 or UUIDv7 primary key column.
|
||||
|
||||
The main benefit of relying on TrailBase to apply the above schema as migrations
|
||||
over manually applying the schema yourself, is to:
|
||||
|
||||
Reference in New Issue
Block a user