📣The November 15th release is out!Read the release notes

    An astronaut, on the moon, stands over a table covered in security badges.

    Bashing bugs and crushing cruft

    TLDR

    We do some Fall cleaning in the codebase and make Triplit more efficient in the process, ship a bevy of other improvements, and preview our next big feature: webhooks.

    More efficient entities

    We've spent a lot of time over the past few weeks upgrading the internals of Triplit to make it more efficient and easier to maintain. An added benefit of this refactor was a more memory-efficient internal representation for entities that are returned by queries. In our internal testing we've seen a reduction in memory usage, and some easy paths to further optimizations.

    Other improvements

    • Fixed layer ordering in the Triplit + Excalidraw demo app
    • Made reliability improvements to query syncing messages that prevents a race condition when queries are subscribed to and immediately unsubscribed
    • Addressed an issue for queries that had a limit but no order when backfilling data after deletions
    • Fixed a bug where multiple identical queries with syncStatus would not be properly "deduped" by the sync engine
    • Fixed a memory leak on the server caused by a dangling reference to connection metadata when a client disconnects

    On the horizon: Webhooks

    We're working on a feature that will allow you to subscribe to changes in a Triplit database via webhooks. This will allow you to more easily integrate Triplit with other services, e.g. to trigger a push notification or send a slack message. We'll share a demo of this feature in our Discord soon to solicit feedback from the community.