This page describes Calíope 1.2. The App Store currently serves 1.1 — version 1.2 is in review, so what is marked below as shipped in 1.2 is finished and waiting on Apple rather than available to download today.
Calíope grows from three things: what arrives through support, the diagnostic reports people choose to share, and daily work against real databases. This page says where each item stands — including the ones we decided not to build, with the reason, because a roadmap that only lists promises is not telling you much. Something missing? Suggest a feature.
Status legend
Shipped
In progress
Under consideration
Not planned
🟢 Shipped recently
— already in the app; see the changelog for the full list
A companion app for your iPhone
Shipped
Calíope Companion is a separate iPhone app with five tabs — connections, snippets, query history, assistant conversations and diagnostics. It carries no database driver and never connects to your servers: everything it shows arrives through iCloud, which is also why it names the closed switch instead of showing an empty screen and letting you conclude there is nothing wrong. Connection profiles are the only thing it writes back, and it preserves the fields it does not understand.
Version 1.2
MongoDB
Shipped
A tool for document databases, with their own vocabulary: browse collections and documents, edit them as JSON, write filters and aggregation pipelines, manage indexes, and check the server, its running operations and its users. Every value shows its type — ObjectId, decimal128, dates, binaries — because in a schemaless database that is half the information.
Version 1.2
Find and replace across a whole database
Shipped
Search text across every text column of every table, see how many rows match in each one, and replace in bulk with a preview computed by the server itself. It tells you when a match count and a replace count differ — collation usually ignores case and REPLACE() never does, and without that warning a bulk edit announces 300 rows and changes 100 without anything failing.
Version 1.2
Spatial data on a map
Shipped
GEOMETRY columns are read, drawn on a map and edited by dragging a pin or a vertex. Before this, a spatial column could not be read anywhere in the app: it showed up as [25 bytes]. Dragging composes the statement and shows it to you — nothing is written until you accept.
Version 1.2
One server, two addresses
Shipped
Every connection profile now takes an alternate host. If the main one does not answer, Calíope tries the second with the same port and the same credentials — handy when the same server is reached at one address from the Mac and another from the iPad. When the session comes in through the alternate, it says so.
Version 1.2
Backups of many gigabytes
Shipped
The backup engine was rewritten so memory no longer depends on the size of the database. A 722 MB dump with 4 million rows peaks at 68 MB of memory, and restoring it takes 19 seconds using 14 MB. Cancelling actually cancels, instead of leaving the dump running to the end.
Version 1.2
An error log you can read from your phone
Shipped
When something goes wrong, Calíope now explains it, suggests what to check, links to the relevant help topic and keeps a record with its date and device. The iPhone companion can read that log — read-only: pruning and deleting stay on the desktop, because a phone that can wipe the log of an open incident is a quiet way to lose the evidence.
Version 1.2
A backup of your own settings
Shipped
Export and import everything Calíope keeps outside the device — connection profiles, preferences, groups — with scheduled copies and a restore point taken automatically before anything risky: enabling or disabling sync, erasing data, importing. Secrets are opt-in and always encrypted, and whatever is left out of a copy is written into the file with its reason.
Version 1.2
SQLite Editor and File Previewer
Shipped
Two tools that need no server at all. The SQLite Editor opens local .sqlite and .db files and lets you work on them — structure, data, SQL, pragmas, with Save/Revert transactions. The File Previewer reads .md, .sql, .json, .csv and .log read-only, with foldable JSON and rendered Markdown.
Version 1.2
🟣 In progress
— committed and underway
More engines: the seam is already in place
In progress
Adding an engine to Calíope is implementing a set of protocols, not editing the tools. That work is done and proven: the backup engine, the schema comparator and the error catalogue already run through it, and no engine name is written anywhere outside its own folder — not even in the five translation files. What is left for a second SQL engine is its provider.
Groundwork shipped in 1.2
🟡 Under consideration
— weighing scope, technical fit and demand. No date implied
PostgreSQL
Under consideration
Native PostgreSQL connectivity alongside MariaDB/MySQL: connection profiles, schema browser, query editor and exports. The same Apple-native experience, for the Postgres world. It is the most asked-for engine, and the groundwork above is what makes it a provider rather than a rewrite.
More interface languages
Under consideration
Calíope ships in five: English, Spanish, French, German and Italian. Portuguese and Japanese have both come up. Tell us which one you would like next — the app is fully translated rather than machine-localised, so each new language is real work and we would rather do the right one.
🔴 Not planned
— decided against, with the reason. These stay visible on purpose
Encrypted SQLite databases (SQLCipher)
Not planned
The SQLite Editor opens unencrypted databases only. Supporting SQLCipher means shipping and maintaining a fork of SQLite inside a sandboxed App Store app, and the tool is meant for inspecting Core Data stores and embedded application databases, which are not encrypted.
Reason: scope and maintenance
Your location on the spatial map
Not planned
Showing where you are would require a location permission and a matching entry in the App Store privacy label, in exchange for something this tool does not need: what matters on the map is where your data is, not where you are.
Reason: privacy cost with no benefit
Probing both addresses before connecting
Not planned
It would be tempting to test the main and the alternate host in parallel and pick the fastest. Opening and dropping TCP connections without completing the handshake increases aborted_connects on the server and can end in Host is blocked because of many connection errors. The failover happens on the real attempt instead.
Reason: it harms the server you are trying to reach
MongoDB through the relational layer
Not planned
MongoDB is a self-contained tool with its own session and its own set of tabs, not a new engine behind the existing ones. The relational abstraction models foreign keys, binlogs, replication and EXPLAIN; a document database would leave most of that empty, and every tool would have to start asking what kind of session it is looking at.
Reason: it would be the wrong shape
How this roadmap works
Shipped means it is in the app today. The version it landed in is on each entry — and note that the newest version may still be in App Store review.
In progress means we have committed and work is underway.
Under consideration means we are weighing scope, technical fit and demand. No delivery date is implied.
Not planned means we decided against it. The entry stays visible with its reason, so the decision is transparent rather than silent.
Looking for the full list of what has shipped? See the changelog →