Changelog

Every release, newest first. Currently running 1.2.0.

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.