OPNSense/core 6d75901src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes IStructuredInput.php

Missed adding a namespace and php tag to IStructuredInput
DeltaFile
+4-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/IStructuredInput.php
+4-01 files

OPNSense/core ecc2371. plist

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

OPNSense/core e40b531src/opnsense/mvc/app/controllers/OPNsense/Base ApiMutableModelControllerBase.php

Add use statement for JsonAuditField inside ApiMutableModelControllerBase
DeltaFile
+2-1src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php
+2-11 files

OPNSense/core d6e7972src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes JsonAuditField.php BaseField.php

Implement an IStructuredInput interface as structured input marker and add it to BaseField and JsonAuditField
DeltaFile
+38-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/IStructuredInput.php
+6-11src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+1-9src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/JsonAuditField.php
+45-203 files

OPNSense/core 3ffdf5csrc/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogAssignment.xml, src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php NetworkInterface.xml

Interfaces: Assignments - add interface configuration settings in new assignments page. for https://github.com/opnsense/core/issues/10568

Refactor NetworkInterface model to reuse existing property names as much as possible, move from/to legacy logic into a custom fieldtype and store all legacy settings in a container named "pending" to ease reconfiguration and updating legacy configurations.

Skip wireless and other advanced settings for now, only implement a minimal set of validations.
DeltaFile
+418-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogAssignment.xml
+176-1src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.xml
+146-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/NetworkInterfaceField.php
+104-10src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+58-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/GatewayField.php
+23-1src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+925-123 files not shown
+963-159 files

OPNSense/core 8966c55src/opnsense/mvc/app/controllers/OPNsense/Auth UserController.php, src/opnsense/mvc/app/controllers/OPNsense/Wireguard GeneralController.php

Clean QR codes (#10737)

- Update Kazuhiko Arase's QR Code generation library
- Use built-in image generation for accurate renders
- Simpler jQuery plugin
DeltaFile
+2,023-963src/opnsense/www/js/qrcode.js
+16-101src/opnsense/www/js/jquery.qrcode.js
+26-0src/opnsense/www/js/qrcode_UTF8.js
+0-20src/opnsense/www/js/jquery.qrcode.js.LICENSE
+2-1src/opnsense/mvc/app/controllers/OPNsense/Wireguard/GeneralController.php
+2-1src/opnsense/mvc/app/controllers/OPNsense/Auth/UserController.php
+2,069-1,0862 files not shown
+2,072-1,0888 files

OPNSense/core ca2e9b9src/opnsense/www/js opnsense_theme.js

ui: sidebar fixes and rework

Fixes

* Upon loading, (window).height() and (window).width() are immediately checked – the same condition as in the resize handler (navHeight / 760px).
* If the viewport is too small → the sidebar is hidden, mouse events are disabled, and the toggle button is hidden.
* If the viewport is large enough → normal behavior as usual (including the localStorage preset).
* Viewport on Safari/iPad (correctly considers tab and address bars)
* iOS window.innerHeight instead of $(window).height()
* Add selectable horizontal dropdown menu themes >> #9891

Readability & Structure

* var consistently replaced with const/let
* Helpful functions like isSidebarLeft() and isSidebarHidden() extracted to avoid duplicate hasClass calls transition_duration → setTransitionDuration, mouse_events_off → offMouseEvents (clearer names)

Performance

* jQuery selectors are cached only once (e.g., toggle_btn, allLayers, aLayers, divLayers)

    [8 lines not shown]
DeltaFile
+147-152src/opnsense/www/js/opnsense_theme.js
+147-1521 files

OPNSense/core 8916ec9src/etc/inc/plugins.inc.d captiveportal.inc

captive portal: annotate this use
DeltaFile
+2-0src/etc/inc/plugins.inc.d/captiveportal.inc
+2-01 files

OPNSense/core 12d7bf1src/etc/inc/plugins.inc.d captiveportal.inc

captive portal: merge cleanups
DeltaFile
+4-6src/etc/inc/plugins.inc.d/captiveportal.inc
+4-61 files

OPNSense/core 6dfa4a9src/etc/inc/plugins.inc.d captiveportal.inc

captive portal: merge cleanups
DeltaFile
+3-6src/etc/inc/plugins.inc.d/captiveportal.inc
+3-61 files

OPNSense/core 5c128a8src/etc/inc/plugins.inc.d captiveportal.inc

captiveportal: restructure the rules generation
DeltaFile
+126-138src/etc/inc/plugins.inc.d/captiveportal.inc
+126-1381 files

OPNSense/core 376a8d7src/etc/inc/plugins.inc.d pf.inc, src/opnsense/service/conf/actions.d actions_filter.conf

firewall: adjust name for destination nat rules too
DeltaFile
+1-1src/opnsense/service/conf/actions.d/actions_filter.conf
+1-1src/etc/inc/plugins.inc.d/pf.inc
+2-22 files

OPNSense/core 5b9dff6src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml dialogOneToOneRule.xml, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes JsonAuditField.php

Add userdata container and note inside the JsonAuditField, so users can keep a small changelog if they want
DeltaFile
+24-2src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/JsonAuditField.php
+13-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+13-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogOneToOneRule.xml
+13-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogNptRule.xml
+13-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+13-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogDNatRule.xml
+89-21 files not shown
+100-37 files

OPNSense/core 6a4b8c9src/etc/inc filter.lib.inc, src/etc/inc/plugins.inc.d pf.inc openvpn.inc

firewall: also change outbound_net now that it is becoming a permanent thing
DeltaFile
+1-1src/etc/inc/plugins.inc.d/pf.inc
+1-1src/etc/inc/plugins.inc.d/openvpn.inc
+1-1src/etc/inc/plugins.inc.d/ipsec.inc
+1-1src/etc/inc/filter.lib.inc
+4-44 files

OPNSense/core ed7a00dsrc/etc/inc/plugins.inc.d pf.inc, src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php

firewall: change 'outbound_nat' to 'source_nat' for consistency
DeltaFile
+2-2src/opnsense/service/conf/actions.d/actions_filter.conf
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+1-1src/etc/inc/plugins.inc.d/pf.inc
+4-43 files

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

firewall: use the new register functions Destination/Static/Source
DeltaFile
+4-4src/etc/inc/filter.inc
+2-2src/etc/inc/plugins.inc.d/pf.inc
+1-1src/etc/inc/plugins.inc.d/captiveportal.inc
+7-73 files

OPNSense/core dce5976src/etc/inc/plugins.inc.d captiveportal.inc

captiveportal.inc rename rdr_port to localport since thats better here
DeltaFile
+3-3src/etc/inc/plugins.inc.d/captiveportal.inc
+3-31 files

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

Firewall: NAT: Destination NAT: include automatic rules in recordset pipeline
DeltaFile
+49-23src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+49-231 files

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

Ensure getDescription() is called for fields
DeltaFile
+9-3src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+9-31 files

OPNSense/core 686f1e3src/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
+79-45src/etc/inc/plugins.inc.d/captiveportal.inc
+48-24src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+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
+156-795 files

OPNSense/core bc7dad0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogAssignment.xml, src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php NetworkInterface.xml

Interfaces: Assignments - add interface configuration settings in new assignments page. for https://github.com/opnsense/core/issues/10568

Refactor NetworkInterface model to reuse existing property names as much as possible, move from/to legacy logic into a custom fieldtype and store all legacy settings in a container named "pending" to ease reconfiguration and updating legacy configurations.
DeltaFile
+404-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogAssignment.xml
+167-1src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.xml
+146-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/NetworkInterfaceField.php
+88-10src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+23-1src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+20-1src/opnsense/mvc/app/views/OPNsense/Interface/assignment.volt
+848-132 files not shown
+865-158 files

OPNSense/core e5f0151src/www fbegin.inc

menu: make legacy pages consistent for Favorites on touch devices
DeltaFile
+1-1src/www/fbegin.inc
+1-11 files

OPNSense/core dd050b6src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogAssignment.xml, src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php NetworkInterface.xml

Interfaces: Assignments - add interface configuration settings in new assignments page. for https://github.com/opnsense/core/issues/10568

Refactor NetworkInterface model to reuse existing property names as much as possible, move from/to legacy logic into a custom fieldtype and store all legacy settings in a container named "pending" to ease reconfiguration and updating legacy configurations.
DeltaFile
+367-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogAssignment.xml
+151-1src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.xml
+148-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/NetworkInterfaceField.php
+88-10src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+23-1src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+20-1src/opnsense/mvc/app/views/OPNsense/Interface/assignment.volt
+797-132 files not shown
+814-158 files

OPNSense/core 24b997esrc/opnsense/mvc/app/views/layout_partials base_form.volt

mvc: fix typo in base_form.volt advanced/help toggle ids (#10734)
DeltaFile
+2-2src/opnsense/mvc/app/views/layout_partials/base_form.volt
+2-21 files

OPNSense/core 8430c7asrc/opnsense/mvc/app/views/layout_partials base_form.volt

mvc: fix typo in advanced/help toggle ids
DeltaFile
+2-2src/opnsense/mvc/app/views/layout_partials/base_form.volt
+2-21 files

OPNSense/core 7cf8d56src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogAssignment.xml, src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php NetworkInterface.xml

Interfaces: Assignments - add interface configuration settings in new assignments page. for https://github.com/opnsense/core/issues/10568

Refactor NetworkInterface model to reuse existing property names as much as possible, move from/to legacy logic into a custom fieldtype and store all legacy settings in a container named "pending" to ease reconfiguration and updating legacy configurations.
DeltaFile
+191-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogAssignment.xml
+123-0src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/NetworkInterfaceField.php
+91-1src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.xml
+66-10src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+18-1src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+16-1src/opnsense/mvc/app/views/OPNsense/Interface/assignment.volt
+505-132 files not shown
+517-158 files

OPNSense/core 5c6f650src/opnsense/www/js opnsense_ui.js

ui: Add shortcut key f for ShowMaximized() modal
DeltaFile
+7-0src/opnsense/www/js/opnsense_ui.js
+7-01 files

OPNSense/core 0a13322src/opnsense/mvc/app/library/OPNsense/Firewall Plugin.php

firewall: deprecate old register function names due to overlaps
DeltaFile
+25-7src/opnsense/mvc/app/library/OPNsense/Firewall/Plugin.php
+25-71 files

OPNSense/core 61b93e7src/opnsense/mvc/app/library/OPNsense/Firewall Plugin.php

firewall: deprecate old register function names due to overlaps
DeltaFile
+24-6src/opnsense/mvc/app/library/OPNsense/Firewall/Plugin.php
+24-61 files

OPNSense/core 2648cccsrc/opnsense/mvc/app/library/OPNsense/Firewall Plugin.php

firewall: use outbound definition here too
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Firewall/Plugin.php
+1-11 files