Changelog
Shipped updates.
-
- The Python SDK
laserdata[async]extra now includesuvloopfor async event loops; benchmark streaming subscription throughput rose 18%. - Fixed a compiled query planner race where concurrent writes to one namespace key could return a stale read during the 50ms replication window on Growth multi-region deployments.
- Corrected
client.store()TTL documentation: TTL starts at last-write, not initial creation.
- The Python SDK
-
- Streaming subscriptions accept filter predicates at connection time, reducing event fanout for agents watching only some namespace writes. Syntax:
client.stream(namespace="x", filter={"step__gte": 3}). - TypeScript SDK now matches Python SDK features; all store, query, and stream methods have full TypeScript types and JSDoc documentation.
- Dashboard usage graphs now break down queries by namespace, showing which agent namespaces use the most read budget.
- Streaming subscriptions accept filter predicates at connection time, reducing event fanout for agents watching only some namespace writes. Syntax:
-
- Compiled query planner now processes
__inarray predicates with up to 2,048 values in one pass; above 256 values, they previously used multiple scans. - The memory-mapped storage index now pre-warms at startup, cutting cold-read latency from up to 40ms to under 4ms on first access after a deployment restart.
- Added
client.delete_namespace(namespace)so agents can programmatically remove expired session state without relying only on TTL expiry.
- Compiled query planner now processes
-
- Growth now includes multi-region read replicas. Select the replica region when creating a namespace. Supported regions: us-east-1, us-west-2, eu-west-1.
- Vector similarity search now supports per-namespace cosine, dot-product, and L2 metrics. Cosine remains the default.
- Breaking change:
client.query()now requires keyword arguments; positional arguments are rejected. The old style warns in v0.6.x and raisesTypeErrorin v0.7.0+.
-
- Released the LangChain memory adapter:
LaserDataMemoryimplements LangChain'sBaseMemory, giving LangChain agents persistent context through LaserData without custom integration code. - Query endpoints now return the
X-LaserData-Query-Planheader, which reports the execution plan type (single-pass, multi-pass, or index-lookup) for debugging. - Reduced p99 write latency from 12ms to 8ms by removing lock contention in the namespace write-ahead log under high concurrency.
- Released the LangChain memory adapter:
-
- Released the LlamaIndex integration: index and query engine adapters let LlamaIndex agents use LaserData as a document and vector store without manual schema management.
- Compiled query plans are now cached per namespace for repeat patterns, reducing hot-path plan compilation from ~1.2ms to ~0.15ms.
- SDK connection pooling enabled by default; configure via
LaserDataClient(pool_size=N).
-
- Raised the context storage limit from 1,536 to 4,096 float dimensions for vector embeddings, supporting models with higher-dimensional output.
- Added namespace access tokens: generate a scoped API key limited to one namespace for per-agent isolation in multi-tenant deployments.
- Python SDK supports Python 3.11 and 3.12; Python 3.8 support dropped.
-
- Public early access is open. Registered teams can use the Python SDK, REST API, and documentation.
- Core storage engine now ships document storage, a vector index, and real-time streaming in one deployment. Initial API:
store,get,query,stream. - Free tier: 5,000 queries per day and 1 GB of context storage. No credit card required.