Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheduled weekly dependency update for week 06 #468

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

Update pytest-asyncio from 0.25.2 to 0.25.3.

Changelog

0.25.3

- Avoid errors in cleanup of async generators when event loop is already closed [1040](https://github.com/pytest-dev/pytest-asyncio/issues/1040)
Links

Update pyobjc from 10.3.2 to 11.0.

Changelog

11.0

-----------------------------------------------------------

The major change in this release is experimental support for free-threading
(`PEP 703 <https://peps.python.org/pep-0703/>`_) which was introduced
as an experimental feature in Python 3.13.

This required fairly significant changes in the core of PyObjC to change
C Python API use and PyObjC internal APIs (mostly related to the use of
borrowed references).

* Dropped support for Python 3.8. PyObjC 11 supports Python 3.9 and later.

* Updated metadata for the macOS 15.2 SDK, including bindings
for the following frameworks:

- MediaExtension
- DeviceDiscoveryExtension

* :issue:`249`: Added minimal bindings to the Carbon framework.

At this time only some functions and constants related to hotkeys
are available. Please file an issue if you have a usecase for other APIs.

* :issue:`615`: Struct wrappers now support a number of functions from
:mod:`copy`: :func:`copy.replace` (new in Python 3.13), :func:`copy.copy`
and :func:`copy.deepcopy`.

* The ``__pyobjc_copy__`` method has been removed from struct wrappers. This
was never a public API. Use :func:`copy.deepcopy` instead.

* :meth:`objc.FSRef.from_path`` now supports ``os.PathLike`` values as its
arguments (as well as strings).

* :issue:`608`: Experimental support for the free-threading mode
introduced in Python 3.13.

The core bridge and framework bindings claim compatibility with free-threading
as introduced as an experimental feature in Python 3.13.

The support in PyObjC is also an experimental feature: I've reviewed
code for free-threading issues and adjusted it where needed, but the
code has seen only light testing w.r.t. concurrency.

Some functionality that's explicitly not thread-safe:

- Defining an Objective-C class with the same name in multiple threads concurrently.

- Splitting calls to ``alloc`` and ``init`` and calling ``init`` multiple
 times concurrently. E.g.:

  .. sourcecode:: python

     import threading
     from Cocoa import NSObject

     v = NSObject.alloc()

     t_list = []
     for _ in range(2):
         t = threading.Thread(target=lambda: v.init())
         t_list.append(t)
         t.start()

     for t in t_list:
         t.join()

* The internal mapping from Python values to their active Objective-C
proxy value now uses weak references. This should not affect user code,
other than being a bit more efficient.

* The internal interfaces for updating this mapping, and the reverse mapping
from Objective-C values to their active Python proxy was changed to remove
a small race condition. This was required for free threading support, but
could in theory also bit hit when using the GIL.

* The data structure for mapping Python values to their Objective-C proxy
has been rewritten to support free threading. This also simplifies the
code, and should be small performance improvement for the regular build
of Python.

* The :exc:`TypeError` raised when passing a non-sequence value to
some APIs implemented in C now has a ``__cause__`` with more detailed
information.

This is a side effect of dropping the use of ``PySequence_Fast`` in the
implementation of PyObjC.

* Removed ``objc.options._nscoding_version``, a private option that is no
longer used.

* Changing the ``__block_signature__`` of a block value when the current
value of the signature is not ``None`` is no longer possible.

Please file an issue if you have a use case for changing the signature
of a block.

* Fix compatibility with Python 3.14 (alpha 3)

* Removed private function ``objc._sizeOfType`` because its unused.

* Fix memory leak when using Python callables as blocks.

The memory leak also resulted in leaking a reference to the callable
(and hence anything kept alive by that reference).

* The generic ``__new__`` implementation now works as intended when
registering methods that other than ``init...`` methods.

* Dropped '%n' support in handling printf-format strings for variadic
functions and methods.

Two reasons for that: 1) supporting this properly should return the
value writing to the %n location (requiring significant changes) and
2) Apple's libraries require using static strings for '%n' to work (at
least on some platforms and versions of the OS)

* :issue:`633`: Fix manual bindings for ``AVAudioPCMBuffer`` methods for
getting channel data (``floatChannelData``, ``int16ChannelData`` and
``int32ChannelData``)

* :issue:`632`: fix broken bindings for ``CGWindowListCreateImageFromArray``.

* The private ``__is_magic`` attribute on :class:`objc.objc_object` has
been renamed to ``__pyobjc_magic_coookie__``.

* Various fixes to edge case behaviour that were found while improving
test coverage.
Links

Update fonttools[ufo,unicode,lxml,woff,type1] from 4.55.3 to 4.56.0.

Changelog

4.56.0

----------------------------

- [varStore] Sort the input todo list with the same sorting key used for the opimizer's output (3767).
- [otData] Fix DeviceTable's ``DeltaValue`` repeat value which caused a crash after importing from XML and then compiling a GPOS containing Device tables (3758).
- [feaLib] Make ``FeatureLibError`` pickleable, so client can e.g. use feaLib to can compile features in parallel with multiprocessing (3762).
- [varLib/gvar] Removed workaround for old, long-fixed macOS bug about composite glyphs with all zero deltas (1381, 1788).
- [Docs] Updated ttLib documentation, beefed up TTFont and TTGlyphSet explanations (3720).

4.55.8

----------------------------

- [MetaTools] Fixed bug in buildUCD.py script whereby the first non-header line of some UCD text file was being skipped. This affected in particular the U+00B7 (MIDDLE DOT) entry of ScriptExtensions.txt (3756).

4.55.7

----------------------------

- Shorten the changelog included in PyPI package description to accommodate maximum length limit imposed by Azure DevOps. No actual code changes since v4.55.6 (3754).

4.55.6

----------------------------

- [glyf] Fixed regression introduced in 4.55.5 when computing bounds of nested composite glyphs  with transformed components (3752).

4.55.5

----------------------------

- [glyf] Fixed recalcBounds of transformed components with unrounded coordinates (3750).
- [feaLib] Allow duplicate script/language statements (3749).

4.55.4

----------------------------

- [bezierTools] Fixed ``splitCubicAtT`` sometimes not returning identical start/end points as result of numerical precision (3742, 3743).
- [feaLib/ast] Fixed docstring of ``AlternateSubstStatement`` (3735).
- [transform] Typing fixes (3734).
Links

Update ufo2ft from 3.4.0 to 3.4.1.

Changelog

3.4.1

Fixed typos in USE_SCRIPTS list of ISO script tags for USE-enabled scripts: Bhaiksuki -> "Bhks" (not "Nhks"), N'ko -> "Nkoo" (not "Nko ").

They should now get 'dist' feature instead of 'kern', and 'abvm' and
'blwm' instead of 'mark', like the other USE_SCRIPTS (896).
Links

Update delocate from 0.12.0 to 0.13.0.

Changelog

0.13.0

Changed

- `patch_wheel` function raises `FileNotFoundError` instead of `ValueError` on
missing patch files.
- `delocate.fuse.fuse_trees` now auto-detects binary files instead of testing
filename suffixes.
- `delocate-wheel` and `delocate-fuse` now appends the delocate version used to
the wheels metadata.

Deprecated

- `get_rpaths` and `get_install_id` are deprecated due to not supporting
architectures.
- `unique_by_index` is deprecated. Use more-itertools unique_everseen instead.

Fixed

- Fixed `NotImplementedError` when libraries depend on differing binaries
per-architecture.
[230](https://github.com/matthew-brett/delocate/pull/230)
- Now checks all architectures instead of an arbitrary default.
This was causing inconsistent behavior across MacOS versions.
[230](https://github.com/matthew-brett/delocate/pull/230)
- `delocate-merge` now supports libraries with missing or unusual extensions.
[228](https://github.com/matthew-brett/delocate/issues/228)
- Now supports library files ending in parentheses.
- Fixed `Unknown Mach-O header` error when encountering a fat static library.
[229](https://github.com/matthew-brett/delocate/issues/229)

Removed

- Dropped support for Python 3.7 and Python 3.8.
[226](https://github.com/matthew-brett/delocate/pull/226)
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant