Changelog

Every release, newest first. Currently running 1.4.1.

1.4.1

2026-10-15

  • improvedDatabase copies now retry on transient write failures.

    If a copy operation fails because the database temporarily stopped accepting writes, it will automatically retry for up to a minute instead of failing immediately.

  • fixedStopped databases no longer cause repeated errors during migration.

    When a database becomes unavailable, the migration process now recognizes this and stops trying to migrate it, eliminating the error logs that were appearing every few minutes.

1.4.0

2026-10-15

  • addedYou can now restore workspaces that used the legacy database service.

    Workspaces created before the managed-database pool had their data backed up by the legacy service. Those backups are now imported as restorable snapshots, so you can restore them from the console the same way as any other snapshot.

  • improvedDatabase connection errors are now retried automatically.

    When the database becomes temporarily unreachable, requests are retried instead of failing immediately. You'll see fewer transient errors in your logs.

  • fixedLong documents now correctly report when they have been truncated.

1.3.0

2026-10-12

  • improvedReview queue now processes only entity pairs that share a neighbouring entity.

    This reduces unnecessary work and makes review processing more efficient.

  • fixedDatabase provisioning now correctly handles schema setup retries.

1.2.0

2026-10-08

  • addedDelete one user's memory in a single call.

    You can now remove all of a specific user's messages, relationships, and metadata from a workspace in one operation.

  • addedMemory is now partitioned per user within each workspace.

    This improves isolation and performance when managing conversations across multiple users in the same workspace.

  • improvedOntology detail state is now reset by remounting instead of in an effect.

    This provides more reliable state management in the web console.

  • fixedThe API now returns 424 when a workspace's external database fails.

    You can now distinguish between service issues and workspace-specific problems.

  • fixedLong messages are now fully searchable.
  • fixedSearch now fails clearly when a vector index is missing.
  • fixedFailed message fetch deferrals are now reported.
  • fixedRelationships and auto-merges stay within their partition during migration.

1.1.0

2026-10-05

  • addedConversations now accept and return metadata on messages.

    You can attach and retrieve custom metadata alongside each message.

  • addedYou can filter conversations by user and page through them with a cursor.

    List endpoints now support filtering by userId and cursor-based pagination for better control over large result sets.

  • addedRelationships now have stable IDs and report their direction.

    Entity relationships are now fully queryable with consistent identifiers and directional information.

  • addedYou can purge extracted data when deleting a conversation.

    Deletion now supports an option to remove all associated extraction data.

  • addedThe API now rejects malformed requests more strictly.

    Unknown fields and data after the JSON body are now rejected on conversation, message, search, and query endpoints.

  • improvedLong messages are now fully searchable.

    Embedding now respects both character and token limits, so no message is silently dropped from vector search.

  • improvedExtraction now completes within your timeout.

    The service enforces your deadline across all enrichment attempts, so abandoned calls no longer consume resources after you stop waiting.

  • improvedExtraction is faster on most workloads.

    Entity and relationship extraction now run more efficiently.

  • improvedEntity resolution is more accurate and complete.

    Duplicate detection now runs on all extracted entities, and the graph no longer loses relationships in large batches.

  • improvedAlerts no longer fire for expected tenant and caller faults.

    Unprovisioned tenants, DNS failures on reaped databases, and caller-supplied query errors are now logged at the appropriate level.

  • fixedExtraction requests are now attributed to your workspace for safety monitoring.

    Your workspace ID is carried through all extraction calls so activity is traceable.

  • fixedRate limiting and token refresh now work correctly under load.
  • fixedConversations now delete all their data.

    Deletion now removes messages, entities, relationships, and all associated metadata.

  • fixedMessages now list newest first.

    The message list endpoint now returns results in reverse chronological order.

  • fixedEntity names are no longer embedded when blank.

    Blank names are now rejected instead of being silently embedded.

  • fixedRelationship queries now return consistent results.

    When a write matches multiple edges, the lowest ID is now returned consistently.

  • fixedThe API reference is now always current.

    API documentation is now generated from annotations, so it stays in sync with the code.

  • fixedConsole queries now respect their size limit.

    Results over 1000 rows are now rejected instead of being truncated silently.

  • fixedProvisioning no longer hangs when a database already exists.

    The provisioning flow now adopts an existing database instead of spinning forever.

  • fixedStream retention is now bounded.

    Memory usage stays under control as the deferred stream no longer fills to capacity.