Changelog
Every released version, with its date and what changed in it.
Every released version of Sailfish, newest first, with what changed in each. Releases are published to the private
Composer registry at sailfish.composer.sh; composer update boring-o11y/my-sailfish moves
you to the newest release your version constraint allows.
All releases#
| Version | Date | Headline |
|---|---|---|
| 0.2 | 23 Oct 2026 | Transactions after they finish, and an Instrumentation page |
| 0.1 | 2 Oct 2026 | First public release |
0.2 — 23 October 2026#
Added — a Transactions page. Every collection reads the transactions that finished since the
previous one: committed against rolled back, charted as the share rolled back, and those that ran at least
transactions.long_seconds (5 by default, SAILFISH_LONG_TRANSACTION_SECONDS), listed slowest
first with how long each ran, whether it rolled back, how many statements it ran, its access mode and isolation
level, and the account and program that ran it. Never its text. Long transactions are kept for
retention.long_transaction_days (30). See
The dashboard and
What gets recorded.
Added — two events. A rollback surge, sent immediately, when the share of transactions rolled back
over the last hour is at least 3× its usual share for that hour, at least 5%, and at least 60 rollbacks. A long
transaction, sent in the daily digest, for each account and program that finished a transaction over
transactions.long_seconds in the last hour. See
Events.
Added — the statements each open transaction has run. On the Activity page, under the session in
the open transactions and in the blocking trees: their text, time, rows affected, sent and examined, and any error,
from events_statements_history. The statement that took row locks on a table someone is waiting for is
marked where performance_schema can tell. Text and error messages are behind the
viewSailfishQueryText gate.
Added — what a running statement waits on, and ALTER TABLE progress. While
events_waits_current is on, the Activity page says what each running statement is waiting on: disk I/O,
the redo log, a row, table or metadata lock, a mutex or latch, the network. While
events_stages_current is on, it says the stage each statement is in, and shows a running
ALTER TABLE's progress with an estimate of the time left. See
The dashboard.
Added — an Instrumentation page. What each part of Sailfish needs from performance_schema and
whether it is on, every consumer with what it records and what Sailfish reads it for, the share of statements sent
as native prepared statements, and the SQL and my.cnf lines to turn on what is off. The overview also
warns when most statements get no digest. See
The dashboard.
Changed — table-scan surges allow for traffic. The usual scans are grown by as much as the table's
index reads grew, and the surge must add twice the usual on top of that, so more queries alone stay quiet. A quiet
hour still needs 3× the usual. A surge opens only on a table of at least min_rows (1,000), since a
small lookup table is scanned by design. See
Events.
Removed — PHP 8.2 and 8.3. Sailfish now requires PHP 8.4 or later.
0.1 — 2 October 2026#
The first public release: five-minute snapshots of performance_schema kept across restarts, the overview, Server, Activity, Indexes, Tables, Errors and Events pages, sixteen detectors, and notifications by mail, Slack and webhook with a daily digest, reminders and recoveries.