From 7f0001bd829b059400136ae0414289ca0bcfe844 Mon Sep 17 00:00:00 2001 From: Mike Date: Sun, 7 Jun 2026 18:39:36 +0100 Subject: [PATCH 1/3] release: 1.4.0 Bump VERSION to 1.4.0 and add the changelog for the release. --- CHANGELOG.md | 25 +++++++++++++++++++++++++ VERSION | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..9961d20 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,25 @@ +# Changelog + +All notable changes to this project are documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 1.4.0 + +### Added +- Support for Python 3.10 through 3.14. +- A wheel is now published alongside the source distribution. + +### Changed +- Minimum supported Python is now 3.10. +- `clone()` preserves attributes set in subclass constructors (#73). +- `@endpoint` includes inherited attributes and ignores methods and functions (#68). + +### Removed +- Support for Python 3.6, 3.7, 3.8 and 3.9. + +### Fixed +- Unrelated exceptions are no longer masked as `UnexpectedError`; only request errors are wrapped (#80). +- `post()`, `put()` and `patch()` type hints accept JSON arrays, not just objects (#90). +- `paginators` imports `APIClient` from `apiclient.client` instead of the package root (#78). diff --git a/VERSION b/VERSION index 3a3cd8c..88c5fb8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.1 +1.4.0 From 10e58ab069f93d641155d1a5744f3091721dce62 Mon Sep 17 00:00:00 2001 From: Mike Date: Sun, 7 Jun 2026 18:41:24 +0100 Subject: [PATCH 2/3] docs: note typing changes in the 1.4.0 changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9961d20..10bb205 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,11 +13,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Minimum supported Python is now 3.10. +- Type hints modernised to use PEP 604 unions (`X | None`) and built-in generics. - `clone()` preserves attributes set in subclass constructors (#73). - `@endpoint` includes inherited attributes and ignores methods and functions (#68). ### Removed - Support for Python 3.6, 3.7, 3.8 and 3.9. +- The `OptionalDict`, `OptionalStr`, `OptionalInt` and `OptionalJsonType` aliases from `apiclient.utils.typing` (use `X | None` directly). ### Fixed - Unrelated exceptions are no longer masked as `UnexpectedError`; only request errors are wrapped (#80). From 646bef153cb810d61e6d838bceaafed51ceff8a2 Mon Sep 17 00:00:00 2001 From: Mike Date: Sun, 7 Jun 2026 18:47:39 +0100 Subject: [PATCH 3/3] docs: note py.typed in the 1.4.0 changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10bb205..47228ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Support for Python 3.10 through 3.14. +- A `py.typed` marker so type checkers use the bundled inline type hints (#77). - A wheel is now published alongside the source distribution. ### Changed