NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3564 most downloaded on PyPI
Typing stubs for oauthlib
Last release 2 months ago
24 Jul 2026
Ships unpredictably
gaps range from 1 weeks to 8 months
Nearly every release is documented
notes for 35 of 38 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
38 releases · first in 2021
One column per quarter.
* Replace NoReturn with Never
NoReturn with Never (#16079)Upgrade black to 26.5.0
Upgrade black to 26.5.0 (#15801)
Import some items from typing instead of typing_extensions
Import some items from typing instead of typing_extensions (#15711)
Part of #13782
Use dashes instead of underscores for METADATA.toml field names
Use dashes instead of underscores for METADATA.toml field names (#15614)
[oauthlib] Use Incomplete instead of Any
[oauthlib] Use Incomplete instead of Any (#15547)
Add __slots__ to third-party packages using stubdefaulter
Add slots to third-party packages using stubdefaulter (#14619)
[oauthlib] Fix create_token_response() body argument type
[oauthlib] Fix create_token_response() body argument type (#14570)
Mark stub-only private symbols as @type_check_only in third-party stubs
Mark stub-only private symbols as @type_check_only in third-party stubs (#14545)
[oauthlib] Fix type on body argument of oauthlib.oauth1.Client.sign()
Make Mapping.get(default) more constrained
Make Mapping.get(default) more constrained (#14360)
Bump oauthlib to 3.3.*
Bump oauthlib to 3.3.* (#14300)
Replace Incomplete | None = None in third party stubs
Replace Incomplete | None = None in third party stubs (#14063)
Improve oauthlib.oauth2.rfc6749
Improve oauthlib.oauth2.rfc6749
Improve stubs for oauthlib.oauth2.rfc6749
Improve stubs for oauthlib.oauth2.rfc6749 (#13752)
Improve oauthlib.common
Improve oauthlib.common (#13744)
Bump mypy to 1.11.1
Bump mypy to 1.11.1 (#12463)
oauthlib: Fix annotations for oauthlib.oauth2.RequestValidator
oauthlib: Fix annotations for oauthlib.oauth2.RequestValidator (#11417)
[oauthlib] Fix return types of Client methods
[oauthlib] Fix return types of Client methods (#9908)
Add support for the refresh_token grant type (RefreshTokenGrant) (#11…
Add support for the refresh_token grant type (RefreshTokenGrant) (#11… (#11206)
Add support for the refresh_token grant type (RefreshTokenGrant).
oauthlib: Update types for RequestValidator to match implementation
oauthlib: Update types for RequestValidator to match implementation (#10725)
Add an upstream_repository field to METADATA.toml
Add an upstream_repository field to METADATA.toml (#10487)
Closes: #10478
Add partial_stub metadata field
Add partial_stub metadata field (#10157)
Add defaults for third-party stubs M-O
Add defaults for third-party stubs M-O (#9956)
[oauthlib] Add types in oauth1/rfc5849/request_validator.pyi
[oauthlib] Add types in oauth1/rfc5849/request_validator.pyi (#9844)
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
Remove unused type: ignore comments
Remove unused type: ignore comments (#9801)
Stubtest settings: change ignore_missing_stub default to false
Stubtest settings: change ignore_missing_stub default to false (#9779)
If you're reading about this commit from an autogenerated changelog entry, this should have no user-visible impact on how the stubs are interpreted by a type checker; it's just an internal change to how typeshed's tests work.
Add a few more hooks. These are all very fast, and I've found them useful in other projects:
Improve pre-commit config (#9563)
trailing-whitespace: fixes trailing whitespacerequirements-txt-fixer: alphabetises items in requirements.txt filesend-of-file-fixer: makes sure every file ends with a single newline charactermixed-line-ending: Makes sure Windows users don't accidentally introduce CRLF line endings into a file that uses LF line endingscheck-yaml: loads YAML files to validate syntaxcheck-toml: loads TOML files to validate syntaxcheck-merge-conflict: detects merge-conflict strings in files and blocks them from accidentally being committedcheck-case-conflict: checks for files with names that would conflict on a case-insensitive filesystem like MacOS HFS+ or Windows FAT; blocks them from being committed.black language target-version to Python 3.10, synching the setting here with the changes that were made to our pyproject.toml file in #7538Replace Any with Incomplete in many places
Replace Any with Incomplete in many places (#9558)
Mark first argument of __[get|set|del]attr__ as str
Mark first argument of __[get|set|del]attr__ as str (#9245)
Bump oauthlib to 3.2.*
Bump oauthlib to 3.2.* (#8081)
Nothing published for this version
Use PEP 585 syntax wherever possible
Use PEP 585 syntax wherever possible (#6717)
Revert "do not use mypy-specific syntax in '# type: ignore' comments"
Revert "do not use mypy-specific syntax in '# type: ignore' comments" (#6338)
Add star to all non-0.1 versions
Add star to all non-0.1 versions (#6146)
do not use mypy-specific syntax in '# type: ignore' comments
do not use mypy-specific syntax in '# type: ignore' comments (#5953)
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →