With WWDC and beta of a new major release of macOS approaching fast it is high time to push out a new release for PyObjC. PyObjC 7.3 is primarily a bugfix release, with one minor feature.
I expect this to be the last release for PyObjC 7.x and will start working on PyObjC 8 soon.
issue 356: Explicitly error out when building for unsupported architectures
“python setup.py build” will now fail with a clear error when trying to build PyObjC for a CPU architecture that is no longer supported (such as 32-bit Intel)
issue 319: Use memset instead of bzero in C code to clear memory
Based on a PR by GitHub user stbdang.
issue 348: Fix platform version guard for using protocols in MetalPerformanceShaders bindings
issue 344: Fix test for CFMessagePortCreateLocal
The tests didn’t actually test calling the callback function for CFMessagePortCreateLocal.
issue 349: Change calls to htonl in pyobjc-core to avoid compiler warning
The original code had a 32-bit assumption (using ‘long’ to represent a 32-bit value), and that causes problems for some users build from source.
issue 315: Fix binding for
Trying to use this function will no longer crash Python.
issue 357: Calling
Metal.MTLCopyAllDevices()no longer crashes
The reference count of the result of this function was handled incorrect, causing access to an already deallocated value when the Python reference was garbage collected.
issue 260: Add manual bindings for AXValueCreate and AXValueGetValue in ApplicationServices
Calling these crashed in previous versions.
issue 320, 324: Fix the type encoding for a number of CoreFoundation types in the Security bindings
issue 336: Add core support for “final” classes
It is now possible to mark Objective-C classes as final, that is to disable subclassing for such classes.
This is primarily meant to be used in framework bindings for matching Objective-C semantics.
The “final” feature adds two new APIs:
A keyword argument “final” when defining a new class
class MyClass (NSObject, final=True): pass
An read-write attribute
__objc_final__on all subclasses of NSObject.
Note that this is a separate concept from