Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
66ebab8
feat(report): finalize HTML report, YAML output, and historical compa…
jmrenouard Jun 15, 2026
2a9b66e
chore: remove execution.log from git repository and sync docs
jmrenouard Jun 15, 2026
5f9cebb
feat(report): implement Phase 13 sectional global indicators and KPIs
jmrenouard Jun 15, 2026
c23198a
feat(report): add verbose timings, step percentages, and snapshot sum…
jmrenouard Jun 17, 2026
780c861
fix(main): calculate query cache efficiency using Com_select on Maria…
jmrenouard Jun 23, 2026
4575b0a
docs(metadata): remove timestamp from doc-sync generated files
jmrenouard Jun 23, 2026
a1be73c
feat(metadata): fix test badge and update version references in READMEs
jmrenouard Jun 23, 2026
64c28ce
fix(main): address PR #931 code review feedback and enhance test vali…
jmrenouard Jun 23, 2026
abe582a
docs: regenerate release notes
jmrenouard Jun 23, 2026
136a977
docs(roadmap): link strategic technical evolutions specification and …
jmrenouard Jun 23, 2026
0a87482
fix(main): add undefined/NULL guards to hr_num to resolve uninitializ…
jmrenouard Jun 24, 2026
a754147
docs: regenerate release notes
jmrenouard Jun 24, 2026
4cd208e
docs: update repository links to major/MySQLTuner-perl and add GitHub…
jmrenouard Jun 24, 2026
31e3638
docs: add LightPath as sponsor, relocate coffee button, and use star-…
jmrenouard Jun 24, 2026
da6d437
feat: recommend slow query log when disabled (#517)
jmrenouard Jun 24, 2026
0b5c859
docs: regenerate release notes
jmrenouard Jun 24, 2026
6ece0c3
test(lab): add unit test test_issue_810.t for issue 810
jmrenouard Jun 26, 2026
7fd2391
docs: regenerate release notes
jmrenouard Jun 26, 2026
1008ba4
fix: update documentation and code
jmrenouard Jun 26, 2026
5759b73
docs: regenerate release notes
jmrenouard Jun 26, 2026
596df4c
ci: optimize pre-commit hook to only run unit tests when code, tests,…
jmrenouard Jun 26, 2026
9b9e007
docs: regenerate release notes
jmrenouard Jun 26, 2026
41abef0
test(hook): verify pre-commit hook runs tests when test files change
jmrenouard Jun 26, 2026
7e3a39c
feat(cli): resolve remote memory, socket override, and temptable sizi…
jmrenouard Jun 26, 2026
7006061
docs: regenerate release notes
jmrenouard Jun 26, 2026
1575463
docs: regenerate release notes
jmrenouard Jun 27, 2026
d424fae
docs: regenerate release notes
jmrenouard Jun 27, 2026
389c4ad
docs: regenerate release notes
jmrenouard Jun 27, 2026
be838ab
docs: regenerate release notes
jmrenouard Jun 27, 2026
4f3e70e
chore(main): hide hostname, ssl, and replication warnings on localhos…
jmrenouard Jun 27, 2026
645c3d9
chore(build): rewrite dev_sync and doc_sync in Perl for consistency
jmrenouard Jun 27, 2026
2bba15f
chore(build): allow build scope in compliance auditor
jmrenouard Jun 27, 2026
0005a69
docs: regenerate release notes
jmrenouard Jun 27, 2026
b74e098
docs: regenerate release notes
jmrenouard Jun 27, 2026
9f67656
chore(main): add doc links in localhost warnings and support custom l…
jmrenouard Jun 27, 2026
2cfd624
docs: regenerate release notes
jmrenouard Jun 27, 2026
3b9c75a
docs: regenerate release notes
jmrenouard Jun 27, 2026
38ecb2f
docs: regenerate release notes
jmrenouard Jun 27, 2026
d46e3c8
docs: regenerate release notes
jmrenouard Jul 3, 2026
f715c47
docs: regenerate release notes
jmrenouard Jul 3, 2026
aee6781
fix(main): exclude MariaDB user roles and support zero-config TLS
jmrenouard Jul 3, 2026
9865449
docs: regenerate release notes
jmrenouard Jul 3, 2026
6db4faf
docs: regenerate release notes
jmrenouard Jul 3, 2026
ae41134
docs: regenerate release notes
jmrenouard Jul 3, 2026
385594b
docs: regenerate release notes
jmrenouard Jul 3, 2026
1aa3eaf
fix(main): only recommend increasing innodb_log_buffer_size when log …
jmrenouard Jul 3, 2026
093984a
docs: regenerate release notes
jmrenouard Jul 3, 2026
272ff7d
docs: regenerate release notes
jmrenouard Jul 3, 2026
246e0c0
feat(report): add pgBadger-inspired query, lock, and temp table visua…
jmrenouard Jul 5, 2026
7e1cd64
docs: regenerate release notes
jmrenouard Jul 5, 2026
30d5255
docs(metadata): promote HTML reports and add E2E examples
jmrenouard Jul 5, 2026
2ce031f
docs(releases): regenerate release notes and changelog
jmrenouard Jul 5, 2026
d736fc3
docs: regenerate release notes
jmrenouard Jul 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .agent/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ This directory contains the project's technical constitution, specialized skills
| [`hey-agent.md`](./workflows/hey-agent.md) | Unified management for Rules, Skills, and Workflows. |
| [`lab-down.md`](./workflows/lab-down.md) | Stops and cleans up the database laboratory. |
| [`lab-up.md`](./workflows/lab-up.md) | Starts a persistent database laboratory and injects data. |
| [`local-dev-sync.md`](./workflows/local-dev-sync.md) | Synchronize developer changes, run unit tests, and update changelog and release notes. |
| [`markdown-lint.md`](./workflows/markdown-lint.md) | Check markdown content for cleanliness and project standard compliance (AFF, keywords, links) |
| [`plan.md`](./workflows/plan.md) | Create or update an implementation plan (implementation_plan.md) |
| [`release-manager.md`](./workflows/release-manager.md) | High-level release orchestrator for the Release Manager role |
Expand All @@ -48,4 +49,4 @@ This directory contains the project's technical constitution, specialized skills


---
*Generated automatically by `/doc-sync` on 2026-06-12 20:03:20*
*Generated automatically by `/doc-sync`*
9 changes: 4 additions & 5 deletions .agent/rules/03_execution_rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,10 @@ To ensure quality and clarity in every development cycle, all non-trivial featur
- **Commit Validation:** Commits are automatically linted via `commitlint`. Non-compliant messages will be rejected by the pre-commit hook.
- **History Documentation:** Use `npm run commit` to generate structured history.

1. **Changelog:** All changes MUST be traced and documented inside `@Changelog`.
- _Exception_: Documentation-only updates (`docs:`) following Conventional Commits may skip the manual `@Changelog` entry if they are primarily intended for README synchronization.
- _Requirement_: Adding a new test MUST have a `test:` entry in the `@Changelog`.
- _Requirement_: Changing test scripts or updating infrastructure MUST have a `ci:` entry in the `@Changelog`.
- _Requirement_: Changing `Makefile` or files under `build/` MUST be traced in the `@Changelog` (usually via `ci:` or `chore:`).
1. **Changelog:** All changes, without exception (including documentation `docs:` and unit tests `test:`), MUST be traced and documented inside the `Changelog` file to ensure granular change tracking.
- _Requirement_: Adding a new test MUST have a `test:` entry in the `Changelog`.
- _Requirement_: Changing test scripts or updating infrastructure MUST have a `ci:` entry in the `Changelog`.
- _Requirement_: Changing `Makefile` or files under `build/` MUST be traced in the `Changelog` (usually via `ci:` or `chore:`).
- _Requirement_: All feature completions MUST be synchronized with `ROADMAP.md` before final PR/Commit.
- _Ordering_: Changelog entries MUST be ordered by category: `chore`, `feat`, `fix`, `test`, `ci`, then others.
- _Release Notes_: All release notes generated in `releases/` MUST follow the same category ordering in their "Executive Summary" section.
Expand Down
2 changes: 1 addition & 1 deletion .agent/workflows/doc-sync.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ category: Documentation
// turbo

```bash
python3 build/doc_sync.py
perl build/doc_sync.pl
```

1. **Full Documentation Review Checklist**:
Expand Down
32 changes: 32 additions & 0 deletions .agent/workflows/local-dev-sync.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
trigger: explicit_call
description: Synchronize developer changes, run unit tests, and update changelog and release notes.
category: tool
---

# Local Developer Sync Workflow

This workflow provides local synchronization automation for the developer, ensuring version consistency, automatic changelog sorting, release notes updating, unit testing, and git delivery.

## 🧠 Rationale

Ensuring a clean and synchronized branch history, accurate release documentation, and fully passing unit tests before any push to the remote repository.

## πŸ› οΈ Implementation

Run the local dev-sync orchestrator script:

// turbo

```bash
perl build/dev_sync.pl
```

## βœ… Verification

- The script returns exit code 0.
- All version files are confirmed to be consistent.
- `Changelog` is updated and sorted according to the Conventional Commit categories.
- `releases/v[VERSION].md` matches the latest entries.
- All local unit tests passed successfully.
- Modified release files are committed and pushed to `origin`.
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: Bug report
about: Create a report to help us improve MySQLTuner
title: '[BUG] '
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**Execution Command**
Please provide the exact command used to run MySQLTuner:
```bash
perl mysqltuner.pl [your arguments here]
```

**Environment info:**
- MySQLTuner version: (e.g. 2.9.0)
- Database Server: (e.g. MySQL, MariaDB, Percona Server)
- Database Version: (e.g. 8.0.35, 10.6.15)
- Operating System & Version: (e.g. Rocky Linux 9, Ubuntu 22.04)
- Perl version: (e.g. v5.32.1)

**MySQLTuner Debug Output**
Please run MySQLTuner with the `--debug` option and paste the output here.
> ⚠️ **IMPORTANT:** Obfuscate/remove any sensitive database credentials, IP addresses, hostnames, or passwords before pasting.

```markdown
<Paste output of "perl mysqltuner.pl --debug [arguments]" here>
```

**To Reproduce**
Steps to reproduce the behavior if not fully captured by the debug output:
1. Run command '...'
2. See error '...'

**Expected behavior**
A clear and concise description of what you expected to happen.

**Additional context**
Add any other context about the problem here (e.g. custom configuration files, /etc/my.cnf).
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Stack Overflow
url: http://stackoverflow.com/questions/tagged/mysqltuner
about: Please post usage questions or support issues on Stack Overflow using the 'mysqltuner' tag.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for MySQLTuner
title: '[ENHANCEMENT] '
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. (e.g., I'm always frustrated when [...])

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
17 changes: 16 additions & 1 deletion .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -1 +1,16 @@
npx --no-install commitlint --edit "$1"
#!/bin/sh

# Run commitlint first to validate the commit message format
npx --no-install commitlint --edit "$1" || exit 1

# Check if Changelog is staged when commit type is feat or fix
COMMIT_MSG_FILE="$1"
FIRST_LINE=$(head -n 1 "$COMMIT_MSG_FILE")

if echo "$FIRST_LINE" | grep -qE "^(feat|fix)(\([^)]+\))?!?:\s" ; then
if ! git diff --cached --name-only | grep -q "^Changelog$"; then
echo "ERROR: Commit type 'feat' or 'fix' detected, but 'Changelog' is not staged."
echo "Please update and stage 'Changelog' before committing."
exit 1
fi
fi
9 changes: 8 additions & 1 deletion .husky/pre-commit
100644 β†’ 100755
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
npm test
#!/bin/sh

# Only run tests if code, tests, build scripts, Makefile, or package configuration has changed
if git diff --cached --name-only | grep -qE '\.(pl|pm)$|^tests/|^build/|^Makefile$|^package(-lock)?\.json$'; then
npm test
else
echo "Husky [pre-commit]: No code or test files modified. Skipping unit tests."
fi
2 changes: 1 addition & 1 deletion CURRENT_VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.8.45
2.9.0
Loading