# Changelog

## v1.1.2 — 2026-05-12
- Switch config file format from TOML to YAML, matching the agent-tester config pattern
- Global config: `~/.config/vllmd/config.yml` (or `.yaml`)
- Local config: auto-detected from `vllmd.yaml`, `vllmd.yml`, `.vllmd.yaml`, `.vllmd.yml`
- Add `config.example.yaml`
- Replace `tomli` dependency with `PyYAML>=6.0`

## v1.1.1 — 2026-05-12
- Move provider backends (`base.py`, `local.py`, `aws.py`) into `vectordb/providers/` subpackage
- Add `get_vector_store()` factory that reads backend from `.vllmd.toml` (project) or `~/.vllmd/config.toml` (global), defaulting to `LocalVectorStore`
- Add `tomli>=2.0` as a conditional dependency for Python < 3.11

## v1.1.0 — 2026-05-12
- Add `BaseVectorStore` ABC defining the full vector store interface
- Add `AWSVectorStore` backed by Amazon OpenSearch Service (`pip install 'vllmd[aws]'`)
- Refactor `VectorStore` → `LocalVectorStore(BaseVectorStore)`; `VectorStore` alias kept for backward compatibility
- Move shared helpers (`_chunk_text`, `_file_id`) and constants to `vectordb.base`
- Add `[aws]` optional extras: `opensearch-py>=2.0`, `boto3>=1.34`

## v1.0.1 — 2026-05-12
- Deduplicate message deserialization via `_parse_messages()` in `load()` and `list_all()`
- Move embedder factory to `embeddings.make_embedder()`, remove duplicate closures in CLI and chat
- Extract `_post_json()` into `embeddings.py`, use it across chat completion and embedding calls
- Extract `_load_session_or_exit()` to deduplicate session error handling across five commands
- Extract `_ingest_chunks()` to deduplicate `ingest_document` and `ingest_code_file`
- Fix CI publish workflow: move `id-token: write` to workflow level for trusted publishing

## v1.0.0 — 2026-05-12
- Initial stable release
