  * cln-kernel (dist-cln-kernel.excalibur)
    - upd: for excalibur, default_kernele updated from 6.12.74+deb13+1-amd64
    	   to 6.12.94+deb13-amd64

  * net-vpn, makeconf.sh, opvpn
    - upd: option 'log' changed to 'log-append', opvpn script updated too
    - del: removed obsolete freenet6 options

  * net-utils, pkgs-install
    - add: net-tools (legacy ifconfig)

  * cli-virt
    - new: new module (just installs qemu-guest-agent package)

  * veeam-agent
    - new: veaam_run_job, wrap script to launch default job, cronjob changed too;
    	   command invocation is now recorded to logfile /var/log/veeam-agent.log
	   instead of transient logfile in /tmp
    - new: logrotate snippet
    - new: veeam-agent.randomize_cron_run db entry (true/false), if true replaces
    	   minutes with a random value in crontab
    - upd: removed option maxpoints, replaced by maxdays (maxpoint deprecated in v13)

  * base
    - new: vimrc, installed as /root/.vimrc if not already present

2026-06-15 17:02:05 1.5 ku26.06a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * base
    - add: libarchive-zip-perl, from suggested

  * sbin/kusa-reconf
    - fix: fails if using glob in install files, and there is one directory in
    	   the resulting file list; now only files are considered

2026-05-29 10:49:52 1.5 ku26.05d Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * modules/base-rsync
    - mod: now install kusa definitions in /etc/rsyncd.d if the directory is
    	   included by /etc/rsyncd.conf (this way the main config file can be
	   managed by other software, like OMV)

  * sbin/kusa-reconf
    - fix: removed all custom stuff about "pve", now managed vi standard
    	   modules customization

  * sbin/kusa-functions.sh
    - mod: added systemd (argh!!) support to pseudofuncs restart_service() and
    	   reload_service()

2026-05-24 17:13:07 1.5 ku26.05c Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * debian.in/control
    - mod: now needs ku-base >= 1.2-ku26-05a (due changes in ku-distroenv)

  * classes-internale (base2)
    - del: removed cli-backup (never used)

  * PVE and OMV
    - mod: they are system distros, so moved all related stuff under PVE and OMV subdirs,
    	   and remove pve- and omv- prefixes from modules names (we need to use standard
	   names)

  * WIP OMV (openmediavault) support
    - add: class.ovm
    - add: modules under OMV subdir
    - mod: adapted some std modules

2026-05-17 10:12:26 1.5 ku26.05b Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * srv-treadmill
    - WIP: new module

  * WIP PVE support
    - add: class.pve
    - add/mod: pve-* modules
    - mod: adapted some std modules

  * sbin/kusa-functions.sh
    - fix: addede export of DISTRIB_KLABS_DISTRO (was missing)

2026-05-13 07:57:54 1.5 ku26.05a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * base
    - upd: pgs-install.excalibyr, added suggested-removed/excalibur

  * base-extend
    - fix: removed mlocate/plocate stuff, already in base module

  * cln-kernels
    - upd: dist-cln-kernels.daedalus 6.1.0-37-amd64 -> 6.1.0-46-amd64
    - upd: dist-cln-kernels.excalibur 6.12.57+deb13-amd64 -> 6.12.74+deb13+1-amd64

  * sbin/kusa-functions.sh
    - add: enable_service(), installa sysv style script (calls inssrv if present,
    	   or manually create links)

  * veeam-agent
    - fix: various changes, to work with v13 agent

2026-01-31 13:11:27 1.5 ku26.01c Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * base
    - add: updatedb.conf new kusa db vars:

  	locate.prunenames   .git .bzr .hg .svn
  	locate.prunefs      NFS nfs nfs4 smbfs cifs
  	locate.prunepaths   (empty)

      network mounted fs pruning can be now disabled (so ENABLING scan)
      removing them from locate.prunfs var

    - fix: plocate package not yet available for jessie and ascii distros

  * srv-samba
    - add: samba share ABE enumeration flag, set "abe_access" Yes or No
    	   system wide (samba_share.abe_access) or for specific shares
	   (samba_share.NAME.abe_access)

  * cli-nfs/run-install
    - fix: calls mount -a on type nfs instead of nfs4
    - add: make mountpoint dirs immutable (chattr +i) so anyone can write
    	   inside if not mounted; this work only on unmounted dirs, so
	   to make it effective calls   umount -t nfs4 -a  before updating
	   cli-nfs module

  * bin/ku-machine-icon
    - fix: crash on line 136 if $DESC not defined and kusa-conf fails

  * cli-ssh (daedalus)
    - fix: wrong cipher list

2026-01-19 14:46:41 1.5 ku26.01b Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * classes
    - add: server.nextcloud

  * sudo
    - fix: renamed installed sudo files, now are numbered with the right
    	   precedence (first general ones, then more specific ones)

  * srv-nextcloud
    - WIP: proceeding with module implementation

  * omv-base
    - WIP: started OpenMediaVault support
	   - at the moment, only some packages install (general utils)
    	   - see ku-base changes, too (DISTRIB_IS_OMV added)

  * bin/ku-machine-icon
    - fix: typo for nextcloud (was nexcloud)

  * debian/control
    - del: removed depend from ku-nagios-plugins (>=1.0-ku19-0)
    	   (why was here? kusa doesn't needs any from this package,
	   maybe some problem with cli-nagios module, addressed in the
	   wrong way?)

  * base-extend/pkgs.install
    - del: removed minicom and statserial (who is them today?)

2026-01-03 14:42:54 1.5 ku26.01a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  general: Devuan-6 (excalibur = Debian 13) support (D6, WIP)

  sec-sudo
    current managed distros uses all the 'includedir' feature, and some
    kusa modules already uses this to install sudoers snipped, BUT the
    includedir directive MUST be the last one
    over the time we have patched sudoers file, adding snippets at end
    of file, so OVERRIDING incldedir, this is bad

    - fix: unpatches all kusa added code snippets
    - upd: 'kusa' group snippet is now installed in sudoers.d

  srv-ssh/sshd_config
    - upd: from stock file, almost identical to previous (daedalus)

  cli-ssh/dist-cli-ssh
    - upd: moved current to .daedalus
    - upd: cipher list for excalibur

  srv-web
    - mod: removed all Ubuntu stuff (original module moved into Ubuntu subdir)
    - add: D6, dist file for excalibur
    - mod: D6, standardized php.ini
    - fix: proper php.ini installed for 'cli' also

  srv-web-vhosts
    - fix: favicon.ico linked to wrong file
    - fix: favicon.ico, display warning if not readable
    - mod: favicon.ico, create symlink to customer one only if not a real
    	   file (not exists and not symlink)
    - fix: undefined apache.default_names was ignored, now aborts

  srv-web-linfo
    - fix: check for php version (must be 7)

  base/run-install
    - fix: error if no files in /etc/sysctl.d directory

  builtin-cleanup
    - fix: D6, added excalibur to exclude libapparmor-perl install

  base-repos
    - fix: D6, switched to new keyring syntax (per repository)

  bin/ku-update-server-homepage
    - mod: minor changes to layout, better use of icons, no more lists, all
    	   icon based (must use updated ku-images package to work)

  bin/ku-machine-icon
    - mod: changed to reflect file renamed and new in package ku-images
    - fix: KUSA_MODEL was not set

  sbin/kusa-functions.sh
    - new: added entries remove/replace in pkgs files list, you can list an entry
    	   starting with dash "-", so the entry will be removed from resulting
	   list; this will simplify the list management (up to now if a package
	   is no more available on a release, we was forced to edit ALL the
	   lists to remove the package and add it to ALL the previous release
	   specific list, now we can create the list for the new release, mark
	   the package to be removed, and add, if any, the replacements)

    - fix: wrong permissions on auto dist files in /etc/kusa/conf.d

  sbin/kusa-bootstrap
    - fix: stop using apt-key, now uses new format (per repository) gpg key definition;
    	   note that you need to update klabs repo list, too:

	   # update keyring
	   kusa-bootrap -k

	   # update apt lists
	   kusa-reconf -f base-repos

2025-12-10 11:50:32 1.5 ku25.12a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  base (prevent SSD swap trashing)
    - add: sysctl custom settings to reduce unnecessary SSD drives strain:

	     - vm.swappiness set to 90 instead of default 60
	     - vm.vfs_cache_pressure set to 50 instead of default 5

    	   see also dist-base, kusa db settings:

	     - sysctl.vm_swappiness
	     - sysctl.vfs_cache_pressure

  base (quiet HD for NAS)
    - add: sysctl custom settings for HDs usages, set common.quiet_hds to yes

  sbin/kusa-bootstrap
    - add: Devuan-6 to allowed distros

2025-10-28 13:32:02 1.5 ku25.10a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * veeam-agent
    - add: new module, install and configure a default repo and job for
    	   veeam backups, Community Edition (no licence)
	   note: at the moment we only support SMB repositories
	   note: due CE licence, we cannot use scheduling, so we rely on cronjob,
	   	 see cron.d/veeam-agent for details, distfile for settings

2025-06-06 11:00:48 1.5 ku25.06a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * srv-mail
    - fix: permissions on vmail installed files, causing dovecot to stop working

  * cln-kernels
    - upd: default kernel for daedalus, from 6.1.0-31-amd64 to 6.1.0-37-amd64

2025-05-25 15:05:55 1.5 ku25.05a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * srv-mail
    - fix: vmail setup various error (filepath called with -f option, filepath used
    	   instead of create_dir, missing vmail user)

2025-03-15 10:17:17 1.5 ku25.03c Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * sbin/kusa-reconf, sbin/kusa-functions.sh
    - mod: today dates now in ISO format (YYYY-mm-dd instead of YYYY.mm.dd)
    - mod: conferma() pseudofunc renamed to confirm()
    - mod: minor changes to comments

  * base-server/pkgs-install
    - add: xfsprogs

2025-03-05 15:52:05 1.5 ku25.03a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * srv-mail
    - add: dovecot virtual users support (up to now we would able to setup virtual
    	   user manually, now is integrated in the module);
	    - user db file /etc/dovecot/users
	    - utility to add/update virtual user: /usr/sbin/ku_vmail_user
	    - default homes in /home/vmail/%u (

	   related additions in module dist file:
  	    - vmail_user	system user (name, not uid)
  	    - vmail_gid		system group (name or gid)
  	    - vmail_homes	virtual users homes (%u will be appended)
  	    - vmail_quota	default quota

     - add: dovecot/conf.d/99-ku-debug.conf
     	   inactive config file, you can change it on-the-fly to activate
	   various debug options

  * cln-kernels
    - upd: daedalus version from 28 to 31

2025-02-03 09:13:07 1.5 ku25.02a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * WIP: pve (Proxmox) partial support
    - the class must be set to 'none'
    - only few modules are allowed (atm: base-rsync, local-pre, local)
    - kusa-bootstrap adds daedalus (=debian-12) repos
    - ku-distroenv from ku-base package is modified ($DISTRIB_IS_PVE added)
      pve systems are tagged as 'pve-debian-12'
    - added right id (or *) to 'relcompat' in modules available to pve
    - new modules: base-pve, base-net, base-builtin-cleanup; replaces the same
      modules with a proxmox customized ones, with a small packages subset,
      no-op post-install, etc; the changes on system are minimized

  * net
    - fix: added laptop* to if_schema that needs network-manager by default

  * base/pkgs-install.{chimaera,daedalus}
    - add: dislocker package, to read bitlocker partitions
    - add: zstd, super fast compression suite

2025-01-15 17:09:46 1.5 ku25.01a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * base-users/default_users
    - fix: typo in 'nobody' user definition, missing a semicolon ":" will result to
    	   wrong group setting

  * net
    - add: interfaces.kiosk+dhcp

  * srv-virt
    - fix: removed base-iscsi from required modules

  * base-extend
    - fix: hddtemp package no more available starting from daedalus

  * cln-kernels
    - upd: daedalus default kernel from 6.1.0-23-amd64 to 6.1.0-28-amd64

2024-09-08 08:47:49 1.5 ku24.09a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * Ubuntu/srv-virt/pkgs-install
    - fix: retrocompatibily, package ku-virt-utils was missing

2024-08-17 12:36:45 1.5 ku24.08b Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * base-syslog
    - fix: debian/ubuntu uses 'root' as default user, not 'syslog'

  * cln-kernels
    - upd: daedalus, default kernel from 6.1.0-16-amd64 to 6.1.0-23-amd64

  * base-users
    - upd: as new debian/devuan policy, user nobody is now in the nogroup group, instead
    	   of nobody group; the latter is commented (will not be deleted from existing
	   installations, but not created on new ones)

2024-03-26 15:22:09 1.5 ku24.07b Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * srv-virt
    - add: pkgs-install.daedalus (same of chimaera, at the moment)
  * base/run-install
    - fix: /etc/localtime link is missing full path

2024-03-26 14:12:16 1.5 ku24.03b Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * cli-zabbix
    - fix: wrong config dir /etc/zabbix/zabbix_agentd.conf.d (v5 packages vs v6 packages,
    	   directly from repos, used on zabbix server)

  * srv-glpi
    - add: glpi-genericobject-2.14.8 plugin
    - mod: kusa db definition moved from "glpi" to "srv-glpi"
    - fix: version checking logic

2024-03-07 07:26:51 1.5 ku24.03a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * cli-glpi, relcompat
    - fix: not compatible with old ubuntu distros

  * base
    - fix: /etc/localtime is a symlink on modern systems, not a file (changed run-install
    	   script to update the symlink instead of installing a bare file)

2024-03-06 18:03:00 1.5 ku24.01b Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * cli-glpi
    - fix: init script must run under bash, not sh

  * dev-generic
    - fix: now installs linux-headers only if they can be installed (if you are using a
    	   custom kernel, maybe you don't have access to related linux-header package)

2024-01-24 17:12:36 1.5 ku24.01a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * cln-kernels
    - upd: daedalus, to 6.1.0-16-amd64

  * mnt-vncserver
    - fix: don't restart service (=destroy any current, active session!)

2023-11-29 17:11:04 1.5 ku23.11d Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * srv-glpi
    - add: notes.txt
    - add: plugin glpi-fields-1.21.6

  * (classes)
    - add: server.glpi

  * bin/ku-machine-icon
    - add: server.glpi

2023-11-29 16:26:03 1.5 ku23.11c Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * sbin/kusa-functions.sh, apt_get_autoremove() pseudofunc
    - fix: typo, "$err=" instead of "err="

  * srv-ssh, sshd_config.daedalus
    - upd: updated openssh 1.9: from daedalus default file
    - del: removed deprecated dsa host key support
    - fix: added ssh-rsa to PubkeyAcceptedAlgorithms, to restore previous default
    	   beheaviour

  * base-ws; app-mail; app-office
    - upd: ubuntu stuffs moved to Ubuntu subdir
    - add: dadedauls support

  * bin/ku-machine-icon
    - add: server.build class
    - add: none class

  * srv-mysql (mariadb)
   - changed the version check to be more reliable

2023-11-09 19:27:03 1.5 ku23.11a Lorenzo Canovi (KUBiC Labs, CH) <packager@kubiclabs.com>

  * net
    - add: network.dhcp_resolv (default: false)
    	   if true, and if if_schema matches "dhcp" string, will allows dchp client to
	   manage /etc/resolv.conf; the default is kusa have a constant look to the
	   file, using the kuwatched daemon, and restore the original one (kusa fixed one)
	   whenever it changes
