[libc++][pstl] Implementation of parallel std::minmax_element() based on parallel reduce (#221572)
This PR adds an implementation of parallel `std::minmax_element()` based
on parallel reduce.
The implementation formulates `minmax_element` as a reduction of
iterators over the input range.
The iterators are first transformed into a min-max iterator pair.
The reduction is provided in two forms: 2-element reduction that makes
an iterator pair pointing to a smaller and a greater value, and a
range-based reduction with init value.
The latter delegates the heavy-lifting to the serial implementation of
`std::minmax_element()`.
Part of #99938.
libclc: Update fmod implementations (#222369)
This was originally ported from rocm device libs in
93af966747b59d37c57312a0c0242151076c072b. Merge in more
recent changes. This should also approximately match the default
expansion in ExpandIRInsts
Co-authored-by: Claude <noreply at anthropic.com>
AMDGPU: Remove deprecated getArchAttr and ArchFeatures TableGen
Everything should now use getFeatureBitset*
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Stop passing middlewared's environment to init/shutdown scripts
## Problem
User scripts were spawned with middlewared's entire environment, including `NOTIFY_SOCKET`. Since our unit sets `NotifyAccess=all`, a daemon a script leaves behind can send `MAINPID=` and be adopted as the unit's main process, so systemd tears middlewared down when that daemon later exits. A user hit this with a POSTINIT script starting a NUT driver: the driver was killed as a duplicate on every boot, middlewared went down with it, and Apps never started.
## Solution
Pass a curated set of names instead of inheriting: `PATH`, `TZ`, `LANG`, `USER`, the proxy variables and `REQUESTS_CA_BUNDLE`, all of which existing scripts may reasonably depend on. Allowlisted rather than denylisted so that whatever systemd or a plugin sets next stays out of user scripts too.
nodejs: updated to 26.8.2
26.8.2 (Current)
Notable Changes
- doc: deprecate Server.prototype._listen2 in node:net (Antoine du Hamel)
- meta: refine the security vuln posture for experimental features (James M Snell)
- deps: update Undici to 8.10.2 (Node.js GitHub Bot)
- deps: update OpenSSL to 3.5.8
py-checkdmarc: updated to 6.0.1
6.0.1
Fixed
SPF: the RFC 6652 reporting modifiers ra=, rp=, and rr=, added in 5.8.0 and removed later, are recognized again; their values are validated against RFC 6652 §3 (rp= per erratum 6579) and surfaced in the parsed result as ra, rp, and rr next to exp, and a malformed value is warned about and ignored instead of failing the record. Warnings also cover the two RFC 6652 §3 semantic rules — rp= and rr= do nothing without ra=, and ra= is ignored in a record reached through an include — and exp= and these modifiers are now honored after all in any order
6.0.0
An RFC conformance audit compared every module line-by-line against its governing specification (SPF: RFC 7208; DMARC: RFC 9989/9990; TLSRPT: RFC 8460; MTA-STS: RFC 8461; SMTP/MX: RFC 5321/7505/2181; DNSSEC: RFC 4033-4035; SOA: RFC 1035/2181; BIMI: draft-brand-indicators-14) and found 81 discrepancies, most confirmed by executing the old code. This release fixes all of them. Many fixes change validation verdicts — records the specs call valid are no longer rejected, and records they call invalid are no longer accepted — hence the major version. This release also contains everything staged for 5.18.0, which was never released.
Breaking changes
MX STARTTLS/TLS testing is now opt-in: pass --check-mx-tls on the CLI or check_mx_tls=True to check_domains(), check_mx(), or get_mx_hosts(). The --skip-tls flag and skip_tls parameter are still accepted but do nothing, and passing skip_tls emits a DeprecationWarning. As a result, MX host results no longer carry the tls and starttls keys, and the CSV tls/starttls columns are empty, unless TLS testing is turned on
check_dnssec() performs a real chain-of-trust check anchored at the parent zone's DS record instead of verifying a zone's DNSKEY against itself. A zone with no DS at its parent (including "island of security" zones) is insecure per RFC 4033 §4.3 and returns False; a broken zone such as dnssec-failed.org returns False through any resolver, where it previously returned True through non-validating resolvers. Bogus (SERVFAIL with DS present) is now warned about distinctly from unsigned
Unknown and extension tags/fields now parse with a warning instead of failing validation, as each spec requires: SPF unknown modifiers (RFC 7208 §6), DMARC unknown tags (RFC 9989 §4.7), TLSRPT extension fields (RFC 8460 §3), MTA-STS extension fields and policy keys (RFC 8461 §3.2), and BIMI unknown tags (draft §4.3). An unknown field is ignored only when it fits the spec's own extension grammar; a malformed extension name or value still fails the record or policy
A TXT record unrelated to the record type being queried is now discarded instead of failing validation, per each spec's discard rule: TLSRPT (RFC 8460 §3.1), MTA-STS (RFC 8461 §3.1), BIMI (draft §7.2), and DMARC report authorization records (RFC 9990 §4). Each query also now returns the record carrying the version tag rather than whichever TXT record the resolver listed first. When a real record sits beside the unrelated one, the unrelated record is reported as a warning; when it is the only record present, the check reports that no record exists. DMARC authorization records are discarded silently, and a wildcard authorization record that is unrelated is still an error. Callers catching UnrelatedTXTRecordFoundAtTLSRPT or UnrelatedTXTRecordFoundAtBIMI should note that those queries now raise SMTPTLSReportingRecordNotFound and BIMIRecordNotFound instead
Records the old code wrongly accepted are now invalid: SPF records exceeding the 10-DNS-lookup limit through a, ptr, or macro-valued terms (RFC 7208 §4.6.4 — the limit was previously only enforced for some mechanism types), SPF include of a domain with no SPF record (permerror per RFC 7208 §5.2), MTA-STS policies missing a required key (RFC 8461 §3.2 — the check was dead code), BIMI records missing the required l= tag (draft §4.3), lowercase v=dmarc1 (RFC 9989 §4.8), and an SPF qualifier on a modifier or a value on the all mechanism (RFC 7208 §12)
[54 lines not shown]
[clang][bytecode] Use opaque pointers for decl-based dummy pointers (#220917)
This uses the recently introduced opaque pointers for what we used to
use dummy pointers for, if the base of the pointer is a declaration.
This of course means we see opaque pointers in a lot more places.
However, we don't need to actually allocate anything for their data
anymore, resulting in a lot fewer allocations for such pointers.
[llvm-rc] Add /showIncludes dependency reporting (#217102)
Add `/showIncludes` support to `llvm-rc` so build systems can discover
the files a resource compile depends on. This enables Ninja and other
build systems to track and correctly recompile the `.rc` file when
inputs change.
Two kinds of dependencies are reported:
- Preprocessor header dependencies, by forwarding `--show-includes` to
the clang preprocessor.
- Resource files, (bitmaps, icons, manifests, etc) that are used in the
resource file.
The output format matches the `/showIncludes` format that cl.exe and
clang-cl.exe use, and that Ninja can consume natively via `deps=msvc`.
Assisted-by: Anthropic Claude Code (Opus 4.8)
Assisted-by: OpenAI Codex (GPT 5.6 Sol)
py-aiostream: updated to 0.7.2
0.7.2
Change return type of return Callable annotation in async_ to Coroutine[Any, Any, T], which is narrower than Awaitable[T]
Replace asyncio.iscoroutinefunction with inspect.iscoroutinefunction
Allow concatmap, flatmap and switchmap to receive an async function