# myflames 3.3.3 (2026-11-09)

myflames 3.3.3 is available for macOS on Apple Silicon and, as an unsigned preview, for Windows x64.

## Release highlights

- The Query editor opens and saves `.sql` files, finds and replaces text, compares results, and shows what the server did for each statement.
- Top statements and Query digest suggest indexes, and measure the statement again after you create one.
- Processlist shows who blocks whom, starting from the root blocker.
- Health and Query digest can save a baseline and show what changed since.

## New features

- Adds a list of target versions to **Upgrade check**, read from MySQL's release notes and Percona's package repositories. It offers only releases on a supported upgrade path, newest first, and explains how the server was installed (RPM, DEB or a generic archive) and what that means for the upgrade. Offline, MySQL targets come from the releases bundled with myflames.
- Adds suggested indexes to **Top statements** and **Query digest**. For a statement that uses no index or a full scan, **Read suggestion** runs `EXPLAIN` and checks the existing indexes, and you can copy the suggested `CREATE INDEX` or open it in the Query editor.
- Adds **Measure the statement again** to the Query editor tab that created a suggested index. It runs the statement once with Run analysis and compares its time and rows examined with the digest averages from before the change.
- Adds a blocking graph to **Processlist**. Each session shows whether it is a **Root blocker**, which session it waits on and how many sessions it blocks, and the inspector follows the chain and lists up to ten recent statements.
- Adds server counters to every Query editor run: rows examined, returned and changed, index use, temporary tables on disk and sort merge passes. An open transaction shows its age, the rows it changed and how many sessions wait on its locks, with **Commit**, **Roll back** and **Show who waits**.
- Adds filters to query results. Search the loaded rows or show and hide a column value, and selection totals, copy and export follow the filter.
- Adds **Pin result** and **Compare with pinned**. Pin up to 5,000 rows of a result, run the query again, and see the added, removed and changed rows matched by a key column you choose.
- Adds find and replace to the Query editor: `⌘F` for Find and `⌥⌘F` for Find and replace (`Ctrl+F` and `Ctrl+H` on Windows), with **Match case**, **Whole word** and **Regular expression**.
- Adds **Open SQL file…**, **Save** and **Save as** to Query editor tabs, for `.sql` and `.txt` files up to 5 MiB (`⌘O`, `⌘S` and `⇧⌘S`). A tab with unsaved edits asks before it closes.
- Adds **On error: Stop / Continue** to **Run all**. With Continue, the run goes on after a failed statement and then counts the statements that succeeded, failed or did not run.
- Adds a **Database** choice to each Query editor tab. It sets the tab's default database and is kept when the workspace restores your tabs.
- Adds Back and Forward across views, query tabs and plans with `⌘[` and `⌘]` (`Ctrl+[` and `Ctrl+]`, or `Alt+Left` and `Alt+Right`, on Windows). Following a link between views shows a **Back to …** chip in the top bar.
- Adds object search to `⌘K` (`Ctrl+K`). Type two or more characters to find databases, tables, views, procedures, functions, triggers and events on the current connection. Routines, triggers and events open their `SHOW CREATE` statement in a new tab without running it.
- Adds **Routines**, **Triggers** and **Events** folders to each database in the Query editor's **Schemas** panel.
- Adds **Workload > Resources > Memory**, which shows tracked memory by category, session and account, the top events and growth over a sampling window. On MariaDB it can show allocator and session memory with Performance Schema off.
- Adds **Save baseline** and **Compare with baseline** to Health and Query digest. Health shows each tile's earlier value, and Query digest shows statements that are new or whose average latency or calls per second grew by more than 50%. Baselines stay on your computer.
- Adds **Changed through myflames** to Parameters and to Users and roles. It shows the last change you made to that object from myflames, with its SQL and a link to the Audit log entry, and simple parameter changes offer **Undo**.
- Adds misestimate marks to measured plans. Operators whose actual row count is 10 times or more off the optimizer's estimate are marked in Visual Explain, the execution tree, the bar chart and the flame graph, and **Misestimates** steps through them worst first. For a plan captured in the Query editor, the inspector shows when the table's statistics were last updated and an `ANALYZE TABLE` statement to copy.
- Adds connection readiness to Home's Connections list: the last product, version, replication or cluster role, read-only state and Performance Schema state myflames saw for each server. **Check now** reads them again.
- Adds import of MySQL and MariaDB connections from MySQL Workbench and DBeaver, without passwords. The preview unchecks duplicates, and imported connections use the Production policy and never connect on their own.

## Improvements

- Top statements says which server setting cut off a statement's text, with its value, a suggested value and about how much Performance Schema memory the change costs. It gives the option-file lines and, on MySQL 8.0 and later, the `SET PERSIST_ONLY` statements to copy.
- Health refreshes itself while the view is on screen. It waits one sampling interval after each read, pauses when the window is hidden and backs off after a failed read. **Off** and fixed 10, 30 and 60 second intervals are still available.
- **Tables** replaces Free space with **Fragmentation**, ranking InnoDB tables by reclaimable space. A selected table offers `OPTIMIZE TABLE` and `ALTER TABLE ... ENGINE=InnoDB` to copy or open in the Query editor, with notes on online rebuilds, disk space and replicas.
- Maintenance shows a running dump, restore or clone as it goes: a progress bar, the current step, bytes written, rate and elapsed time. For `mysqldump` and `mariadb-dump` the percentage is an estimate. A finished dump offers **Open in Finder** (**Open in File Explorer** on Windows).
- Query editor tabs look like tabs, with a border, rounded corners and an accent bar on the selected one.
- Refreshes the myflames logo, wordmarks and desktop app icon.

## Bug fixes

- Fixed an issue where a long open-transaction indicator pushed **Run**, **Run all** and **Stop** out of view. Results also keep their rows visible in the smallest window when a statement's server counters are shown.
- Fixed an issue where object search and the **Schemas** folders failed on object names that contain control characters.
- Fixed an issue where **Maintenance > Dump** with `mysqldump` or `mariadb-dump` showed only "Running" and an empty log until the dump finished.

## Deprecations and removals

- The Python command line is deprecated. Every command, flag and output format keeps working and gets fixes until a future major release removes it, and new features go to the desktop app only. Each command prints one notice on standard error, which `MYFLAMES_NO_DEPRECATION_WARNING=1` hides.
- The `myflames-mcp` agent tools are deprecated along with the command line. They keep working, and no new tools will be added.

## Additional resources

- Download the latest myflames from [myflames.io](https://myflames.io/download.html), or this version from [GitHub](https://github.com/vgrippa/myflames/releases/tag/v3.3.3)
- New to myflames? Start with the [Quickstart](https://myflames.io/docs.html?article=quickstart)
- Report a problem or ask for a feature on [GitHub Issues](https://github.com/vgrippa/myflames/issues)

Inspired by [Brendan Gregg's FlameGraph](https://github.com/brendangregg/FlameGraph) and [Tanel Poder's SQL Plan FlameGraphs](https://tanelpoder.com/posts/visualizing-sql-plan-execution-time-with-flamegraphs/).
