- Add
parse_uri()
support for Steam TOTP (#153) - Test and documentation improvements
- Modify OTP generation to run in constant time (#148)
- Documentation improvements
- Drop Python 3.6 support; introduce Python 3.11 support
- Support Steam TOTP (#142)
- Build, test, and documentation updates
- Raise default and minimum base32 secret length to 32, and hex secret length to 40 (160 bits as recommended by the RFC) (#115).
- Fix issue where provisioning_uri would return invalid results after calling verify() (#115).
- parse_uri accepts and ignores optional image parameter (#114)
- Add optional image parameter to provisioning_uri (#113)
- Support for 7-digit codes in ‘parse_uri’ (#111)
- Raise default and minimum base32 secret length to 26
- parse_uri: Fix handling of period, counter (#108)
- Add support for timezone aware datetime as argument to
TOTP.timecode()
(#107)
- Fix data type for at(for_time) (#85)
- Add support for parsing provisioning URIs (#84)
- Raise error when trying to generate secret that is too short (The secret must be at least 128 bits)
- Add random_hex function (#82)
- Fix comparison behavior on Python 2.7
- Fix comparison of unicode chars (#78)
- Minor documentation and test fixes
- Have random_base32() use ‘secrets’ as rand source (#66)
- Documentation: Add security considerations, minimal security checklist, other improvements
- Update setup.py to reference correct license
- Fix tests wrt double-quoting in provisioning URIs
- Quote issuer QS parameter in provisioning_uri. Fixes #47.
- Raise an exception if a negative integer is passed to at() (#41).
- Documentation and release infrastructure improvements.
- Restore Python 2.6 compatibility (however, Python 2.6 is not supported)
- Documentation and test improvements
- Fix release infra script, part 2
- Restore Python 2.6 compatibility (however, Python 2.6 is not supported)
- Documentation and test improvements
- Fix release infra script
- Restore Python 2.6 compatibility (however, Python 2.6 is not supported)
- Documentation and test improvements
- Avoid using python-future; it has subdependencies that limit compatibility (#34)
- Make test suite pass on 32-bit platforms (#30)
- Timing attack resistance fix: don't reveal string length to attacker. Thanks to Eeo Jun (#28).
- Support algorithm, digits, period parameters in provisioning_uri. Thanks to Dionisio E Alonso (#33).
- Minor style and packaging infrastructure fixes.
- See v2.2.1
- Add extended range support to TOTP.verify. Thanks to Zeev Rotshtein (PR #19).
- Handle missing padding of encoded secret. Thanks to Kun Yan (#20).
- Miscellaneous fixes.
- Fix packaging issue in v2.0.0 that prevented installation with easy_install.
- The
pyotp.HOTP.at()
,pyotp.TOTP.at()
, andpyotp.TOTP.now()
methods now return strings instead of integers. Thanks to Rohan Dhaimade (PR #16).
- Begin tracking changes in change log.
- Update documentation.
- Introduce Travis CI integration.
- Initial release.