xfwm4: use proper types in startup_notification.c, ok landry (maintainer)
sn_startup_sequence_get_last_active_time() takes a time_t * and a suseconds_t *
py-testfixtures: updated to 12.0.0
12.0.0 (23 May 2026)
.. warning:: Breaking changes:
- Comparers have moved from :mod:`!testfixtures.comparison` to :mod:`testfixtures.comparers`.
- :func:`!django_compare` has been removed, :func:`compare` now works with Django models.
- Refactoring of :class:`LogCapture` to introduce support for :doc:`loguru <loguru>`,
:doc:`structlog <structlog>` and similar support for :doc:`twisted <twisted>` by way of the new
:class:`~testfixtures.logcapture.CaptureSource` architecture.
- :func:`compare` now supports per-type ``ignore_eq``.
- :func:`compare` now supports both :doc:`polars <polars>` and :doc:`pandas <pandas>` dataframes.
- :func:`compare` now provides better feedback when objects being compared raised exceptipns in
their :any:`str` or :any:`repr`.
[3 lines not shown]
rio: replace PKGMESSAGE with files/README.NetBSD
PKGMESSAGE is reserved for critical warnings; operational notes
belong in a README file installed under share/doc/<pkg>/.
- Remove PKGMESSAGE
- Add files/README.NetBSD with terminal-type, shell, and theme notes
- Install it to share/doc/rio/ via do-install
- Add share/doc/rio to INSTALLATION_DIRS and PLIST
py-checkdmarc: updated to 5.16.2
5.16.2
BIMI: forbidden x/y attributes on the root <svg> element are now actually rejected. get_svg_metadata was reading the wrong xmltodict keys, so the existing rejection in check_svg_requirements never fired on real SVGs. The metadata also lost the y value to a typo that clobbered metadata["x"].
DNSSEC: narrowed three broad except Exception clauses to specific exception types (dns.exception.DNSException, OSError, EOFError) so programming errors propagate instead of being silently swallowed.
5.16.1
Simplify the warning emitted for pct/rf/ri to just "Support for the {tag} tag was removed in RFC 9989".
5.16.0
Rename DMARCbis references to RFC 9989
In compliance with RFC 9989, treat a DMARC p tag as p=none, instead of requiring it
Instead, a warning is raised that older versions of DMARC require it
DMARC: the pct, rf, and ri tags are removed in RFC 9989. They are no longer implicitly added to parsed results, are no longer strictly validated (invalid values that previously raised now just warn), and explicit use emits a "removed in RFC 9989" warning. Pre-9989 readers may still honor them, so the value is left intact for those consumers.
DMARC: unknown tags are now ignored with a warning instead of raising InvalidDMARCTag, per RFC 9989 ("Unknown tags MUST be ignored").
DMARC: the order constraint that p must immediately follow v is now a warning rather than a hard syntax error. RFC 9989 permits any tag ordering after v; older RFC 7489 readers may still expect p second.
[3 lines not shown]
[mlir] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199365)
Like the preceding llvm/ change, fix MLIR sites that reuse an iterator
or bucket reference after erasing from the same map, in preparation for
backward-shift DenseMap deletion which relocates surviving entries.
Use DenseMap::remove_if in ThreadLocalCache::clearExpiredEntries and the
RootOrdering cycle contraction (deferring the in-cycle graph erases
until
after iteration). ThreadLocalCache::get reads the value into a local and
bufferizeOp snapshots the worklist before folding, since those erases
re-enter via a rewriter listener.
Aided by Claude Opus 4.7
aarch64: mi pmap: save a PTE software bit when doing modify emulation.
Use only OS_MODEMUL and release OS_MODIFIED. A mapping is deemed modified
if it is marked RW and OS_MODEMUL which only ever happens via emulation.
mi pmap: pmap_clear_attribute should check cached value of the attribute
The pmap_clear_attribute implementation used by the MI pmap should
check the cached valued of the attribute as well as any value held
in the PTE(s).
Some emulation implementations require this as some operations, e.g
changing page mappings to RO, can lose PTE attribute information.
py-soupsieve: updated to 2.8.4
2.8.4
- **FIX**: Fix another inefficient attribute pattern
- **FIX**: Limit total number of selectors processed in a pattern to prevent massive selector requests
py-sqlalchemy: updated to 2.0.50
2.0.50
orm
[orm] [bug]
Fixed issue where using joinedload() with PropComparator.of_type() targeting a joined-table subclass combined with PropComparator.and_() referencing a column on that subclass would generate invalid SQL, where the subclass column was not adapted to the subquery alias. Pull request courtesy Joaquin Hui Gomez.
[orm] [bug]
Fixed issue where the presence of a SessionEvents.do_orm_execute() event hook would cause internal execution options such as yield_per and loader-specific state from the first orm_pre_session_exec pass to leak into the second pass, leading to errors when using relationship loaders such as selectinload() and immediateload(). The execution options passed to the second compilation pass are now based on the original options plus only the explicit updates made via ORMExecuteState.update_execution_options() within the event hook.
[orm] [bug]
Fixed issue where using with_polymorphic() on a leaf class (a subclass with no further descendants) or a non-inherited class would fail with an AttributeError when used in an ORM statement, due to configure_mappers() not being triggered implicitly. The fix ensures that AliasedInsp participates in the _post_inspect hook, triggering mapper configuration during ORM statement compilation.
sql
[34 lines not shown]