ANN: PyObjC 11.0

Ronald Oussoren via Pyobjc-dev <[email protected]> Tue, 14 Jan 2025 21:50:59 +0100
Newsgroups gmane.comp.python.pyobjc.devel,gmane.comp.python.apple
Message-ID <[email protected]>
--===============2807293767330735025==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_8650741F-851A-4B75-A88B-276DCE7CD403"


--Apple-Mail=_8650741F-851A-4B75-A88B-276DCE7CD403
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

I'm happy to announce the 11.0 release of PyObjC, slightly delayed from =
the normal major release in October.

This release has two major features:

Support for the macOS 15.2 SDK, including new bindings for the =
frameworks MediaExtension and DeviceDiscoveryExtension

Experimental support for GIL-less operation in the free-threaded build =
of Python 3.13

The latter feature is an important reason for the delay: Supporting =
GIL-less operation required reworking parts of the internals of PyObjC, =
both to rely on other locks than the GIL and to avoid CPython APIs that =
are known to be problematic when the GIL isn't present ("borrowed =
references" for anyone familiar with the CPython API).

Free-threaded support is experimental at this point in time and has seen =
only limited testing for multi-threading. I've also focussed on getting =
the basics right, and have not worked at optimizing free-threading =
support. Expect improvements in future releases.

With PyObjC 11 I'm dropping support for Python 3.8, given that that's =
gone out of support by the CPython team.

Finally, there's a number of bug fixes and smaller features mentioned in =
the changelog at https://pyobjc.readthedocs.io/en/latest/changelog.html

Ronald

--

Twitter / micro.blog: @ronaldoussoren
Mastodon: @[email protected].
Blog: https://blog.ronaldoussoren.net/


--Apple-Mail=_8650741F-851A-4B75-A88B-276DCE7CD403
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"overflow-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;"><div>I'm happy =
to announce the 11.0 release of PyObjC, slightly delayed from the normal =
major release in October.</div><div><br></div><div>This release has two =
major features:</div><div><br></div><div>Support for the macOS 15.2 SDK, =
including new bindings for the frameworks MediaExtension and =
DeviceDiscoveryExtension</div><div><br></div><div>Experimental support =
for GIL-less operation in the free-threaded build of Python =
3.13</div><div><br></div><div>The latter feature is an important reason =
for the delay: Supporting GIL-less operation required reworking parts of =
the internals of PyObjC, both to rely on other locks than the GIL and to =
avoid CPython APIs that are known to be problematic when the GIL isn't =
present ("borrowed references" for anyone familiar with the CPython =
API).</div><div><br></div><div>Free-threaded support is experimental at =
this point in time and has seen only limited testing for =
multi-threading. I've also focussed on getting the basics right, and =
have not worked at optimizing free-threading support. Expect =
improvements in future releases.</div><div><br></div><div>With PyObjC 11 =
I'm dropping support for Python 3.8, given that that's gone out of =
support by the CPython team.</div><div><br></div>Finally, there's a =
number of bug fixes and smaller features mentioned in the changelog =
at&nbsp;<a =
href=3D"https://pyobjc.readthedocs.io/en/latest/changelog.html">https://py=
objc.readthedocs.io/en/latest/changelog.html</a><div><br></div><div>Ronald=
</div><div><br></div><div>--<br><div><div dir=3D"auto" =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; overflow-wrap: break-word; -webkit-nbsp-mode: =
space; line-break: after-white-space;"><div dir=3D"auto" =
style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: space; =
line-break: after-white-space;"><div style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;"><br></div><div =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;">Twitter / micro.blog: @ronaldoussoren</div><div =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;">Mastodon: @[email protected].</div><div =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;">Blog: https://blog.ronaldoussoren.net/</div></div></div>
</div>

<br></div></body></html>=

--Apple-Mail=_8650741F-851A-4B75-A88B-276DCE7CD403--


--===============2807293767330735025==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============2807293767330735025==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Pyobjc-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pyobjc-dev

--===============2807293767330735025==--