Sebastian Jeltsch
d97e9a0366
Prepare new release v0.10.1.
v0.10.1
2025-04-28 14:55:12 +02:00
Sebastian Jeltsch
9ca34f46f3
Further tune SQLite execution model.
...
Previously reader and writer channels were operating entirely
independently, which yields the lowest overhead for pure read and pure
write benchmarks.
In mixed workloads like prod, however, this is not ideal since we're
running into SQLite's own file-locking, which has more overhead than
in-process locking.
With this change, we use an RwLock to reduce congestion while still
allowing parallel reads.
Together with a low-overhead kanal channel, we see little to no
regression for pure read and pure write benchmarks, while seeing about a
3x improvement for mixed workloads.
We also move ACL checks for Create/Update queries to the writer SQLite
connection, to reduce thrashing.
2025-04-28 14:11:44 +02:00
Sebastian Jeltsch
03d2260737
Change Rust client's arguments to a builder approach (as opposed to leaking the struct) for better forward compatibility.
2025-04-28 11:16:50 +02:00
Sebastian Jeltsch
681db62e8f
Fully qualify filter columns to avoid ambiguous column error for filtering on columns named "id". #52
2025-04-28 09:31:58 +02:00
Sebastian Jeltsch
0f1e52e40a
Add offset pagination parameter to Python client.
2025-04-27 23:51:50 +02:00
Sebastian Jeltsch
dc8521752e
Add offset pagination parameter to dotnet client.
2025-04-27 23:46:31 +02:00
Sebastian Jeltsch
a7a931f51f
Add offset pagination parameter to Rust client.
2025-04-27 23:28:31 +02:00
Sebastian Jeltsch
20799ca6a9
Add offset pagination parameter to JS/TS client and docs.
2025-04-27 23:25:53 +02:00
Sebastian Jeltsch
8ecd169ec6
Update/tighten Dart client's deps.
2025-04-27 23:25:47 +02:00
Sebastian Jeltsch
4a7eab33d6
Add offset pagination parameter to Dart client.
2025-04-27 23:01:57 +02:00
Sebastian Jeltsch
0a34ace683
Support ?offset=N queries for record listings. #50
2025-04-27 15:38:55 +02:00
Sebastian Jeltsch
c941aa9393
Return error from list for incompatible combination of order and cursor.
2025-04-27 15:25:15 +02:00
Sebastian Jeltsch
ef9a8df637
Return error when user-provided limit exceeds hard limit during listing.
2025-04-27 13:58:15 +02:00
Sebastian Jeltsch
d994d32629
Escape filter column name and make cursor clause option.
2025-04-27 12:08:01 +02:00
Sebastian Jeltsch
706870c50a
Minor: use const reference internally for SQLite read queue operations.
2025-04-27 12:07:58 +02:00
Sebastian Jeltsch
2eb71199c0
Add tests to ensure ordering and cursor play well together in tests #50 .
2025-04-26 14:48:51 +02:00
Sebastian Jeltsch
4728cb8f7b
Consider PK ordering when filtering by cursor during list queries. #50
2025-04-26 14:00:56 +02:00
Sebastian Jeltsch
f1d84f5760
Update JS and Rust dependencies.
2025-04-25 17:08:26 +02:00
Sebastian Jeltsch
d79f8e0697
Doc: overhaul PocketBase comparison.
2025-04-25 11:41:27 +02:00
Sebastian Jeltsch
3729f70b7b
Prepare new release v0.10.0.
v0.10.0
2025-04-24 21:02:14 +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
2908e9fde6
Make Params immutable and avoid double filtering of request fields by schema columns.
2025-04-24 15:05:44 +02:00
Sebastian Jeltsch
7a2120455d
Support field presence checks in create/update access rules, e.g. 'foo' IN _REQ_FIELDS_.
2025-04-24 15:05:05 +02:00
Sebastian Jeltsch
969c591641
Fix: add back missing geoip extension for logs db.
2025-04-24 14:54:59 +02:00
Sebastian Jeltsch
d7766c4a05
Allow RecordApis to explicitly exclude columns.
2025-04-24 12:13:23 +02:00
Sebastian Jeltsch
af1f9bb1bf
Update dependencies.
2025-04-24 11:34:27 +02:00
Sebastian Jeltsch
f0e5570f96
Update website to Tailwind v4.
...
Everything else is still on Tailwind v3, since we depend on solid-ui,
which doesn't yet support v4:
https://github.com/stefan-karger/solid-ui/issues/166#issuecomment-2822360321 ,
however this way we can build some familiarity with the new system.
Sadly, the tailwind eslint plugin had to be disabled because it doesn't
support v4 and the v4 alpha is completely disfunct:
https://github.com/francoismassart/eslint-plugin-tailwindcss/issues/325 .
2025-04-24 10:40:51 +02:00
Sebastian Jeltsch
22bea3e6eb
Add a better footer to website.
2025-04-23 23:04:46 +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
79e6244a19
Update JS deps.
2025-04-22 21:52:12 +02:00
Sebastian Jeltsch
bbd24f93d2
Prepare new release v0.9.4.
v0.9.4
2025-04-22 16:44:54 +02:00
Sebastian Jeltsch
e2ed64a815
Crank up optimizations in github release workflow mostly just yielding smaller binaries.
2025-04-22 16:12:51 +02:00
Sebastian Jeltsch
711902e551
Install a SIGHUP handler to reload configuration. #49
2025-04-22 15:44:09 +02:00
Sebastian Jeltsch
9289eb2bdc
Split validation logic for insert and update row paths. Defaults must only apply on insert. #47
2025-04-22 14:54:08 +02:00
Sebastian Jeltsch
7cff40b8d2
Don't pre-fill default ins insert/update row form for a wider definition of optional fields. #47
2025-04-21 22:44:15 +02:00
Sebastian Jeltsch
68984f5b83
Make integer primary keys optional in row creation form. #47
2025-04-21 09:35:53 +02:00
Sebastian Jeltsch
22f4a20c72
Update Rust dependencies.
2025-04-21 09:11:41 +02:00
Sebastian Jeltsch
d6b199587d
Update to Rust edition 2024.
2025-04-20 07:36:26 +02:00
Sebastian Jeltsch
ebddc51d85
Enable apalis' generic and default storage backend tests.
2025-04-20 07:36:00 +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
0773a8fb0f
Prepare new release v0.9.3.
v0.9.3
2025-04-17 15:18:42 +02:00
Sebastian Jeltsch
4d307fc8bc
Update rust dependencies.
2025-04-17 14:52:02 +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
96afbd8092
Streamline logs writer.
2025-04-17 11:36:17 +02:00
Sebastian Jeltsch
1d4c0b063d
Implement our own JSON stdout logger with a more stable format.
2025-04-16 18:00:06 +02:00
Sebastian Jeltsch
bcfd20c966
Explicitly time logs (to avoid skew), move logging to on_event and add milliseconds to logs dashboard.
2025-04-16 12:36:45 +02:00
Sebastian Jeltsch
58e74c549e
Minor: filter trace events more strictly.
2025-04-16 10:04:37 +02:00
Sebastian Jeltsch
6999bafddd
Update JS dependencies.
2025-04-15 22:17:12 +02:00
Sebastian Jeltsch
d5bf462245
Prepare new release v0.9.2.
v0.9.2
2025-04-15 15:41:40 +02:00
Sebastian Jeltsch
d9444147a0
Fix minor issues with documentation.
2025-04-15 15:33:31 +02:00