Skip to content

Releases: Siddhant-K-code/distill

v0.9.1

09 May 07:41
6cd87aa

Choose a tag to compare

What's New

OpenAPI 3.1 Spec & Interactive Docs (#91, closes #23)

Distill now ships with a complete OpenAPI 3.1 specification and serves interactive Swagger UI at /docs.

Endpoints documented:

  • Dedupe (/v1/dedupe, /v1/dedupe/stream)
  • Pipeline (/v1/pipeline)
  • Batch (/v1/batch)
  • Memory (store, recall, forget, expire, supersede, stats)
  • Sessions (create, push, context, get, delete)
  • Health (/health, /metrics)

Usage:

distill api
# Open http://localhost:8080/docs for interactive API explorer
# Fetch spec: curl http://localhost:8080/openapi.yaml

The spec is embedded in the binary — no external files needed at runtime.

v0.9.0

09 May 07:31
c55a1cc

Choose a tag to compare

What's New

This release adds five major memory features that make Distill agents more reliable, secure, and context-aware.

Multi-Provider Embedding Support (#83, closes #25)

Distill now supports Ollama and Cohere as embedding providers alongside OpenAI. Use --embedding-provider ollama to run fully local — no API key needed.

  • 15 new unit tests for the Ollama client
  • --embedding-provider and --embedding-base-url flags on all commands
  • Config file support via embedding.provider and embedding.base_url

Memory Expiry & Supersession (#84, closes #79)

Memories can now be expired or superseded without deleting them. Expired entries are excluded from recall by default but remain for auditing.

  • POST /v1/memory/expire and POST /v1/memory/supersede endpoints
  • memory_expire and memory_supersede MCP tools
  • TTL support via expires_at on store
  • include_expired flag on recall to retrieve expired entries
  • 12 new tests

Sensitivity Tagging (#85, closes #82)

Pattern-based classification detects PII, credentials, and internal references at write time. No LLM calls — classification adds <1ms.

  • Auto-classification via auto_classify: true on store
  • max_sensitivity and sensitive_chunks in recall response
  • Built-in patterns: AWS keys, OpenAI keys, GitHub tokens, emails, phone numbers, SSNs, credit cards
  • Configurable internal domain detection
  • 17 classifier tests + 4 benchmarks, 7 memory integration tests

Conflict Detection (#88, closes #77)

When a new memory is semantically similar to an existing one but not a duplicate, Distill now flags the conflict in the store response. The entry is still stored — conflicts are surfaced, not blocked.

  • Configurable conflict_threshold (default: 0.35)
  • conflicts array in store response with both entry IDs and texts
  • Caller can resolve via supersede endpoint
  • 7 new tests

Task-Relevance Ranking (#89, closes #78)

Recall now accepts boost tags, task context, and a minimum relevance filter to rank results by what matters for the current task.

  • boost_tags — relevance boost for matching tags
  • task_context — source-matching boost
  • min_relevance — filter out low-scoring results
  • 6 new tests

Other

  • README reframed around memory reliability (#86, closes #80, #81)
  • Lint fix for staticcheck QF1003 (#87)
  • Closed #76 (persist memory across sessions) — already implemented

Stats

v0.8.0

02 May 16:06

Choose a tag to compare

Changelog

  • 9c55236 fix(ci): fix golangci-lint v2 config schema
  • 8d766fb fix(ci): migrate to golangci-lint v2, fix lint violations
  • e72e2b4 fix(ci): pin golangci-lint to v1.64.8 and add config
  • f5863b2 fix(lint): resolve errcheck, unused, and ineffassign violations
  • 8847f14 fix(render): bump GO_VERSION to 1.24.2 to match go.mod

v0.7.0

02 May 15:22
2c4e975

Choose a tag to compare

Changelog

  • 9514130 build(deps): bump go.opentelemetry.io/otel 1.40→1.41 and otel/sdk 1.40→1.43 (#46)
  • 2e1cc24 build: include shell completion scripts in GoReleaser archives (#73)
  • 68f7248 feat(batch): async batch processing with worker pool (#71)
  • 50d5a5a feat(cli): shell completion scripts for bash/zsh/fish/powershell (#68)
  • 1b600f7 feat(pipeline): unified dedup→compress→summarize pipeline (#70)
  • 2c4e975 fix: revert go directive to 1.24.0 after dependabot bump (#75)
  • a9a40b0 test(bench): benchmark suite for cluster, MMR, selector, and compress (#69)

v0.6.0

02 May 15:21
903b339

Choose a tag to compare

Changelog

  • 2e16c7d build: add Makefile for common development tasks (#66)
  • b671cd6 feat(cache): TTL-aware cache tracker for batch workloads (#61)
  • c4455b8 feat(commits): semantic commit analysis with risk scoring (#64)
  • 1c67071 feat(embedding): multi-provider abstraction layer (#62)
  • 85cf702 feat(graph): code change impact graph with blast-radius queries (#65)
  • 903b339 feat(logging): structured slog logger with JSON/text output (#67)
  • 677ae8f feat(summarize): hierarchical multi-level conversation summarization (#63)

v0.5.0

02 May 15:21
7ca5e8a

Choose a tag to compare

Changelog

  • 7085327 Add Dependabot configuration file
  • 98f423c build(deps): bump github.com/buger/jsonparser from 1.1.1 to 1.1.2 (#43)
  • 94f7348 build(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.3 (#45)
  • 8569bb9 feat(cache): PatternDetector emits cache_control annotations (#55)
  • 0917f08 feat(cache): cache-aware dedup and prefix stability validator (#59)
  • c172c7b feat(memory): memory decay lifecycle events and cache boundary hints (#58)
  • 255658f feat(metrics): cache write cost accounting in /metrics (#57)
  • 7ca5e8a feat(metrics): per-call-site cache hit rate tracking (#60)
  • 4d44256 feat(session): session-aware cache boundary manager (#56)
  • 115be85 fix: enable --memory and --session flags in Render start command (#39)

v0.4.0

24 Feb 14:03

Choose a tag to compare

Changelog

  • a4b0724 feat: add session-based context window management (#38)

v0.3.0

23 Feb 16:40

Choose a tag to compare

Changelog

  • 4f05212 feat: add OpenTelemetry distributed tracing (#21)
  • d60b57f feat: add SSE streaming endpoint for deduplication (#22)
  • b978636 feat: add persistent context memory store with write-time dedup (#37)

v0.2.0

14 Feb 18:42
7115030

Choose a tag to compare

Changelog

  • 8fe6855 Add 'Build with Ona' badge and update README (#12)
  • e3ee431 Add 'Build with Ona' badge to README
  • 87e8c25 Add KV cache for repeated context patterns (#17)
  • 1581b43 Add semantic compression module (#13)
  • 9943a7e Fix Docker workflow permissions for ghcr.io push (#14)
  • 5b11d6d Update GitHub funding configuration
  • 871ebaa Update README to align with website (#15)
  • 0f8a10d feat: add Prometheus metrics endpoint (#19)
  • ee88338 feat: add configuration file support (distill.yaml) (#18)

v0.1.2

01 Jan 12:15

Choose a tag to compare

Changelog

  • 14e0b97 Add Go Report Card badge back after license badge
  • 1be6ff1 Add link to hosted version in README
  • 59705b8 Fix gofmt: apply gofmt -s simplifications
  • 45109b4 Remove Go Report Card badge temporarily
  • 264b571 Replace em-dashes with hyphens in documentation
  • 15435c7 Trigger Go Report Card refresh