New Features
- Configurable graph window: A new
--graph-window-minutesflag (default: 10) controls how much metric history is retained in graphs. Set it to0to disable trimming and accumulate all history. This trimming previously applied only in daemon mode; it now applies in TUI mode as well (#121). - Hold to fast-scrub replays: Holding
[(back) or](forward) now accelerates through a replay the longer you hold, making it easy to cover large time spans quickly. Single key taps and the on-screen Back/Forward buttons still move one step at a time. tab_titlein credential profiles: Set atab_titlefield in a credential profile to customize the tab label for that connection (#120).DOLPHIE_CONFIGenvironment variable: Specify the config file path via theDOLPHIE_CONFIGenv var as an alternative to--config-file. It's included in the documented precedence order.
Performance
- Much faster replay back/forward navigation: Stepping backward and seeking through recorded replays is dramatically faster. Dolphie now reuses already-decompressed metric data for the rolling graph window instead of rebuilding it from scratch on every step, roughly 44× fewer decompressions on a real replay file in testing. The cache is also warmed while playing forward, so scrubbing back over rows you've already seen is effectively instant, and replay position metadata is no longer recomputed when nothing has changed.
Bug Fixes
- Mouse support in iTerm2 over SSH: Dolphie now detects iTerm2 by probing the terminal directly, so the mouse works over SSH even when the server doesn't forward the
LC_TERMINAL/TERM_PROGRAMenvironment variables. Manually exportingLC_TERMINAL=iTerm2on the remote host is no longer necessary. - Multi-source replica channel matching: When monitoring a replica that replicates from multiple sources, Dolphie now identifies the channel connected to the monitored primary by matching
Source_UUID/Master_UUIDagainst the primary'sserver_uuid, rather than always using the first row returned. - Race condition in replay mode: Fixed a race condition that could occur when switching from a live connection to replay mode.
- Python 3.9 compatibility: Fixed several compatibility issues across the Processlist, ProxySQL Hostgroup Summary, Replication, Statements Summary, and Event Log panels.
- MarkupError in the event log: Messages containing bracket characters (
[/]) no longer cause aMarkupErrorin the event log screen. - Disabled button color: The Back/Forward replay buttons now use the app's standard gray when disabled at the start/end of a replay, matching the rest of the UI.
Dependency Updates
| Package | Old | New | Note |
|---|---|---|---|
| rich | 14.3.3 | 15.0.0 | |
| pymysql | 1.1.2 | 1.2.0 | |
| packaging | 26.0 | 26.2 | |
| textual | 8.1.1 | 8.2.7 | |
| orjson | 3.10.15 | 3.10.18 | Held at 3.10.x; 3.11+ requires Python ≥3.10 |
| requests | 2.32.5 | 2.32.5 | Held at 2.32.x; 2.34+ requires Python ≥3.10 |