@@ -1218,16 +1218,6 @@ New features
12181218 which has an ambiguous return value.
12191219 (Contributed by Irit Katriel and Erlend Aasland in :gh: `105201 `.)
12201220
1221- * :c:func: `Py_Finalize ` now deletes all interned strings. This
1222- is backwards incompatible to any C-Extension that holds onto an interned
1223- string after a call to :c:func: `Py_Finalize ` and is then reused after a
1224- call to :c:func: `Py_Initialize `. Any issues arising from this behavior will
1225- normally result in crashes during the execution of the subsequent call to
1226- :c:func: `Py_Initialize ` from accessing uninitialized memory. To fix, use
1227- an address sanitizer to identify any use-after-free coming from
1228- an interned string and deallocate it during module shutdown.
1229- (Contributed by Eddie Elizondo in :gh: `113601 `.)
1230-
12311221* Add :c:func: `PyLong_IsPositive `, :c:func: `PyLong_IsNegative `
12321222 and :c:func: `PyLong_IsZero ` for checking if :c:type: `PyLongObject `
12331223 is positive, negative, or zero, respectively.
@@ -1303,18 +1293,12 @@ New features
13031293 test if two strings are equal.
13041294 (Contributed by Victor Stinner in :gh: `124502 `.)
13051295
1306-
13071296* Add :c:func: `PyType_Freeze ` function to make a type immutable.
13081297 (Contributed by Victor Stinner in :gh: `121654 `.)
13091298
13101299* Add :c:func: `PyUnstable_Object_EnableDeferredRefcount ` for enabling
13111300 deferred reference counting, as outlined in :pep: `703 `.
13121301
1313- * The :ref: `Unicode Exception Objects <unicodeexceptions >` C API
1314- now raises a :exc: `TypeError ` if its exception argument is not
1315- a :exc: `UnicodeError ` object.
1316- (Contributed by Bénédikt Tran in :gh: `127691 `.)
1317-
13181302* Add :c:func: `PyMonitoring_FireBranchLeftEvent ` and
13191303 :c:func: `PyMonitoring_FireBranchRightEvent ` for generating
13201304 :monitoring-event: `BRANCH_LEFT ` and :monitoring-event: `BRANCH_RIGHT `
@@ -1334,14 +1318,33 @@ New features
13341318 for debugging purposes.
13351319
13361320
1337- Porting to Python 3.14
1338- ----------------------
1321+ Limited C API changes
1322+ ---------------------
13391323
13401324* In the limited C API 3.14 and newer, :c:func: `Py_TYPE ` and
13411325 :c:func: `Py_REFCNT ` are now implemented as an opaque function call to hide
13421326 implementation details.
13431327 (Contributed by Victor Stinner in :gh: `120600 ` and :gh: `124127 `.)
13441328
1329+
1330+ Porting to Python 3.14
1331+ ----------------------
1332+
1333+ * :c:func: `Py_Finalize ` now deletes all interned strings. This
1334+ is backwards incompatible to any C-Extension that holds onto an interned
1335+ string after a call to :c:func: `Py_Finalize ` and is then reused after a
1336+ call to :c:func: `Py_Initialize `. Any issues arising from this behavior will
1337+ normally result in crashes during the execution of the subsequent call to
1338+ :c:func: `Py_Initialize ` from accessing uninitialized memory. To fix, use
1339+ an address sanitizer to identify any use-after-free coming from
1340+ an interned string and deallocate it during module shutdown.
1341+ (Contributed by Eddie Elizondo in :gh: `113601 `.)
1342+
1343+ * The :ref: `Unicode Exception Objects <unicodeexceptions >` C API
1344+ now raises a :exc: `TypeError ` if its exception argument is not
1345+ a :exc: `UnicodeError ` object.
1346+ (Contributed by Bénédikt Tran in :gh: `127691 `.)
1347+
13451348* Private functions promoted to public C APIs:
13461349
13471350 * ``_PyBytes_Join() ``: :c:func: `PyBytes_Join `;
@@ -1386,12 +1389,6 @@ Deprecated
13861389
13871390.. Add C API deprecations above alphabetically, not here at the end.
13881391
1389- .. include :: ../deprecations/c-api-pending-removal-in-3.15.rst
1390-
1391- .. include :: ../deprecations/c-api-pending-removal-in-3.18.rst
1392-
1393- .. include :: ../deprecations/c-api-pending-removal-in-future.rst
1394-
13951392 * The ``PyMonitoring_FireBranchEvent `` function is deprecated and should
13961393 be replaced with calls to :c:func: `PyMonitoring_FireBranchLeftEvent `
13971394 and :c:func: `PyMonitoring_FireBranchRightEvent `.
@@ -1416,12 +1413,23 @@ Deprecated
14161413 (Contributed by Victor Stinner in :gh: `128863 `.)
14171414
14181415
1416+ .. include :: ../deprecations/c-api-pending-removal-in-3.15.rst
1417+
1418+ .. include :: ../deprecations/c-api-pending-removal-in-3.18.rst
1419+
1420+ .. include :: ../deprecations/c-api-pending-removal-in-future.rst
1421+
1422+
14191423Removed
14201424-------
14211425
14221426* Creating :c:data: `immutable types <Py_TPFLAGS_IMMUTABLETYPE> ` with mutable
14231427 bases was deprecated since 3.12 and now raises a :exc: `TypeError `.
14241428
1429+ * Remove ``PyDictObject.ma_version_tag `` member which was deprecated since
1430+ Python 3.12. Use the :c:func: `PyDict_AddWatcher ` API instead.
1431+ (Contributed by Sam Gross in :gh: `124296 `.)
1432+
14251433* Remove the private ``_Py_InitializeMain() `` function. It was a
14261434 :term: `provisional API ` added to Python 3.8 by :pep: `587 `.
14271435 (Contributed by Victor Stinner in :gh: `129033 `.)
0 commit comments