Pyobjc

Latest version: v10.2

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

Scan your dependencies

Page 4 of 7

5.2

* Updated metadata for Xcode 10.2

* 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 updatd.

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

* 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.

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

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.

5.1.2

* 254: Fix compile error on macOS 10.9 or earlier

* 255: Calling completion handler failed due to incomplete runtime info

PyObjC's metadata system didn't automaticly set the call signature
for blocks passed into a method implemented in Python. This causes problems
when the ObjC or Swift block does not have signature information in the
ObjC/blocks runtime.

* Use MAP_JIT when allocating memory for the executable stubs for Python
methods.

With the "restricted" runtime you'll have to add the "com.apple.security.cs.allow-jit"
entitlement to use this flag, in earlier versions you'd have to use
a different entitlement: "com.apple.security.cs.allow-unsigned-executable-memory".

The MAP_JIT flag is only used on macOS 10.14 or later.

* Ensure that PyObjC can be built using /usr/bin/python on macOS 10.14

This failed due the problems with header files in the SDK included with Xcode 10.

5.1.1

* Update metadata for Xcode 10.1

5.1

* Xcode 10 "GM" contains one difference from the last beta: the constant MLComputeUnitsCPUAndGPU
in the CoreML bindings.

* 222: Add a proxy for C's "FILE*" type on Python 3. This is not necessary on Python 2 because
the default IO stack on Python 2 already uses FILE* internally.

This proxy type is very minimal and shouldn't not be used for general I/O.

* Bindings are up-to-date w.r.t. Xcode 10.1 (beta)

* Updated the support code for framework wrappers to be able to emit deprecation warnings on
the first import of a deprecated constants (functions and methods will only raise a deprecation
warning when called).

This is just an infrastructure change, the actual framework bindings do not yet contain the
information used to emit deprecation warnings.

* Add metadata for deprecation warnings to the "Contacts" framework

* 252: Import ABCs from ``collections.abc`` instead of ``collections`` because the latter is deprecated.

* 180, 251: Instances of most builtin value types and sequences (int, float, str, unicode, tuple,
list, set, frozenset and dict) can now be written to archives that require secureCoding.

5.0

also adds support for a couple of older frameworks that weren't supported before.

5.0b1

* Bindings updated for Xcode 10 beta 6.

* Add a custom binding for a number of structure types in
CoreAudio:

- AudioBuffer
- AudioBufferList
- AudioChannelDescription
- AudioChannelLayout
- AudioValueTranslation

With this patch using APIs with these types should actually
work.

* PR19: Fix deprecation warning in bridgesupport support module

Patch by: Mickaël Schoentgen

* Creating objc.ObjCPointer instances now results in a
Python warning, instead of an unconditional message on
stdout.

.. note::

The creation of these objects is a sign that APIs are
not wrapped correctly, these objects are created for
pointers where the bridge doesn't know how to handle
them properly.

* System bridgesupport XML files (normally not used by PyObjC)
can contain constant numbers with value "inf", PyObjC now
knows how to handle those.

* Added bindings for the "Metadata" subframework of the
"CoreServices" framework.

* Added bindings for the "CarbonCore" subframework of the
"CoreServices" framework.

Most APIs in this subframework are not available to Python,
only those APIs that are not deprecated and seem interesting
are exposed.

* The separate framework wrappers DictionaryServices,
LaunchServices and SearchKit are deprecated, use
the CoreServices bindings instead.

These framework wrappers still exists, but are effectively
aliases for CoreServices with this release. Because of this
these bindings can expose more symbols than previously.

* Fix unexpected exception when trying to call getattr
on a framework wrapped with a name that isn't a valid
identifier.

* 244: Bad metadata for CGPDFOperatorTableSetCallback

* 247: Fix crash in regression test case

One specific test in pyobjc-core crashed the interpreter
when run separately. Because of this I've disabled an
optimization that uses alloca instead of PyMem_Malloc to
allocate memory for now.

Page 4 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.