Sebastian Jeltsch
7a8c31c8e9
Cleanup: move all Rust code into a crates/ directory.
2025-08-07 10:02:32 +02:00
Sebastian Jeltsch
d88ca74795
Move rust client to /client/rust.
2025-07-24 17:30:06 +02:00
Sebastian Jeltsch
6e1d03fa83
Major update Rust dependencies including rusqlite.
2025-07-08 11:03:48 +02:00
Sebastian Jeltsch
68fd451d03
Prepare new crate releases.
2025-06-16 16:19:11 +02:00
Sebastian Jeltsch
5152cf9000
Replace vendored refinery with a more proper fork stripping all the unused bits and bobs.
2025-05-27 22:01:06 +02:00
Sebastian Jeltsch
01feb22e44
serde_rusqlite finally got an update. Remove vendored version.
2025-05-27 12:15:52 +02:00
Erin Power
5416871c2c
fix(deps): unpin uuid dependency
2025-05-27 09:40:41 +02:00
Sebastian Jeltsch
1be7590362
Update to latest rusqlite/SQLite version.
2025-05-26 11:55:09 +02:00
Sebastian Jeltsch
f0f4ae5e12
Add a first (yet unused) version of a "querystring" filter parser.
2025-05-16 10:21:54 +02:00
Sebastian Jeltsch
c4a4dfd575
Update rusqlite to v0.35, which has more strict query validation \o/. Also update other Rust and JS deps.
2025-05-03 11:42:59 +02:00
Sebastian Jeltsch
e897169aac
Move JS runtime into a separate crate.
2025-04-29 13:47:10 +02:00
Sebastian Jeltsch
4487d30b79
Put early queue work and apalis deps behind a "queue" feature.
2025-04-24 15:44:17 +02:00
Sebastian Jeltsch
af1f9bb1bf
Update dependencies.
2025-04-24 11:34:27 +02:00
Sebastian Jeltsch
fe2e8cfda4
Clean up Sqlite connection setup, no-parallel reads for in-memory dbs, and add a placeholder storage for persisting apalis queues.
2025-04-23 11:56:36 +02:00
Sebastian Jeltsch
22f4a20c72
Update Rust dependencies.
2025-04-21 09:11:41 +02:00
Sebastian Jeltsch
63c330c4e5
Add a custom PoC apalis queue storage backend.
...
Forked from apalis-sql's sqlite implementation.
2025-04-20 07:35:55 +02:00
Sebastian Jeltsch
e9707f12cc
Change default build parameters improving incremental release build times by ~70% w/o a measurable degradation in runtime performance #46 .
2025-04-17 14:45:17 +02:00
Sebastian Jeltsch
284422c5e8
Add missing "sync" for tokio dependency.
2025-04-14 17:30:09 +02:00
Sebastian Jeltsch
eecab32d39
Minor: consistent tokio and env_logger dependencies.
2025-04-14 09:25:44 +02:00
Sebastian Jeltsch
2789a54eac
Move JS assets into a separate crate to avoid unecessary rebuilds as much as possible.
2025-04-08 22:50:50 +02:00
Sebastian Jeltsch
c0c7681f4a
Restructure crates: make the sqlite execution model more standalone, i.e. move more extension stuff back to extension crate and schema stuff to a new schema crate.
2025-04-08 12:25:10 +02:00
Sebastian Jeltsch
2f07a86030
Update rusqlite: v0.33 -> v0.34.
2025-03-10 14:10:18 +01:00
Sebastian Jeltsch
c63f3f4089
Cleanup: remove legacy query_one_row utility.
2025-03-10 11:09:31 +01:00
Sebastian Jeltsch
68824465a0
Publish updated crates: trailbase(|-sqlite|-extension).
2025-03-09 12:08:46 +01:00
Sebastian Jeltsch
527974284f
Update Rust and JS deps.
2025-02-27 00:59:20 +01:00
Sebastian Jeltsch
7ab85594e9
Remove vendored rustc_tools_util.
2025-02-14 23:15:23 +01:00
Sebastian Jeltsch
b120321918
Fix build metadata in docker builds. Also vendor a fixed rustc_tools_util to get the correct release channel.
2025-01-31 16:46:34 +01:00
Sebastian Jeltsch
288d13f7f8
Improve docs: add record API examples for Rust.
2025-01-21 17:05:00 +01:00
Sebastian Jeltsch
55c26afb0f
Prepare release v0.5.1 and publish new crates.
2025-01-20 15:27:13 +01:00
Sebastian Jeltsch
5144dabc68
Major version update: SQLite 3.46.1 to 3.48.0.
2025-01-19 17:39:30 +01:00
Sebastian Jeltsch
ade3b78862
Update Rust deps fixing swagger builds.
2025-01-18 12:11:04 +01:00
Sebastian Jeltsch
b3d4cbd99f
Add a rust client library to connect to a TrailBase instance via HTTP.
2025-01-17 15:21:07 +01:00
Sebastian Jeltsch
0e14b84440
Update JS deps and prepare v0.4.0 release.
2025-01-14 16:14:14 +01:00
Sebastian Jeltsch
30f295e6fd
Add "realtime" subscriptions for a specific record, i.e. updates and deletion.
2025-01-13 22:38:14 +01:00
Sebastian Jeltsch
ca285c0108
Update Rust dependencies and publish trailbase crate v0.0.2.
2025-01-07 16:10:25 +01:00
Sebastian Jeltsch
a323429c05
Depend on forked refinery crates.
2025-01-03 10:32:37 +01:00
Sebastian Jeltsch
7ef775db78
Rename trailbase-core to trailbase (avoided directory rename for now).
...
Still can't publish a crate due to refinery. Refinery's latest release
doesn't work with the already weathered rusqlite.
2025-01-02 15:27:18 +01:00
Sebastian Jeltsch
b8305ecf5b
Move UI assets into trailbase-core crate.
2025-01-02 09:48:16 +01:00
Sebastian Jeltsch
232449bd0f
Use the same release build flags for all platforms for simplicity and performance despite slow Windows GitHub action runners.
2024-12-30 22:16:34 +01:00
Sebastian Jeltsch
c9199edd22
Prepare trailbase-sqlite for publishing.
2024-12-30 11:52:02 +01:00
Sebastian Jeltsch
d3fceb9e3f
Add windows pre-built releases in v0.3.3.
2024-12-28 19:19:58 +01:00
Sebastian Jeltsch
44e0bb6f84
Bump optimization level of sqlite3-parser in dev builds to work with Windows' default stack size of 1MB.
2024-12-25 22:01:07 +01:00
Sebastian Jeltsch
18d1d87710
Add a hooks API to trailbase_sqlite::Connection.
2024-12-16 17:07:17 +01:00
Sebastian Jeltsch
51a6af3149
Remove sqlite-loadable and use rusqlite functions instead.
2024-12-16 16:41:52 +01:00
Sebastian Jeltsch
1b5c957415
Move SQLite orchestration into trailbase-sqlite and fix js-runtime completion bug with true async (previously libsql was sync under the hood).
2024-12-04 16:57:15 +01:00
Sebastian Jeltsch
6cbea390fb
Herculean migration from libsql's rust bindings to plain rusqlite+SQLite.
...
There's a couple of reasons:
* As for the rust bindings: they're sub-par to rusqlite, though
rusqlite is amazing. Even libsql-server uses rusqlite over their own
bindings. The bindings are missing features such as update hooks
and the hard-coded execution model suffers from lock congestion.
* We've fixed bugs (e.g. trivial null ptr accesses went unnoticed),
raised issues, and tried to add missing functionality such as update
hooks. It's unclear if the rust-bindings are a priority or covered by
the principles laid out in the libsql manifesto. From the outside it
looks like focus has shifted to https://github.com/penberg/limbo .
* As for the C-libsql fork for SQLite itself, it's getting more and
more outdated (2024-01-30 (3.45.1)) and it's unclear when and if the
ideas from the manifesto will manifest.
Looking forward this opens the door for TrailBase to:
* Bundle more recent versions of SQLite
* Implement more performant, better scaling execution models.
* Implement realtime APIs for subscribing to data changes.
2024-12-04 13:03:06 +01:00
Sebastian Jeltsch
bdb3735840
Squash all commits for a fresh start.
...
This is only to avoid accidentally leaking any secrets from early development especially in the light of short-sha attacks.
2024-10-30 23:38:56 +01:00