- Add resolver utility functions ported from go-multiaddr-dns:
matches(),resolve_all(),is_fqdn(),fqdn(),addr_len(), andoffset_addr(). These utilities support DNS-based multiaddr resolution workflows including iterative resolution and FQDN handling. (#101)
- Updated the tox GitHub Actions workflow so lint runs only once on Linux with Python 3.10, while core tests continue to run across all configured Python versions. (#104)
- Aligned local tox defaults with CI by running lint only in
py310-lint, while keeping core test environments for all configured Python versions. (#106)
- Removed the module-level
to_bytesandto_stringhelpers frommultiaddr.codecs.domain. Domain codec behavior remains available throughmultiaddr.codecs.domain.Codec. (#100)
- Fixed validation for tag-only protocols (protocols that do not accept values).
Tag-only protocols like
http,https,tls,noise,webrtc, etc. now correctly reject invalid value assignments via both/tag/valueand/tag=valuesyntax, raising clear error messages that do not include the invalid value. (#98)
- Added the following protocols in reference with go-multiaddr
- SNI: 0x01C1
- NOISE: 0x01C6
- CERTHASH:
- WEBRTC:
- WEBRTC-DIRECT: (#181)
- Added the http-path protocol in reference with go-multiaddr. (#94)
- Added ipcidr protocol support to py-multiaddr
- Implements protocol code 43 (0x2B) for CIDR notation support
- Full compatibility with Go multiaddr implementation
- Comprehensive test coverage including edge cases (#95)
- Added garlic32 and garlic64 protocol support to py-multiaddr
- Implements protocol code 446 and 447.
- Full compatibility with Go multiaddr implementation
- Comprehensive test coverage including edge cases
- Complete documentation and examples in examples/garlic/garlic_examples.py
- Integration with multiaddr documentation system (#96)
- Adds example of DNS address resolution. (#75)
- Added support for CIDv1 format and improved sequence protocol handling with enhanced indexing and slicing operations. (#65)
- Add quic tests. new quic example (#66)
- Adds DNSADDR protocol support. (#68)
- Add thin waist address validation (#72)
- Adds support for p2p-circuit addresses. (#74)
- Added full support for dnsaddr protocol and dns4 and dns6 as well (#80)
- Integrated the memory protocol, in reference with go-libp2p (#92)
- Enhanced type safety with comprehensive type hints, improved validation, and expanded test coverage for better code reliability and maintainability. (#65)
- Added full tests and doc. All typecheck passes (#80)
- Drop python3.9 and run py-upgrade, set up CI, add readthedocs config, updates to Makefile (#85)
- Fix Type Issues and add strict type checks using Ruff & Pyright
- Spec updates, Python 3.4- unsupport & custom registries by @ntninja in #59
- add quic-v1 protocol by @justheuristic in #63
- Fix/typecheck by @acul71 in #65
- chore: rm local pyrightconfig.json by @arcinston in #70
- Add Multiaddr.__hash__ method for hashable multiaddrs
- Add onion3 address support
- Fix broken reST and links in documentation
- Remove emoji from README.rst
- include subpackage
- refactor util and codec
- unhexilified bytes
- new exceptions
- miscellaneous improvements [via alexander255 #42]
- Fix a bug in decapsulate that threw an IndexError instead of a copy of the Multiaddr when the original multiaddr does not contain the multiaddr to decapsulate. [via fredthomsen #9]
- Increase test coverage [via fredthomsen #9]
- First release on PyPI.