mailrs-intelligence 3.0.0

LLM-powered email analysis primitives: structured extraction, importance scoring, spam classification, and embeddings — with a pluggable LlmProvider trait and an OpenAI-compatible reference implementation.
Documentation
# Changelog

All notable changes to `mailrs-intelligence` are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [3.0.0] - 2026-06-03

### Changed (BREAKING)
- `KevySpamCache::new(conn: redis::aio::ConnectionManager)`  `KevySpamCache::new(store: kevy_embedded::Store)`. The cache now runs
  directly against the in-process kevy `Store` — no RESP wire, no
  network hop. `Store: Clone` so callers typically pass a clone of the
  shared cement-owned store.
- Feature `kevy-cache` now pulls `kevy-embedded` instead of `redis`. No
  more `redis` transitive dependency.

### Migration
```toml
# before
mailrs-intelligence = "2"
redis = "1"
# after
mailrs-intelligence = "3"
kevy-embedded = "1.1"
```
```rust
// before
let cm = redis::aio::ConnectionManager::new(redis::Client::open("redis://…")?).await?;
let cache = KevySpamCache::new(cm);
// after
let store = kevy_embedded::Store::open(kevy_embedded::Config::default())?;
let cache = KevySpamCache::new(store);
```

## [2.0.0] - 2026-06-03

### Changed (BREAKING)
- Feature flag `redis-cache` renamed to `kevy-cache`. Update your `Cargo.toml`:
  `mailrs-intelligence = { version = "2", features = ["kevy-cache"] }`.
- Public struct `RedisSpamCache` renamed to `KevySpamCache`. Update imports:
  `use mailrs_intelligence::spam::KevySpamCache;`.
- Module `spam::redis_impl` renamed to `spam::kevy_impl` (re-exports still
  flat at `spam::KevySpamCache`).
- Documentation refers to kevy (<https://github.com/goliajp/kevy>); RESP
  wire protocol is unchanged so `redis://` URLs still work.

## [1.0.2] - 2026-05-22

### Added
- `#![deny(missing_docs)]` gate; all public items now carry rustdoc.
- Perf regression gates under `tests/perf_gate.rs` with documented budgets in `BUDGETS.md`.

### Changed
- Dropped the unenforceable `rust-version = "1.85"` declaration from `Cargo.toml`.
- Refreshed dev dependencies (criterion 0.7 → 0.8).

## [1.0.1] - 2026-05-20

### Added
- Deeper unit-test coverage and criterion benches for extraction, importance scoring, and spam classification helpers.

## [1.0.0] - 2026-05-20

### Added
- Initial release. LLM-powered email analysis primitives: structured extraction, importance scoring, spam classification, and embeddings — with a pluggable `LlmProvider` trait and an OpenAI-compatible reference implementation.

[Unreleased]: https://github.com/goliajp/mailrs/compare/mailrs-intelligence-v1.0.2...HEAD
[1.0.2]: https://github.com/goliajp/mailrs/compare/mailrs-intelligence-v1.0.1...mailrs-intelligence-v1.0.2
[1.0.1]: https://github.com/goliajp/mailrs/compare/mailrs-intelligence-v1.0.0...mailrs-intelligence-v1.0.1
[1.0.0]: https://github.com/goliajp/mailrs/releases/tag/mailrs-intelligence-v1.0.0