OPNSense/core a7034c0Scripts class-import.sh, src/opnsense/mvc/app/models/OPNsense/Hostdiscovery Hostwatch.xml

src: whitespace sweep
DeltaFile
+2-2src/opnsense/mvc/app/models/OPNsense/Hostdiscovery/Hostwatch.xml
+1-1Scripts/class-import.sh
+3-32 files

OPNSense/core faa7dabsrc/etc/inc util.inc, src/etc/inc/plugins.inc.d pf.inc

system: audit staticroute' config access for #10027
DeltaFile
+2-3src/etc/inc/util.inc
+1-4src/etc/inc/plugins.inc.d/pf.inc
+1-0src/opnsense/mvc/app/controllers/OPNsense/Routing/Api/SettingsController.php
+0-1src/opnsense/mvc/app/models/OPNsense/Firewall/Alias.php
+4-84 files

OPNSense/core 700d6a0src/opnsense/mvc/app/library/OPNsense/Core ConfigMaintenance.php, src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes PortFieldTest.php

src: a few more samples for import linter
DeltaFile
+0-3src/opnsense/mvc/app/library/OPNsense/Core/ConfigMaintenance.php
+1-1src/opnsense/scripts/captiveportal/process_accounting_messages.php
+0-1src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/PortFieldTest.php
+1-53 files

OPNSense/core 2c74e4eScripts class-import.sh

Scripts: tweak pattern matching related to #10052
DeltaFile
+3-9Scripts/class-import.sh
+3-91 files

OPNSense/core acab676src/opnsense/mvc/script run_validations.php

mvc: obvious linter complaint
DeltaFile
+0-2src/opnsense/mvc/script/run_validations.php
+0-21 files

OPNSense/core bbf6ee6src/www firewall_rule_lookup.php

firewall: unused vars/imports
DeltaFile
+0-4src/www/firewall_rule_lookup.php
+0-41 files

OPNSense/core e6726baMk lint.mk, Scripts class-import.sh

lint: Add linter that finds unused imports in php classes
DeltaFile
+49-0Scripts/class-import.sh
+4-1Mk/lint.mk
+53-12 files

OPNSense/core aaf9a1csrc/opnsense/mvc/app/controllers/OPNsense/IDS/Api SettingsController.php, src/opnsense/mvc/app/controllers/OPNsense/Monit/Api SettingsController.php

mvc: Remove UIModelGrid imports in IDS, Monit, Syslog SettingsController, unused
DeltaFile
+0-1src/opnsense/mvc/app/controllers/OPNsense/Syslog/Api/SettingsController.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/IDS/Api/SettingsController.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/Monit/Api/SettingsController.php
+0-33 files

OPNSense/core fd780bbsrc/etc/inc/plugins.inc.d radvd.inc

radvd: make a note for dev/debug and closes #10048

Ideally this should be refactored a bit to flush the configuration
regardless of enabled state, but the legacy code has no separate
template flush so it is tied to service (re)start and we are going
to leave it at a note.
DeltaFile
+1-0src/etc/inc/plugins.inc.d/radvd.inc
+1-01 files

OPNSense/core 79ba2dasrc/etc/inc/plugins.inc.d radvd.inc

radvd: refactor and put eligible-test back #10048

Not super happy but make $radvdifs use simpler since $manuallist now
does exclusion and we don't use the values saved in the former anyway.
DeltaFile
+10-10src/etc/inc/plugins.inc.d/radvd.inc
+10-101 files

OPNSense/core 7116a1fsrc/etc/inc/plugins.inc.d radvd.inc

radvd: split lists, easier to read and less code #10048
DeltaFile
+4-3src/etc/inc/plugins.inc.d/radvd.inc
+4-31 files

OPNSense/core 72ccc1esrc/etc/inc/plugins.inc.d radvd.inc

radvd: allow to start without primary IPv6 for #10048

Reshuffle the code a little to make it (a bit) more obvious this is
safe to assume and working confirmed by automatic mode already.

Since we have full control via MVC enable/disable this is fine now.
DeltaFile
+16-24src/etc/inc/plugins.inc.d/radvd.inc
+16-241 files

OPNSense/core 816271dsrc/opnsense/www/js opnsense_bootgrid.js

bootgrid: shorten previous

(cherry picked from commit 7a6a581209024b2b08a846c3699330a067e611f1)
DeltaFile
+2-2src/opnsense/www/js/opnsense_bootgrid.js
+2-21 files

OPNSense/core 7a6a581src/opnsense/www/js opnsense_bootgrid.js

bootgrid: shorten previous
DeltaFile
+2-2src/opnsense/www/js/opnsense_bootgrid.js
+2-21 files

OPNSense/core 6e4cbcesrc/opnsense/www/js opnsense_bootgrid.js

bootgrid: limit maintaining scroll position to inplace=true, continuation of 75e60e8

This shouldn't be the default behavior, as a "refresh" would also
maintain scrolling position.

(cherry picked from commit e67ea610853257814b6f9f543a7ed70e26d47654)
DeltaFile
+3-3src/opnsense/www/js/opnsense_bootgrid.js
+3-31 files

OPNSense/core e67ea61src/opnsense/www/js opnsense_bootgrid.js

bootgrid: limit maintaining scroll position to inplace=true, continuation of 75e60e8

This shouldn't be the default behavior, as a "refresh" would also
maintain scrolling position.
DeltaFile
+3-3src/opnsense/www/js/opnsense_bootgrid.js
+3-31 files

OPNSense/core 7c8bda9src/opnsense/scripts/wireguard wg-service-control.php

wireguard: sprint clean related to #10094
DeltaFile
+19-18src/opnsense/scripts/wireguard/wg-service-control.php
+19-181 files

OPNSense/core 78c691fsrc/opnsense/www/js opnsense_bootgrid.js

bootgrid: maintain scrolling position for both datatree and command actions. Closes https://github.com/opnsense/core/issues/9151

The usage of scrollToRow has been considered, but this contains
too much magic causing all kinds of jumps in scroll position,
causing a user to lose track of the changes they made. The only
downside to this is that when a datatree is expanded at the bottom
of a grid, the associated rows aren't immediately visible until
manually scrolled to.

(cherry picked from commit 75e60e85194e7f2bf7e20e3891743ce801e05820)
DeltaFile
+14-2src/opnsense/www/js/opnsense_bootgrid.js
+14-21 files

OPNSense/core d6f9433src/opnsense/www/js/widgets Disk.js Memory.js

dashboard:gauge improvements (#10063)

Closes: #8356

*Makes the disk widget become table/bars from grid 2 size onwards
*Adds disk free/used size on the gauge
*Removes parentheses from the memory widget

---------

Co-authored-by: Fabian Rodriguez <317514+MagicFab at users.noreply.github.com>
(cherry picked from commit 7f3bcf5b787145b7cf185854758c3cddefdf1971)
DeltaFile
+13-1src/opnsense/www/js/widgets/Disk.js
+1-1src/opnsense/www/js/widgets/Memory.js
+14-22 files

OPNSense/core 0e999ccsrc/opnsense/mvc/app/views/layout_partials base_apply_button.volt, src/opnsense/www/js opnsense_bootgrid.js

bootgrid: automatic grid height calculation (#10011)

(cherry picked from commit 40a6243a3183dbba563aa551b45f9e237f95efd1)
(cherry picked from commit 2edab3dbff3ee07a1439429b6963a71bf708687e)
(cherry picked from commit 92fa22970b40789fa7479222213cf9cfcfd744f1)
DeltaFile
+71-50src/opnsense/www/js/opnsense_bootgrid.js
+0-4src/opnsense/www/themes/opnsense-dark/build/css/main.css
+0-4src/opnsense/www/themes/opnsense/build/css/main.css
+1-1src/opnsense/mvc/app/views/layout_partials/base_apply_button.volt
+72-594 files

OPNSense/core e6f10adsrc/opnsense/www/js tabulator.min.js tabulator.min.js.map

bootgrid: upgrade Tabulator to version 6.4.0

(cherry picked from commit 5c71f09cc5947903439bd7fc3839fd8f75045ab4)
DeltaFile
+2-2src/opnsense/www/js/tabulator.min.js
+1-1src/opnsense/www/js/tabulator.min.js.map
+3-32 files

OPNSense/core 1799985src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv6.xml

Services: Kea: DHCPv4/v6: Use SetConstraint for match_data to allow 0 as valid value (#10035)

(cherry picked from commit 7933d1bc3f0d8b8d9944160e8e24529ceb111291)
(cherry picked from commit d21ce0604318db4c876453e3ac9116ee23922ccf)
DeltaFile
+3-3src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+3-3src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+6-62 files

OPNSense/core 44a7a32Scripts dashboard-acl.sh

Scripts: widgets without endpoint access exist now

(Likely the right fix: just print as informational message)

(cherry picked from commit 4d3601d5ca9bf56ac852ad6cd9e120ee6f52fbd3)
DeltaFile
+1-1Scripts/dashboard-acl.sh
+1-11 files

OPNSense/core 0ea77c6src/opnsense/mvc/app/views/layout_partials base_bootgrid_table.volt

bootgrid: set visibility hidden for base_bootgrid_table

Since the structure is used to initialize the bootgrid, we shouldn't render
the original structure possibly causing a flash of content.

(cherry picked from commit 9861da22a25bed9dedb5d577bc38d9bc7ed381a4)
DeltaFile
+1-1src/opnsense/mvc/app/views/layout_partials/base_bootgrid_table.volt
+1-11 files

OPNSense/core 3def88dsrc/opnsense/site-python duckdb_helper.py

unbound: limit duckdb to a single thread in write mode to reduce logger memory usage

After some testing, it seems the duckdb python API has a tendency to
leak (up to a cap), which seems to be mitigated when we limit to a single thread.
Further testing shows that the single logger.py process doesn't
use parallelization when appending dataframes to the db instance
and as such multiple threads are useless to begin with. The heavier
actions are the read actions, which are separate short-lived processes
and do not suffer from the same issue and likely do require duckdb
parallelism to perform properly, so apply the single thread only to
writers.

(cherry picked from commit 5e781d8321e7b10b0b627bd1e2917cd23a343830)
DeltaFile
+2-0src/opnsense/site-python/duckdb_helper.py
+2-01 files

OPNSense/core 883b1e2src/opnsense/scripts/shell firmware.sh

Fix typo in firmware: fetching changelog message (#10079)

(cherry picked from commit eb8e1ff97d1e95f52a30f094d6fb1682671948e2)
DeltaFile
+1-1src/opnsense/scripts/shell/firmware.sh
+1-11 files

OPNSense/core 40eab23src/opnsense/scripts/firmware check.sh

firmware: repeat the update after pkg reinstall

It appears that the package manager lost a number of tricks
over the years so now we add more manual labor to do what
we expect of it.

(cherry picked from commit c0d5331e1fe7d974a8a153b9d67239b4c3d251a0)
DeltaFile
+2-1src/opnsense/scripts/firmware/check.sh
+2-11 files

OPNSense/core 8e630bfsrc/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt nat_rule.volt

Firewall: Rules [new] - change category sorting using names instead of counted rules to align with interface sorting now, for https://github.com/opnsense/core/issues/9719

(cherry picked from commit 41f808613ac91125df259a2af4b1fb23f34103b5)
DeltaFile
+0-9src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+0-8src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+0-172 files

OPNSense/core 7f681cbsrc/opnsense/mvc/app/views/OPNsense/Diagnostics log.volt

system: compress height of the log viewer grid

(cherry picked from commit 2475c5389fc6838f4e5d4d2b9518b74d9836c471)
(cherry picked from commit daefb179cbab05bd80b845a54f78bced0547a30e)
DeltaFile
+9-17src/opnsense/mvc/app/views/OPNsense/Diagnostics/log.volt
+9-171 files

OPNSense/core d8e9ce7src/opnsense/mvc/app/library/OPNsense/System/Status CaptivePortalStatus.php, src/opnsense/mvc/app/views/OPNsense/CaptivePortal clients.volt

Captive portal: IPv6 support (#9745)

Co-authored-by: Alex Goodkind <alex at goodkind.io>

(cherry picked from commit 369630dbd35c0acacc7384aa997f553fdc6ca91a)
(cherry picked from commit 5b07e0917484b90d0e9411c5e2c4f8ed5a07b8c7)
(cherry picked from commit 2ac18ce7e872dcc3db86412708ec4250e47beeeb)
(cherry picked from commit cff0e8d70a9269d8815a0b3b03a4e4e74bac5408)
(cherry picked from commit 6f00e1e3250e2896b726d0cf5046fd77b71438e4)
(cherry picked from commit da2c0bdab340d7bdc536028398299b4051b1eaa9)
(cherry picked from commit e5effd403d42cdab2839eefba75ab7f8bd788a45)
DeltaFile
+385-142src/opnsense/scripts/captiveportal/lib/db.py
+55-56src/opnsense/scripts/captiveportal/lib/arp.py
+41-31src/opnsense/scripts/captiveportal/cp-background-process.py
+56-0src/opnsense/mvc/app/library/OPNsense/System/Status/CaptivePortalStatus.php
+42-8src/opnsense/mvc/app/views/OPNsense/CaptivePortal/clients.volt
+25-12src/opnsense/service/templates/OPNsense/Captiveportal/lighttpd-zone.conf
+604-24914 files not shown
+733-28220 files