Releases: trailbaseio/trailbase
v0.5.2
- Add file-system APIs to JS/TS runtime to facility accessing resources, e.g.
templates for SSR (see example/colab-clicker-ssr). - Add a timeout to graceful shutdown to deal with long-lived streaming connections.
- Allow short-cutting above timeout by pressing a Ctrl+C second time.
Full Changelog: v0.5.1...v0.5.2
v0.5.1
- Update SQLite from 3.46.1 to 3.48.0.
Full Changelog: v0.5.0...v0.5.1
v0.5.0
- Breaking change: RecordApi.list now nests records in a parent structure to
include cursor now and be extensible for the future. - Update all the client libraries to expect a ListResponse.
Full Changelog: v0.4.1...v0.5.0
v0.4.1
Minor update:
- Fix issue with delete table potentially invalidating config due to stale RecordAPI entries.
- Update dependencies.
What's Changed
New Contributors
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Added an early version of record change subscriptions, a.k.a. realtime APIs.
Users can now subscribe to an entire API/table or specific record to listen for
changes: insertions, updates, deletions (see client tests, docs are TBD).
Full Changelog: v0.3.4...v0.4.0
v0.3.4
- Update Axum major version to v0.8.
- Major overhaul of project structure to allow for releasing crates.
v0.3.3
- Pre-built Windows binary.
Full Changelog: v0.3.2...v0.3.3
v0.3.2
- Move record API access query construction to RecordApi construction time.
- Cache auth queries
- Some tweaks and hooks API for trailbase_sqlite::Connection.
- Remove sqlite-loadable and replace with rusqlite functions.
- Reduce allocations.
Full Changelog: v0.3.1...v0.3.2
v0.3.1
- Fix client-ip logging.
- Wire request-type into logs
What's Changed
- docs: grammar & punctuation fixes by @vladdoster in #8
New Contributors
- @vladdoster made their first contribution in #8
Full Changelog: v0.3.0...v0.3.1
v0.3.0
A foundational overhaul of SQLite's integration and orchestration. This will
unlock more features in the future and already improves performance.
Write performance roughly doubled and read latencies are are down by about two
thirds to sub-milliseconds 🏃:
- Replaced the libsql rust bindings with rusqlite and the libsql fork of SQLite
with vanilla SQLite. - The bindings specifically are sub-par as witnessed by libsql-server itself
using a forked rusqlite. - Besides some missing APIs like
update_hooks
, which we require for realtime
APIs in the future, the implemented execution model is not ideal for
high-concurrency. - The libsql fork is also slowly getting more and more outdated missing out on
recent SQLite development. - The idea of a more inclusive SQLite is great but the manifesto hasn't yet
manifested itself. It seems the owners are currently focused on
libsql-server and another fork called limbo. Time will tell, we can always
revisit.
Other breaking changes: - Removed Query APIs in favor of JS/TS APIs, which were added in v0.2. The JS
runtime is a lot more versatile and provides general I/O. Moreover, query APIs
weren't very integrated yet, for one they were missing an Admin UI. We would
rather spent the effort on realtime APIs instead.
If you have an existing configuration, you need to strip thequery_apis
top-level field to satisfy the textproto parser. We could have left the
field as deprecated but since there aren't any users yet, might as well...
Other changes: - Replaced libsql's vector search with sqlite-vec.
- Reduced logging overhead.
Full Changelog: v0.2.6...v0.3.0