Repository navigation
Narrow Functions loose-codec deprecation exceptions - #349
andystaples wants to merge 2 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues remain for the targeted warning-filter, compatibility-test, and documentation updates.
No open issues 🎉
What changed in this PR
This PR narrows the Azure Functions codec deprecation exceptions while preserving legacy compatibility, addressing the warning-filter scope and compatibility concerns in #325. It changes test configuration, coverage, and documentation without changing provider runtime behavior.
Changes:
- Match both permitted advisories by their complete message and exact originating module.
- Add regression coverage for warning filters and loose/strict decoding, including externalized activity payloads.
- Document destination-type limitations and replay risks when switching typing modes.
| File | Description |
|---|---|
tests/azure-functions-durable/test_codec_warning_filters.py |
Verifies known advisories remain visible while unrelated deprecations fail. |
tests/azure-functions-durable/test_codec_compatibility.py |
Covers loose/strict codec behavior for orchestration and activity inputs. |
pyproject.toml |
Restricts the two deprecation exceptions to complete messages and the exact codec module. |
azure-functions-durable/README.md |
Explains legacy compatibility, typing limitations, and replay precautions. |
Review effort: Balanced
Bernd Verst (berndverst)
left a comment
There was a problem hiding this comment.
The warning exceptions now match the complete upstream advisories and their exact module while keeping both compatibility warnings visible. The loose/strict and externalized-activity coverage matches the current Functions library and worker behavior, and unrelated deprecations still fail the strict gate. I found no runtime, API, replay, or production-performance regressions.
Please resolve the README conflict with current main before merging, preserving both the HTTP retry documentation and the new JSON typing/compatibility section. The code changes otherwise look good to me.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bernd Verst (berndverst)
left a comment
There was a problem hiding this comment.
The update preserves both README sections and the intervening main changes. The warning exceptions remain narrowly scoped, both compatibility advisories stay visible, and the codec coverage passes on the merged head. I found no introduced correctness, compatibility, replay, or production-performance issues. Looks good to me.
Summary
Azure Functions' default loose codec still needs both deprecation exceptions: activity inputs can be decoded without a destination type, and typed loose decoding continues to use the legacy object hook for custom objects. Strict typing is opt-in and does not preserve all loose-mode behavior.
Relates to #325.