Pyobjc

Latest version: v11.0

Safety actively analyzes 723144 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 18

6.2

-----------

* The project has moved from Bitbucket to Github

* Remove most remnants of Python 2 support

* Clean up code quality issues found using flake8

* Add pre-commit hook to run black on all Python code.

* :issue:`290`: Fix protocol conformance testing when explicitly implementing a protocol

Before this bugfix a class explicitly conforming to a protocol could not
implement any method that wasn't declared in the protocol, the bridge would
erroneously raise an exception when checking the additional method.

Issue reported by Georg Seifert.

* :issue:`289`: Fix Python 3 issues in ``PyObjCTools.Conversion``

Reported by vinolin asokan.

* ``PyObjCTools.Conversio.propertyListFromPythonCollection`` didn't
recursively convert members of lists and tuples.

* ``PyObjCTools.Conversio.propertyListFromPythonCollection`` and
``PyObjCTools.Conversio.pythonCollectionFromPropertyList`` now
support sets.

* Update metadata for Xcode 11.4 (beta 2)

* Added bindings for framework ``AutomaticAssessmentConfiguration.framework``
introduced in macOS 10.15.4

* :issue:`298`: In some cases the compiler uses the type encoding "^{NSObject=}"
instead of "".

Reported by Georg Seifert.

* :issue:`264`: Added bindings for the Metal framework (new in macOS 10.11)

* Most framework bindings now use the limited ABI for the included C extensions,
reducing the number of wheels that are needed. The exception are
the bindings for Cocoa, Quartz and libdispatch, those use functionality not
available in the limited ABI.

The bridge itself (pyobjc-core) still uses the full CPython API.

The CoreAudio bindings also don't use the limited ABI for now, those
need more work to work with that ABI.

6.1

-----------

* Updated for the macOS 10.15.1 SDK (Xcode 11.2)

* Fix reference counting in -[OC_PythonData length], which resulted
in use-after-free.

* :issue:`281`: Fix problems found in pyobjc-core by the clang static analyser

6.0.1

-------------

* :issue:`277`: Remove debug print accidentally left in production

* :issue:`278`: Suppress "-Wunguarded-availability" warnings in the extension
AppKit._inlines

6.0

-----------

* Removed Python 2 support from the C extension in pyobjc-core

* Reformatted code in pyobjc-core:

- Use "black" for Python code
- Use "clang-format" for Objective-C code

As a side-effect of this all usage of "NS_DURING" and "PyObjC_DURING"
has been replaced by the expansion of those macros, mostly because
"clang-format" doesn't understand these kinds of blocks.

Replacing "PyObjC_DURING" by its expansion also reduces the knowledge
needed to understand what's going on w.r.t. the Python GIL.

The macro "PyObjC_DURING", and its siblings, have been removed as well.

* Updated bindings for macOS 10.15 (Xcode 11.0)

* The userspace driver frameworks introduced in macOS 10.15
(DriverKit and related frameworks) will not be exposed through
PyObjC. Please let me know if you have a good
use case for using these frameworks with Python.

* Add new framework wrappers for all other new frameworks
in macOS 10.15:

- AuthenticationServices
- CoreHaptics
- CoreMotion
- DeviceCheck
- ExecutionPolicy
- FileProvider

``FileProvider.NSFileProviderItemFieldTrashed`` and ``NSFileProviderErrorVersionOutOfDate`` were dropped
from the framework in macOS 11.

- FileProviderUI
- LinkPresentation
- OSLog
- PencilKit
- PushKit
- QuickLookThumbnailing
- Speech
- SoundAnalysis
- SystemExtensions

* Add new framework wrappers for a number of older
frameworks:

- MetalKit (new in macOS 10.11)

* :issue:`271`: Fix crash when creating NSData objects on macOS 10.15

5.3

-----------

* :issue:`21`: Switch xcodebuild invocation to xcrun for sdk path

Patch by Clément Bouvier

* :issue:`271`: Fix crash when creating NSData objects on macOS 10.15

* Fix compile error on macOS 10.15

5.2

-----------

* Updated metadata for Xcode 10.2

* :issue:`252`: ``objc.registerStructAlias`` no longer emits a deprecation
warning because it is still used by the framework wrappers.

The function is still deprecated though, the deprecation will reappear
once the metadata has been updated.

* :issue:`75`: The core bridge now uses :func:`PyDict_GetItemWithError`, which
may result in exceptions being raised that were previously swallowed.

* :issue:`247`: Partially switch to the new buffer API instead of the older
Python 2 buffer API.

The new implementation is more correct, but may keep Python objects
alive longer than the previous implementation, and also affects
buffer related functionality of Python objects. In particular, calling
``[someData bytes]`` on a Python object keeps the ``Py_buffer`` alive
until the next flush of the autoreleasepool.

* :issue:`257`: Fix incorrect metadata for the callback argument to
``-[AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:]``.

* :issue:`258`: Add bindings to the "PrintCore" APIs from the ApplicationServices framework.

* Python 2: UserDict.UserDict instances are now bridged to instances of
a subclass of NSDictionary.

Page 6 of 18

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.