diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst index a9e747a8c37e946..359e88d0b8bff76 100644 --- a/Doc/whatsnew/3.9.rst +++ b/Doc/whatsnew/3.9.rst @@ -1847,3 +1847,20 @@ tempfile a :exc:`PermissionError` is no longer masked by :exc:`NotADirectoryError` (:issue:`43153`), and cleanup no longer recurses endlessly when the temporary directory itself cannot be removed (:gh:`79325`). + + +Notable changes in 3.9.25.3 +=========================== + +This is an ActiveState release of the 3.9 line, on top of 3.9.25.2. + +Build Changes +------------- + +* Windows release builds now link with ``/OPT:REF,NOICF``. With identical + COMDAT folding enabled, newer Visual Studio linkers merge two internal slot + wrappers whose code is identical, and the type machinery relies on their + addresses being different. On such builds, ``+`` with an instance of a + subclass of a built-in type (for example an :class:`int` or + :class:`datetime.datetime` subclass) returned :data:`NotImplemented` + instead of raising :exc:`TypeError`. (Backport of :issue:`42825`.) diff --git a/Include/patchlevel.h b/Include/patchlevel.h index 988aba035a6fa8b..9db78558a0ceac4 100644 --- a/Include/patchlevel.h +++ b/Include/patchlevel.h @@ -23,7 +23,7 @@ #define PY_RELEASE_SERIAL 0 /* Version as a string */ -#define PY_VERSION "3.9.25.2" +#define PY_VERSION "3.9.25.3" /*--end constants--*/ /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. diff --git a/PCbuild/pyproject.props b/PCbuild/pyproject.props index 2b4be392da47ae6..d492b71dfbaa3d2 100644 --- a/PCbuild/pyproject.props +++ b/PCbuild/pyproject.props @@ -74,6 +74,7 @@ PGInstrument PGUpdate advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;%(AdditionalDependencies) + /OPT:REF,NOICF %(AdditionalOptions) true