# Changelog

All notable changes to Kilit will be documented in this file.

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

## [Unreleased]

### Added
- Initial release of Kilit
- AES-256-GCM encryption with Scrypt KDF
- CLI commands: init, edit, show, export, rotate
- Thread-safe runtime API
- JSON and YAML codec support
- Cross-platform file permissions
- Django, Flask, and FastAPI integration examples
- Comprehensive documentation

### Security
- Scrypt parameters stored in envelope for deterministic decryption
- No master key printing by default
- Signal handling for temp file cleanup
- Safe `__repr__` methods that don't expose secrets
- Sanitized error messages

## [0.1.0] - 2024-02-28

### Added
- Initial public release
- Core cryptographic layer with AES-256-GCM
- Scrypt KDF with parameter validation
- Atomic file writes with fsync
- Cross-platform secure file permissions
- JSON codec (built-in)
- YAML codec (optional)
- CLI with 5 commands (init, edit, show, export, rotate)
- Thread-safe Credentials API
- Dotted path access for nested secrets
- Environment variable support
- Master key rotation
- Framework integration examples (Django, Flask, FastAPI)
- Comprehensive README and documentation

### Security
- Master key never printed by default
- Temp files cleaned up on interruption
- Scrypt parameters in envelope (not environment-dependent)
- Error messages don't leak secrets

[Unreleased]: https://github.com/erhan/kilit/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/erhan/kilit/releases/tag/v0.1.0
