FreeNAS/freenas a7f620d — docs/source/accounts scram_authentication.rst, src/middlewared/middlewared/plugins/pool_ dedup.py

Renumber `removed_in` markers left stale by the version rename

## Problem
The 26 -> 27 / 27 -> 28 version rename renamed the API directories but not the hand-written version numbers. `system.product_type` was marked `removed_in="v27"` when that meant "the release after 26", which is now 28, so it was flagged private on the current v27.0.0 API. Calls to it logged the "Private method ... without private_methods enabled" warning, and the generated docs said it was scheduled for removal in v27.

## Solution
Changed the `system.product_type` marker to `v28`. Also relabeled `truenas_connect.ip_choices` from `v26` to `v27` (visibility is unchanged), and fixed the old numbering in the `pool.ddt_prefetch` `versionremoved` note and the SCRAM authentication doc ("TrueNAS 26" -> 27). The auth integration test docstrings claimed the legacy login methods were removed in v27 and exercised over an older API version, neither of which is true on this branch, so they now just call them legacy.
DeltaFile
+14-14docs/source/accounts/scram_authentication.rst
+2-2tests/api2/test_auth_login_ex.py
+1-1src/middlewared/middlewared/plugins/truenas_connect/update.py
+1-1src/middlewared/middlewared/plugins/system/product.py
+1-1src/middlewared/middlewared/plugins/pool_/dedup.py
+19-195 files

OpenBSD/ports oYWEB2r — x11/gnome/backgrounds Makefile distinfo, x11/gnome/backgrounds/pkg PLIST

   Update to gnome-backgrounds-51.0.1.
VersionDeltaFile
1.37+6-0x11/gnome/backgrounds/pkg/PLIST
1.52+2-2x11/gnome/backgrounds/distinfo
1.69+1-1x11/gnome/backgrounds/Makefile
+9-33 files

FreeNAS/freenas 9f26492 —

Empty commit to create PR on github.

You should reset it
DeltaFile
+0-00 files

LLVM/project e74976e — clang/lib/Sema SemaLambda.cpp, clang/lib/StaticAnalyzer/Checkers PaddingChecker.cpp

[analyzer] Fix crashing PaddingChecker when using dependent context lambdas in noexcept specifiers (#232986)

A lambda in the `noexcept` specifier of an abbreviated function template
is not marked as dependent, even when it captures a dependent entity.
This Sema bug is tracked in #233102.

```cpp
void crasher(auto&& fn) noexcept(noexcept([_ = fn] {})) {}
```

Because the closure type is not marked dependent, `PaddingChecker` tries
to compute its record layout and crashes in
`ASTContext::getTypeInfoImpl` on the dependent field type.

This PR adds a unit test documenting the Sema bug, a FIXME in
`Sema::ActOnLambdaExpressionAfterIntroducer`, and a temporary workaround
in `PaddingChecker::shouldSkipDecl` that skips fields of dependent type
so the analyzer no longer crashes. The workaround should be removed
together with the FIXME once the Sema bug is fixed.

Fixes #232874
DeltaFile
+40-0clang/unittests/AST/LambdaDependencyTest.cpp
+11-0clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
+10-0clang/lib/Sema/SemaLambda.cpp
+1-0clang/unittests/AST/CMakeLists.txt
+62-04 files

OpenBSD/ports Z7bLCw1 — x11/gnome/user-docs distinfo Makefile, x11/gnome/user-docs/pkg PLIST

   Update to gnome-user-docs-51.0.
VersionDeltaFile
1.66+702-0x11/gnome/user-docs/pkg/PLIST
1.106+4-4x11/gnome/user-docs/Makefile
1.86+2-2x11/gnome/user-docs/distinfo
+708-63 files

OpenBSD/ports ugdFLMu — x11/gnome/adwaita-icon-theme Makefile distinfo, x11/gnome/adwaita-icon-theme/pkg PLIST

   Update to adwaita-icon-theme-51.0.
VersionDeltaFile
1.34+2-2x11/gnome/adwaita-icon-theme/distinfo
1.45+1-1x11/gnome/adwaita-icon-theme/Makefile
1.35+2-0x11/gnome/adwaita-icon-theme/pkg/PLIST
+5-33 files

OpenBSD/ports wk3p8On — mail/evolution-ews Makefile distinfo, mail/evolution-ews/pkg PLIST

   Update to evolution-ews-3.62.1.
VersionDeltaFile
1.126+2-2mail/evolution-ews/distinfo
1.165+1-1mail/evolution-ews/Makefile
1.33+1-0mail/evolution-ews/pkg/PLIST
+4-33 files

OpenBSD/ports 2uKXcVo — mail/evolution distinfo Makefile, mail/evolution/pkg PLIST

   Update to evolution-3.62.1.
VersionDeltaFile
1.171+2-2mail/evolution/distinfo
1.371+2-2mail/evolution/Makefile
1.81+1-1mail/evolution/pkg/PLIST
+5-53 files

OpenBSD/ports kyJ6RNN — databases/evolution-data-server distinfo Makefile, databases/evolution-data-server/patches patch-src_camel_camel-debug_c patch-CMakeLists_txt

   Update to evolution-data-server-3.62.1.
VersionDeltaFile
1.326+11-12databases/evolution-data-server/Makefile
1.173+2-2databases/evolution-data-server/distinfo
1.2+2-1databases/evolution-data-server/patches/patch-src_camel_camel-lock-helper_c
1.2+1-1databases/evolution-data-server/patches/patch-src_camel_camel-debug_c
1.13+1-1databases/evolution-data-server/patches/patch-CMakeLists_txt
+17-175 files

LLVM/project 66e6482 — llvm/test/CodeGen/X86 sext-vsetcc.ll

[X86] sext-vsetcc.ll - add SSE42 test coverage (#234536)

Prep work for an upcoming patch
DeltaFile
+567-291llvm/test/CodeGen/X86/sext-vsetcc.ll
+567-2911 files

LLVM/project 559eae1 — llvm/test/CodeGen/Thumb2 thumb2-rev.ll

[Thumb2] thumb2-rev.ll - regenerate test checks (#234534)

Prep work for an upcoming patch
DeltaFile
+7-2llvm/test/CodeGen/Thumb2/thumb2-rev.ll
+7-21 files

OPNSense/core 8817182 — src/opnsense/scripts/kea kea_prefix_watcher.py

kea: remove inactive PD routes and retry unresolved next hops

Handle lease state before the shared route deletion step and cache
active prefixes only after successful route installation. This removes
released routes and lets later polls retry failed lookups or route adds.
DeltaFile
+23-16src/opnsense/scripts/kea/kea_prefix_watcher.py
+23-161 files

FreeNAS/freenas 7f40288 — docs/source/accounts scram_authentication.rst, src/middlewared/middlewared/plugins auth.py

Renumber `removed_in` markers left stale by the version rename

## Problem
The 26 -> 27 / 27 -> 28 version rename renamed the API directories but not the hand-written version numbers. Markers written as `removed_in='v27'` before the rename meant "the release after 26", which is now 28, so `auth.login`, `auth.login_with_api_key`, `system.advanced.syslog_certificate_authority_choices` and `system.product_type` were flagged private on the v27.0.0 API too. Calls to them logged the "Private method ... without private_methods enabled" warning, and the generated docs said they were scheduled for removal in v27.

## Solution
Changed those markers and their docstrings to `v28`. The `v27` markers that were already relabeled from `v26` after the rename are correct and are left alone. Also fixed the old numbering in the `pool.ddt_prefetch` `versionremoved` note, the SCRAM authentication doc ("TrueNAS 26" -> 27, "removed from the v27 API" -> v28) and the auth integration test docstrings.
DeltaFile
+15-15docs/source/accounts/scram_authentication.rst
+4-4src/middlewared/middlewared/plugins/auth.py
+2-2tests/api2/test_auth_login_ex.py
+1-1src/middlewared/middlewared/plugins/system_advanced/__init__.py
+1-1src/middlewared/middlewared/plugins/system/product.py
+1-1src/middlewared/middlewared/plugins/pool_/dedup.py
+24-246 files

LLVM/project d68505e — mlir/include/mlir/Dialect/Tosa/IR TosaOps.td

[mlir][tosa] Add `tosa.avg_pool2d_adaptive` purity note (#233473)

Similar to `tosa.avg_pool2d`, add a note about purity.
DeltaFile
+3-0mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
+3-01 files

LLVM/project b97ac68 — llvm/include/llvm/Transforms/Utils LoopUtils.h, llvm/include/llvm/Transforms/Vectorize LoopVectorizationLegality.h

[LV] Implement legality checks for compressing patterns (#230546)

This implements the legality checking for "compressing" patterns for
example:

E.g., Loops like:

```
int dst_idx = 0;
for (int i = 0; i < n; i++) {
  // Can be vectorized as a llvm.masked.compressstore.
  if (cond[i])
    dst[dst_idx++] = src[i];
}
```

This uses the new `ConditionalInductionDescriptor` to recognize
compressing patterns.


    [16 lines not shown]
DeltaFile
+206-7llvm/test/Transforms/LoopVectorize/compress-idioms-negative-tests.ll
+89-0llvm/lib/Transforms/Utils/LoopUtils.cpp
+54-34llvm/test/Transforms/LoopVectorize/compress-idioms.ll
+40-0llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+30-0llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
+21-0llvm/include/llvm/Transforms/Utils/LoopUtils.h
+440-416 files not shown
+471-4112 files

LLVM/project 738681b — lldb/utils/lui debuggerdriver.py commandwin.py

[lldb] Python3 fixes for "lui" script (#234548)

Which I was trying out after reading
https://discourse.llvm.org/t/rfc-removing-gui-mode/92570.

This is fixes by 2to3, some that I found testing
it, and a few I saw looking through the sources.

Just enough to get it to run, I bet there are
all sorts of issues with it.
DeltaFile
+3-3lldb/utils/lui/cui.py
+2-2lldb/utils/lui/sourcewin.py
+2-2lldb/utils/lui/lui.py
+1-1lldb/utils/lui/debuggerdriver.py
+1-1lldb/utils/lui/commandwin.py
+9-95 files

OpenBSD/ports VLXhx5Q — emulators/wine Makefile

   use clang headers from llvm distfile, extracted via a :patch target in
   BUILD_DEPENDS, rather than a separate packaged file which needs updating
   when llvm is updated. use special internal-only flavour so that it only
   extracts the relevant dir rather than all of llvm(+clang+lldb+...)
VersionDeltaFile
1.49+4-9emulators/wine/Makefile
+4-91 files

LLVM/project 64b40b8 — libcxx/include string, libcxx/test/std/strings/basic.string/string.modifiers/string_append size_char.pass.cpp

Revert "[libc++] Fix incorrect size check when growing std::string" (#234545)

Reverts llvm/llvm-project#232737

Broke premerge CI.
DeltaFile
+8-8libcxx/include/string
+0-11libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp
+0-11libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_size_char.pass.cpp
+0-11libcxx/test/std/strings/basic.string/string.modifiers/string_append/size_char.pass.cpp
+8-414 files

OpenBSD/ports f8katKN — devel/llvm Makefile.inc

   emulators/wine needs the clang headers which are removed from packaging
   (see "search and remove headers that might conflict with base"). to ensure
   that it uses a correct version matching the installed clang, it's going to
   depend on an devel/llvm :patch target, to extract the archive. however this
   would normally extract 184k files which takes quite noticeable time, so add
   an internal-use flavour "headerextract" to llvm that can be used in
   emulators/wine to extract just the files it needs.

   "i am fine with that flavor if you think it will make life easier" robert
VersionDeltaFile
1.36+16-1devel/llvm/Makefile.inc
+16-11 files

NetBSD/pkgsrc KGBYI4u — doc CHANGES-2026

   doc: Updated devel/cargo-nextest to 0.9.149
VersionDeltaFile
1.7174+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc SeDOKSV — devel/cargo-nextest Makefile cargo-depends.mk

   devel/cargo-nextest: update to 0.9.149

   Security

       cargo nextest self update no longer trusts the eMudhra intermediate certificate authorities whose private keys were disclosed on 2026-10-20. Previously, an attacker able to intercept network traffic could have used these keys to make cargo nextest self update download and install a malicious binary.

       Nextest's self-updater uses a bundled set of root certificates, so operating system and browser updates do not protect it. This release updates webpki-roots to 1.0.10 and rustls-webpki to 0.103.16, both of which distrust the compromised certificates.

       Running tests does not involve network access and is not affected. Builds without the self-update feature, including most distribution packages, are also not affected.

       Updating from an earlier version with cargo nextest self update would go through the affected code one last time. If you're concerned about your network being compromised, use one of the other installation methods instead.

   Fixed

       On riscv64 Linux, cargo nextest self update no longer panics. (#3649)
VersionDeltaFile
1.27+13-13devel/cargo-nextest/distinfo
1.27+3-3devel/cargo-nextest/cargo-depends.mk
1.31+2-2devel/cargo-nextest/Makefile
+18-183 files

LLVM/project 7a270d7 — llvm/lib/Target/LoongArch LoongArchLASXInstrInfo.td LoongArchISelLowering.h, llvm/test/CodeGen/LoongArch fptosi-sat.ll

[LoongArch] Lower FP_TO_SINT_SAT to [X]VFTINTRZ/FTINTRZ (#233760)

The ftintrz.{w,l}.{s,d} and [x]vftintrz.{w.s,l.d} instructions saturate
out-of-range inputs to the minimum/maximum integer and convert NaN to 0
(when the invalid operation exception is not trapped), which matches the
semantics of llvm.fptosi.sat when the saturation width is the native
32/64 bits. This was verified on LA664 for all scalar, LSX and LASX
variants and matches QEMU's LoongArch model. Use them instead of the
generic expansion, which emits three compares and selects per element
and fully scalarizes vectors.

Also override shouldConvertFpToSat so DAGCombiner only folds min/max
clamps and NaN-guarded selects into FP_TO_SINT_SAT when that lowers to a
single ftintrz, avoiding the generic expansion for mismatched vector
element widths and for i64 results without the D extension.

This is what Rust emits for `f32 as i32`. rustc-perf svg-render-1 on
LA664: instructions -6.4%, cycles -4.0%.
DeltaFile
+14-551llvm/test/CodeGen/LoongArch/lasx/fptosi-sat.ll
+12-305llvm/test/CodeGen/LoongArch/lsx/fptosi-sat.ll
+16-167llvm/test/CodeGen/LoongArch/fptosi-sat.ll
+58-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+3-0llvm/lib/Target/LoongArch/LoongArchISelLowering.h
+2-0llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
+105-1,0231 files not shown
+107-1,0237 files

LLVM/project f4da8d9 — llvm/test/CodeGen/LoongArch fptosi-sat.ll, llvm/test/CodeGen/LoongArch/lasx fptosi-sat.ll

[LoongArch][NFC] Pre-commit tests for fptosi.sat (#233759)
DeltaFile
+1,095-0llvm/test/CodeGen/LoongArch/fptosi-sat.ll
+628-0llvm/test/CodeGen/LoongArch/lasx/fptosi-sat.ll
+467-0llvm/test/CodeGen/LoongArch/lsx/fptosi-sat.ll
+2,190-03 files

LLVM/project 1a12b03 — clang/lib/CIR/CodeGen CIRGenTypes.cpp CIRGenBuiltinX86.cpp, clang/lib/CIR/Dialect/IR CIRTypes.cpp

[CIR] Use `llvm::ElementCount` to hold `cir::VectorType` size (#231906)

A separate scalability flag is a design issue inherited from MLIR's
VectorType. It makes dropping/ignoring scalability an easy mistake to
make in common transforms and lowerings.

This patch aligns ClangIR with LLVM and uses `ElementCount` to hold the
vector size. This makes it simple to propagate the entire size (element
count and scalability) and forces users to query the size they expect:

- `.getFixedValue()`
  - Asserts the size is fixed and converts it to an integer
- `.getKnownMinValue()`
  - Allowed for fixed/scalable vectors
  - Returns the element count at vscale=1

A few small bugs/missed verifier checks have been handled with this
patch and are now tested:


    [4 lines not shown]
DeltaFile
+74-71clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+54-49clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
+23-21clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+15-28clang/lib/CIR/CodeGen/CIRGenTypes.cpp
+39-0clang/test/CIR/IR/invalid-vector.cir
+19-17clang/lib/CIR/Dialect/IR/CIRTypes.cpp
+224-18617 files not shown
+320-22623 files

OpenBSD/ports KEiTs3k — devel/py-virtualenv Makefile

   add reminder to check pyproject.toml deps; virtualenv bumps them quite often
VersionDeltaFile
1.107+1-0devel/py-virtualenv/Makefile
+1-01 files

LLVM/project cab6acf — llvm/lib/Target/AMDGPU AMDGPUInstructionSelector.cpp AMDGPUISelDAGToDAG.cpp, llvm/test/CodeGen/AMDGPU fma-mix.gfx11plus.ll

[AMDGPU] Only fold 32-bit shift sources in isExtractHiElt (#215245)

D16 image sample returns 4-time 16-bit samples packed into 64 bits. The
backend legalizes extractelement <4 x half>, 1 (channel 1 — the upper
half of the first dword) into trunc(srl(i64, 16)). At normal
optimization levels the DAG combiner splits the i64 into two i32s before
instruction selection, hiding the problem. At -O0 the i64 survives
intact. This creates an invalid COPY from a 64-bit virtual register to a
32-bit physical register, which asserts in SIInstrInfo::copyPhysReg.
To fix it, in isExtractHiElt (both the SelectionDAG version in
AMDGPUISelDAGToDAG.cpp and the GlobalISel version in
AMDGPUInstructionSelector.cpp), check that the shift source is exactly
32 bits before folding.
DeltaFile
+52-0llvm/test/CodeGen/AMDGPU/fma-mix.gfx11plus.ll
+33-0llvm/test/CodeGen/AMDGPU/GlobalISel/fmamix-constant-bus-violation.mir
+8-1llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+8-1llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+101-24 files

LLVM/project c98ead2 — lld/ELF/Arch LoongArch.cpp, lld/test/ELF loongarch-tls-ie64.s loongarch-tlsdesc64.s

[lld][LoongArch] Fix crash with TLS IE relocations in extreme code model (#234508)

Restore TLS IE and DESC relocation expressions needed by the extreme
code model fallback in relocateAlloc().

Fixes: #234507
DeltaFile
+120-0lld/test/ELF/loongarch-tlsdesc64.s
+71-0lld/test/ELF/loongarch-tls-ie64.s
+15-0lld/ELF/Arch/LoongArch.cpp
+206-03 files

OpenBSD/ports owyb901 — security/nss Makefile distinfo

   security/nss: update to 3.132, will be required by firefox 160

   see https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_132.html
VersionDeltaFile
1.182+2-2security/nss/distinfo
1.223+1-1security/nss/Makefile
+3-32 files

LLVM/project de85f62 — llvm/lib/CodeGen/GlobalISel InlineAsmLowering.cpp, llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp

[TargetLowering][X86] Address review: keep "rm" in memory for half and bfloat

The check that an "rm" value fits in one 'r' register accepted any value no
wider than the register. X86 gives a half or bfloat value a GR64 (GR32 on
i686), so "rm"(half) printed as %rax and failed to assemble, where it used
to pick memory. Require the value to fill the register, and test half and
bfloat.

Also check the target, opt level, and isIndirect before scanning the
constraint codes, don't offer 'm' to a MayFoldRegister output with a
matching input (as for any other operand), assert a single register in
GlobalISel as SelectionDAG does, and name the instruction selector in the
new tests' RUN lines.

Assisted-by: Claude Opus 5.5
DeltaFile
+19-15llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+20-4llvm/test/CodeGen/X86/asm-constraints-rm-isel.ll
+8-15llvm/test/CodeGen/X86/asm-constraints-rm.ll
+8-2llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
+2-2llvm/test/CodeGen/X86/asm-constraints-rm-pressure.ll
+1-1llvm/test/CodeGen/X86/asm-constraints-rm-callbr-fold.ll
+58-396 files

LLVM/project 92397f9 — llvm/docs ProgrammersManual.md, llvm/include/llvm/ADT SmallVectorWithFlags.h SmallVector.h

[ADT] Add SmallVectorWithFlags with packed user flags

Structures that hold a SmallVector followed by a bool or a couple of
flag bits pay up to eight bytes of padding for those bits, and there is
no padding inside the vector to reuse: the header is exactly a pointer
and two 32-bit fields, and the inline storage of pointer-sized elements
is a multiple of eight bytes. SmallVectorWithFlags stores one to four
user flag bits in the high bits of the capacity field, so it has the
same size and inline capacity as SmallVector.

The capacity field is the one header field not read on the hot path:
the buffer pointer's free low bits depend on the element alignment and
are read on every element access, and the size is read by size() and
end(). Only capacity() masks the flags out, which costs one extra `and`
in the growth check of push_back; begin(), end(), and size() are
untouched. The cost is a maximum capacity divided by 2^FlagBits, which
with the 32-bit size type and four flag bits is 268 million elements.

The SmallVector implementation layers take a FlagBits template

    [35 lines not shown]
DeltaFile
+629-0llvm/unittests/ADT/SmallVectorWithFlagsTest.cpp
+256-66llvm/include/llvm/ADT/SmallVector.h
+264-0llvm/include/llvm/ADT/SmallVectorWithFlags.h
+59-21llvm/lib/Support/SmallVector.cpp
+43-2llvm/docs/ProgrammersManual.md
+1-0llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
+1,252-891 files not shown
+1,253-897 files