# Changelog — klieo (umbrella)

All notable changes to this crate are documented here.
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
This crate adheres to [Semantic Versioning](https://semver.org/).

## [Unreleased]

### Added

- Audit-redactor wiring into `App` construction (A3.2):
  - `AppBuilder::audit_redactor(Arc<dyn AuditRedactor>)` installs a
    redactor applied to PII-flagged tools' recorded args/results in
    every minted `AgentContext`.
  - With the `ops` feature active and no explicit redactor set, `build()`
    defaults to `klieo_ops::redactor::DefaultRedactor` so PII-flagged
    tools get shape-preserving redaction out of the box rather than the
    fail-closed opaque digest. Without `ops` and without an explicit
    redactor, the digest fallback remains.
  - `App::context` threads the resolved redactor into each minted
    context.
  Additive — minor.
- `AppBuilder::mcp_http(id, url, HttpConnectOptions)` (behind the new `http`
  feature, which enables `mcp` + `klieo-tools-mcp/http`) — registers a
  REMOTE MCP server reached over Streamable HTTP as a tool source,
  alongside the existing stdio `mcp_stdio`. Mutually exclusive with
  `.tools_invoker()`, like `mcp_stdio`. URL/auth config errors and
  transport failures surface as `Error::Tool` at `build()` time.

## [1.3.0] — 2026-06-08

### Added

- `llm-rustls-tls` feature aggregate — additively activates `rustls-tls`
  alongside the workspace-default `native-tls` for every active LLM
  provider. Conditional `?` per provider, so the flag is a no-op when no
  provider is on. A pure-rustls build (no `native-tls` in the dep graph)
  requires a workspace-level `reqwest = { default-features = false }`
  change planned for a follow-up PR — out of scope here because every
  reqwest-consuming crate (auth-oauth, mcp-server, ops, server) would
  need a matching TLS feature block.

### Notes

- 4 LLM provider crates (`klieo-llm-ollama`, `klieo-llm-openai`,
  `klieo-llm-anthropic`, `klieo-llm-gemini`) + shared helper crate
  `klieo-llm-common` all bumped to 1.1.0 to introduce their
  `reqwest-rustls-tls` feature. Each provider crate's feature chains
  into `klieo-llm-common/reqwest-rustls-tls`, so flipping a provider to
  rustls flips the shared HTTP helpers too.

## [1.2.0] — 2026-06-08

### Added

- Four new umbrella feature flags closing pre-existing dep gaps so
  `klieo = { features = ["full"] }` actually wires a usable stack:
  - `auth-common` — pulls `klieo-auth-common` (was transitively
    available only via `a2a` / `oauth` / `ops`; direct opt-in lets
    adopters implement a custom `Authenticator` without dragging in
    those crates).
  - `ops` — pulls `klieo-ops` (multi-tenant runtime, gates,
    escalation, four-eyes, worklog, handoff, encryption).
  - `ops-api` — pulls `klieo-ops-api` (HTTP routes for the ops layer);
    transitively activates `ops`.
  - `mcp-server` — pulls `klieo-mcp-server` (server-side MCP adapter;
    inverse of the existing `mcp` feature which is client-side).
- `all-foundation` aggregate extended with `auth-common`, `ops`,
  `ops-api`.
- `full` aggregate now pulls `mcp-server` as well.

See ADR-040 (`cargo-feature autowiring contract`) for the policy that
governs which crates the umbrella must surface.

## [1.1.0] — 2026-06-05

### Added

- Feature flags `memory-graph`, `memory-graph-neo4j`,
  `memory-graph-rag`, `graph-projector` activated. Backing
  crates published to crates.io at 1.0.0 (ADR-039 GraphRAG
  cluster 1.0 promotion).
- `pub mod memory_graph`, `pub mod memory_graph_neo4j`,
  `pub mod memory_graph_rag`, `pub mod graph_projector`
  re-export modules — each gated by the matching feature flag.
- `all-memory` aggregate extended with the four GraphRAG
  feature flags; `full` aggregate now pulls the entire
  GraphRAG cluster via `all-memory` + `graph-projector`.
- Workspace `[workspace.dependencies]` pins for the GraphRAG
  cluster crates corrected to `version = "1"`;
  `klieo-graph-projector` entry added.

## [1.0.0] — 2026-05-29

### Added

- Initial 1.0 release. Umbrella crate aggregating every klieo impl crate
  under feature flags (`local`, `all-foundation`, `all-llm`, `all-memory`,
  `all-observability`, `full`). See README for the feature matrix.
