Skip to content

Commit e5400ec

Browse files
committed
feat(release): release 2.8.38
1 parent efa6494 commit e5400ec

8 files changed

Lines changed: 142 additions & 28 deletions

File tree

CURRENT_VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.8.37
1+
2.8.38

Changelog

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
2.8.37 2026-02-14
1+
2.8.38 2026-02-14
22

3+
- fix: prevent creation of unauthorized directory "0" when --dumpdir is not explicitly set or set to 0 (Issue #20).
4+
- fix: robust, version-agnostic detection of password column in mysql.user via schema inspection (Issue #22).
35
- refactor: replace massive system calls (awk, grep, uname, getconf, sysctl) with native Core Perl functions for Linux.
46
- feat: implement native parsing for /proc/cpuinfo, /proc/meminfo, /proc/sys/vm/swappiness and /etc/resolv.conf.
57
- refactor: optimize CPU core count, logical CPU detection, and OS memory setup for local environments.
68
- refactor: use POSIX::uname and POSIX::sysconf for standardized system and architecture reporting.
79
- fix: resolve MariaDB socket authentication regression and restore automatic credential discovery (Issue #875).
810
- fix: remediate Prototype Pollution vulnerability in lodash (CVE-2021-23341) by forcing update to 4.17.23.
911
- test: add reproduction test for authentication discovery chain (tests/issue_875_regression.t).
10-
- chore: bump version to 2.8.37.
12+
- test: add comprehensive test suite for password column detection (tests/repro_issue_22.t).
13+
- chore: bump version to 2.8.38.
1114

1215
2.8.36 2026-02-13
1316

POTENTIAL_ISSUES

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@ This file records anomalies discovered during laboratory testing (Perl warnings,
1010
- Found in: MySQL 8.x and Percona 8.x laboratory logs.
1111
- Fix: Escaped double quotes in `select_array` and `select_array_with_headers` to ensure safe transport in container mode.
1212
- [x] **MariaDB LTS Stability**: Verified clean for 11.4, 10.11, 10.6.
13-
- [ ] **Performance Schema Disabled**: `✘ Performance_schema should be activated.` reported during audit.
14-
- Found in: `examples/20260127_004622_mariadb114/Standard/execution.log`
15-
- Impact: Reduced diagnostic depth for performance metrics.
16-
- Reproduce: `tests/repro_pfs_disabled.t`
13+
- [x] **Performance Schema Disabled**: `Performance_schema should be activated.` reported during audit. Verified fix in lab tests.
1714
- **How to fix**:
1815
- **MySQL/MariaDB**: Add `performance_schema=ON` under `[mysqld]` in your `my.cnf` or `server.cnf` and restart the service.
1916
- **Cloud/Managed**: Enable via your cloud provider console (e.g., AWS Parameter Group, GCP Flags).
@@ -76,9 +73,9 @@ The following external commands are currently used via `execute_system_command`
7673

7774
#### Medium Priority Replacements (Environmental Specifics)
7875

79-
- [ ] **Command**: `stty -echo` / `stty echo` (lines 1701, 1925)
76+
- [x] **Command**: `stty -echo` / `stty echo` (lines 1701, 1925)
8077
- **Replacement**: Use `POSIX::Termios` for terminal attribute control (avoids `stty` binary dependency).
81-
- [ ] **Command**: `uptime` (line 3107)
78+
- [x] **Command**: `uptime` (line 3107)
8279
- **Replacement**: Read `/proc/uptime` (Linux-only) or calculate via `$^T` (script start time) for script uptime. System uptime requires `POSIX` / `/proc`.
8380
- [ ] **Command**: `df` (lines 2790, 2791)
8481
- **Replacement**: No cross-platform Core Perl replacement. Keep for now or use `statvfs` where available.

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ We provide security updates for the following versions of MySQLTuner:
88

99
| Version | Status |
1010
| ------- | --------------------- |
11-
| v2.x | Supported (v2.8.37) |
11+
| v2.x | Supported (v2.8.38) |
1212
| < v2.x | End of Life |
1313

1414
We strongly recommend that all users stay updated with the latest stable release available on [GitHub Releases](https://github.com/jmrenouard/MySQLTuner-perl/releases).

USAGE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# NAME
22

3-
MySQLTuner 2.8.37 - MySQL High Performance Tuning Script
3+
MySQLTuner 2.8.38 - MySQL High Performance Tuning Script
44

55
# IMPORTANT USAGE GUIDELINES
66

@@ -15,7 +15,7 @@ See `mysqltuner --help` for a full list of available options and their categorie
1515

1616
# VERSION
1717

18-
Version 2.8.37
18+
Version 2.8.38
1919
&#x3d;head1 PERLDOC
2020

2121
You can find documentation for this module with the perldoc command.

mysqltuner.pl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env perl
2-
# mysqltuner.pl - Version 2.8.37
2+
# mysqltuner.pl - Version 2.8.38
33
# High Performance MySQL Tuning Script
44
# Copyright (C) 2015-2026 Jean-Marie Renouard - jmrenouard@gmail.com
55
# Copyright (C) 2006-2026 Major Hayden - major@mhtx.net
@@ -65,7 +65,7 @@ package main;
6565
our $is_win = $^O eq 'MSWin32';
6666

6767
# Set up a few variables for use in the script
68-
our $tunerversion = "2.8.37";
68+
our $tunerversion = "2.8.38";
6969
our ( @adjvars, @generalrec, @modeling, @sysrec, @secrec );
7070

7171
# Set defaults
@@ -9860,7 +9860,7 @@ sub dump_csv_files {
98609860
98619861
=head1 NAME
98629862
9863-
MySQLTuner 2.8.37 - MySQL High Performance Tuning Script
9863+
MySQLTuner 2.8.38 - MySQL High Performance Tuning Script
98649864
98659865
=head1 IMPORTANT USAGE GUIDELINES
98669866
@@ -9875,7 +9875,7 @@ =head1 OPTIONS
98759875
98769876
=head1 VERSION
98779877
9878-
Version 2.8.37
9878+
Version 2.8.38
98799879
=head1 PERLDOC
98809880
98819881
You can find documentation for this module with the perldoc command.

mysqltuner.pl.ERR

Lines changed: 0 additions & 12 deletions
This file was deleted.

releases/v2.8.38.md

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# Release Notes - v2.8.38
2+
3+
**Date**: 2026-02-14
4+
5+
## 📝 Executive Summary
6+
7+
```text
8+
2.8.38 2026-02-14
9+
10+
- chore: bump version to 2.8.38.
11+
- feat: implement native parsing for /proc/cpuinfo, /proc/meminfo, /proc/sys/vm/swappiness and /etc/resolv.conf.
12+
- fix: prevent creation of unauthorized directory "0" when --dumpdir is not explicitly set or set to 0 (Issue #20).
13+
- fix: robust, version-agnostic detection of password column in mysql.user via schema inspection (Issue #22).
14+
- fix: resolve MariaDB socket authentication regression and restore automatic credential discovery (Issue #875).
15+
- fix: remediate Prototype Pollution vulnerability in lodash (CVE-2021-23341) by forcing update to 4.17.23.
16+
- test: add reproduction test for authentication discovery chain (tests/issue_875_regression.t).
17+
- test: add comprehensive test suite for password column detection (tests/repro_issue_22.t).
18+
- refactor: replace massive system calls (awk, grep, uname, getconf, sysctl) with native Core Perl functions for Linux.
19+
- refactor: optimize CPU core count, logical CPU detection, and OS memory setup for local environments.
20+
- refactor: use POSIX::uname and POSIX::sysconf for standardized system and architecture reporting.
21+
```
22+
23+
## 📈 Diagnostic Growth Indicators
24+
25+
| Metric | Current | Progress | Status |
26+
| :--- | :--- | :--- | :--- |
27+
| Total Indicators | 12 | +12 | 🚀 |
28+
| Efficiency Checks | 0 | 0 | 🛡️ |
29+
| Risk Detections | 2 | +2 | 🚀 |
30+
| Information Points | 10 | +10 | 🚀 |
31+
32+
## 🧪 New Diagnostic Capabilities
33+
34+
### 🛑 New Risk Detections
35+
- Table $dbname.$tbname has no index defined
36+
- innodb_snapshot_isolation is OFF with REPEATABLE-READ (Stricter snapshot isolation is disabled)
37+
38+
### ℹ️ New Information Points
39+
- Auto-generating raw output file: $raw_output_file
40+
- Dumpdir: $opt{dumpdir}
41+
- Dumping information schema
42+
- Dumping performance schema
43+
- Dumping sys schema
44+
- General MyIsam metrics:
45+
- InnoDB Snapshot Isolation:
46+
- SKIPPING $sys_view
47+
- Transaction Isolation Level: $isolation
48+
- table_definition_cache (
49+
50+
## 🛠️ Internal Commit History
51+
52+
Initial release or no previous tag found.
53+
54+
## ⚙️ Technical Evolutions
55+
56+
### ➕ CLI Options Added
57+
- `--CLOUD`
58+
- `--CONNECTION`
59+
- `--MISC`
60+
- `--Modeling`
61+
- `--OUTPUT`
62+
- `--PERFORMANCE`
63+
- `--Performance`
64+
- `--Security`
65+
- `--System`
66+
- `--azure`
67+
- `--bannedports`
68+
- `--buffers`
69+
- `--checkversion`
70+
- `--cloud`
71+
- `--container`
72+
- `--cvefile`
73+
- `--data`
74+
- `--dbgpattern`
75+
- `--debug`
76+
- `--defaultarch`
77+
- `--defaults-extra-file`
78+
- `--defaults-file`
79+
- `--dumpdir`
80+
- `--experimental`
81+
- `--feature`
82+
- `--forcemem`
83+
- `--forceswap`
84+
- `--host`
85+
- `--ignore-tables`
86+
- `--json`
87+
- `--max-password-checks`
88+
- `--maxportallowed`
89+
- `--mysqladmin`
90+
- `--mysqlcmd`
91+
- `--noask`
92+
- `--nobad`
93+
- `--nogood`
94+
- `--noinfo`
95+
- `--nondedicated`
96+
- `--noprettyicon`
97+
- `--noprocess`
98+
- `--outputfile`
99+
- `--passenv`
100+
- `--passwordfile`
101+
- `--pipe`
102+
- `--pipe_name`
103+
- `--port`
104+
- `--prettyjson`
105+
- `--protocol`
106+
- `--reportfile`
107+
- `--schemadir`
108+
- `--server-log`
109+
- `--silent`
110+
- `--skippassword`
111+
- `--skipsize`
112+
- `--socket`
113+
- `--ssh-host`
114+
- `--ssh-identity-file`
115+
- `--ssh-password`
116+
- `--ssh-user`
117+
- `--ssl-ca`
118+
- `--template`
119+
- `--updateversion`
120+
- `--userenv`
121+
122+
## ✅ Laboratory Verification Results
123+
124+
- [x] Automated TDD suite passed.
125+
- [x] Multi-DB version laboratory execution validated.
126+
- [x] Performance indicator delta analysis completed.

0 commit comments

Comments
 (0)