Skip to content

Commit 0a68761

Browse files
committed
Prepare new release v0.24.0.
1 parent 866ae62 commit 0a68761

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

CHANGELOG.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,41 @@
1+
## v0.24.0
2+
3+
- TrailBase received first-class support for geometric/geospatial data and querying 🎉
4+
- We published [`LiteGIS`](https://github.com/trailbaseio/LiteGIS), an in-house GEOS SQLite extension.
5+
It's early days but we hope for this to become useful to folks beyond TrailBase.
6+
Alternatively check out the amazing `SpatiaLite`.
7+
- TrailBase recognizes columns tagged as `CHECK(ST_IsValid(_))`, e.g.:
8+
```sql
9+
CREATE TABLE table_with_geometry (
10+
id INTEGER PRIMARY KEY,
11+
geometry BLOB CHECK(ST_IsValid(geometry))
12+
) STRICT;
13+
14+
INSERT INTO table_with_geometry (geometry) VALUES (ST_MakeEnvelope(-180, -90, 180, 90));
15+
```
16+
and updates its API/JSON schemas to expect and produce GeoJSON `Geometry` objects.
17+
- Internally geometries are represented in the "Well Known Binary" format (WKB). This enables `INDEX`es to accelerate filtering based on certain geometric relationships, see next.
18+
- The spatial filter operators `@within`, `@intersects` and `@contains` were added to the list API to allow filtering on spatial relations like:
19+
- List records with bounding boxes that contain my point.
20+
- List records with points, lines or polygons intersecting my bounding box.
21+
22+
Reference geometries are specified in the "Well Known Text" (WKT) format, e.g. `?filter[geometry][@contains]=POINT (11.393 47.268)`.
23+
All clients were updated to support these new filter relations.
24+
- Using the new list query parameter `?geojson=<geo_column_name>` will return a GeoJSON `FeatureCollection` directly instead of a `ListResponse`.
25+
The geometry of the collection's features is derived from the column specified by `<geo_column_name>`.
26+
- The admin UI parses a geometry column's WKB and displays readable WKT but doesn't yet support convenient WKT insertion.
27+
Similarly clients don't aid in the construction of WKT parameters, this is left to the user, however WKT libraries exist in most languages.
28+
- Thanks for making it to here 🙏 - would love to hear your input.
29+
- For visibility, other notable changes since the prior major release:
30+
- Much improved admin UI: better maps and stats on the logs page, improved accounts page, tables handle the loading state to reduce layout jank, ...
31+
- Allow change subscriptions via WebSockets in addition to SSE.
32+
- Support `bcrypt` password hashes for auth. Support importing auth data from Auth0: `trail user import --auth0-json=<file>`.
33+
- The goal is to provide more horizontal mobility, i.e. reduce lock-in, by allowing auth in and export.
34+
- Make TrailBase's SQLite extensions available standalone to reduce lock-in, see `/crates/extensions-so`.
35+
- Dual-licensed clients under permissive Apache-2.0.
36+
- More idiomatic HTTP handling in WASM JS/TS: trailbase-wasm@0.5.0.
37+
- Update dependencies.
38+
139
## v0.23.10
240
341
- Add a standalone SQLite extension with all of TrailBase's custom functions to minimize lock-in and make it easier on folks who'd like to move off.
@@ -11,6 +49,7 @@
1149
- Support `bcrypt` password hashes in addition to `argon2`.
1250
- Add a user import function to CLI. Currently supports Auth0 user exports.
1351
- Will be straight forward to support other providers that use `bcrypt` or `argon2`, please reach out 🙏.
52+
- Dual-licensed clients under permissive Apache-2.0.
1453
- Update dependencies.
1554
1655
## v0.23.8

0 commit comments

Comments
 (0)