# Changelog ## [2.0.0](https://codeberg.org/sgs/pyotp2289/releases/tag/v2.0.0) (2026-05-01) [Full Changelog](https://codeberg.org/sgs/pyotp2289/compare/v1.2.1...v2.0.0) **Changes:** - Redesign API by introducing the otp2289.OTPResponse type - Add type checking and linting - Move the project from GitHub to Codeberg ## [1.2.1](https://codeberg.org/sgs/pyotp2289/releases/tag/v1.2.1) (2023-01-08) [Full Changelog](https://codeberg.org/sgs/pyotp2289/compare/v1.2.0...v1.2.1) **Changes:** - Include the unit tests in the sdist package ## [1.2.0](https://codeberg.org/sgs/pyotp2289/releases/tag/v1.2.0) (2023-01-05) [Full Changelog](https://codeberg.org/sgs/pyotp2289/compare/v1.1.1...v1.2.0) **Changes:** - Add the `OTPState.ot_hex` property ## [1.1.1](https://codeberg.org/sgs/pyotp2289/releases/tag/v1.1.1) (2022-04-02) [Full Changelog](https://codeberg.org/sgs/pyotp2289/compare/v1.1.0...v1.1.1) **Changes:** - Reintroduce setup.py for better campatibility ## [1.1.0](https://codeberg.org/sgs/pyotp2289/releases/tag/v1.1.0) (2022-03-29) [Full Changelog](https://codeberg.org/sgs/pyotp2289/compare/v1.0.0...v1.1.0) **Changes:** - (CLI) a password can now be set using the *OTP2289_PASSWORD* env. variable - (CLI) a new parameter *-P* / *--force-password-prompt* can be used in order to force password prompt - improved tests for CLI - use *setuptools* instead of the deprecated *distutils* # [1.0.0](https://codeberg.org/sgs/pyotp2289/releases/tag/v1.0.0) (2020-04-07) **Changes:** - Initial release