Cette page décrit Calíope 1.7. C'est la version que je construis en ce moment ; la 1.6 est sur l'App Store sur tous les appareils, Mac compris, donc tout ce qui figure ci-dessous comme livré dans la 1.6 est téléchargeable ; ce qui est marqué 1.7 arrive avec la prochaine mise à jour.
Calíope grandit à partir de trois choses : ce qui arrive par le support, les rapports de diagnostic que les gens choisissent de partager, et le travail quotidien sur de vraies bases de données. Cette page dit où en est chaque élément — y compris ceux que j'ai décidé de ne pas faire, avec leur raison, car une roadmap qui n'énumère que des promesses ne dit pas grand-chose. Il manque quelque chose ? Proposez une fonctionnalité.
🟣 En cours
— engagé et en cours de réalisation
Activités en direct et Dynamic Island
En cours
Une sauvegarde — y compris une sauvegarde planifiée —, une restauration ou une requête longue afficheront leur progression en direct sur l'écran verrouillé et dans la Dynamic Island de l'iPhone, ainsi que sur l'Apple Watch : les tables déjà traitées, ce qui reste et une alerte dès que quelque chose échoue. Cela s'appuie sur le planificateur de sauvegardes et les alertes SQL que Calíope a déjà, pour suivre un long travail sans rester sur son écran.
1.7 · iPhone et Apple Watch
Un diagramme ER en 3D sur Apple Vision Pro
En cours
Les tables deviennent des cartes dans l'espace autour de vous et les clés étrangères, des lignes entre elles ; vous les saisissez et les déplacez avec la main, et chaque schéma peut occuper son propre plan. Cela s'appuie sur la version native pour visionOS qui arrive avec la 1.6 : un schéma de plusieurs dizaines de tables se lit mieux quand il a de la place pour s'étendre.
1.7 · Apple Vision Pro
Cassandra et ScyllaDB
En cours
Un nouveau moteur avec son propre outil, comme MongoDB et Redis. Il lui faut un driver du protocole natif de Cassandra (CQL), que j'écrirai à partir de la spécification publique d'Apache Cassandra, comme tous les drivers de Calíope. ScyllaDB parle le même protocole, donc un seul driver sert aux deux.
1.7 · Nouveau moteur · outil et driver propres
Elasticsearch et OpenSearch
En cours
Un outil à part, en HTTP ou HTTPS comme ClickHouse. Le client sera écrit uniquement à partir de la spécification officielle de l'API REST, sans rien emprunter à Kibana ni à d'autres outils. OpenSearch est né d'un fork d'Elasticsearch, et l'outil couvrira les deux.
1.7 · Nouveau moteur · outil à part, en HTTP
Interface en japonais
En cours
Le japonais sera la sixième langue de l'interface, entièrement traduite comme les cinq autres et non localisée à la machine.
1.7 · Sixième langue
🔵 Prévu
— décidé, avec la raison ; le travail n'a pas encore commencé. Aucune date impliquée
Sauvegardes aux données masquées
Prévu
Une option de plus dans Sauvegarde pour faire une copie dont les données personnelles sont remplacées par de fausses données réalistes, pensée pour le développement et les tests.
Probablement dans la 1.8 · dans Sauvegarde
Vérification automatique des sauvegardes
Prévu
Après chaque sauvegarde, Calíope la restaurerait sur une connexion de test que vous choisissez, vérifierait qu'elle est complète, puis la supprimerait.
Probablement dans la 1.8 · dans Sauvegarde
Audit des changements de schéma
Prévu
Un registre de chaque CREATE, ALTER et DROP, avec qui et quand, qui signale aussi les changements faits en dehors de Calíope.
Probablement dans la 1.8 · dans Journal des requêtes
Verrous en direct
Prévu
Voir qui bloque qui en ce moment et terminer la session à l'origine du blocage, avec un historique des interblocages.
Probablement dans la 1.8 · dans Liste des processus
Revue de sécurité des utilisateurs
Prévu
Un bouton qui passe en revue les privilèges des comptes et vous dit ce qu'il vaut la peine de corriger, sans rien modifier de lui-même.
Probablement dans la 1.8 · dans Gestion des utilisateurs
🔴 Écarté
— décidé non, avec la raison. Ces entrées restent visibles à dessein
Bases SQLite chiffrées (SQLCipher)
Écarté
L'Éditeur SQLite n'ouvre que des bases non chiffrées. Prendre en charge SQLCipher implique de distribuer et maintenir un fork de SQLite dans une app sandboxée de l'App Store, et l'outil est prévu pour inspecter des magasins Core Data et des bases embarquées d'applications, qui ne sont pas chiffrées.
Raison : périmètre et maintenance
Votre position sur la carte spatiale
Écarté
Afficher où vous êtes exigerait une autorisation de localisation et son entrée dans l'étiquette de confidentialité de l'App Store, en échange de quelque chose dont cet outil n'a pas besoin : sur la carte, ce qui compte est où sont vos données, pas où vous êtes.
Raison : coût en vie privée sans bénéfice
Sonder les deux adresses avant de se connecter
Écarté
Il serait tentant de tester l'hôte principal et l'alternatif en parallèle et de garder le plus rapide. Ouvrir et fermer des connexions TCP sans terminer la poignée de main augmente aborted_connects sur le serveur et peut finir en Host is blocked because of many connection errors. Le basculement se fait lors de la tentative réelle.
Raison : cela nuit au serveur que vous visez
MongoDB via la couche relationnelle
Écarté
MongoDB est un outil autonome, avec sa propre session et son propre jeu d'onglets, et non un moteur de plus derrière ceux qui existent. L'abstraction relationnelle modélise les clés étrangères, le binlog, la réplication et EXPLAIN ; une base de documents laisserait presque tout cela vide, et chaque outil devrait se demander quel type de session il regarde.
Raison : ce serait la mauvaise forme
🟢 Livré récemment
— les trois plus récentes ; la liste complète est dans le changelog
Coup d'œil pour les bases et les fichiers de données
Livré
Sélectionnez dans le Finder un fichier .sqlite, .duckdb ou Parquet et appuyez sur la barre d'espace, ou touchez-le dans l'app Fichiers de l'iPad et de l'iPhone, et vous voyez ses tables, leurs colonnes avec leur type et leurs 20 premières lignes sans ouvrir Calíope. Sur le Mac, les fichiers TSV aussi ; les fichiers CSV gardent l'aperçu du système. L'extension lit avec le moteur DuckDB que l'app contient déjà — partagé avec elle, pas une seconde copie —, n'écrit jamais dans le fichier et, si elle manque de temps au bout d'environ trois secondes, elle le dit. Sur l'Apple Vision Pro, Calíope n'offre pas de Coup d'œil : visionOS ne charge pas les extensions d'aperçu des autres apps. En savoir plus dans l'Aide.
Version 1.7 · Mac, iPad et iPhone
TiDB
Livré
TiDB arrive par le moteur MySQL que Calíope parle déjà, et ce que TiDB n'a pas est masqué au lieu d'apparaître grisé : ni déclencheurs, ni routines, ni événements, ni journal binaire, ni moniteur de réplication, mais les séquences dans les Catalogues, et AUTO_RANDOM et les clés groupées dans le Constructeur de tables. Ce qui fonctionne autrement suit TiDB : le journal des requêtes lentes lit SLOW_QUERY, avec son seuil en millisecondes, et STATEMENTS_SUMMARY ; l'EXPLAIN visuel lit le plan propre à TiDB et son conseiller d'index propose à partir de lui ; le Tableau de bord montre ce que TiDB publie en SQL et n/a pour le reste ; et l'éditeur SQL a les mots réservés et les fiches de fonctions de TiDB. Tester la connexion reconnaît TiDB et propose « Utiliser TiDB ». Dix chapitres TiDB dans le Manuel du DBA. TiDB 8.5 ou ultérieur.
Version 1.7
Valkey
Livré
Valkey arrive par le client écrit pour Redis, avec ses sept outils : Clés, Serveur, Mémoire, Commandes lentes, Clients, Console et Topologie, cluster compris. Le panneau Serveur montre la version et le mode propres à Valkey, l'invite de la Console dit valkey>, et Tester la connexion reconnaît Valkey et propose « Utiliser Valkey ». Extraits, Rapports et l'Assistant IA fonctionnent aussi avec Valkey. Les douze chapitres Redis du Manuel du DBA disent où Valkey diffère, et un nouveau chapitre le résume. Valkey 8.0 ou ultérieur.
Version 1.7
Comment fonctionne cette roadmap
En cours signifie que c'est engagé et que le travail est en cours.
Prévu signifie que j'ai décidé de le faire et que je dis pourquoi ; le travail n'a pas encore commencé. Aucune date de livraison n'est impliquée.
À l'étude signifie que j'évalue le périmètre, la faisabilité technique et la demande. Aucune date de livraison n'est impliquée.
Écarté signifie que j'ai décidé de ne pas le faire. L'entrée reste visible avec sa raison, pour que la décision soit transparente plutôt que silencieuse.
Livré signifie que c'est dans l'app aujourd'hui. La version d'arrivée figure sur chaque entrée — et notez que la plus récente peut ne pas être encore sur l'App Store ; l'avis en haut de page dit laquelle.
Vous cherchez la liste complète de ce qui est livré ? Voir le changelog →