FreeNAS/freenas 6ae1126src/middlewared/middlewared/plugins/container container.py

Add sleep
DeltaFile
+2-0src/middlewared/middlewared/plugins/container/container.py
+2-01 files

FreeNAS/freenas b7ce46bsrc/middlewared/middlewared/plugins/container container.py

Fix
DeltaFile
+3-0src/middlewared/middlewared/plugins/container/container.py
+3-01 files

FreeNAS/freenas 2bf9011src/middlewared/middlewared/plugins/container container.py

Fix
DeltaFile
+2-0src/middlewared/middlewared/plugins/container/container.py
+2-01 files

FreeNAS/freenas b070793src/middlewared/middlewared/plugins/container container.py

Add some auditing
DeltaFile
+4-3src/middlewared/middlewared/plugins/container/container.py
+4-31 files

FreeNAS/freenas 53599e3src/middlewared/middlewared/plugins/truenas_connect hostname.py finalize_registration.py

start
DeltaFile
+23-1src/middlewared/middlewared/plugins/truenas_connect/hostname.py
+11-0src/middlewared/middlewared/plugins/truenas_connect/finalize_registration.py
+34-12 files

FreeNAS/freenas caa1a4asrc/middlewared/middlewared/plugins/audit utils.py audit.py, tests/api2 test_audit_basic.py

NAS-138422 / 25.10.1 / Auditing "get" optimization and test fixes (by anodos325) (#17558)

This commit allows audit.query consumers to specify `get` without
providing a `limit` and adjusts backend query-options construction so
that `git` implies `limit = 1`. We can safely do this now because all
filtering / ordering is now handled by the SQL statement we construct.

The commit also introduces some minor test fixes.

Original PR: https://github.com/truenas/middleware/pull/17550

Co-authored-by: Andrew Walker <awalker at ixsystems.com>
DeltaFile
+4-0src/middlewared/middlewared/plugins/audit/utils.py
+1-1src/middlewared/middlewared/plugins/audit/audit.py
+1-1tests/api2/test_audit_basic.py
+6-23 files

FreeNAS/freenas c8c8405src/middlewared/middlewared/plugins/audit backend.py, tests/api2 test_audit_select_as.py

NAS-138427 / 25.10.1 / auditing: maintain proper typing during json_extract (by anodos325) (#17560)

This commit ensures type consistency after audit result rows have been
shifted. This is primarily concerned with JSON data that was extracted
from keys within a nested JSON structure. For example moving
service_data["credentials"] to credentials like when we're generating
report of audited methods in ixdiagnose.

Original PR: https://github.com/truenas/middleware/pull/17555

Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
DeltaFile
+19-6src/middlewared/middlewared/plugins/audit/backend.py
+8-1tests/api2/test_audit_select_as.py
+27-72 files

FreeNAS/freenas b5f8bcdsrc/middlewared/middlewared/utils jsonpath.py

NAS-138431 / 25.10.1 / Fix up some typos in jsonpath module (by mgrimesix) (#17559)

A typo in a string and a cut-n-paste typo in an exception handler

Original PR: https://github.com/truenas/middleware/pull/17557

Co-authored-by: Mark Grimes <mark.grimes at ixsystems.com>
DeltaFile
+2-2src/middlewared/middlewared/utils/jsonpath.py
+2-21 files

FreeNAS/freenas 820e160src/middlewared/middlewared/plugins/audit backend.py, tests/api2 test_audit_select_as.py

NAS-138427 / 26.04 / auditing: maintain proper typing during json_extract (#17555)

This commit ensures type consistency after audit result rows have been
shifted. This is primarily concerned with JSON data that was extracted
from keys within a nested JSON structure. For example moving
service_data["credentials"] to credentials like when we're generating
report of audited methods in ixdiagnose.
DeltaFile
+19-6src/middlewared/middlewared/plugins/audit/backend.py
+8-1tests/api2/test_audit_select_as.py
+27-72 files

FreeNAS/freenas ec96c0ctests/api2 test_300_nfs.py test_200_ftp.py

Remove tests
DeltaFile
+0-2,101tests/api2/test_300_nfs.py
+0-1,411tests/api2/test_200_ftp.py
+0-936tests/api2/test_345_acl_nfs4.py
+0-700tests/api2/test_011_user.py
+0-495tests/api2/test_440_snmp.py
+0-487tests/api2/test_audit_websocket.py
+0-6,130237 files not shown
+0-29,375243 files

FreeNAS/freenas a40c8b7src/middlewared/middlewared/utils jsonpath.py

Fix typos.

(cherry picked from commit 6ee2a9693402ad7044e227381de545150acc99b1)
DeltaFile
+2-2src/middlewared/middlewared/utils/jsonpath.py
+2-21 files

FreeNAS/freenas c4ad262

Empty commit to create PR on github.

You should reset it
DeltaFile
+0-00 files

FreeNAS/freenas ed6add1src/middlewared/middlewared/plugins/audit utils.py audit.py, tests/api2 test_audit_system.py test_audit_basic.py

NAS-138422 / 26.04 / Auditing "get" optimization and test fixes (#17550)

This commit allows audit.query consumers to specify `get` without
providing a `limit` and adjusts backend query-options construction so
that `git` implies `limit = 1`. We can safely do this now because all
filtering / ordering is now handled by the SQL statement we construct.

The commit also introduces some minor test fixes.
DeltaFile
+5-3tests/api2/test_audit_system.py
+4-0src/middlewared/middlewared/plugins/audit/utils.py
+1-1tests/api2/test_audit_basic.py
+1-1src/middlewared/middlewared/plugins/audit/audit.py
+1-0tests/api2/test_legacy_api.py
+12-55 files

FreeNAS/freenas bfea57asrc/middlewared/middlewared/utils jsonpath.py

NAS-138431 / 26.04 / Fix up some typos in jsonpath module (#17557)

A typo in a string and a cut-n-paste typo in an exception handler
DeltaFile
+2-2src/middlewared/middlewared/utils/jsonpath.py
+2-21 files

FreeNAS/freenas 6ee2a96src/middlewared/middlewared/utils jsonpath.py

Fix typos.
DeltaFile
+2-2src/middlewared/middlewared/utils/jsonpath.py
+2-21 files

FreeNAS/freenas 991de48src/middlewared/middlewared/api/v26_04_0 webshare.py, src/middlewared/middlewared/etc_files/webshare config.json.py

WebShare service integration
DeltaFile
+173-0tests/api2/test_webshare.py
+141-0src/middlewared/middlewared/plugins/webshare/sharing.py
+94-0src/middlewared/middlewared/api/v26_04_0/webshare.py
+89-0src/middlewared/middlewared/etc_files/webshare-auth/config.json.py
+54-0src/middlewared/middlewared/plugins/webshare/config.py
+48-0src/middlewared/middlewared/etc_files/webshare/config.json.py
+599-011 files not shown
+750-317 files

FreeNAS/freenas 4b253fetests/api2 test_audit_basic.py test_audit_audit.py

NAS-138389 / 25.10.1 / Fix tests for audit backend changes (by anodos325) (#17536)

This commit fixes a variety of CI tests that are now failing because the
`limit` query-option is now mandatory for audit.query

Original PR: https://github.com/truenas/middleware/pull/17526

Co-authored-by: Andrew Walker <awalker at ixsystems.com>
DeltaFile
+5-3tests/api2/test_audit_basic.py
+3-3tests/api2/test_audit_audit.py
+2-0tests/api2/test_audit_sudo.py
+1-1tests/api2/test_420_smb.py
+11-74 files

FreeNAS/freenas 39860bbsrc/middlewared/middlewared/alembic/versions/26.04 2025-11-06_21-48-00_disk_raw_container_cleanup.py, src/middlewared/middlewared/api/v26_04_0 container_device.py

Remove DISK/RAW devices in containers for now
DeltaFile
+38-0src/middlewared/middlewared/alembic/versions/26.04/2025-11-06_21-48-00_disk_raw_container_cleanup.py
+3-20src/middlewared/middlewared/plugins/container/factory.py
+1-17src/middlewared/middlewared/plugins/container/devices.py
+4-8src/middlewared/middlewared/plugins/container/attachments.py
+2-3src/middlewared/middlewared/api/v26_04_0/container_device.py
+48-485 files

FreeNAS/freenas 9d7531dtests/api2 test_audit_basic.py test_audit_audit.py

NAS-138389 / 26.04 / Fix tests for audit backend changes (#17526)

This commit fixes a variety of CI tests that are now failing because the
`limit` query-option is now mandatory for audit.query

(cherry picked from commit e13ba694d473541312156ee527654cda96bc6c03)
DeltaFile
+5-3tests/api2/test_audit_basic.py
+3-3tests/api2/test_audit_audit.py
+2-0tests/api2/test_audit_sudo.py
+1-1tests/api2/test_420_smb.py
+11-74 files

FreeNAS/freenas eaa8ce7src/middlewared/middlewared/plugins/audit backend.py audit.py, src/middlewared/middlewared/utils jsonpath.py

NAS-138406 / 25.10.1 / Add optimized select and select as for audit db (by anodos325) (#17538)

This commit re-adds ability to SELECT AS for audit queries and ensures
that sqlalchemy is only selecting the requested columns. The same logic
is not copied to datastore plugin since we aren't handling such a large
volume of data there.

Original PR: https://github.com/truenas/middleware/pull/17535

Co-authored-by: Andrew Walker <awalker at ixsystems.com>
DeltaFile
+58-25src/middlewared/middlewared/plugins/audit/backend.py
+56-0src/middlewared/middlewared/utils/jsonpath.py
+9-15src/middlewared/middlewared/plugins/audit/audit.py
+11-0tests/api2/test_audit_select_as.py
+9-1src/middlewared/middlewared/plugins/audit/utils.py
+143-415 files

FreeNAS/freenas 3f6c385src/middlewared/middlewared/alembic/versions/26.04 2025-11-06_21-48-00_disk_raw_container_cleanup.py, src/middlewared/middlewared/api/v26_04_0 container_device.py

Remove DISK/RAW devices in containers for now
DeltaFile
+38-0src/middlewared/middlewared/alembic/versions/26.04/2025-11-06_21-48-00_disk_raw_container_cleanup.py
+3-20src/middlewared/middlewared/plugins/container/factory.py
+1-17src/middlewared/middlewared/plugins/container/devices.py
+4-7src/middlewared/middlewared/plugins/container/attachments.py
+2-3src/middlewared/middlewared/api/v26_04_0/container_device.py
+48-475 files

FreeNAS/freenas c9a3c17src/middlewared/middlewared/plugins/audit backend.py, tests/api2 test_audit_select_as.py

audit - maintain proper types during SELECT AS

This commit ensures type consistency after audit result rows have
been shifted. This is primarily concerned with JSON data that was
extracted from keys within a nested JSON structure. For example
moving service_data["credentials"] to credentials.
DeltaFile
+19-6src/middlewared/middlewared/plugins/audit/backend.py
+8-1tests/api2/test_audit_select_as.py
+27-72 files

FreeNAS/freenas df15e12src/middlewared/middlewared/plugins/directoryservices_ datastore.py

NAS-138423 / 25.10.1 / Convert a DNS Resolver error into ValidationError (by anodos325) (#17554)

This commit changes a messy looking error into something that the UI can
handle and gives the user something more to work with than a generic
explanation of lifetime timeout details.

Original PR: https://github.com/truenas/middleware/pull/17551

---------

Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
DeltaFile
+8-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+8-01 files

FreeNAS/freenas cfd4e0asrc/middlewared/middlewared/plugins/audit backend.py, tests/api2 test_audit_select_as.py

Have sqlalchemy recast extracted JSON into JSON type

This commit has sqlalchemy recast extract JSON into proper
type so that the generated response is properly typed (for
example credentials extracted are a dictionary rather than
a JSON string).
DeltaFile
+3-3src/middlewared/middlewared/plugins/audit/backend.py
+3-2tests/api2/test_audit_select_as.py
+6-52 files

FreeNAS/freenas fb8c297src/middlewared/middlewared/plugins/directoryservices_ datastore.py

Add import for dns.resolver

(cherry picked from commit 294c14e466613a1063b881158d3b637b3bce2d45)
DeltaFile
+1-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+1-01 files

FreeNAS/freenas c039e85src/middlewared/middlewared/plugins/directoryservices_ datastore.py

Convert a DNS Resolver error into ValidationError

This commit changes a messy looking error into something that the
UI can handle and gives the user something more to work with than
a generic explanation of lifetime timeout details.

(cherry picked from commit f17879f5a56c6efb508a08fed9fc34a8ba8db8e3)
DeltaFile
+6-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+6-01 files

FreeNAS/freenas 4c519adsrc/middlewared/middlewared/plugins/directoryservices_ datastore.py

Fix

(cherry picked from commit 1bc09c716396c2c83a8edadbe6d3468b937ee3b5)
DeltaFile
+1-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+1-01 files

FreeNAS/freenas a0dd15fsrc/middlewared/middlewared/plugins/directoryservices_ datastore.py

NAS-138423 / 26.04 / Convert a DNS Resolver error into ValidationError (#17551)

This commit changes a messy looking error into something that the UI can
handle and gives the user something more to work with than a generic
explanation of lifetime timeout details.
DeltaFile
+8-0src/middlewared/middlewared/plugins/directoryservices_/datastore.py
+8-01 files

FreeNAS/freenas 9ecbab9src/middlewared/middlewared/plugins rsync.py

NAS-138334 / 25.10.1 / Unbound variable causing `rsynctask.validate_rsync_task` to crash (by creatorcary) (#17553)

Original PR: https://github.com/truenas/middleware/pull/17537

Co-authored-by: Logan Cary <logan.cary at ixsystems.com>
DeltaFile
+1-1src/middlewared/middlewared/plugins/rsync.py
+1-11 files

FreeNAS/freenas d22aa2bsrc/middlewared/middlewared/plugins rsync.py

fix unbound variable

(cherry picked from commit 608f07dbedcfe43f40947f9020f3768d292d2493)
DeltaFile
+1-1src/middlewared/middlewared/plugins/rsync.py
+1-11 files