github jmrenouard/MySQLTuner-perl v2.8.41

pre-release13 hours ago

Release Notes - v2.8.41

Date: 2026-04-13

📝 Executive Summary

2.8.41 2026-04-13

- chore: automated project maintenance and cleanup (extracted `RULES.md`, `MEMORY_DB.md`, `TESTS.md`).
- feat: implement idiomatic Perl Boolean practices across the project (#34).
- feat: add recommendation for `table_open_cache_instances` based on CPU cores (#480).
- feat: improve syslog and systemd journal detection for error logs (#440).
- feat: initialize `$mysqllogin` to avoid uninitialized value warnings (#490).
- fix: Restore compatibility with older Perl versions (by @jasongill).
- fix: wrap template loading in `get_template_model()` to avoid `uninitialized value` warnings during `require`.
- fix: allow `--updateversion` to work on hosts without `mysql`/`mariadb` installed (#36).
- fix: skip local SSL certificate warnings if they are in an inaccessible `datadir` (#33).
- fix: correct false positives in `check_removed_innodb_variables` by distinguishing real server variables from internal ones (#32).
- fix: improve join_buffer_size recommendation formatting in Variables to Adjust (#881).
- fix: suppress MySQL client warning regarding 'DISABLED' boolean value for SSL (#887).
- fix: correctly handle `--defaults-file` and `--defaults-extra-file` without dropping options (#605).
- fix: restore Debian maintenance account automatic login by using idiomatic boolean checks (#896).
- fix: include `tmp_table_size` in per-thread memory calculation for better accuracy (#864).
- fix: add retry mechanism for initial `SELECT VERSION()` query to improve connection resilience (#782).
- fix: prevent `AUTO_INCREMENT` capacity false positives for empty tables (#37).
- fix: refactor InnoDB Redo Log Capacity logic to be workload-based and avoid false positives (#714, #737, #777).
- fix: add guards against division by zero in calculations for improved stability (#435).
- fix: add truthiness guards to `mysql_innodb` and `mysql_stats` subroutines.
- fix: improve `which` logic for better container/minimal environment support.
- fix: enhance login failure reporting with detailed output.
- ci: enhance Quality Gate to strictly enforce zero-warning policy on GitHub Actions tests.
- ci: implement dynamic CI test environment detection by wrapping configuration extraction.
- ci: refactor GitHub Actions release and prerelease workflows to support dynamic versions and checksum generation.
- ci: migrate maintenance script to GitHub Actions.
- refactor: update CLI metadata to use `undef` as default for string/path options.
- refactor: replace non-idiomatic `eq '0'`, `ne 0`, etc., with standard truthiness checks.
- refactor: replace "master"/"slave" terminology with "source"/"replica" for cultural sensitivity (#888).
- chore(deps): update docker/setup-buildx-action action to v4.
- chore(deps): update docker/build-push-action action to v7.
- chore(deps): update docker/login-action action to v4.
- chore(deps): update softprops/action-gh-release action to v3.

📈 Diagnostic Growth Indicators

Metric Current Progress Status
Total Indicators 12 0 🛡️
Efficiency Checks 0 0 🛡️
Risk Detections 2 0 🛡️
Information Points 10 0 🛡️

🛠️ Internal Commit History

  • ci: refactor Github release definitions with pre-releases and deliverables support (68f8d12)
  • ci: enforce zero-warning policy and dynamic test env (2eebcc4)
  • feat: release 2.8.41 final stabilization (e479ba7)
  • feat: release 2.8.41 final polish (e8d2751)
  • feat: release 2.8.41 final polish (bac36cb)
  • feat: release 2.8.41 (56b9dd7)
  • Merge pull request #41 from major/master (089a598)
  • Merge pull request major#885 from major/renovate/docker-setup-buildx-action-4.x (d430513)
  • Merge pull request major#886 from major/renovate/docker-build-push-action-7.x (9b7dd14)
  • Merge pull request major#884 from major/renovate/docker-login-action-4.x (5d56ecb)
  • Merge pull request major#894 from major/renovate/softprops-action-gh-release-3.x (9805873)
  • Merge pull request major#882 from jasongill/master (d1f3808)
  • Merge pull request major#895 from jmrenouard/master (2feb466)
  • Merge pull request #40 from major/master (10fcd37)
  • Merge branch 'master' into master (c13bb0b)
  • feat: release 2.8.40 (21d5873)
  • perltidy mysqltuner.pl (5653056)
  • chore(deps): update all non-major dependencies to v20.5.0 (major#893) (290b646)
  • chore(deps): update dependency lodash to v4.18.1 [security] (major#892) (c01e968)
  • chore: add automerge to Renovate config (633edcc)
  • Add CodeQL analysis workflow configuration (43a57c9)
  • Merge pull request #35 from C0RD/master (9474c70)
  • chore(deps): update all non-major dependencies to v20.5.0 (major#893) (4520d11)
  • chore(deps): update softprops/action-gh-release action to v3 (75e9cee)
  • chore(deps): update dependency lodash to v4.18.1 [security] (major#892) (e77d43c)
  • chore: add automerge to Renovate config (0470fb7)
  • Merge pull request #38 from jmrenouard/dependabot/npm_and_yarn/npm_and_yarn-b22b4dc46b (69caecf)
  • Merge pull request #39 from major/master (54dbffd)
  • chore(deps-dev): bump the npm_and_yarn group across 1 directory with 2 updates (955284a)
  • chore(deps): update docker/build-push-action action to v7 (a5a6234)
  • chore(deps): update docker/setup-buildx-action action to v4 (830bbc2)
  • chore(deps): update docker/login-action action to v4 (2ca8b8d)
  • Change default update check to disabled (938db61)
  • Remove r modifier from regex for compatability with older Perl versions (d6f7f97)
  • chore: bump version to 2.8.41 (3e54167)
  • Merge pull request major#879 from jmrenouard/master (9b8617f)

⚙️ Technical Evolutions

Internal logic hardening (no interface or diagnostic changes).

✅ Laboratory Verification Results

  • Automated TDD suite passed.
  • Multi-DB version laboratory execution validated.
  • Performance indicator delta analysis completed.

Deliverables

Standalone Script & Data

Asset Checksum
mysqltuner.pl [sha256]
basic_passwords.txt [sha256]
vulnerabilities.csv [sha256]

Docker Images

docker pull jmrenouard/mysqltuner:2.8.41

Checksums (.sha256) are available in the assets list below.

Don't miss a new MySQLTuner-perl release

NewReleases is sending notifications on new releases.