What's Changed
New Contributors
Summary of Changes
-
Dependency & Environment Updates:
- Modified pyproject.toml to raise the minimum Python version from 3.7 to 3.10, as 3.9 is EOL and key testing libraries have dropped support.
- Updated version constraints for
pydanticto>=2.7.0and adjusted other development dependencies likepytest.
-
Explicit DIDComm V1 and V2 Service Builders:
- In builder.py, the generic
add_didcommmethod has been superseded by two new explicit methods:add_didcomm_v1andadd_didcomm_v2. It still does automatic matching, but I have added a deprecation notice and replaced any use of it in the testing withadd_didcomm_v1. add_didcomm_v1creates aDIDCommV1Service, handlingrecipient_keys,routing_keys, andpriority.add_didcomm_v2creates aDIDCommV2Servicewith a compliantDIDCommV2ServiceEndpoint.- This change provides a clear and unambiguous API for developers to build the exact service type they need.
- Tests have been updated across the suite to align with the new builder logic.
- In builder.py, the generic
-
Backwards Compatibility:
- To avoid immediately breaking existing integrations,
ServiceBuilder.add_didcommis preserved as a compatibility wrapper. - It now emits a
DeprecationWarningand delegates to either the V1 or V2 builder. Version detection is based on theacceptheader or an explicitversionargument, defaulting to V1 to maintain old behavior.
- To avoid immediately breaking existing integrations,
-
Model Extensions:
- In service.py, the
typeattribute forDIDCommV1ServiceandDIDCommV2Servicenow supports aList[str], as noted in #83 allowing for service type arrays. - init.py has been updated to export the new service symbols (
DIDCommV1Service,DIDCommV2Service,DIDCommV2ServiceEndpoint) for direct use.
- In service.py, the
Breaking Changes
- Python Version: The minimum required Python version is now 3.10. This is a breaking change for users on Python 3.7, 3.8, or 3.9, and will break the 3.9 test.
- Deprecation:
ServiceBuilder.add_didcommis now deprecated and will be removed in a future release. Developers should migrate to usingadd_didcomm_v1oradd_didcomm_v2explicitly.
Full Changelog: v0.5.2...v0.5.3