Zentyal 8.1 ChangeLog

adminChangelog, Changelog, Uncategorized

antivirus

* Set version to 8.1.0
* Rename and update Apparmor local profiles
* Update ClamOnAccess parameters
* Remove initial-setup workaround
* Update clamd stub and clamonacc service
* Improve Apparmor rules for Clamd

core

* Set version to 8.1.0
* Disable submit button during AJAX form submission to prevent duplicate requests
* Add btn-save and btn-cancel icon classes to global CSS stylesheet
* Fix progress page title not rendering by assigning URL param to self->{title}
* Add #progress-report-details div to progress.mas for displaying result
tables outside toast notifications, styled with item-block class
* Update progress.js to render summary HTML in the new details div
* Disable configuration backup restore on Additional Domain Controllers (ADC)
* Add license information widget to dashboard
* Fix dashboard widget system: use data-widget attributes exclusively,
remove legacy ID parsing, auto-cleanup invalid widgets on page load,
allow special characters in widget names (underscores, dots, etc.)
* Fix undefined value errors in HostIP and Host types when comparing optional fields
* Replace deprecated given/when constructs with if/elsif in zs script
* Fix dashboard widgets with special characters in names using data attributes
* Update package dependencies
* Minor nginx.conf stub update
* Enable Apparmor
* Create repository file using deb822 style
* Add isExpired() method to check if any commercial edition is expired
* Unify expired license behavior for all commercial editions, not just trial
* Add licenseMaxUsers() method to retrieve user limit from license
* Update cron script to stop services for any expired edition
* Add MySQL apparmor profile

dhcp

* Set version to 8.1.0
* Update processLine method for Log integration
* Update dhcpd apparmor profile

dns

* Set version to 8.1.0
* Remove MySQL apparmor profile as it is now managed in the Core
* Update named apparmor profile
* Update usedFiles method

docker

* Set version to 8.1.0
* Update usedFiles method

ebackup

* Set version to 8.1.0
* Add actions and usedFiles method
* Update path-to-restore option as it changed in 2.0.0

ips

* Set version to 8.1.0
* Add dependency
* Add suricata-update command to the initial-setup and enable-module scripts
* Add a cronjob to update rules daily
* Update suricata stub

ipsec

* Set version to 8.1.0
* Prevent removal of interfaces with associated L2TP/IPsec connections

jabber

* Set version to 8.1.0
* Minor stub update
* Remove workaround for ejabberd with Systemd

mail

* Set version to 8.1.0
* Apply fetchmail configuration immediately on external account add/edit/delete
instead of waiting for the 10-minute cron job
* Add loading indicator and disable action buttons during external account deletion
* Fix fetchmail-update script using old service name zentyal.fetchmail instead of fetchmail
* Fix duplicate row in external accounts table after modifying an account
* Fix protocol selector default value not being set in external accounts forms
* Fix undefined variable in AddExternalAccount error message
* Fix external accounts edit form button styling and hide Add New button during edit
* Add edit functionality for mail aliases with new ModifyAlias CGI
* Modernize alias delete buttons and add edit/cancel buttons with proper icons
* Disable row edit buttons while editing an alias or external account
* Fix fetchmail service management: use User= directive instead of su to prevent orphan processes, add daemon-reload after regenerating the unit file, and clean up orphan processes on stop
* Rename zentyal.fetchmail.service to fetchmail.service for consistency with other module daemons (dovecot, postfix), including migration to unmask and remove the old service
* Improve mail account settings layout in user edit view: separate account, aliases, and external accounts into distinct visual sections
* Fix fetchmail service integration with systemd:
- Added proper systemd unit configuration (Type, After, WantedBy, RestartSec)
- Service lifecycle (enable/disable/start/stop) handled by EBox::Service framework
- Allow nosslcertck option to be configured before enabling the module
* Add option to disable SSL certificate verification in fetchmail service
* Update _getDate method for Log integration
* Refactor expiration period feature for mails
* Remove deprecated method _setArchivemailConf
* Rename fetchmail cronjob
* Remove an unnecessary expunge option

mailfilter

* Set version to 8.1.0
* Update addgroup command for usermod in enable-module script for Mailfilter
* Update _getDate method for Log integration
* Update stub for ClamAV integration

network

* Set version to 8.1.0
* Add dependency checks in removeVlan for bridge/bond interfaces on top of VLANs
* Block VLAN deletion when associated bridge/bond has gateways or static routes
* Clean up bridge/bond configuration automatically when removing a VLAN
* Add cleanup methods to prevent orphaned data in Redis after deletions
* Add _removeOrphanedStaticRoutes to remove orphaned route keys from conf and ro
* Add _removeEmptyVlans to clean up empty VLAN entries in Redis after deletion
* Add _removeEmptyBonds to clean up empty bond entries in conf and state
* Add _removeEmptyBridges to clean up empty bridge entries in conf and state
* Fix _removeIface to clean up state entries when deleting interfaces
* Simplify removeVlan to rely on _removeIface for cleanup
* Add validation in removeVlan to check for associated gateways and static routes
* Add validation to prevent duplicate service names in ServiceTable
* Fix bridge/bond cleanup: prevent empty hash entries in Redis after deletion
* Fix exception visibility: change DataInUse to External for non-recoverable errors
* Add early validation for bridge/bond dependencies (gateways and static routes)
* Fix StaticRoute interface selector to exclude bridged/bundled interfaces and show aliases
* Fix routesByIface() to compare interface system names instead of aliases
* Fix static routes not being written to netplan configuration for bridges and bonds
* Fix uninitialized value warnings in ifaces.mas template for bridge and bond fields
* Fix "Exiting eval" warnings in _routersReachableIfChange exception handling
* Refactor BridgedCleanUp/BundledCleanUp to delete entries directly when no interfaces remain
* Add defensive cleanup in _saveConfig and _enforceServiceState to prevent hash auto-vivification
* Simplify _removeEmptyBridges and _removeEmptyBonds to only remove empty entries
* Fix restoreConfig to skip empty interfaces when marking as changed
* Prevent removal of bridge/bond interfaces with associated gateways or static routes
* Add apparmor local profile
* Update default Netplan configuration file used in Ubuntu 24.04
* Fix bridge configuration

ntp

* Set version to 8.1.0
* Migrate from NTP to NTPsec
* Update usedFiles method

radius

* Set version to 8.1.0
* Add a new dependency

samba

* Set version to 8.1.0
* Fix DomainSettings validateTypedRow to handle undefined oldParams when module is disabled
* Remove deprecated auth-client-config package
* Update NSS and PAM management
* Fix password changes on Samba 4.19* by using samba-tool instead of direct LDAP unicodePwd writes
* Update processLine method for Log integration
* Update usedFiles method
* Minor fix that prevents generates strings for translation
* Allow setting domain level from the Zentyal UI
* Add countUsers() method to count non-system users
* Enforce license user limit when creating new users
* Update import and export scripts
* Redesign user and group import/export with native ProgressIndicator:
- Replace custom CGI/template approach with DataForm::Action models
and ProgressClient CGIs for all import/export operations
- Add progress bars for imports and exports using ProgressIndicator
- Restructure UI from 4 tabs to 2 tabs (Import/Export) using nested composites
- Add HTML summary tables showing Created/Skipped/Failed counts per operation
- Detect already-existing users/groups as SKIPPED instead of failures
- Fix CSV MIME type validation logic (was always rejecting valid files)
- Add file-exists validation before processing imports
- Fix missing EBox::Gettext import in scripts (Undefined subroutine __x)
- Use EBox::Config::tmp() for export CSVs to avoid permission errors
- Remove decorative confirm checkbox from export forms
- Add Go back links in export progress endNote/errorNote

sogo

* Set version to 8.1.0
* Update stubs sogo.conf and SOGo.conf-apache

squid

* Set version to 8.1.0
* Replace deprecated given/when constructs with if/elsif in LogHelper
* Add clamav user to group e2guardian

virt

* Fix VNC console: redirect bare /vnc_auto.html to /vncws/
* Fix VNC console CGI crash and small window size with modern noVNC
* Set version to 8.1.0
* Add libvirtd apparmor profile

webserver

* Set version to 8.1.0
* Allow disabling HTTP/HTTPS ports independently and prevent invalid vhost configurations
* Fix vhost templates to not generate VirtualHost sections for globally disabled ports
* Replace deprecated smartmatch operator with string comparison in ListeningPorts model

language-packs

* Set version to 8.1.0
* Update po files
* Add an additional gitignore

zenbuntu-core

* Set version to 8.1.0
* Minor refactor in the Debian install script

zenbuntu-desktop

* Set version to 8.0.1
* Fix white screen after reboot by making Firefox launcher asynchronous
* Add retry logic with 30-second timeout to firefox-launcher
* Launch Firefox in isolated subshell to avoid X session hangs
* Add lock file to prevent multiple Firefox instances per session
* Add user notification on connection failure
* Make x11-setup more robust when SSL cert doesn't exist yet
* Launch Firefox with ebox.default profile to avoid profile selection
* Code cleanup: remove redundant chown calls and improve error handling
* Fix blank LXDM greeter on Ubuntu 24.04 (GTK3 compatibility)
* Add greeter-gtk3.ui replacing GtkComboBoxEntry with GtkComboBox
* Add gtk.css for GTK3 greeter styling with full-screen background
* Fix LXDM service conflict: mask lxdm.service, add Conflicts= to unit
* Fix lxde-screenlock.desktop using missing lxlock (use xscreensaver)
* Refactor x11-setup: functions, quoting, cp instead of mv, idempotent
* Refactor postinst: set -e, POSIX tests, guard for missing UID 1000
* Refactor firefox-cert-override: secure temp file with File::Temp
* Modernize packaging: cdbs to dh, debhelper-compat 13
* Remove obsolete deps: v86d, gtk2-engines, video-intel, video-qxl