- Added release documentation to contributing docs. (#23)
- Fixed Read the Docs build failures by updating deprecated Sphinx settings and adding API documentation generation. (#31)
Added complete multibase encoding support and enhanced API features.
New Encodings (10 total): - base16upper (prefix F) - Uppercase hexadecimal encoding - base32upper (prefix B) - Uppercase base32 encoding - base32pad (prefix c) - Base32 with RFC 4648 padding - base32padupper (prefix C) - Base32 uppercase with padding - base32hexupper (prefix V) - Base32hex uppercase variant - base32hexpad (prefix t) - Base32hex with RFC 4648 padding - base32hexpadupper (prefix T) - Base32hex uppercase with padding - base64pad (prefix M) - Base64 with RFC 4648 padding - base64urlpad (prefix U) - Base64url with padding - base256emoji (prefix 🚀) - Emoji-based encoding
API Enhancements: - Added
EncoderandDecoderclasses for reusable encoding/decoding - Addeddecode(return_encoding=True)parameter to return encoding type along with decoded data - Added structured exception classes:UnsupportedEncodingError,InvalidMultibaseStringError,DecodingError- Added encoding metadata functions:get_encoding_info(),list_encodings(),is_encoding_supported()- Added decoder composition support viaDecoder.or_()methodThis brings py-multibase to 100% encoding coverage (24/24 encodings) matching reference implementations (go-multibase, rust-multibase, js-multiformats). (#20)
- Modernized project infrastructure: migrated to pyproject.toml, replaced Travis CI with GitHub Actions, updated Python support to 3.10-3.14, replaced flake8 with ruff, and added pre-commit hooks. This is an internal change that does not affect the public API. (#18)
- Dropped
coverageandcodecovreferences, no longer using it. (#23) - Updated pyupgrade to v3.21.2 to fix Python 3.14 compatibility in linting checks. (#24)
- Fixed release process by adding automated release targets to Makefile, adding doctest support to documentation builds, fixing version string configuration, and creating comprehensive package test script. This aligns the release process with py-multihash PR 31 improvements. (#26)
- Add base36 and base36 upper encodings
- Fix issue with base16 encoding
- Re-implement encoding for base32 and base64, as the implementation was buggy
- Add extensive tests for all encodings
- First release on PyPI.