Skip to content

Commit b3a21a2

Browse files
neverinfamousTemp
andauthored
chore(deps): bump @types/node to ^25.2.3, typescript-eslint to ^8.55.0 (#42)
Co-authored-by: Temp <mike@adamic.ai>
1 parent 0fe17be commit b3a21a2

File tree

8 files changed

+99
-98
lines changed

8 files changed

+99
-98
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111

1212
- **`mysqlsh_run_script` Secure Temporary File Handling (CodeQL)** — Replaced insecure `os.tmpdir()` + manual filename pattern with `fs.mkdtemp()` for SQL script temp files. The previous approach created predictable files in the shared OS temp directory, flagged by CodeQL as `js/insecure-temporary-file`. Now creates a unique temporary directory with restrictive permissions via `mkdtemp`, writes the script inside it, and recursively removes the directory after execution.
1313

14+
### Dependencies
15+
16+
- Bumped `@types/node` from `^25.2.2` to `^25.2.3`
17+
- Bumped `typescript-eslint` from `^8.54.0` to `^8.55.0`
18+
1419
## [2.2.0] - 2026-02-08
1520

1621
### Fixed

DOCKER_README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# MySQL MCP Server
22

3-
**Last Updated: February 8, 2026**
3+
**Last Updated F0ebruary 10, 2026**
44

55
[![GitHub](https://img.shields.io/badge/GitHub-neverinfamous/mysql--mcp-blue?logo=github)](https://github.com/neverinfamous/mysql-mcp)
66
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<!-- mcp-name: io.github.neverinfamous/mysql-mcp -->
44

5-
**Last Updated: February 8, 2026**
5+
**Last Updated F0ebruary 10, 2026**
66

77
[![GitHub](https://img.shields.io/badge/GitHub-neverinfamous/mysql--mcp-blue?logo=github)](https://github.com/neverinfamous/mysql-mcp)
88
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

package-lock.json

Lines changed: 66 additions & 66 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@
5252
},
5353
"devDependencies": {
5454
"@eslint/js": "^9.39.2",
55-
"@types/node": "^25.2.2",
55+
"@types/node": "^25.2.3",
5656
"@vitest/coverage-v8": "^4.0.18",
5757
"eslint": "^9.39.2",
5858
"globals": "^17.3.0",
5959
"typescript": "^5.9.3",
60-
"typescript-eslint": "^8.54.0",
60+
"typescript-eslint": "^8.55.0",
6161
"vitest": "^4.0.18"
6262
}
63-
}
63+
}

releases/v2.2.0-release-notes.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,14 @@ When `ifExists`/`ifNotExists` flag prevents an action, tools now return `{ skipp
106106

107107
Reduce payload size dramatically for status/diagnostic tools:
108108

109-
| Tool | Full → Summary |
110-
|------|---------------|
111-
| `mysql_cluster_status` | ~21KB → ~500B |
109+
| Tool | Full → Summary |
110+
| ----------------------------- | -------------------- |
111+
| `mysql_cluster_status` | ~21KB → ~500B |
112112
| `mysql_cluster_router_status` | ~12KB → ~300B/router |
113-
| `mysql_innodb_status` | ~5KB → ~200B |
114-
| `mysql_optimizer_trace` | ~10KB → ~500B |
115-
| `proxysql_status` | ~4KB → ~500B |
116-
| `proxysql_runtime_status` | ~3KB → ~300B |
113+
| `mysql_innodb_status` | ~5KB → ~200B |
114+
| `mysql_optimizer_trace` | ~10KB → ~500B |
115+
| `proxysql_status` | ~4KB → ~500B |
116+
| `proxysql_runtime_status` | ~3KB → ~300B |
117117

118118
### New Parameters
119119

@@ -138,17 +138,17 @@ Core, Transaction, Admin, Performance, Optimization, Monitoring, Replication, Sc
138138

139139
### Default Limits
140140

141-
| Tool | Before | After |
142-
|------|--------|-------|
143-
| `mysql_export_table` | Unbounded | 100 rows |
144-
| `mysql_show_status` | ~517 rows | 100 |
145-
| `mysql_show_variables` | ~600 rows | 100 |
146-
| `mysql_binlog_events` | 100 events | 20 |
147-
| `mysql_query_stats` | 20 | 10 |
148-
| `mysql_index_usage` | 50 → 20 | 10 |
149-
| `mysql_sys_schema_stats` | 50 → 20 | 10 |
150-
| `mysql_sys_memory_summary` | 20 | 10 |
151-
| `proxysql_global_variables` | 200 | 50 |
141+
| Tool | Before | After |
142+
| --------------------------- | ---------- | -------- |
143+
| `mysql_export_table` | Unbounded | 100 rows |
144+
| `mysql_show_status` | ~517 rows | 100 |
145+
| `mysql_show_variables` | ~600 rows | 100 |
146+
| `mysql_binlog_events` | 100 events | 20 |
147+
| `mysql_query_stats` | 20 | 10 |
148+
| `mysql_index_usage` | 50 → 20 | 10 |
149+
| `mysql_sys_schema_stats` | 50 → 20 | 10 |
150+
| `mysql_sys_memory_summary` | 20 | 10 |
151+
| `proxysql_global_variables` | 200 | 50 |
152152

153153
### Minimal Payload (P137)
154154

src/adapters/mysql/tools/shell/__tests__/restore.test.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ vi.mock("child_process", () => ({
1515
}));
1616

1717
vi.mock("fs", async () => {
18-
const actual =
19-
await vi.importActual<typeof import("fs")>("fs");
18+
const actual = await vi.importActual<typeof import("fs")>("fs");
2019
return {
2120
...actual,
2221
promises: {
@@ -266,10 +265,9 @@ describe("Shell Restore and Script Tools", () => {
266265
"SELECT 1",
267266
"utf8",
268267
);
269-
expect(fsp.rm).toHaveBeenCalledWith(
270-
"/tmp/mysqlsh_script_abc123",
271-
{ recursive: true },
272-
);
268+
expect(fsp.rm).toHaveBeenCalledWith("/tmp/mysqlsh_script_abc123", {
269+
recursive: true,
270+
});
273271
});
274272
});
275273
});

src/adapters/mysql/tools/shell/restore.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,9 +171,7 @@ export function createShellRunScriptTool(): ToolDefinition {
171171
if (language === "sql") {
172172
// Create a secure temp directory via mkdtemp (restrictive permissions,
173173
// unique path) to avoid CodeQL js/insecure-temporary-file alert.
174-
const tempDir = await fs.mkdtemp(
175-
join(tmpdir(), `mysqlsh_script_`),
176-
);
174+
const tempDir = await fs.mkdtemp(join(tmpdir(), `mysqlsh_script_`));
177175
const tempFile = join(tempDir, "script.sql");
178176
try {
179177
await fs.writeFile(tempFile, script, "utf8");

0 commit comments

Comments
 (0)