turnkey-leantime-19.0 (1) turnkey; urgency=low

  * Update Leantime to latest upstream version: v3.9.8.

  * Upgraded base distribution to Debian 13.x/Trixie.

  * Replace TurnKey custom Debian-Installer based 'di-live' with new custom
    TurnKey installer built from scratch; 'tkl-installer'.

  * Updated release signing keys & apt repo keys - now included as
    'turnkey-keys' deb package.

  * Replace legacy '.list' apt remote config files with Deb822 '.sources'
    files.

  * "Proper" IPv6 support. May still have some gaps and still requires cosmetic
     work but fully functional.

  * Improved fail2ban config:
    - Increased default findtime (10 minutes) & bumped maxretry (3) to minimize
      risk of user accidentally locking themself out.
    - Removed redundant v18.x custom patches.

  * Leverage 'iptables-persistent' package to manage firewall start/stop.

  * Include 'zstd' by default to support smaller initramfs that unpacks faster.

  * Replace 'ifupdown' with 'ifupdown-ng' (and 'ifupdown-ng-compat').

  * Replace 'udhcpc' (IPv4 only) with 'dhcpcd-base' (dual stack ipv4/6). Also
    include custom TurnKey config ('tkl-dhcpcd-ifupdown-glue') to ensure DHCP
    config is in sync with interfaces file.

  * General code cleanup including linting, formating and style updates. Still
    WIP but solid start.

  * Configuration console (confconsole):
    - Bugfixes:
      - Support for firewall config when setting a static IP. Particularly
        affected OpenVPN (which ships with firewall enabled by default).
        Closes #2037.
      - Fix Let's Encrypt integration failing back-to-back runs. Closes #2121.
    - Features:
      - "Proper" support for IPv6:
        - Show IPv6 info on "usage" page. Special thanks to Marcos:
          https://github.com/marcos-mendez - https://popsolutions.co/
    - Misc clean up and improvements in code and packaging. See Confconsole
      release notes for full details.

  * Firstboot Initialization (inithooks):
    - Bugfixes:
      - Ensure everyboot scripts only run once per boot.
      - firstboot.d/15regen-sslcert:
        - Only services which are already running need to be restarted as
          restart is only to apply updated certs.
      - firstboot.d/01ipconfig:
        - Minor bugfix.
    - Features/improvements and other changes of significance:
      - Reimplement an 'inithooks.service' and refactor integration with
        getty1.
      - Delay start of inithooks/confconsole at boot time to reduce chance of
        boot messages overwriting inithooks/confconsole.
        - Developers - please note that hooks with a prefix less than '30' will
          still run early, so should _always_ be non-interactive.
      - TurnKey 'init-fence' (blocks web access at firstboot):
        - Run by default on all builds pre firstboot initialization (previously
          only enabled on "headless" builds).
        - New pre-seed variable 'AUTO_RUN' to skip interactive config
          (re-implements previous "headless" build functionality).
        - Replace legacy init.d script with systemd
          'turnkey-init-fence.service' (& script which is called by the
          service).
        - Add support for 'systemctl reload turnkey-init-fence.service' -
          which restarts 'simplehttpd.py' (init-fence mini web server) but does
          not disable the firewall rules.
        - Support for custom init-fence content.
        - Update dynamically generated SSH information for IPv6 address
          display.
        - Add IPv6 support to mini server.
    - Ensure inithook 'SEC_UPDATES' pre-seed variable test is case insensitive;
      eliminates risk of unintended behavior when pre-seeding.
    - Misc clean up and improvements in code and packaging. See Inithooks
      release notes for full details.

  * Web management console (webmin):
    - Upgraded Webmin to latest upstream.
    - Refactored TurnKey Webmin packaging process to support easier updates;
      with the intention of following upstream releases as closely as possible
      (provided via TurnKey apt repo).
    - Ensure that Webmin listens via IPv6 by default.

  * Backup (tklbam):
    - Bugfixes:
      - Fix broken help pager (not sure how long that has been broken!?).
      - Fix broken tar command (deprecated functionality removed in Debian
        Trixie).
    - Features/improvements:
      - Migrate core program and direct dependency python2 runtime from
        cpython2 (EOL) to Pypy (still supported - packaged by TurnKey).
      - Migrate all other components to python3.
        Note: remaining python2 TKLBAM code port to python3 is in progress but
        no ETA yet...
    - Misc clean up and improvements in code and packaging. See TKLBAM release
      notes for full details.

  * Misc code cleanup and improvements.

  * Full overhaul of TurnKey Adminer integration, including moving TurnKey
    customization files to /etc/adminer (from /usr/share).

  * Multiple bugfixes/improvments to default Adminer theme.

  * Updated webserver config; including hardening and Adminer specific log
    files.

  * Fail2ban rules to protect Adminer log in.

  * Limit access to any other databases other than locally installed database.
    Protects against Adminer being used as a tool to attack a thrid party
    server.

  * Modify default Apache mod_ssl conf at build time, rather than overwriting
    it. Ensures that only explict edits are performed and avoid risk of future
    Debian updates being overwritten.

  * Updated SSL/TLS cipher list - "intermediate" level as recommended by
    Mozilla. Aims to balance security and support for older clients.

  * Explicitly set elliptic curves offered for ECDH key exchange.

  * Harderned mod_security defaults:
    - Block access to all '.' paths by default (e.g. '.env', '.git', etc) to
      harden security and avoid accidental disclosure of secrets. Note this
      will break third party Let's Encrypt integrations using HTTP-01
      validation - e.g. certbot. TurnKey's integration is unaffected as it uses
      a custom HTTP server to serve the challenges.
    - Set additional security headers:
        X-Content-Type-Options: "nosniff" :
          - Prevents files from being interpretted as something other than that
            declared by the content type.
        Content-Security-Policy "frame-ancestors 'self';" :
          - Prevents other sites from embedding pages within frames, defends
            against clickjacking attacks.

  * Enable HTTP/2 where possible. Note HTTP/2 is not compatable with Apache's
    mod_php - which is currently the default method that TurnKey LAMP based
    appliances host PHP applications. TurnKey will migrate to using PHP-FPM in
    the future.

  * Redirect HTTP => HTTPS by default.

  * Note: TLSv1.2 will be disabled by default in a future TurnKey release.

  * Create default '/var/lib/php/sessions' cache dir and ensure it is writable
    by the webserver (default PHP session cache location for some PHP apps).

 -- Stefan Davis <nafets.sivad@gmail.com>  Wed, 12 Aug 2026 15:32:59 +1000

turnkey-leantime-18.1 (1) turnkey; urgency=low

  * Update Leantime to latest upstream version: v3.1.1 - closes #1930.

  * Ensure build code & inithooks only use single quotes in configuration.php
    - eases end user Leantime updates - closes #1911.

  * Confconsole: bugfix broken DNS-01 Let's Encrypt challenge- closes #1876 &
    #1895.
    [Jeremy Davis <jeremy@turnkeylinux.org>]

  * Web management console (webmin):
    - Replace webmin-shell with webmin-xterm module by default - closes #1904.

 -- Jeremy Davis <jeremy@turnkeylinux.org>  Mon, 15 Apr 2024 04:25:27 +0000

turnkey-leantime-18.0 (1) turnkey; urgency=low

  * Upgraded Leantime: v3.0.3.
    [Stefan Davis <stefan@turnkeylinux.org>]

  * Ensure hashfile includes URL to public key - closes #1864.

  * Include webmin-logviewer module by default - closes #1866.

  * Upgraded base distribution to Debian 12.x/Bookworm.

  * Configuration console (confconsole):
    - Support for DNS-01 Let's Encrypt challenges.
      [ Oleh Dmytrychenko <dmytrychenko.oleh@gmail.com> github: @NitrogenUA ]
    - Support for getting Let's Encrypt cert via IPv6 - closes #1785.
    - Refactor network interface code to ensure that it works as expected and
      supports more possible network config (e.g. hotplug interfaces & wifi).
    - Show error message rather than stacktrace when window resized to
      incompatable resolution - closes  #1609.
      [ Stefan Davis <stefan@turnkeylinux.org> ]
    - Bugfix exception when quitting configuration of mail relay.
      [ Oleh Dmytrychenko <dmytrychenko.oleh@gmail.com> github: @NitrogenUA ]
    - Improve code quality: implement typing, fstrings and make (mostly) PEP8
      compliant.
      [Stefan Davis <stefan@turnkeylinux.org> & Jeremy Davis

  * Firstboot Initialization (inithooks):
    - Refactor start up (now hooks into getty process, rather than having it's
      own service).
      [ Stefan Davis <stefan@turnkeylinux.org> ]
    - Refactor firstboot.d/01ipconfig (and 09hostname) to ensure that hostname
      is included in dhcp info when set via inithooks.
    - Package turnkey-make-ssl-cert script (from common overlay - now packaged
      as turnkey-ssl). Refactor relevant scripts to leverage turnkey-ssl.
    - Refactor run script - use bashisms and general tidying.
    - Show blacklisted password characters more nicely.
    - Misc packaging changes/improvements.
    - Support returning output from MySQL - i.e. support 'SELECT'. (Only
      applies to apps that include MySQL/MariaDB).

  * Web management console (webmin):
    - Upgraded webmin to v2.105.
    - Removed stunnel reverse proxy (Webmin hosted directly now).
    - Ensure that Webmin uses HTTPS with default cert
      (/etc/ssl/private/cert.pem).
    - Disabled Webmin Let's Encrypt (for now).

  * Web shell (shellinabox):
    - Completely removed in v18.0 (Webmin now has a proper interactive shell).

  * Backup (tklbam):
    - Ported dependencies to Debian Bookworm; otherwise unchanged.

  * Security hardening & improvements:
    - Generate and use new TurnKey Bookworm keys.
    - Automate (and require) default pinning for packages from Debian
      backports. Also support non-free backports.

  * IPv6 support:
    - Adminer (only on LAMP based apps) listen on IPv6.
    - Nginx/NodeJS (NodeJS based apps only) listen on IPv6.

  * Misc bugfixes & feature implementations:
    - Remove rsyslog package (systemd journal now all that's needed).
    - Include zstd compression support.
    - Enable new non-free-firmware apt repo by default.
    - Improve turnkey-artisan so that it works reliably in cron jobs (only
      Laravel based LAMP apps).

  * Set mod_evasive log location - makes debugging easier.
    [ Jeremy Davis <jeremy@turnkeylinux.org> ]

  * Include and enable mod_evasive and mod_security2 by default in Apache.
    [ Stefan Davis <Stefan@turnkeylinux.org> ]

  * Debian default PHP updated to v8.2.

  * Include new 'tkl-update-php' script - to make updating/changing PHP
    version easier for end users.
    [Marcos Méndez @ POPSOLUTIONS <https://github.com/marcos-mendez>]

  * DEV: Add support for setting max_execution_time & max_input_vars in
    php.ini via appliance Makefile (PHP_MAX_EXECUTION_TIME &
    PHP_MAX_INPUT_VARS).

  * Use MariaDB (MySQL replacement) v10.11.3 (from debian repos).

 -- Jeremy Davis <jeremy@turnkeylinux.org>  Mon, 05 Feb 2024 06:35:09 +0000

turnkey-leantime-17.3 (1) turnkey; urgency=low

  * Upgrade Leantime: v2.3.11.

  * Rebuild to include updated dependncies.

 -- Jeremy Davis <jeremy@turnkeylinux.org>  Thu, 23 Feb 2023 00:13:55 +0000

turnkey-leantime-17.2 (1) turnkey; urgency=low

  * Upgrade Leantime: v2.2.11 - closes #1784.

  * Include PHP 8.1 (from sury.org) - PHP 8.0+ required for Leantime v2.2.0+.

 -- Jeremy Davis <jeremy@turnkeylinux.org>  Wed, 07 Dec 2022 04:37:16 +0000

turnkey-leantime-17.1 (1) turnkey; urgency=low

  * Updated all Debian packages to latest.
    [ autopatched by buildtasks ]

  * Patched bugfix release. Closes #1734.
    [ autopatched by buildtasks ]

 -- Jeremy Davis <jeremy@turnkeylinux.org>  Tue, 12 May 2022 01:41:55 +0000

turnkey-leantime-17.0 (1) turnkey; urgency=low

  * Upgrade Leantime: v2.1.9.

  * Note: Please refer to turnkey-core's 17.0 changelog for changes common to all
    appliances. Here we only describe changes specific to this appliance.

 -- Zhenya Hvorostian <zhenya@turnkeylinux.org>  Thu, 05 May 2022 00:23:40 +0300

turnkey-leantime-16.1 (1) turnkey; urgency=low

  * Upgrade Leantime: v2.1.7.

  * Note: Please refer to turnkey-core's 16.1 changelog for changes common to all
    appliances. Here we only describe changes specific to this appliance.

 -- Stefan Davis <stefan@turnkeylinux.org>  Mon, 26 Apr 2021 15:49:05 +1000

turnkey-leantime-16.0 (1) turnkey; urgency=low

  * Initial release includes Leantime - v2.1.4; installed from tarball;
    built on a TurnKey LAMP base.

  * SSL/TLS cyphers to provide "Intermediate" browser/client support
    (suitable for "General-purpose servers with a variety of clients,
    recommended for almost all systems"). As provided by Mozilla via
    https://ssl-config.mozilla.org/.

  * Note: Please refer to turnkey-core's changelog for changes common to all
    appliances. Here we only describe changes specific to this appliance.

 -- Jeremy Davis <jeremy@turnkeylinux.org>  Wed, 21 Oct 2020 15:15:09 +1100
