# Changelog
All notable changes to this project are documented in this file. Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning: [SemVer](https://semver.org/).
## [Unreleased]
## [0.1.0] — 2026-05-19
### Added
- `identity` — Ed25519 keypair (`ed25519-dalek`), `did:key:` derivation, sign + `verify_sig` (`generate_keypair`, `sign`, `did_from_pubkey`, `pubkey_from_did`).
- `artifact` — Question / Answer / Rating builders, strict schema validation, `verify_artifact`, `cid_of` (CIDv1 raw+sha256).
- `canonical` — RFC 8785 JCS via `serde_jcs`, `artifact_bytes_for_sig`, `compute_cid`.
- `store` — `rusqlite` (bundled) CRUD (`Store::open(":memory:")` or file path), idempotent inserts keyed on CID.
- `federation::pull_from_peer(peer_url, since)` — stream NDJSON `/feed`, verify each line, dedup; pluggable `Fetcher` trait for in-process tests.
- `server::create_app(AppState)` — `axum::Router` exposing six protocol endpoints (`POST /questions|/answers|/ratings`, `GET /artifact/:cid|/questions|/feed`) with ±24h ingest window and 64 KiB body cap.
- `agent-ask` binary — tokio server bound to env vars `AGENT_ASK_DB`, `AGENT_ASK_PORT`.
- Byte-deterministic conformance with the TS reference: all C1 (roundtrip), C2 (tamper detection), C3 (federation pull) vectors pass.
- In-process HTTP test harness using `tower::ServiceExt::oneshot`.
- 59 tests across binaries.
[Unreleased]: https://github.com/p-vbordei/agent-ask-rs/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/p-vbordei/agent-ask-rs/releases/tag/v0.1.0