# Changelog

All notable changes to this project will be 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]

## [0.1.0] - 2026-01-17

### Added

- Initial release of LastID Rust SDK
- Type-safe policy builders for 8 credential types:
  - `BaseCredentialPolicy` - Basic identity verification
  - `PersonaPolicy` - Selective persona field disclosure
  - `VerifiedEmailPolicy` - Email verification with domain constraints
  - `VerifiedPhonePolicy` - Phone number verification
  - `VerifiedPersonaPolicy` - Identity document verification
  - `EmploymentPolicy` - Employment status verification
  - `TrustPolicy` - Trust network verification
  - `AgeProofPolicy` - Age verification with comparison operators
- `ClientBuilder` with fluent API for SDK configuration
- DPoP authentication (RFC 9449) for proof-of-possession token binding
- Trust registry validation with 60-second caching
- Cross-platform support:
  - Native: Linux (glibc/musl), macOS (Intel/ARM), Windows, iOS, Android
  - Web: WASM via `wasm` feature flag
- Async-first design using tokio runtime (native) or wasm-bindgen-futures (WASM)
- Comprehensive error types with actionable messages via `LastIDError`
- Configuration via TOML files or environment variables
- Feature flags for modular compilation:
  - Policy-specific features: `base-policy`, `persona-policy`, etc.
  - `full` - All policies and optional features
  - `wasm` - WebAssembly/browser support
  - `tracing` - OpenTelemetry integration
  - `json-schema` - JSON Schema generation for policies
  - `test-utils` - Mock implementations for testing
  - `websocket` - Real-time status updates
- Complete rustdoc documentation with examples
- 8 runnable examples demonstrating each policy type
