Skip to content

Commit 0dbc7c9

Browse files
Prepare release 4.12.0rc1 (#402)
Co-authored-by: Alex Waygood <[email protected]>
1 parent 1da5d3d commit 0dbc7c9

File tree

2 files changed

+42
-27
lines changed

2 files changed

+42
-27
lines changed

CHANGELOG.md

+41-26
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,37 @@
1-
# Release 4.12.0a1 and 4.12.0a2
2-
3-
These releases primarily test a revised release workflow. If all goes
4-
well, release 4.12.0rc1 will follow soon.
5-
6-
- Backport the `typing.NoDefault` sentinel object from Python 3.13.
7-
TypeVars, ParamSpecs and TypeVarTuples without default values now have
8-
their `__default__` attribute set to this sentinel value.
9-
- TypeVars, ParamSpecs and TypeVarTuples now have a `has_default()`
10-
method, matching `typing.TypeVar`, `typing.ParamSpec` and
11-
`typing.TypeVarTuple` on Python 3.13+.
12-
- TypeVars, ParamSpecs and TypeVarTuples with `default=None` passed to
13-
their constructors now have their `__default__` attribute set to `None`
14-
at runtime rather than `types.NoneType`.
15-
- Fix most tests for `TypeVar`, `ParamSpec` and `TypeVarTuple` on Python
16-
3.13.0b1 and newer.
17-
- Backport CPython PR [#118774](https://github.com/python/cpython/pull/118774),
18-
allowing type parameters without default values to follow those with
19-
default values in some type parameter lists. Patch by Alex Waygood,
20-
backporting a CPython PR by Jelle Zijlstra.
21-
- It is now disallowed to use a `TypeVar` with a default value after a
22-
`TypeVarTuple` in a type parameter list. This matches the CPython
23-
implementation of PEP 696 on Python 3.13+.
24-
- Fix bug in PEP-696 implementation where default values for `ParamSpec`s
25-
would be cast to tuples if a list was provided as the default value.
26-
Patch by Alex Waygood.
1+
# Release 4.12.0rc1 (May 16, 2024)
2+
3+
This release focuses on compatibility with the upcoming release of
4+
Python 3.13. Most changes are related to the implementation of type
5+
parameter defaults (PEP 696).
6+
7+
Thanks to all of the people who contributed patches, especially Alex
8+
Waygood, who did most of the work adapting typing-extensions to the
9+
CPython PEP 696 implementation.
10+
11+
Full changelog:
12+
13+
- Improve the implementation of type parameter defaults (PEP 696)
14+
- Backport the `typing.NoDefault` sentinel object from Python 3.13.
15+
TypeVars, ParamSpecs and TypeVarTuples without default values now have
16+
their `__default__` attribute set to this sentinel value.
17+
- TypeVars, ParamSpecs and TypeVarTuples now have a `has_default()`
18+
method, matching `typing.TypeVar`, `typing.ParamSpec` and
19+
`typing.TypeVarTuple` on Python 3.13+.
20+
- TypeVars, ParamSpecs and TypeVarTuples with `default=None` passed to
21+
their constructors now have their `__default__` attribute set to `None`
22+
at runtime rather than `types.NoneType`.
23+
- Fix most tests for `TypeVar`, `ParamSpec` and `TypeVarTuple` on Python
24+
3.13.0b1 and newer.
25+
- Backport CPython PR [#118774](https://github.com/python/cpython/pull/118774),
26+
allowing type parameters without default values to follow those with
27+
default values in some type parameter lists. Patch by Alex Waygood,
28+
backporting a CPython PR by Jelle Zijlstra.
29+
- It is now disallowed to use a `TypeVar` with a default value after a
30+
`TypeVarTuple` in a type parameter list. This matches the CPython
31+
implementation of PEP 696 on Python 3.13+.
32+
- Fix bug in PEP-696 implementation where a default value for a `ParamSpec`
33+
would be cast to a tuple if a list was provided.
34+
Patch by Alex Waygood.
2735
- Fix `Protocol` tests on Python 3.13.0a6 and newer. 3.13.0a6 adds a new
2836
`__static_attributes__` attribute to all classes in Python,
2937
which broke some assumptions made by the implementation of
@@ -46,6 +54,13 @@ well, release 4.12.0rc1 will follow soon.
4654
`typing.ContextManager` and `typing.AsyncContextManager` on Python
4755
3.13+.
4856
- Backport `types.CapsuleType` from Python 3.13.
57+
- Releases are now made using [Trusted Publishers](https://docs.pypi.org/trusted-publishers/)
58+
improving the security of the release process. Patch by Jelle Zijlstra.
59+
60+
# Release 4.12.0a1 and 4.12.0a2 (May 16, 2024)
61+
62+
These releases primarily test a revised release workflow. If all goes
63+
well, release 4.12.0rc1 will follow soon.
4964

5065
# Release 4.11.0 (April 5, 2024)
5166

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build-backend = "flit_core.buildapi"
66
# Project metadata
77
[project]
88
name = "typing_extensions"
9-
version = "4.12.0a2"
9+
version = "4.12.0rc1"
1010
description = "Backported and Experimental Type Hints for Python 3.8+"
1111
readme = "README.md"
1212
requires-python = ">=3.8"

0 commit comments

Comments
 (0)