Skip to content

Releases: ronaldoussoren/pyobjc

v5.3

29 Feb 09:20
Compare
Choose a tag to compare
  • PR 21: Switch xcodebuild invocation to xcrun for sdk path

    Patch by Clément Bouvier

  • #271: Fix crash when creating NSData objects on macOS 10.15

  • Fix compile error on macOS 10.15

v5.2

29 Feb 09:21
Compare
Choose a tag to compare
  • 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.

v5.1.2

29 Feb 09:21
Compare
Choose a tag to compare
  • #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.

v5.1.1

29 Feb 09:22
Compare
Choose a tag to compare
  • Update metadata for Xcode 10.1

v5.1

29 Feb 09:22
Compare
Choose a tag to compare
  • 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.

v5.0

29 Feb 09:22
Compare
Choose a tag to compare

Version 5.0 of PyObjC primarily adds support for macOS 10.14 (mojave), and
also adds support for a couple of older frameworks that weren't supported before.

v5.0b1

29 Feb 09:23
Compare
Choose a tag to compare
v5.0b1 Pre-release
Pre-release
  • 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.

v5.0a1

29 Feb 09:24
Compare
Choose a tag to compare
  • Adds support for macOS 10.14 (Mojave)

    This release updates the framework wrappers with support
    for new APIs in macOS 10.14 and adds bindings for the following
    new frameworks:

    • AdSupport
    • CoreAudio (new in macOS 10.0)
    • CoreAudioKit (new in macOS 10.4)
    • CoreMedia (new in macOS 10.7)
    • CoreMediaIO (new in macOS 10.7)
    • DiscRecording (new in macOS 10.2)
    • DiscRecordingUI (new in macOS 10.2)
    • DVDPlayback (new in macOS 10.3)
    • MediaToolbox
    • NaturalLanguage
    • Network
    • OSAKit (new in macOS 10.4)
    • UserNotifications
    • VideoSubscriberAccount
  • Support for CoreAudio, CoreMedia and MediaToolbox is limited
    in this release due to missing manual wrappers.

  • Added two features that can help with gating code on the
    version of macos:

    1. The constants "objc.MAC_OS_X_VERSION_CURRENT" can be
      compared with one of the "objc.MAC_OS_X_VERSION_..." contants.

    2. The function "objc.macos_avaiable(major, minor[, patch])"
      returns true if the current macOS version is at least the
      specified version, comparable with "@available" in Swift.

v4.2.2

29 Feb 09:24
Compare
Choose a tag to compare
  • Update metadata for Xcode 9.4

  • The binary release now includes wheels for both variants for the
    Python.org installer for python 3.6 and 3.7: 32- and 64-bit for
    macOS 10.6 or later, and 64-bit only for macOS 10.9 or later.

  • Ensure the context manager for NSAnimationContext defined in
    PyObjCTools.AppCategories actually works.

  • Fix convenience wrappers for Foundation.NSCache.

  • Fix convenience wrappers for Foundation.NSHashTable.

v4.2.1

29 Feb 09:25
Compare
Choose a tag to compare
  • Update metadata for Xcode 9.4 beta 2 (no changes)

  • Restore autodetection of --with-system-ffi, but ignore this python setting
    for /usr/bin/python because Apple doesn't ship libffi headers.