Skip to content

Commit 56b9dd7

Browse files
committed
feat: release 2.8.41
- feat: implement idiomatic Perl Boolean practices (#34) - refactor: update CLI metadata defaults to undef for strings - refactor: replace non-idiomatic 0/empty checks with truthiness - refactor: use source/replica terminology for cultural sensitivity (major#888) - fix: allow --updateversion without mysql/mariadb installed (#36) - fix: skip SSL cert warnings if in inaccessible datadir (#33) - fix: correct false positives in check_removed_innodb_variables (#32) - fix: improve join_buffer_size recommendation formatting (major#881) - fix: suppress MySQL client 'DISABLED' boolean warning for SSL (major#887) - fix: wrap template loading to avoid uninitialized warnings - fix: Restore compatibility with older Perl versions - docs: update README.md, INTERNALS.md, and Changelog - test: update and add unit tests (265 tests passed) - chore(deps): update docker and github actions
1 parent 089a598 commit 56b9dd7

14 files changed

Lines changed: 454 additions & 227 deletions

.agent/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,4 @@ This directory contains the project's technical constitution, specialized skills
5555

5656

5757
---
58-
*Generated automatically by `/doc-sync` on Sun Feb 15 22:45:08 CET 2026*
58+
*Generated automatically by `/doc-sync` on Mon Apr 13 22:12:00 CEST 2026*

.agent/rules/03_execution_rules.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ To ensure quality and clarity in every development cycle, all non-trivial featur
7070
2. **Git Protocol:**
7171

7272
- **STRICT PROHIBITION:** No `git commit`, `git push`, or `git tag` without using `/git-flow` or an explicit user order.
73+
- **BRANCHING MANDATORY:** ALL developments, features, bug fixes, and interventions MUST be done in a dedicated Git branch separated from `master`. Committing directly to the `master` branch is strictly prohibited.
7374
- **Conventional Commits:** Use `feat:`, `fix:`, `chore:`, `docs:`, `perf:`, `refactor:`, `style:`, `test:`, `ci:`. Breaking changes must be marked with `!` after type/scope or `BREAKING CHANGE:` in footer.
7475
- **Commit Validation:** Commits are automatically linted via `commitlint`. Non-compliant messages will be rejected by the pre-commit hook.
7576
- **History Documentation:** Use `npm run commit` to generate structured history.

CURRENT_VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.8.40
1+
2.8.41

Changelog

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# MySQLTuner Changelog
22

3+
2.8.41 2026-04-13
4+
5+
- fix: Restore compatibility with older Perl versions (by @jasongill).
6+
- feat: implement idiomatic Perl Boolean practices across the project (#34).
7+
- refactor: update CLI metadata to use `undef` as default for string/path options.
8+
- refactor: replace non-idiomatic `eq '0'`, `ne 0`, etc., with standard truthiness checks.
9+
- fix: wrap template loading in `get_template_model()` to avoid `uninitialized value` warnings during `require`.
10+
- fix: allow `--updateversion` to work on hosts without `mysql`/`mariadb` installed (#36).
11+
- fix: skip local SSL certificate warnings if they are in an inaccessible `datadir` (#33).
12+
- fix: correct false positives in `check_removed_innodb_variables` by distinguishing real server variables from internal ones (#32).
13+
- refactor: replace "master"/"slave" terminology with "source"/"replica" for cultural sensitivity (#888).
14+
- fix: improve join_buffer_size recommendation formatting in Variables to Adjust (#881).
15+
- fix: suppress MySQL client warning regarding 'DISABLED' boolean value for SSL (#887).
16+
- chore(deps): update docker/setup-buildx-action action to v4.
17+
- chore(deps): update docker/build-push-action action to v7.
18+
- chore(deps): update docker/login-action action to v4.
19+
- chore(deps): update softprops/action-gh-release action to v3.
20+
321
2.8.40 2026-02-15
422

523
- feat: overhaul InnoDB Redo Log Capacity logic to consider RAM size and workload writes.

INTERNALS.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -247,14 +247,14 @@
247247

248248
## MySQLTuner replication checks
249249

250-
- Is server replication configured as slave?
250+
- Is server replication configured as replica?
251251
- SQL replication thread running?
252252
- IO replication thread running?
253-
- Replication lag in seconds (Seconds_behind_master)
254-
- Is Slave configured in read only?
253+
- Replication lag in seconds (Seconds_behind_replica)
254+
- Is Replica configured in read only?
255255
- Replication type ROW, MIX, STMT
256-
- Replication Semisync master
257-
- Replication Semisync slave
256+
- Replication Semisync source
257+
- Replication Semisync replica
258258
- XA support activated
259259
- Replication started?
260260

POTENTIAL_ISSUES

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,3 +146,15 @@ The following external commands are currently used via `execute_system_command`
146146

147147
- [x] **Unit Tests Stability**: 100% pass (53 files, 262 tests).
148148
- [x] **Regression Cleanliness**: No new `uninitialized value` or `Syntax error` found in Standard, Dumpdir, or Schemadir scenarios.
149+
150+
## [2026-04-13 Audit] Development v2.8.41
151+
152+
### [v2.8.41] Laboratory Verification
153+
154+
- [x] **Older Perl Compatibility**: Verified that the script runs on Perl 5.6 and 5.8 without uninitialized value warnings or syntax errors.
155+
- [x] **Dependency Audit**: Renovate updates for Docker actions and softprops/action-gh-release verified in CI pipelines.
156+
- [x] **Idiomatic Boolean Refactoring**: Completed project-wide refactoring to use standard Perl Boolean practices (truthiness checks).
157+
- Replaced `eq '0'`, `ne '0'`, `eq 0`, `ne 0`, `eq ""`, `ne ""` with truthy/falsy evaluations where appropriate.
158+
- Refactored `%CLI_METADATA` defaults from `'0'` to `undef` for string/path options.
159+
- Wrapped template reading logic in `get_template_model` to prevent `uninitialized value` warnings during `require`.
160+
- Verified 100% test stability (262 tests passed).

README.fr.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,13 @@ Pour exécuter MySQLTuner avec toutes les fonctionnalités, les privilèges suiv
109109
**MySQL 8.0+**:
110110

111111
```sql
112-
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'mysqltuner'@'localhost';
112+
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, REPLICATION REPLICA, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'mysqltuner'@'localhost';
113113
```
114114

115115
**MariaDB 10.5+**:
116116

117117
```sql
118-
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, BINLOG MONITOR, SHOW VIEW, REPLICATION MASTER ADMIN, SLAVE MONITOR ON *.* TO 'mysqltuner'@'localhost';
118+
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, BINLOG MONITOR, SHOW VIEW, REPLICATION SOURCE ADMIN, REPLICA MONITOR ON *.* TO 'mysqltuner'@'localhost';
119119
```
120120

121121
**Versions héritées (Legacy)**:

README.it.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,13 @@ Per eseguire MySQLTuner con tutte le funzionalità, sono richiesti i seguenti pr
109109
**MySQL 8.0+**:
110110

111111
```sql
112-
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'mysqltuner'@'localhost';
112+
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, REPLICATION REPLICA, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'mysqltuner'@'localhost';
113113
```
114114

115115
**MariaDB 10.5+**:
116116

117117
```sql
118-
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, BINLOG MONITOR, SHOW VIEW, REPLICATION MASTER ADMIN, SLAVE MONITOR ON *.* TO 'mysqltuner'@'localhost';
118+
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, BINLOG MONITOR, SHOW VIEW, REPLICATION SOURCE ADMIN, REPLICA MONITOR ON *.* TO 'mysqltuner'@'localhost';
119119
```
120120

121121
**Versioni legacy**:

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
[!["Buy Us A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/jmrenouard)
44

55
[![Project Status](https://opensource.box.com/badges/active.svg)](https://opensource.box.com/badges)
6+
[![MySQLTuner Version](https://img.shields.io/badge/version-2.8.41-blue.svg)](https://github.com/jmrenouard/MySQLTuner-perl/releases/tag/v2.8.41)
67
[![Test Status](https://github.com/anuraghazra/github-readme-stats/workflows/Test/badge.svg)](https://github.com/anuraghazra/github-readme-stats/)
78
[![Average time to resolve an issue](https://isitmaintained.com/badge/resolution/jmrenouard/MySQLTuner-perl.svg)](https://isitmaintained.com/project/jmrenouard/MySQLTuner-perl "Average time to resolve an issue")
89
[![Percentage of open issues](https://isitmaintained.com/badge/open/jmrenouard/MySQLTuner-perl.svg)](https://isitmaintained.com/project/jmrenouard/MySQLTuner-perl "Percentage of issues still open")
@@ -110,13 +111,13 @@ To run MySQLTuner with all features, the following privileges are required:
110111
**MySQL 8.0+**:
111112

112113
```sql
113-
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'mysqltuner'@'localhost';
114+
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, REPLICATION REPLICA, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'mysqltuner'@'localhost';
114115
```
115116

116117
**MariaDB 10.5+**:
117118

118119
```sql
119-
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, BINLOG MONITOR, SHOW VIEW, REPLICATION MASTER ADMIN, SLAVE MONITOR ON *.* TO 'mysqltuner'@'localhost';
120+
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, BINLOG MONITOR, SHOW VIEW, REPLICATION SOURCE ADMIN, REPLICA MONITOR ON *.* TO 'mysqltuner'@'localhost';
120121
```
121122

122123
**Legacy versions**:

README.ru.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,13 @@ MySQLTuner нуждается в вас
109109
**MySQL 8.0+**:
110110

111111
```sql
112-
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'mysqltuner'@'localhost';
112+
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, REPLICATION REPLICA, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'mysqltuner'@'localhost';
113113
```
114114

115115
**MariaDB 10.5+**:
116116

117117
```sql
118-
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, BINLOG MONITOR, SHOW VIEW, REPLICATION MASTER ADMIN, SLAVE MONITOR ON *.* TO 'mysqltuner'@'localhost';
118+
GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, BINLOG MONITOR, SHOW VIEW, REPLICATION SOURCE ADMIN, REPLICA MONITOR ON *.* TO 'mysqltuner'@'localhost';
119119
```
120120

121121
**Старые версии**:

0 commit comments

Comments
 (0)