OPNSense/core 5076a5dsrc/etc/inc filter.inc, src/etc/inc/plugins.inc.d pf.inc captiveportal.inc

Firewall: NAT: Destination NAT: expose automatic rules similar to Source NAT
DeltaFile
+82-45src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+79-45src/etc/inc/plugins.inc.d/captiveportal.inc
+20-0src/etc/inc/plugins.inc.d/pf.inc
+2-10src/etc/inc/filter.inc
+7-0src/opnsense/service/conf/actions.d/actions_filter.conf
+190-1005 files

OPNSense/core ae388c4src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php

Firewall: NAT: Destination NAT - Add two more volatile fields to export_ignore
DeltaFile
+2-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+2-01 files

OPNSense/core 662a2aesrc/opnsense/mvc/app/controllers/OPNsense/Base ApiMutableModelControllerBase.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php

Firewall: NAT: Destination NAT - add proper support for container items in search field selection, export and import data, implement this in DNAT ui. closes https://github.com/opnsense/core/issues/10691
DeltaFile
+15-7src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ArrayField.php
+15-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+9-5src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php
+39-143 files

OPNSense/core 3beb4a1src/opnsense/www/css opnsense-bootgrid-layout.css

Center the modal better
DeltaFile
+1-1src/opnsense/www/css/opnsense-bootgrid-layout.css
+1-11 files

OPNSense/core a042370src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ArrayField.php

mvc: ArrayField support nested fields in record sets

Flatten nested container fields for export and resolve them again on import, limited to the same one-level nesting supported by ArrayField::add().
DeltaFile
+16-3src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ArrayField.php
+16-31 files

OPNSense/core bd1532csrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php

Firewall: NAT: Destination NAT: include nested destination NAT fields in search
DeltaFile
+11-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+11-11 files

OPNSense/core e39ffc3src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php

Firewall: NAT: Destination NAT: include nested destination NAT fields in search
DeltaFile
+12-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+12-11 files

OPNSense/core ae0088bsrc/opnsense/www/js opnsense_favorites.js

Update opnsense_favorites.js (#10695)
DeltaFile
+1-0src/opnsense/www/js/opnsense_favorites.js
+1-01 files

OPNSense/core 3f5c952src/www interfaces.php

Interfaces: wireless - use `_wlan` device suffix to detect a wireless interface instead of assuming a wireless config section has been created. closes https://github.com/opnsense/core/issues/10681

missed a couple of spots in previous it seems.
DeltaFile
+4-4src/www/interfaces.php
+4-41 files

OPNSense/core 32c92a6src/opnsense/scripts/netflow/lib/aggregates __init__.py

Reporting: NetFlow - fix previous "TypeError: can't compare offset-naive and offset-aware datetimes". for https://github.com/opnsense/core/issues/10689
DeltaFile
+3-2src/opnsense/scripts/netflow/lib/aggregates/__init__.py
+3-21 files

OPNSense/core 822a243src/opnsense/scripts/netflow/lib flowparser.py, src/opnsense/scripts/netflow/lib/aggregates __init__.py

Reporting: NetFlow - safeguard flow_end in parser to protect for situations where flow_finish > sys_uptime_ms in which case flow_end can reflect a negative value and use utc timestamps for cleanup procedure. closes https://github.com/opnsense/core/issues/10689
DeltaFile
+2-2src/opnsense/scripts/netflow/lib/aggregates/__init__.py
+2-0src/opnsense/scripts/netflow/lib/flowparser.py
+4-22 files

OPNSense/core 86f84b8src/opnsense/scripts/interfaces apply_pending_if_changes.php, src/www interfaces.php

Interfaces: wireless - use `_wlan` device suffix to detect a wireless interface instead of assuming a wireless config section has been created. closes https://github.com/opnsense/core/issues/10681
DeltaFile
+0-3src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+1-1src/www/interfaces.php
+1-42 files

OPNSense/core 99aa4bfsrc/opnsense/scripts/kea kea_prefix_watcher.py

Services: Kea DHCPv6: improve kea_prefix_watcher.py accuracy via both interface and mac address key(#10685)

Resolve the lease subnet-id to its configured interface and key Hostwatch or
NDP lookups by interface and MAC.

Hostwatch or NDP may report the same MAC on multiple interfaces, for example
on a bridge and its member. Previously the last matching MAC entry could
select the wrong interface and cause route installation to fail.

The link-local address and scope still come from Hostwatch or NDP. Multiple
LLAs for the same interface/MAC remain last-match-wins, as any observed LLA for
an interface/MAC key should be an eligible next hop target.
DeltaFile
+19-8src/opnsense/scripts/kea/kea_prefix_watcher.py
+19-81 files

OPNSense/core a8debefsrc/opnsense/scripts/kea kea_prefix_watcher.py

Improve the syslog warning a bit
DeltaFile
+1-1src/opnsense/scripts/kea/kea_prefix_watcher.py
+1-11 files

OPNSense/core 5fe16adsrc/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api OverviewController.php, src/opnsense/mvc/app/views/OPNsense/Interface overview.volt

Interfaces: Overview: Add separate link types for IPv4 and IPv6 (#10676)
DeltaFile
+6-8src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/OverviewController.php
+4-3src/opnsense/mvc/app/views/OPNsense/Interface/overview.volt
+10-112 files

OPNSense/core 613374csrc/opnsense/scripts/kea kea_prefix_watcher.py

Services: Kea DHCPv6: improve kea_prefix_watcher.py accuracy by keying by both interface and mac address when querying hostwatch database
DeltaFile
+19-8src/opnsense/scripts/kea/kea_prefix_watcher.py
+19-81 files

OPNSense/core 4527d64src/opnsense/service/modules template.py

configd: sanitize template filename replacements
DeltaFile
+3-3src/opnsense/service/modules/template.py
+3-31 files

OPNSense/core 4720546src/etc/inc/plugins.inc.d dhcrelay.inc, src/opnsense/mvc/app/controllers/OPNsense/DHCRelay/Api SettingsController.php

Add options to dhcrelay for circuit_id and remote_id (#10563)

* Add options to dhcrelay for circuit_id and remote_id

* Make circuit_id and remote_id text fields. Don't apply circuit_id on dhcrelay6

* Refactor to use isEmpty instead of empty(getValue) in dhcrelay. Change fields to StrictTextField
DeltaFile
+12-0src/opnsense/mvc/app/controllers/OPNsense/DHCRelay/forms/dialogRelay.xml
+10-0src/etc/inc/plugins.inc.d/dhcrelay.inc
+1-1src/opnsense/mvc/app/controllers/OPNsense/DHCRelay/Api/SettingsController.php
+2-0src/opnsense/mvc/app/models/OPNsense/DHCRelay/DHCRelay.xml
+25-14 files

OPNSense/core 769fc48src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api OverviewController.php, src/opnsense/mvc/app/views/OPNsense/Interface overview.volt

Interfaces: Overview: Add separate link types for IPv4 and IPv6
DeltaFile
+6-8src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/OverviewController.php
+4-3src/opnsense/mvc/app/views/OPNsense/Interface/overview.volt
+10-112 files

OPNSense/core c8bd84csrc/opnsense/mvc/app/views/layout_partials base_bootgrid_table.volt, src/opnsense/mvc/app/views/layouts default.volt

ui: tabulator: Add _showMaximized() modal, minor improvements

move html generation to javascript library, align model a bit differently and always stretch to page height to remove distractions while reading.
includes some smaller fixes for missing tooltips and "hanging" tooltips as well.
DeltaFile
+38-16src/opnsense/www/js/opnsense_bootgrid.js
+0-16src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt
+3-1src/opnsense/mvc/app/views/layouts/default.volt
+2-1src/opnsense/www/css/opnsense-bootgrid-layout.css
+43-344 files

OPNSense/core 704351esrc/opnsense/mvc/app/controllers/OPNsense/Kea/Api Dhcpv6Controller.php Dhcpv4Controller.php, src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml

Services: Kea DHCPv4/6: Store subnet IDs inside the model so they cannot shift during config generation (#10664)
DeltaFile
+12-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+12-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+12-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv6Controller.php
+12-1src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php
+10-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+10-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+68-42 files not shown
+70-88 files

OPNSense/core de14b37src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php

Firewall: NAT: Source NAT: scope get action to general settings (#10674)
DeltaFile
+1-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+1-21 files

OPNSense/core 979ff9esrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php

Firewall: NAT: Source NAT: scope get action to general settings
DeltaFile
+1-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+1-21 files

OPNSense/core 1cf8eb6. plist

make plist-fix
DeltaFile
+1-0plist
+1-01 files

OPNSense/core 4460674src/opnsense/mvc/app/views/layouts default.volt, src/opnsense/www/themes/opnsense-auto/build/js theme.js

theme: opnsense-auto - prevent "blinking" by hiding the contents while loading. closes https://github.com/opnsense/core/pull/10377

Move theme.js slightly up in the loading order, although technically, the visibility:hidden should do the trick anyway when still rendering <head/>
DeltaFile
+4-3src/www/head.inc
+7-0src/opnsense/www/themes/opnsense-auto/build/js/theme.js
+3-3src/opnsense/mvc/app/views/layouts/default.volt
+14-63 files

OPNSense/core e1e4258src/opnsense/www/themes/opnsense/build/css tokenize2.css

themes: opnsense-auto - add tokenize2.css in standard theme to ensure selection in automatic theme. closes https://github.com/opnsense/core/issues/10545

If a themed file is not available in the standard theme, the dark one won't be able to replace it.
DeltaFile
+167-0src/opnsense/www/themes/opnsense/build/css/tokenize2.css
+167-01 files

OPNSense/core 59cc79esrc/opnsense/mvc/app/controllers/OPNsense/Core/Api MenuController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml

Merge remote-tracking branch 'origin/master' into tabulator-max-grid-poc
DeltaFile
+152-0src/opnsense/www/js/opnsense_favorites.js
+51-0src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.php
+45-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/MenuController.php
+26-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+26-0src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php
+25-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+325-128 files not shown
+463-3634 files

OPNSense/core 0073838src/opnsense/mvc/app/controllers/OPNsense/Base ControllerBase.php, src/opnsense/mvc/app/controllers/OPNsense/Core/Api MenuController.php

menu: add Favorites section (#10665)

* menu: add Favorites section

Use MenuContainer for menu injection, linkclass for click delegation, and JS wrapper for breadcrumb labelling

* menu: add Favorites section - minor cleanups for https://github.com/opnsense/core/pull/10033

* menu: add Favorites section - fix const $before --> let $before

* menu: add Favorites section - fix some const's in javascript

* menu: add Favorites section - minor cleanups

---------

Co-authored-by: Greelan <53196309+Greelan at users.noreply.github.com>
DeltaFile
+152-0src/opnsense/www/js/opnsense_favorites.js
+51-0src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.php
+45-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/MenuController.php
+26-0src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php
+22-0src/opnsense/www/css/opnsense-favorites.css
+11-1src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php
+307-27 files not shown
+336-813 files

OPNSense/core 9301a16src/opnsense/www/js opnsense_favorites.js, src/www fbegin.inc

menu: add Favorites section - minor cleanups
DeltaFile
+1-1src/www/fbegin.inc
+1-1src/opnsense/www/js/opnsense_favorites.js
+2-22 files

OPNSense/core 9666eccsrc/opnsense/www/js opnsense_favorites.js

menu: add Favorites section - fix some const's in javascript
DeltaFile
+2-2src/opnsense/www/js/opnsense_favorites.js
+2-21 files