Skip to content

v5.0b1

Pre-release
Pre-release
Compare
Choose a tag to compare
@ronaldoussoren ronaldoussoren released this 29 Feb 09:23
· 1594 commits to master since this 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.