Pending Removal in Future Versions
**********************************

The following APIs are deprecated and will be removed, although there
is currently no date scheduled for their removal.

* "Py_TPFLAGS_HAVE_FINALIZE": unneeded since Python 3.8.

* "PyErr_Fetch()": use "PyErr_GetRaisedException()" instead.

* "PyErr_NormalizeException()": use "PyErr_GetRaisedException()"
  instead.

* "PyErr_Restore()": use "PyErr_SetRaisedException()" instead.

* "PyModule_GetFilename()": use "PyModule_GetFilenameObject()"
  instead.

* "PyOS_AfterFork()": use "PyOS_AfterFork_Child()" instead.

* "PySlice_GetIndicesEx()": use "PySlice_Unpack()" and
  "PySlice_AdjustIndices()" instead.

* "PyUnicode_AsDecodedObject()": use "PyCodec_Decode()" instead.

* "PyUnicode_AsDecodedUnicode()": use "PyCodec_Decode()" instead.

* "PyUnicode_AsEncodedObject()": use "PyCodec_Encode()" instead.

* "PyUnicode_AsEncodedUnicode()": use "PyCodec_Encode()" instead.

* "PyUnicode_READY()": unneeded since Python 3.12

* "PyErr_Display()": use "PyErr_DisplayException()" instead.

* "_PyErr_ChainExceptions()": use "_PyErr_ChainExceptions1" instead.

* "PyBytesObject.ob_shash" member: call "PyObject_Hash()" instead.

* "PyDictObject.ma_version_tag" member.

* Thread Local Storage (TLS) API:

  * "PyThread_create_key()": use "PyThread_tss_alloc()" instead.

  * "PyThread_delete_key()": use "PyThread_tss_free()" instead.

  * "PyThread_set_key_value()": use "PyThread_tss_set()" instead.

  * "PyThread_get_key_value()": use "PyThread_tss_get()" instead.

  * "PyThread_delete_key_value()": use "PyThread_tss_delete()"
    instead.

  * "PyThread_ReInitTLS()": unneeded since Python 3.7.
