Skip to content

Releases

Contextify v0.8.0

Choose a tag to compare

@github-actions github-actions released this 24 Feb 08:19
5b1190b

Contextify v0.8.0

All-in-one Docker image — everything included, zero setup.

Quick Start (CLI)

curl -fsSL https://raw.githubusercontent.com/atakanatali/contextify/main/scripts/install-cli.sh | sh
contextify install

Quick Start (Docker)

docker run -d --name contextify -p 8420:8420 \
  -v contextify-data:/var/lib/postgresql/data \
  ghcr.io/atakanatali/contextify:0.8.0

What's Changed

Added

  • Claude Desktop / Cowork MCP support via npx mcp-remote stdio bridge (claude_desktop_config.json)
  • Claude Chat (claude.ai) remote MCP setup guidance with manual connector instructions
  • Codex MCP support via codex mcp add/get/remove
  • Codex installer instructions file (~/.contextify/codex-instructions.md)
  • New tool options in install wizard: claude-desktop and claude-chat (interactive menu items 2 and 3)
  • Go toolconfig: internal/toolconfig/desktop.go and internal/toolconfig/chat.go
  • Cross-platform Claude Desktop config path detection (macOS, Windows, Linux)
  • Auto-restart Claude Desktop after configuration
  • Steward rollout and operations documentation set:
    • reliability hardening, log security, verification matrix, rollout/SLO/runbook docs under docs/steward/
  • Steward verification matrix artifact generation (make verify-steward) and Backend CI artifact upload
  • Steward observability e2e smoke test (tests/e2e/steward_observability_test.go)

Changed

  • Install wizard expanded from 4 to 7 tool options
  • --tools flag now accepts claude-desktop, claude-chat, and codex
  • --all flag includes all 7 tools
  • Install/update/uninstall/status flows now include Codex alongside Claude/Cursor/Windsurf/Gemini
  • Documented repository merge policy in CLAUDE.md: use normal merge commits for PRs (no squash), then delete remote feature branches after merge.

Commits

Features

  • feat(steward): add log redaction retention and admin guards (#84) (526776e)
  • feat(steward): add runtime reliability guardrails (#83) (395d539)
  • feat(steward): add safe self-learn policy tuner (#82) (03b06b1)
  • feat(steward-ui): add steward operational controls (#81) (c8b1ba2)
  • feat(steward-ui): add steward observability console (#80) (6039df0)
  • feat(api): add steward status logs metrics and control endpoints (7c62dcc)
  • feat(steward): add telemetry contract and metrics queries (b1a14ba)
  • feat(steward): add derivation executor and lineage records (13ed59c)
  • feat(steward): add ollama merge conflict guard and schema validation (9704c20)
  • feat(steward): auto-merge high-confidence suggestions (0df75db)
  • feat(steward): add runtime worker loop and queue processing (66045a7)
  • feat(steward): add config validation and bootstrap wiring (a847b40)
  • feat(steward): add schema migrations for jobs runs and events (95b0acd)

Fixes

  • fix(ci): make ollama model pull best-effort in health check (b831473)
  • fix(stats): fail fast on scan and aggregate query errors (02757eb)
  • fix(memory): preserve title when re-embedding content updates (9123268)
  • fix(api): return 404 for missing memory mutations (69bdee3)

Other

  • docs(steward): add rollout plan slos and runbook (#86) (5b1190b)
  • test(steward): add verification matrix artifacts and coverage (#85) (b740a5d)
  • docs(steward): add ADR and architecture spec for STW01 (1a0f8e1)

Full changelog: v0.7.1...v0.8.0

Contextify v0.7.1

Choose a tag to compare

@github-actions github-actions released this 13 Feb 11:15
ee2f114

Contextify v0.7.1

All-in-one Docker image — everything included, zero setup.

Quick Start (CLI)

curl -fsSL https://raw.githubusercontent.com/atakanatali/contextify/main/scripts/install-cli.sh | sh
contextify install

Quick Start (Docker)

docker run -d --name contextify -p 8420:8420 \
  -v contextify-data:/var/lib/postgresql/data \
  ghcr.io/atakanatali/contextify:0.7.1

What's Changed

Added

  • Claude Desktop / Cowork MCP support via npx mcp-remote stdio bridge (claude_desktop_config.json)
  • Claude Chat (claude.ai) remote MCP setup guidance with manual connector instructions
  • Codex MCP support via codex mcp add/get/remove
  • Codex installer instructions file (~/.contextify/codex-instructions.md)
  • New tool options in install wizard: claude-desktop and claude-chat (interactive menu items 2 and 3)
  • Go toolconfig: internal/toolconfig/desktop.go and internal/toolconfig/chat.go
  • Cross-platform Claude Desktop config path detection (macOS, Windows, Linux)
  • Auto-restart Claude Desktop after configuration

Changed

  • Install wizard expanded from 4 to 7 tool options
  • --tools flag now accepts claude-desktop, claude-chat, and codex
  • --all flag includes all 7 tools
  • Install/update/uninstall/status flows now include Codex alongside Claude/Cursor/Windsurf/Gemini
  • Documented repository merge policy in CLAUDE.md: use normal merge commits for PRs (no squash), then delete remote feature branches after merge.

Commits

Features

  • feat: add Codex integration across installer and CLI (970d4d5)
  • feat: add Claude Desktop/Cowork and Claude Chat MCP support (64eae87)

Documentation

  • docs: fix CHANGELOG version links for v0.7.0 (188ed89)
  • docs: enforce merge-commit policy (no squash) (b88516a)

Other

  • Update CHANGELOG for version 0.7.0 release (2bec2f2)

Full changelog: v0.7.0...v0.7.1

Contextify v0.7.0

Choose a tag to compare

@github-actions github-actions released this 12 Feb 11:57
4beb04d

Contextify v0.7.0

All-in-one Docker image — everything included, zero setup.

Quick Start (CLI)

curl -fsSL https://raw.githubusercontent.com/atakanatali/contextify/main/scripts/install-cli.sh | sh
contextify install

Quick Start (Docker)

docker run -d --name contextify -p 8420:8420 \
  -v contextify-data:/var/lib/postgresql/data \
  ghcr.io/atakanatali/contextify:0.7.0

What's Changed

Added

  • Telemetry foundation for recall/store funnel tracking:
    • Migration 004_telemetry.sql with memory_telemetry_events table
    • Indexes for event_type + created_at, created_at, project_id, agent_source, and session_id
    • Event types: recall_attempt, recall_hit, store_opportunity, store_action
  • Non-blocking telemetry write path in memory service:
    • Asynchronous event emission with timeout-based background writes
    • Telemetry failures are logged and do not break API/MCP request flow
  • Request/session attribution in both API and MCP paths:
    • request_id and optional session_id propagation via middleware/handlers
    • Telemetry enrichment with agent_source and project_id when present
  • Funnel analytics backend and dashboard:
    • New endpoint GET /api/v1/analytics/funnel
    • Supports day-window or explicit from/to date range with agent_source and project_id filters
    • Returns totals, timeline, and by-agent/by-project breakdowns
    • Analytics page now includes recall/store funnel cards, trend chart, and breakdown lists
  • Session readiness enforcement across Claude/Cursor/Windsurf integrations:
    • SessionStart + PostToolUse hooks enforce successful get_context before normal flow
    • Updated tool prompts/rules to require recall-first and context-first behavior
  • High-confidence auto-store orchestration in PostToolUse hook:
    • Auto-store on high-confidence commit/fix signals
    • Falls back to pending/manual store flow when auto-store fails or confidence is low
  • Search v2 retrieval pipeline:
    • Two-stage recall with lexical/vector-aware candidate prefilter
    • Vector rerank with keyword weighting and lightweight relevance boosts
    • Broad-query handling for empty/* queries to avoid pointless tsquery scoring
  • Bounded in-memory search cache:
    • TTL-based cached recall results with configurable max entries
    • Cache invalidation on memory mutations to prevent stale results
    • New config keys: search.cache_enabled, search.cache_ttl, search.cache_max_entries
  • Recall benchmark & SLO reporting:
    • New tests/e2e/recall_benchmark_test.go (e2e build tag)
    • JSON benchmark report output via RECALL_BENCH_REPORT_PATH
    • make bench-recall target
    • Backend CI now runs recall benchmark and uploads recall-benchmark-report artifact
  • Local tooling ignore patterns:
    • .gocache/
    • .claude/worktrees/

Changed

  • Backend CI health-check workflow now ensures the embedding model is available before running the recall benchmark.
  • README expanded with benchmark/SLO execution and threshold/report environment variable guidance.

Fixed

  • Client/CLI API contract alignment:
    • store client now parses StoreResult response shape
    • promote client now parses status response payload
    • CLI promote handles missing memory title fallback gracefully
  • Smart-store auto-merge now correctly updates merged_from lineage.
  • Consolidation E2E tests are now isolated behind the e2e build tag so default go test ./... runs remain stable.

Commits

Documentation

  • docs: update unreleased changelog entries (#37) (4beb04d)

Other

  • CFY-108: add recall benchmark reporting and CI artifact (#36) (f0b4d5e)
  • Add bounded search cache with TTL and mutation invalidation (#35) (80cd7c0)
  • Implement two-stage search with lexical prefilter and vector rerank (#34) (07f5414)
  • Add high-confidence auto-store orchestration in post-tool-use hook (#33) (2171a64)
  • Enforce session-start context readiness across tool integrations (#32) (5537f7c)
  • Add funnel analytics endpoint and dashboard integration (#31) (bccbbef)
  • Add telemetry event pipeline and request/session attribution (#30) (5cc1273)
  • Fix API client contracts and isolate e2e tests (cbe2238)
  • Update CHANGELOG for version 0.6.1 release (acddec0)

Full changelog: v0.6.1...v0.7.0

Contextify v0.6.1

Choose a tag to compare

@github-actions github-actions released this 12 Feb 09:30
996946a

Contextify v0.6.1

All-in-one Docker image — everything included, zero setup.

Quick Start (CLI)

curl -fsSL https://raw.githubusercontent.com/atakanatali/contextify/main/scripts/install-cli.sh | sh
contextify install

Quick Start (Docker)

docker run -d --name contextify -p 8420:8420 \
  -v contextify-data:/var/lib/postgresql/data \
  ghcr.io/atakanatali/contextify:0.6.1

What's Changed

Added

Memory Consolidation & Deduplication

  • Smart Store — store_memory now auto-detects duplicates on write
    • Similarity >= 0.92: automatic merge (configurable)
    • Similarity 0.75-0.92: creates a pending suggestion for review
    • Store() returns StoreResult with action (stored/merged) and suggestions fields
  • Merge strategies: latest_wins, append, smart_merge (default)
  • Background dedup scanner — periodic scan of all memories for duplicates
  • Consolidation suggestions — pending merge suggestions reviewable via Web UI or API
  • Consolidation audit log — every merge operation is recorded with before/after content
  • SUPERSEDES relationship — surviving memory links to absorbed memory
  • 3 new MCP tools: consolidate_memories, find_similar, suggest_consolidations
  • 7 new REST endpoints: merge, duplicates, batch consolidate, suggestions CRUD, consolidation log
  • Database migration 002_consolidation.sql: consolidation_log table, consolidation_suggestions table, version/merged_from/replaced_by columns on memories
  • Web UI Consolidation page for reviewing and acting on suggestions

Project ID Normalization

  • VCS-agnostic canonical project names — worktrees, different machines, renames all resolve to the same identity
  • File-based VCS detection — .git/config and .hg/hgrc parsed directly (no git/hg binary needed, works in Docker sandbox)
  • Normalization priority: .contextify.yml name > VCS remote URL > worktree suffix strip > raw path
  • Hybrid architecture: client-side hook + server-side safety net + background worker
  • Server normalizes project_id on both reads and writes for consistency
  • Background ProjectNormalizerJob (hourly) re-normalizes legacy project_ids
  • Admin endpoint POST /admin/normalize-projects for manual trigger
  • Database migration 003_normalize_project_ids.sql: strips worktree suffixes from existing data
  • NormalizeProjectID config toggle (default: true, env: NORMALIZE_PROJECT_ID)
  • Session-start hook rewritten with full VCS-agnostic normalization in bash
  • ProjectNormalizer with sync.Map cache for zero-cost repeated lookups
  • Post-tool-use hook state machine — enforces store_memory after every git commit with violation nagging
  • contextify update and install.sh --update now force-overwrite tool configs (hooks, prompts, rules) with latest versions
  • UpdateConfiguredTools() function for centralized tool config updates
  • CLI self-update — contextify update now updates both the Docker server and the CLI binary from GitHub Releases
    • Downloads platform-specific binary (darwin/linux, amd64/arm64), verifies it, and replaces the current binary
    • Falls back to sudo if direct replacement fails (e.g., /usr/local/bin)
    • --skip-cli flag to update server only
  • Update confirmation prompt — contextify update warns that active MCP sessions will disconnect and asks for confirmation (y/N)
    • -y / --yes flag to skip the prompt (for scripts/CI)

Changed

  • Post-tool-use hook output upgraded from soft reminder to aggressive required/violation messages

Commits

Features

  • feat: CLI self-update and MCP session warning in contextify update (15efcf9)

Full changelog: v0.6.0...v0.6.1

Contextify v0.6.0

Choose a tag to compare

@github-actions github-actions released this 12 Feb 08:57
81cef0b

Contextify v0.6.0

All-in-one Docker image — everything included, zero setup.

Quick Start (CLI)

curl -fsSL https://raw.githubusercontent.com/atakanatali/contextify/main/scripts/install-cli.sh | sh
contextify install

Quick Start (Docker)

docker run -d --name contextify -p 8420:8420 \
  -v contextify-data:/var/lib/postgresql/data \
  ghcr.io/atakanatali/contextify:0.6.0

What's Changed

Added

Memory Consolidation & Deduplication

  • Smart Store — store_memory now auto-detects duplicates on write
    • Similarity >= 0.92: automatic merge (configurable)
    • Similarity 0.75-0.92: creates a pending suggestion for review
    • Store() returns StoreResult with action (stored/merged) and suggestions fields
  • Merge strategies: latest_wins, append, smart_merge (default)
  • Background dedup scanner — periodic scan of all memories for duplicates
  • Consolidation suggestions — pending merge suggestions reviewable via Web UI or API
  • Consolidation audit log — every merge operation is recorded with before/after content
  • SUPERSEDES relationship — surviving memory links to absorbed memory
  • 3 new MCP tools: consolidate_memories, find_similar, suggest_consolidations
  • 7 new REST endpoints: merge, duplicates, batch consolidate, suggestions CRUD, consolidation log
  • Database migration 002_consolidation.sql: consolidation_log table, consolidation_suggestions table, version/merged_from/replaced_by columns on memories
  • Web UI Consolidation page for reviewing and acting on suggestions

Project ID Normalization

  • VCS-agnostic canonical project names — worktrees, different machines, renames all resolve to the same identity
  • File-based VCS detection — .git/config and .hg/hgrc parsed directly (no git/hg binary needed, works in Docker sandbox)
  • Normalization priority: .contextify.yml name > VCS remote URL > worktree suffix strip > raw path
  • Hybrid architecture: client-side hook + server-side safety net + background worker
  • Server normalizes project_id on both reads and writes for consistency
  • Background ProjectNormalizerJob (hourly) re-normalizes legacy project_ids
  • Admin endpoint POST /admin/normalize-projects for manual trigger
  • Database migration 003_normalize_project_ids.sql: strips worktree suffixes from existing data
  • NormalizeProjectID config toggle (default: true, env: NORMALIZE_PROJECT_ID)
  • Session-start hook rewritten with full VCS-agnostic normalization in bash
  • ProjectNormalizer with sync.Map cache for zero-cost repeated lookups
  • Post-tool-use hook state machine — enforces store_memory after every git commit with violation nagging
  • contextify update and install.sh --update now force-overwrite tool configs (hooks, prompts, rules) with latest versions
  • UpdateConfiguredTools() function for centralized tool config updates

Changed

  • Post-tool-use hook output upgraded from soft reminder to aggressive required/violation messages

Commits

Features

  • feat: memory consolidation, smart store dedup, and VCS-agnostic project ID normalization (eb46016)
  • feat: enforce store_memory after git commits + update tool configs on upgrade (a051804)

Documentation

  • docs: update CHANGELOG with store_memory enforcement and update configs (10c5a14)

Other

  • chore: prepare CHANGELOG for v0.5.3 release (21d82d9)

Full changelog: v0.5.3...v0.6.0

Contextify v0.5.3

Choose a tag to compare

@github-actions github-actions released this 11 Feb 22:13
8b89aa3

Contextify v0.5.3

All-in-one Docker image — everything included, zero setup.

Quick Start (CLI)

curl -fsSL https://raw.githubusercontent.com/atakanatali/contextify/main/scripts/install-cli.sh | sh
contextify install

Quick Start (Docker)

docker run -d --name contextify -p 8420:8420 \
  -v contextify-data:/var/lib/postgresql/data \
  ghcr.io/atakanatali/contextify:0.5.3

What's Changed

Added

  • Interactive setup wizard — install.sh now asks which AI tools to configure
  • Windsurf support (MCP via ~/.codeium/windsurf/mcp_config.json)
  • --tools, --all, --status, --help flags for non-interactive usage
  • Re-runnability — wizard skips already-completed steps on subsequent runs
  • Per-tool status indicators (✓ configured, ◐ partial, ○ not configured)
  • Auto-restart for Cursor and Windsurf after configuration to load MCP servers
  • prompts/windsurf.md template
  • Go CLI tool (contextify) with Cobra framework for managing Contextify from the terminal
  • CLI management commands: install, uninstall, start, stop, restart, update, status, logs, version
  • CLI memory commands: store, recall, search, get, delete, promote, stats, context
  • HTTP client for REST API (internal/client/) — standalone, no server-side dependencies
  • Docker container manager (internal/docker/) via os/exec shell-out
  • AI tool configuration in pure Go (internal/toolconfig/) — replaces jq/python3 dependency
  • Makefile with build-cli, build-server, build-all, release-cli targets
  • scripts/install-cli.sh — one-line CLI installer via curl | sh
  • CLI binary cross-compilation in release workflow (darwin/linux, amd64/arm64)
  • Automatic CHANGELOG.md updates on release (scripts/update-changelog.sh)
  • Auto-generated release notes from CHANGELOG + git log (scripts/release-notes.sh)
  • CLI build verification step in backend CI
  • Expanded PostToolUse hooks: recall triggers on Grep, Glob, WebSearch, WebFetch, Task, Read; store triggers on git commit, push, PR, errors
  • Aggressive mandatory protocol prompts for Cursor, Windsurf, and Gemini rules files
  • Claude Code CLAUDE.md prompt block upgraded to mandatory protocol (matching hook enforcement level)

Changed

  • install.sh no longer auto-detects and silently configures all tools
  • Gemini configuration is now an explicit selection (not always copied)
  • Release workflow generates notes from CHANGELOG.md instead of hardcoded body
  • CHANGELOG.md updates are now developer-driven (via CLAUDE.md rule) instead of automated in CI

Removed

  • Auto-detect behavior (detect_tools()) replaced by interactive selection

Commits

Features

  • feat: upgrade Claude Code CLAUDE.md prompt to mandatory protocol (863d74a)
  • feat: enforce memory protocol in Cursor, Windsurf, and Gemini prompts (ba5dc64)
  • feat: expand hook triggers — recall on search/web, store on git/errors (50fddbe)
  • feat: enforce memory protocol via aggressive hook messaging (92406d4)
  • feat: enforce memory protocol via aggressive hook messaging (abcd742)
  • feat: Go CLI tool replacing install.sh with full management and memory commands (b77c741)

Fixes

  • fix: restore recall triggers lost during conflict resolution (a6d6c44)
  • fix: add git config for tag creation in release workflow (c8728e8)
  • fix: add git config for tag creation in release workflow (4dc693c)
  • fix: remove CHANGELOG PR step from release workflow (90d4742)
  • fix: remove CHANGELOG PR step from release workflow (3c773e5)
  • fix: decouple CHANGELOG PR from release flow to avoid blocking on checks (667526a)
  • fix: use PR-based CHANGELOG commit to respect branch protection (3549459)
  • fix: write MCP config to ~/.claude.json with correct transport type (3cd6f71)

CI/CD

  • ci: open CHANGELOG PR for manual merge after release (1702a8b)

Other

  • Enhance README with image and core architecture section (ed95a3e)

Full changelog: v0.3.0...v0.5.3

Contextify v0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Feb 21:16

Contextify v0.5.0

All-in-one Docker image — everything included, zero setup.

Quick Start (CLI)

curl -fsSL https://raw.githubusercontent.com/atakanatali/contextify/main/scripts/install-cli.sh | sh
contextify install

Quick Start (Docker)

docker run -d --name contextify -p 8420:8420 \
  -v contextify-data:/var/lib/postgresql/data \
  ghcr.io/atakanatali/contextify:0.5.0

Commits

Features

  • feat: Go CLI tool replacing install.sh with full management and memory commands (b77c741)

Fixes

  • fix: remove CHANGELOG PR step from release workflow (3c773e5)
  • fix: decouple CHANGELOG PR from release flow to avoid blocking on checks (667526a)
  • fix: use PR-based CHANGELOG commit to respect branch protection (3549459)
  • fix: write MCP config to ~/.claude.json with correct transport type (3cd6f71)

CI/CD

  • ci: open CHANGELOG PR for manual merge after release (1702a8b)

Other

  • Enhance README with image and core architecture section (ed95a3e)

Full changelog: v0.3.0...v0.5.0

Contextify v0.3.0

Choose a tag to compare

@github-actions github-actions released this 11 Feb 18:51
d77ad25

Contextify v0.3.0

All-in-one Docker image — everything included, zero setup.

Quick Start

docker run -d --name contextify -p 8420:8420 \
  -v contextify-data:/var/lib/postgresql/data \
  ghcr.io/atakanatali/contextify:0.3.0

Or with Docker Compose:

curl -fsSL https://github.com/atakanatali/contextify/releases/latest/download/docker-compose.prod.yml -o docker-compose.yml
docker compose up

What's Inside

  • PostgreSQL 16 + pgvector — HNSW index, 768d embeddings
  • Ollama + nomic-embed-text — pre-pulled, zero first-run downloads
  • Contextify Server — MCP + REST API + Web UI
  • Hybrid search — 0.7 vector + 0.3 keyword scoring
  • TTL lifecycle — auto-promotion, access-based extension

See ARCHITECTURE.md for technical details.

Contextify v0.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Feb 15:55
be1fc58

Contextify v0.2.0

All-in-one Docker image — everything included, zero setup.

Quick Start

docker run -d --name contextify -p 8420:8420 \
  -v contextify-data:/var/lib/postgresql/data \
  ghcr.io/atakanatali/contextify:0.2.0

Or with Docker Compose:

curl -fsSL https://github.com/atakanatali/contextify/releases/latest/download/docker-compose.prod.yml -o docker-compose.yml
docker compose up

What's Inside

  • PostgreSQL 16 + pgvector — HNSW index, 768d embeddings
  • Ollama + nomic-embed-text — pre-pulled, zero first-run downloads
  • Contextify Server — MCP + REST API + Web UI
  • Hybrid search — 0.7 vector + 0.3 keyword scoring
  • TTL lifecycle — auto-promotion, access-based extension

See ARCHITECTURE.md for technical details.

Contextify v0.1.0

Choose a tag to compare

@github-actions github-actions released this 11 Feb 09:48
4c04370

Contextify v0.1.0

Docker Image

docker pull ghcr.io/atakanatali/contextify:0.1.0

Quick Start

curl -fsSL https://github.com/atakanatali/contextify/releases/latest/download/docker-compose.prod.yml -o docker-compose.yml
docker compose up

What's Included

  • Contextify Server (Go) — MCP + REST API + Web UI
  • PostgreSQL 16 + pgvector (HNSW index, 768d embeddings)
  • Ollama + nomic-embed-text (local embeddings)
  • Hybrid search (0.7 vector + 0.3 keyword)
  • TTL-based memory lifecycle with auto-promotion

See ARCHITECTURE.md for technical details.