FreeNAS/freenas ff03373src/middlewared/middlewared/plugins/kmip sed_keys.py zfs_keys.py

Convert kmip plugin to typesafe pattern

This commit adds changes to convert the kmip plugin from the legacy dict-based ConfigService/CompoundService to the typesafe GenericConfigService pattern, with a ConfigServicePart, Pydantic models, and the internal ZFS/SED key-management machinery extracted into plain functions backed by an in-memory KMIPKeyStore. Since kmip.config now returns a model, in-process consumers in failover, the pykmip mako, pool encryption and the kmip pseudo-service are switched to attribute access, and the KMIP port delegate hands the base a dict so port validation keeps working.
DeltaFile
+246-341src/middlewared/middlewared/plugins/kmip/sed_keys.py
+169-167src/middlewared/middlewared/plugins/kmip/zfs_keys.py
+141-84src/middlewared/middlewared/plugins/kmip/connection.py
+0-188src/middlewared/middlewared/plugins/kmip/update.py
+61-114src/middlewared/middlewared/plugins/kmip/sync.py
+161-5src/middlewared/middlewared/plugins/kmip/__init__.py
+778-89913 files not shown
+1,000-91819 files

LLVM/project f4c5539llvm/lib/Transforms/Vectorize VPlanTransforms.h LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize vplan-print-before-after.ll vplan-print-after.ll

[LV] Add `-vplan-print-before=<pass-regex>` (#203933)

This can be helpful for debugging and for VPlan check tests (showing
before/after a specific transform).

This also adds `-vplan-print-before-all` for parity with
`-vplan-print-after-all`.
DeltaFile
+103-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
+0-100llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
+27-14llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+34-0llvm/test/Transforms/LoopVectorize/vplan-print-before-after.ll
+0-29llvm/test/Transforms/LoopVectorize/vplan-print-after.ll
+8-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+172-1436 files

LLVM/project 5556889llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll

AMDGPU/GlobalISel: RegBankLegalize rules for mfma_scale
DeltaFile
+5,788-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
+1,911-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
+7-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+7,706-23 files

LLVM/project 22bda6cclang/lib/AST/ByteCode Pointer.h Pointer.cpp, clang/test/AST/ByteCode complex.cpp

[clang][bytecode] Add more checks around _Complex values (#204076)

Check the actual source type when converting a pointer to an rvalue. We
otherwise allow converting form a two-element primitive array.
DeltaFile
+7-0clang/test/AST/ByteCode/complex.cpp
+5-1clang/lib/AST/ByteCode/Pointer.h
+1-1clang/lib/AST/ByteCode/Pointer.cpp
+13-23 files

FreeBSD/ports a68d09fdeskutils/gitte distinfo Makefile.crates

deskutils/gitte: Update to 0.7.1

Sponsored by:   SkunkWerks, GmbH
DeltaFile
+51-51deskutils/gitte/distinfo
+24-24deskutils/gitte/Makefile.crates
+1-1deskutils/gitte/Makefile
+76-763 files

LLVM/project 98bd015llvm/lib/Transforms/Vectorize VPlanUtils.cpp VPlanPatternMatch.h, llvm/test/Transforms/LoopVectorize/RISCV strided-accesses.ll

[VPlan] Recognize lshr in getSCEVExprForVPValue. (#203496)

When lshr v, const occurs and const is less than the type's bitwidth, it
can be treated as udiv v, (1 << const). This enables vectorizer to
convert more gathers into strided loads.

Pre-commit test #203488
DeltaFile
+10-6llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
+7-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+6-0llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
+23-63 files

LLVM/project 196912cllvm/lib/Target/SPIRV SPIRVModuleAnalysis.cpp

[SPIR-V] Remove duplicate collectReqs call in runOnModule (NFC) (#203947)
DeltaFile
+0-1llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+0-11 files

LLVM/project 6409cedllvm/lib/Target/SPIRV SPIRVInstructionSelector.cpp

[SPIR-V] Constrain OpExtInst on the modf integral part path (#203946)
DeltaFile
+0-1llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+0-11 files

LLVM/project 9ed8b1dmlir/include/mlir/Dialect/Tensor/Transforms Passes.td Passes.h, mlir/lib/Dialect/Tensor/Transforms ScalarizeFunctionResult.cpp CMakeLists.txt

[MLGO][EmitC] Scalarize single-element tensor returns (#199686)

Add an EmitC-owned preparation pass,
`mlgo-scalarize-single-element-tensor-return`, that rewrites private
functions returning a statically-shaped ranked tensor with exactly one
element into functions returning the element type directly.

Assisted-by: Codex (refine implementation + tests). I reviewed all code
and tests before submission.

## Example

Before:
```mlir
func.func private @rank1(%arg0: tensor<1xi64>) -> tensor<1xi64> {
  return %arg0 : tensor<1xi64>
}
```


    [44 lines not shown]
DeltaFile
+318-0mlir/lib/Dialect/Tensor/Transforms/ScalarizeFunctionResult.cpp
+294-0mlir/test/Dialect/Tensor/scalarize-single-elem-return.mlir
+14-0mlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
+2-1mlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
+2-0mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
+630-15 files

LLVM/project e559d43mlir/include/mlir/Dialect/LLVMIR LLVMTypes.td, mlir/lib/Dialect/LLVMIR/IR LLVMTypes.cpp LLVMDialect.cpp

[mlir][LLVM] Add the `byte` type to the LLVM dialect (#203795)

This PR ports the newly added `byte` type from LLVM IR to mlir's LLVM
dialect. The simplest motivation for the byte type is being able to
implement `memcpy` in LLVM IR. This was previously not possible: Due to
rules around conversions between integers and pointers (which e.g.
implicitly happen during loads), partial-poisons and pointer provenance
were not preserved. No alterantive types to integers existed that one
could use to have poison and provenance preserving SSA-values. The byte
type solves exactly this issue. Frontends are encouraged to use it when
needed for better optimization capabilities.

Currently, the only operation that has changed semantics around `byte`
is `bitcast`. Is now allows casting between `byte` and `ptr` (unlike
integers and pointers).

Corresponding LLVM commit:
https://github.com/llvm/llvm-project/commit/80f2ef70f592


    [4 lines not shown]
DeltaFile
+57-0mlir/test/Dialect/LLVMIR/layout.mlir
+36-1mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
+26-0mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
+16-0mlir/test/Dialect/LLVMIR/types-invalid.mlir
+10-4mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+14-0mlir/test/Dialect/LLVMIR/roundtrip.mlir
+159-56 files not shown
+205-1212 files

LLVM/project a9576f5llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll

AMDGPU/GlobalISel: RegBankLegalize rules for pk_f64 fadd, fmul and fma (#203559)
DeltaFile
+323-38llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+6-2llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+329-402 files

FreeNAS/freenas 96ea2e1src/middlewared/middlewared/etc_files/proftpd proftpd.conf.mako, src/middlewared/middlewared/plugins ftp.py

NAS-141401 / 27.0.0-BETA.1 / Convert FTP plugin to typesafe pattern (#19139)

## Context
The `ftp` plugin was still dict-based: a `SystemServiceService` with a
string `datastore_extend`, a `do_update` returning a plain dict, and
consumers/mako templates reading config via `cfg['key']`. This moves it
to the typesafe pattern (lean service class delegating to a
`SystemServicePart`, `generic = True`, typed `config()`/`do_update`,
`check_annotations=True`, `call2`), matching the converted `ups` plugin.

## Solution
- **New `plugins/ftp/` package** replacing `plugins/ftp.py` and
`plugins/ftp_/`: `__init__.py` holds the lean `FTPService` (registered
in `main.py`'s `ServiceContainer`), `config.py` holds `FTPModel` +
`FTPServicePart` (extend/validate/do_update), and the port/cert
attachment delegates plus the `connection_count` helper move in
alongside. The old compound `ftp_/status.py` service is folded into
`connection_count` as a `@private` method.
- **API models** (`api/v27_0_0/` only): split the legacy

    [17 lines not shown]
DeltaFile
+0-203src/middlewared/middlewared/plugins/ftp.py
+121-0src/middlewared/middlewared/plugins/ftp/config.py
+35-35src/middlewared/middlewared/etc_files/proftpd/proftpd.conf.mako
+61-0src/middlewared/middlewared/plugins/ftp/__init__.py
+0-23src/middlewared/middlewared/plugins/ftp_/status.py
+22-0src/middlewared/middlewared/plugins/ftp/cert_attachment.py
+239-26114 files not shown
+309-31020 files

LLVM/project 9a7e672llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lasx vhaddw.ll vhsubw.ll

Fix DAG combine for illegal vector types
DeltaFile
+8-252llvm/test/CodeGen/LoongArch/lasx/vhaddw.ll
+8-252llvm/test/CodeGen/LoongArch/lasx/vhsubw.ll
+6-39llvm/test/CodeGen/LoongArch/lsx/vhaddw.ll
+6-39llvm/test/CodeGen/LoongArch/lsx/vhsubw.ll
+3-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+31-5825 files

LLVM/project 6d12916llvm/lib/Target/LoongArch LoongArchISelLowering.cpp LoongArchLSXInstrInfo.td

[LoongArch] Add DAG combine for horizontal widening add/sub

Add a DAG combine to recognize horizontal widening add/subtract patterns
and lower them to the corresponding LSX/LASX instructions.

The following pattern is matched for both signed and unsigned variants:

```
  ADD/SUB(SEXT/ZEXT(BUILD_VECTOR(extract_elt(vj, 1), extract_elt(vj, 3), ...)),
          SEXT/ZEXT(BUILD_VECTOR(extract_elt(vk, 0), extract_elt(vk, 2), ...)))
```

This covers the following instructions:

```
  LSX:  VHADDW.H.B,  VHADDW.W.H,  VHADDW.D.W
        VHADDW.HU.BU, VHADDW.WU.HU, VHADDW.DU.WU
        VHSUBW.H.B,  VHSUBW.W.H,  VHSUBW.D.W
        VHSUBW.HU.BU, VHSUBW.WU.HU, VHSUBW.DU.WU

    [10 lines not shown]
DeltaFile
+119-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+31-5llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
+24-4llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
+174-93 files

LLVM/project 1107363mlir/lib/Dialect/LLVMIR/IR LLVMDialect.cpp

address review comments
DeltaFile
+1-0mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+1-01 files

FreeNAS/freenas f3eafb1src/middlewared/middlewared/alembic/versions/27.0 2026-06-16_12-00_normalize_nic_mac.py, src/middlewared/middlewared/api/base/types network.py

Reject and normalize non-colon NIC MAC addresses

## Problem
A custom NIC MAC entered with dash, no-separator, or mixed separators (e.g. `10-66-6A-1F-F1-B1`) passed the permissive `mac` pattern but libvirt's `defineXML` only parses colon-separated MACs, so the container/VM saved fine and then failed to start with `XML error: unable to parse mac address`. The colon-only `MACAddr(separator=':')` guard the VM plugin used through electriceel was dropped when devices moved to the pydantic models at fangtooth, and containers (26.0+) never had it, so these values can already be sitting in `vm_device` and `container_device`.

## Solution
- Tightened the shared `MACAddress` type to colon-only with a clear message, and switched the v27 VM and Container NIC `mac` fields to use it (removing the duplicated permissive inline pattern). Frozen API versions are left as-is.
- Added a migration that normalizes existing NIC MACs in both `vm_device` and `container_device` to libvirt's canonical lowercase colon form, regenerating the rare value that isn't a real MAC. This is required because `*.device.query` re-validates rows through the model, so an un-normalized non-colon MAC would otherwise make `query` fail once the pattern is tightened. Normalization preserves the user's intended address and heals instances that were stuck failing to start.
DeltaFile
+65-0src/middlewared/middlewared/alembic/versions/27.0/2026-06-16_12-00_normalize_nic_mac.py
+56-0src/middlewared/middlewared/pytest/unit/api/base/types/test_mac_address.py
+2-2src/middlewared/middlewared/api/base/types/network.py
+2-2src/middlewared/middlewared/api/v27_0_0/container_device.py
+2-2src/middlewared/middlewared/api/v27_0_0/vm_device.py
+127-65 files

LLVM/project 74067cbllvm/test/CodeGen/LoongArch/lasx vhaddw.ll vhsubw.ll, llvm/test/CodeGen/LoongArch/lsx vhaddw.ll vhsubw.ll

Add test case for illegal types
DeltaFile
+338-150llvm/test/CodeGen/LoongArch/lasx/vhaddw.ll
+338-150llvm/test/CodeGen/LoongArch/lasx/vhsubw.ll
+139-66llvm/test/CodeGen/LoongArch/lsx/vhaddw.ll
+139-66llvm/test/CodeGen/LoongArch/lsx/vhsubw.ll
+954-4324 files

LLVM/project 44bfd7dllvm/test/tools/llubi assume_pow2_align_offset.ll assume_non_pow2_align_offset.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Update the implementation of assume align operand bundle (#203775)

This PR updates the implementation for the `"align"(ptr %p, i64 %align,
i64 %offset)` operand bundle of `@llvm.assume`: The old implementation
reduced align/offset to the largest shared power of two. But LangRef
requires checking %alloc - %offset in this case.
DeltaFile
+20-0llvm/test/tools/llubi/assume_pow2_align_offset.ll
+20-0llvm/test/tools/llubi/assume_non_pow2_align_offset.ll
+6-10llvm/tools/llubi/lib/Interpreter.cpp
+2-2llvm/test/tools/llubi/assume_operand_bundles.ll
+48-124 files

LLVM/project bd9b252clang/lib/AST/ByteCode EvaluationResult.cpp, clang/test/AST/ByteCode new-delete.cpp

[clang][bytecode] Check record bases for dynamic allocations (#204063)

This was missing.
DeltaFile
+14-1clang/test/AST/ByteCode/new-delete.cpp
+7-0clang/lib/AST/ByteCode/EvaluationResult.cpp
+21-12 files

OPNSense/tools ae859efbuild plugins.sh

build/plugins: handle vendor plugins due to PLUGIN_ABI ambiguity

They use the ABI in the package repository configuration and thus
they need to be rebuilt for business versions.
DeltaFile
+12-2build/plugins.sh
+12-21 files

LLVM/project 7f35a2amlir/include/mlir/Dialect/EmitC/IR EmitC.td, mlir/lib/Dialect/EmitC/IR EmitC.cpp

[MLIR][EmitC] Add optional pure attribute to CastOp (#202749)

In general, C++ cast expressions cannot always be assumed to be pure: they may
invoke user-defined conversions or be affected by floating-point environment
settings. However, in many practical cases, such as integer casts without
operator overloading, the cast is pure and can be treated as speculatable and
side-effect-free. For such cases, the newly added `pure` attribute may be used.

When `pure` attribute is set, `getSpeculatability()` returns `Speculatable` and
`getEffects()` reports no effects. It is UB if the `pure` attribute is set and
the actual conversion is not pure, e.g. when the user-defined conversion has
memory effects.
DeltaFile
+23-3mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
+13-0mlir/test/Dialect/EmitC/canonicalize.mlir
+13-0mlir/lib/Dialect/EmitC/IR/EmitC.cpp
+49-33 files

NetBSD/src eIyrA7xexternal/mit/expat/bin/xmlwf xmlwf.1 xmlwf.1

   Pull up the following, requested by jdc in ticket #311:

        external/mit/expat/bin/xmlwf/xmlwf.1            1.1

   Add xmlwf man page (generated using docbook2x-man).
VersionDeltaFile
1.1.2.2+359-0external/mit/expat/bin/xmlwf/xmlwf.1
1.1.2.1+0-359external/mit/expat/bin/xmlwf/xmlwf.1
+359-3592 files

LLVM/project 3b46665lld/ELF ScriptParser.cpp, lld/test/ELF/linkerscript overlay-symbols.test

[LLD] Allow all output-section-commands in OVERLAYS. (#203524)

The GNU ld grammar for overlays is:
  secname1
    {
      output-section-command
      output-section-command
      ...
    }
  secname2
  ...

The output-section-commands are the same as in an OutputSection. At
present we have a stripped down parser that only supports
InputSectionDescriptions, this does not permit other useful commands
such as defining symbols.

Due to recent refactoring it is now simple to reuse the parser for an
Output Section command rather than using a custom one.

    [5 lines not shown]
DeltaFile
+49-0lld/test/ELF/linkerscript/overlay-symbols.test
+1-1lld/ELF/ScriptParser.cpp
+50-12 files

NetBSD/src CEh2BY9external/mit/expat/dist/doc reference.html xmlwf.xml, external/mit/expat/dist/gennmtab gennmtab.c gennmtab.c

   Pull up the following revisions, requested by jdc in ticket #311:

        external/mit/expat/dist/lib/libexpat.map.in     up to 1.1.1.1
        external/mit/expat/dist/lib/random_arc4random.c up to 1.1.1.1
        external/mit/expat/dist/lib/random_arc4random.h up to 1.1.1.1
        external/mit/expat/dist/lib/random_arc4random_buf.c up to 1.1.1.1
        external/mit/expat/dist/lib/random_arc4random_buf.h up to 1.1.1.1
        external/mit/expat/dist/lib/random_dev_urandom.c up to 1.1.1.1
        external/mit/expat/dist/lib/random_dev_urandom.h up to 1.1.1.1
        external/mit/expat/dist/lib/random_getentropy.c up to 1.1.1.1
        external/mit/expat/dist/lib/random_getentropy.h up to 1.1.1.1
        external/mit/expat/dist/lib/random_getrandom.c  up to 1.1.1.1
        external/mit/expat/dist/lib/random_getrandom.h  up to 1.1.1.1
        external/mit/expat/dist/lib/random_rand_s.c     up to 1.1.1.1
        external/mit/expat/dist/lib/random_rand_s.h     up to 1.1.1.1
        external/mit/expat/dist/coverage.sh             up to 1.1.1.1
        external/mit/expat/dist/cmake/autotools/expat__linux.cmake.in up to 1.1.1.1
        external/mit/expat/dist/cmake/autotools/expat__macos.cmake.in up to 1.1.1.1
        external/mit/expat/dist/cmake/autotools/expat__windows.cmake.in up to 1.1.1.1

    [100 lines not shown]
VersionDeltaFile
1.1.1.8.2.1+3,052-1,934external/mit/expat/dist/doc/reference.html
1.11.2.1+749-381external/mit/expat/dist/lib/xmlparse.c
1.1.1.5.2.1+259-245external/mit/expat/dist/doc/xmlwf.xml
1.1.1.1.2.2+453-0external/mit/expat/dist/gennmtab/gennmtab.c
1.1.1.1.2.1+0-453external/mit/expat/dist/gennmtab/gennmtab.c
1.1.1.1.2.1+397-21external/mit/expat/dist/tests/basic_tests.c
+4,910-3,034133 files not shown
+9,085-6,071139 files

OpenBSD/src lZ6G99Uregress/usr.bin/ssh/unittests/crypto tests.c

   Include stdlib.h for malloc/free and sort headers.
VersionDeltaFile
1.2+3-2regress/usr.bin/ssh/unittests/crypto/tests.c
+3-21 files

FreeBSD/ports dae581edeskutils/zim distinfo Makefile

deskutils/zim: update to 0.77.0

Release notes:
https://github.com/zim-desktop-wiki/zim-desktop-wiki/blob/develop/CHANGELOG.md#0770---thu-11-jun-2026
DeltaFile
+3-3deskutils/zim/distinfo
+1-2deskutils/zim/Makefile
+4-52 files

OpenBSD/ports eaCEIAHmail/stalwart distinfo crates.inc

   mail/stalwart: update to 0.16.9.

   see https://github.com/stalwartlabs/stalwart/releases/tag/v0.16.7
   and https://github.com/stalwartlabs/stalwart/releases/tag/v0.16.8
   and https://github.com/stalwartlabs/stalwart/releases/tag/v0.16.9
VersionDeltaFile
1.26+214-156mail/stalwart/distinfo
1.23+106-77mail/stalwart/crates.inc
1.33+1-3mail/stalwart/Makefile
+321-2363 files

LLVM/project 943ccc3flang/lib/Lower OpenACC.cpp, flang/test/Lower/OpenACC/Todo acc-unstructured-loop-construct.f90 acc-unstructured-combined-construct.f90

[OpenACC] Add emit-independent-loops-as-unstructured flag

Add a flag (default true) to bypass the TODOs in `loopWillBeIndependent`
that fired for unstructured do loops inside independent OpenACC loop and
combined constructs, lowering them as `acc.loop` instead. Existing TODO
tests are extended to exercise both the default (lowered) path and the
explicit `=false` path that still reports the TODO.

Co-Authored-By: Claude <noreply at anthropic.com>
DeltaFile
+32-5flang/test/Lower/OpenACC/Todo/acc-unstructured-loop-construct.f90
+23-3flang/test/Lower/OpenACC/Todo/acc-unstructured-combined-construct.f90
+11-2flang/lib/Lower/OpenACC.cpp
+66-103 files

LLVM/project ff5844cllvm/lib/Transforms/Scalar DropUnnecessaryAssumes.cpp, llvm/test/Transforms/DropUnnecessaryAssumes dereferenceable.ll

[DropUnnecessaryAssumes] Fix iterator invalidation. (#203765)

registerAssumption() below can append to (and reallocate) the cache's
assumption vector. Use integer index for indexing instead of using the
iterator. Stop at the original count, so we don't reprocess assumes
created during the loop.

PR: https://github.com/llvm/llvm-project/pull/203765
DeltaFile
+64-0llvm/test/Transforms/DropUnnecessaryAssumes/dereferenceable.ll
+8-1llvm/lib/Transforms/Scalar/DropUnnecessaryAssumes.cpp
+72-12 files

LLVM/project 3503a1cclang/lib/AST/ByteCode Pointer.cpp, clang/test/AST/ByteCode cxx11.cpp

[clang][bytecode] Not all bases compare equal (#204052)

Add the base class offset so they don't all compare equal.
DeltaFile
+2-2clang/test/AST/ByteCode/cxx11.cpp
+1-2clang/lib/AST/ByteCode/Pointer.cpp
+3-42 files