This release is about building solid foundations by moving a lot of functionality into Plugins and keeping the core app clean. The app will thus be easier to maintain, and the core app functionality is easier to understand, debug, and extend. I also leveled up the Plugin capabilities to cover even more use cases. @cvc90 was making huge contributions to this release. ๐ His contributions include more UI capabilities a lot of Spanish translations and more.
Please be patient, this has been an enormous release and there will be bugs ๐ I also have a LOT going on in my work and life so any ever-so-small recurring sponsorship makes the effort I put into this app easier to justify (e.g. waking up 2h earlier for work just so I contribute to the app a bit) - I'm super grateful for any contribution โค
Screenshots
๐ - New features | ๐ - Fixer & Improvements | โ Possibly breaking changes |
---|
๐ Breaking changes
Sometimes I have to introduce breaking changes - it breaks my heart, but we must move forward
Removed setting: DHCP_ACTIVE
- Functionality replaced by the
DHCPLSS
plugin:DHCPLSS_RUN
: You need to map:/etc/pihole/dhcp.leases
in thedocker-compose.yml
file if you enable this setting. This has to be matched with a correspondingDHCPLSS_paths_to_check
setting entry (the path in the container must containpihole
).
Removed setting:SCAN_CYCLE_MINUTES
- Replaced by corresponding plugin scan intervals. E.g.
PIHOLE_RUN_SCHD
orDHCPLSS_RUN_SCHD
๐Docs updates
- Explanation on how the Setting system works (๐)
- Huge improvement on the Reverse proxy configuration including NGINX, APACHE by @cvc90 ๐ (๐)
- Additions to the Plugins docs about
before_config_save
run option, SQLite database plugins,CurrentScan
behavior (๐) - Plugin translations + some doc translation into Spanish by @cvc90 ๐ (๐)
- Frontend development guidelines and tips (๐)
โSettings
I removed some hard-coded settings and moved them into plugins. Thus some settings were obsolete or replaced by plugin settings.
- Removed settings:
SCAN_CYCLE_MINUTES
,ENABLE_PLUGINS
,PHOLUS_FORCE
,PHOLUS_ACTIVE
,DHCP_ACTIVE
,PIHOLE_ACTIVE
,ENABLE_ARPSCAN
๐๐Plugins
- New Spanish plugin translations by @cvc90 ๐
- Added plugins:
SETPWD
for setting the UI password via the UI (๐)PIHOLE
replacing the built-in PiHole database mapping (๐, ๐)ARPSCAN
replacing the built-in Arp-Scan (๐, ๐)PHOLUS
replacing the built-in Pholus-Scan name discovery functionality (๐, ๐)NMAP
replacing the built-in Nmap functionality (๐, ๐)UNFIMP
Unifi plugin improvements by @andreasbrett and @tuhriel ๐ (๐, ๐)CSVBCKP
CSV backup script for scheduling regular exports that can be imported via the Maintenance section. (๐)
๐ผ UI
- Network view UI fixes (double digit port number, click node to select) #298 (๐)
- Day filter and hover-over message moved to the bottom courtesy of @leiweibau ๐ #294 (๐, ๐)
- Version display in footer and email (๐๐) by @cvc90
- System info section (๐) by @cvc90 and based on work by @leiweibau
- Reports section (๐) by @cvc90
- Removal of Pholus and Nmap tabs as moved into Plugins
- More network tools on specific devices in the Tools tab (๐) by @cvc90
๐ Core app updates
Internal changes significant to developers ๐ฉโ๐ป๐จโ๐ป
- Settings now store also metadata in a separate
__metadata
config entry. It will be used to add more capabilities to settings. - Most of the settings page rewritten to JavaScript for easier debugging & development
- String files rewritten from PHP to JSON
- PiHole import removed from the core app
- Arp-scan removed from the core app
- Pholus-scan removed from the core app (table still present - flagged for future removal)
- Mapping a plugin to the
CurrentScan
table manages online status of devices and updates scan results accordingly - Plugins support querying data from external SQLite databases (added to the docs)
- Plugins now support to be executed on
before_config_save
of thepialert.conf
file that allows to modify the file with Plugins (used in the newSETPWD
plugin) (added to the docs) - Plugins now allow for default value for a column mapping via the
"mapped_to_column_data": { "value": "my_value" }
property (added to the docs) - UI resolvers for values shown in Plugin tables now support chaining. You can chain multiple resolvers with
.
. For exampleregex.url_http_https
. This will apply theregex
resolver and then theurl_http_https
resolver. (added to the docs) - De-duplication is run once an hour on the
Plugins_Objects
database table and duplicate entries with the same value in columnsObject_PrimaryID
,Object_SecondaryID
,Plugin
(auto-filled based onunique_prefix
of the plugin),UserData
(can be populated with the"type": "textboxsave"
column type) are removed. (this is a workaround for the duplicate entries bug that is probably caused by a race condition somewhere in the code) - Removal of now unnecessary database tables:
DHCP_Leases
,PiHole_Network
,ScanCycles
(โ )
New Contributors
- @cvc90 made their first contribution in #306
- @dlgreenwald made their first contribution in #312
- @Steve-Tech made their first contribution in #351
- @andreasbrett made their first contribution in #400
- @tuhriel made their first contribution in #401
Full Changelog: v23.7.22...v23.9.10