:c:func:`PyCode_New` directly can bind you to a precise Python
version since the definition of the bytecode changes often.
+ .. versionchanged:: 3.8
+ An extra parameter is required (*posonlyargcount*) to support :PEP:`570`.
+
.. audit-event:: code.__new__ "code filename name argcount kwonlyargcount nlocals stacksize flags"
.. c:function:: PyCodeObject* PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno)
(Contributed by Antoine Pitrou in :issue:`32388`.)
+* The :c:func:`PyCode_New` has a new parameter in the second position (*posonlyargcount*)
+ to support :pep:`570`, indicating the number of positional-only arguments.
+
CPython bytecode changes
------------------------