Skip to content
Contexta
Changelog

Every shipped change to Contexta, with the receipts.

CalVer releases, one entry per ship. We tag every entry the Keep-a-Changelog way so you can scan for breaking changes at speed. Atom feed below.

Subscribe to RSS

Release entries

  1. Addedv2026.05.14

    Reflex DSL v0.4 — `temporal.window()` operator

    You can now express bounded temporal predicates directly inside a Reflex motif. `temporal.window(7d)` matches facts that landed inside a rolling seven-day Locus without writing a second motif by hand.

    • New operators: `temporal.window`, `temporal.before`, `temporal.after`.
    • Sub-millisecond evaluation on the hot path — same scheduler, no extra hop.
    • Migration guide for v0.3 `temporal.since()` users in the docs.
  2. Changedv2026.05.05

    Context Packet — `confidence_score` field now required

    Every Context Packet must now carry a `confidence_score` between `0` and `1`. We were already returning it on >99% of packets; this change makes it part of the contract so downstream consumers can rely on it.

    • Server returns `400` if a recall path produces a packet without a score.
    • TS and Python SDKs already type the field as non-optional.
    • Breaking only for two private alpha endpoints — both migrated in advance.
  3. Addedv2026.04.27

    MCP server — Claude Desktop integration GA

    Our MCP server is GA. Drop the Contexta MCP entry into your Claude Desktop config and an agent gets read + write access to a namespace with provenance enforced end-to-end.

    • Per-namespace auth tokens with surgical revoke.
    • Tool schemas for `recall`, `remember`, `reflex.subscribe`, `forget`.
    • Walkthrough video plus copy-paste config in the docs.
  4. Addedv2026.04.19

    `/v1/forget` — bulk deletion mode (GDPR Art. 17)

    Forget now accepts a `bulk` mode that cascades through every dependent fact, citation, and Reflex Locus for a subject. The audit ledger keeps the request itself; the facts are gone.

    • Average cascade completes in under 800ms for namespaces up to 10M facts.
    • Compatible with `dry_run=true` for compliance review.
    • Operator runbook and DPA template updated in `/security`.
  5. Changedv2026.04.10

    Synapta — multi-hop traversal ~40% faster

    We rewrote the multi-hop expansion path on top of a cache-friendly arena allocator. p50 multi-hop recall is down ~40% on the production workload, with no regressions on single-hop.

    • p50 latency: 38ms → 22ms on a 6M-edge namespace.
    • p99 latency: 210ms → 145ms.
    • No SDK change required.
  6. Addedv2026.04.02

    Python SDK 0.3 — async streaming

    The Python SDK now supports async-iterator streaming on every long-running endpoint: ingest, recall, Reflex subscribe. Drop-in for the existing client; the sync shape still works.

    • `async for packet in client.recall.stream(query)`.
    • Backpressure-aware — server pauses on a slow consumer.
    • Tracing hooks exposed for OpenTelemetry.
  7. Addedv2026.03.24

    TS SDK 0.5 — typed Reflex builder

    You can now author Reflexes in TypeScript with full type inference on motifs, Loci, and policies. The builder compiles to the same on-wire CX DSL the server evaluates.

    • `reflex.motif().on(entity).where(...).fire(...)` with autocomplete.
    • Compile-time check for unsupported operator combinations.
    • Source maps from CX errors back to the TS call site.
  8. Addedv2026.03.15

    Provenance API — `hop_chain` array on every recall

    Every recalled fact now carries an ordered `hop_chain` showing exactly which edges and intermediate nodes the traversal walked. The harness becomes auditable end-to-end without extra calls.

    • Each hop carries the edge type, source span, and timestamp.
    • Dashboard now renders the chain as an interactive trace.
    • Adds ~120 bytes per fact on the wire; the gzip wins offset it.
  9. Securityv2026.03.06

    SOC 2 Type I report available on request

    Our SOC 2 Type I report is available under NDA. Email `security@contexta.ai` and we will share it within one business day. Type II observation period is underway.

  10. Deprecatedv2026.02.24

    Reflex DSL — `temporal.since(unix_ts)` deprecated

    The single-argument `temporal.since()` operator is deprecated in favour of `temporal.window(duration)` and `temporal.after(timestamp)`. It will be removed in the 2026.07 release.

    • Server emits a deprecation warning on every match for now.
    • Codemod in the CLI: `contexta lint --fix=temporal-since`.
  11. Fixedv2026.02.15

    Ingest — malformed UTF-8 no longer rejects the batch

    A regression where a single malformed UTF-8 sequence in a batch ingest payload could reject the entire batch with a `422`. Bad spans now skip with a per-fact error, and the rest of the batch lands cleanly.

  12. Securityv2026.02.06

    Recall — automatic PII scrubber on the response path

    A response-side scrubber redacts emails, phone numbers, and government IDs unless the calling token holds the `pii.read` scope. Opt-out per namespace if your downstream needs the raw values.

    • Default-deny — every existing namespace inherits scrubbing on.
    • Audit ledger records every redaction with the calling actor.

Follow the ship log.

Every Friday. One entry per ship, with the breaking-change tag up top so you can scan for migration work in seconds.