diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..421284c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,24 @@ +# Changelog + +## 0.4.0 - 2026-07-11 + +### Added + +- Support dynamic channel credentials by allowing fields such as `token`, `topic`, + and `user` to be zero-argument callables resolved when a request is built. +- Add CI coverage enforcement with a 95% minimum total coverage threshold. +- Add explicit channel registry lookup for `Notify.from_settings`. + +### Fixed + +- Avoid rendering `None` in title-less Chanify and WeChat messages. +- Align Email async missing-recipient logging with the documented `to_emails` + field. +- Avoid over-redacting ordinary single-segment URLs while still redacting + secret-like provider paths. +- Reject bool values for numeric retry and Email port configuration. + +### Tests + +- Expand channel, retry, Email, provider response, redaction, and dynamic + credential coverage. The suite now runs 126 tests with 97% total coverage. diff --git a/pyproject.toml b/pyproject.toml index 32ad1d4..d99d4c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "use-notify" -version = "0.3.5" +version = "0.4.0" description = "一个简单可扩展的异步消息通知库" readme = "README.md" requires-python = ">=3.8,<4.0" diff --git a/uv.lock b/uv.lock index 7942bf6..9fe0c0b 100644 --- a/uv.lock +++ b/uv.lock @@ -1736,7 +1736,7 @@ wheels = [ [[package]] name = "use-notify" -version = "0.3.5" +version = "0.4.0" source = { editable = "." } dependencies = [ { name = "httpx" },