v10.2
-
Fix a number of warnings found by adding
-Wpendantic
to the CFLAGS for
pyobjc-core -
Fix undefined behaviour warnings:
-
Suppress the undefined behaviour warning about out of range values in
double to (unsigned) long long in theOC_PythonNumber
implementation
as these are unavoidable when matchingNSNumber
behaviour. -
Switch to using
memcpy
instead of direct assignment in converting
plain C values to/from Python because "packed" structs might result
in accessing values through unaligned pointers.
-
-
Updated bindings for the macOS 14.4 SDK (Xcode 15.3)
-
Added bindings for the "BrowserEngineKit" framework on macOS 14.4 or later.
-
Add :func:
obj.registerPathType
to register a Python type as a path like
type with PyObjC. By default only :class:pathlib.Path
is registered as such.A minor backward compatibility issue is that instances of the registered types
will be written toNSArchive
andNSKeyArchive
archives as instances
ofNSURL
and won't roundtrip back to the original Python type. This might
change in future versions of PyObjC, at least for :class:pathlib.Path
. -
#589: Instances of :class:
pathlib.Path
(and other types registered with
objc.registerPathType
) are bridged into Objective-C as instances ofNSURL
.This means that these types can be used as values passed to APIs expecting
a filesystem URL, e.g.:path = pathlib.Path("/Applications/Numbers.app") bundle = NSBundle.bundleWithURL_(path)
-
Fix some warnings in pyobjc-core when testing with Python 3.13a4.
-
Add support for
NSBezierPathElementQuadraticCurveTo
inNSBezierPath.elementAtIndex_associatedPoints_
. -
#595: Fix compilation error in
pyobjc-framework-Cocoa
with a recent
deployment target.