# 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.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - 2026-01-23

### Added
- Initial release of 1Password CLI Python wrapper
- Core injection functions:
  - `inject_string_1password()` for string-based secret injection
  - `inject_dictionary_1password()` for dictionary-based secret injection with type preservation
- Pydantic Settings integration via `OnePasswordSettings` base class
- Automatic detection of `op://` secret references
- CLI health checks with timeout protection (30s)
- Comprehensive exception hierarchy:
  - `OnePasswordException` (base)
  - `OnePasswordCLIError`
  - `OnePasswordNotInstalledError`
  - `OnePasswordNotAuthenticatedError`
  - `SecretInjectionError`
- Full type hints with `py.typed` marker for mypy/pyright compatibility
- Type preservation in dictionaries (int, float, bool, None, lists)
- Performance optimization: skip CLI calls when no secrets are detected
- Comprehensive test suite with 80%+ coverage
- CI/CD pipeline with GitHub Actions:
  - Ruff linting and formatting
  - Pytest across Python 3.11, 3.12, 3.13
  - Security audit with pip-audit
  - Secret scanning with TruffleHog
  - Automated PyPI publishing on tagged releases
- Pre-commit hooks for code quality
- Comprehensive documentation and examples

[1.0.0]: https://github.com/scottzach1/1Password-Python/releases/tag/v1.0.0
