Icona dell'app Calíope

Roadmap

Cosa è appena arrivato, cosa stiamo valutando e cosa abbiamo deciso di non fare.

Questa pagina descrive Calíope 1.2. L'App Store serve oggi la 1.1 — la versione 1.2 è in revisione, quindi ciò che compare sotto come rilasciato in 1.2 è finito e in attesa di Apple, non scaricabile oggi.

Calíope cresce da tre cose: ciò che arriva dal supporto, i report di diagnostica che le persone scelgono di condividere e il lavoro quotidiano su database reali. Questa pagina dice a che punto è ogni voce — comprese quelle che abbiamo deciso di non fare, con il loro motivo, perché una roadmap che elenca solo promesse dice ben poco. Manca qualcosa? Suggerisci una funzione.

Legenda degli stati

Pubblicato In corso In valutazione Scartato
🟢 Pubblicato di recente — già nell'app; l'elenco completo è nel changelog

Un'app companion per il tuo iPhone

Rilasciato

Calíope Companion è un'app iPhone separata con cinque schede — connessioni, snippet, cronologia delle query, conversazioni con l'assistente e diagnostica. Non include driver di database e non si collega mai ai tuoi server: tutto ciò che mostra arriva via iCloud, ed è anche la ragione per cui nomina l'interruttore chiuso invece di mostrare una schermata vuota lasciandoti concludere che non c'è nulla che non va. L'unica cosa che riscrive sono i profili di connessione, e conserva i campi che non capisce.

Versione 1.2

MongoDB

Pubblicato

Uno strumento per i database documentali, con il loro vocabolario: esplorare collezioni e documenti, modificarli come JSON, scrivere filtri e pipeline di aggregazione, gestire gli indici e consultare il server, le sue operazioni in corso e i suoi utenti. Ogni valore mostra il proprio tipo — ObjectId, decimal128, date, binari — perché in un database senza schema quella è metà dell'informazione.

Versione 1.2

Cerca e sostituisci in un intero database

Pubblicato

Cercare testo in tutte le colonne testuali di tutte le tabelle, vedere quante righe corrispondono in ciascuna e sostituire in blocco con un'anteprima calcolata dal server stesso. Avvisa quando il numero di corrispondenze e quello delle sostituzioni non coincidono — le collation spesso ignorano le maiuscole e REPLACE() non lo fa mai, e senza quell'avviso una modifica di massa annuncia 300 righe e ne cambia 100 senza che nulla fallisca.

Versione 1.2

Dati spaziali su una mappa

Pubblicato

Le colonne GEOMETRY si leggono, si disegnano su una mappa e si modificano trascinando un segnaposto o un vertice. Prima di questo, una colonna spaziale non si poteva leggere da nessuna parte nell'app: appariva come [25 bytes]. Il trascinamento compone l'istruzione e te la mostra — non si scrive nulla finché non accetti.

Versione 1.2

Un server, due indirizzi

Pubblicato

Ogni profilo di connessione accetta ora un host alternativo. Se il principale non risponde, Calíope prova il secondo con la stessa porta e le stesse credenziali — comodo quando lo stesso server si raggiunge a un indirizzo dal Mac e a un altro dall'iPad. Quando la sessione entra dall'alternativo, viene detto.

Versione 1.2

Backup di molti gigabyte

Pubblicato

Il motore di backup è stato riscritto perché la memoria non dipenda più dalla dimensione del database. Un dump di 722 MB con 4 milioni di righe tocca un picco di 68 MB di memoria, e ripristinarlo richiede 19 secondi usando 14 MB. Annullare annulla davvero, invece di lasciare il dump correre fino alla fine.

Versione 1.2

Un registro degli errori leggibile dal telefono

Pubblicato

Quando qualcosa va storto, Calíope ora lo spiega, suggerisce cosa controllare, rimanda alla voce di aiuto pertinente e conserva la traccia con la sua data e il suo dispositivo. L'app per iPhone può leggere quel registro — in sola lettura: sfoltire ed eliminare restano sulla scrivania, perché un telefono capace di svuotare il log di un guasto ancora aperto è un modo silenzioso di perdere la prova.

Versione 1.2

Un backup della tua configurazione

Pubblicato

Esportare e importare tutto ciò che Calíope conserva fuori dal dispositivo — profili di connessione, preferenze, gruppi — con copie programmate e un punto di ripristino creato da solo prima di ogni operazione rischiosa: attivare o disattivare la sincronizzazione, cancellare dati, importare. I segreti sono opt-in e sempre cifrati, e ciò che resta fuori da una copia viene scritto nel file con il suo motivo.

Versione 1.2

Editor SQLite e Anteprima file

Pubblicato

Due strumenti che non richiedono alcun server. L'Editor SQLite apre file .sqlite e .db locali e permette di lavorarci — struttura, dati, SQL, pragma, con transazioni Salva/Ripristina. L'Anteprima legge .md, .sql, .json, .csv e .log in sola lettura, con JSON ripiegabile e Markdown formattato.

Versione 1.2
🟣 In corso — preso in carico e in lavorazione

Più motori: la cucitura è già posata

In corso

Aggiungere un motore a Calíope significa implementare dei protocolli, non modificare gli strumenti. Quel lavoro è fatto e collaudato: il motore di backup, il comparatore di schemi e il catalogo degli errori ci passano già, e nessun nome di motore è scritto fuori dalla propria cartella — nemmeno nei cinque file di traduzione. Per un secondo motore SQL manca il suo provider.

Fondamenta pubblicate in 1.2
🟡 In valutazione — stiamo valutando ambito, fattibilità tecnica e domanda. Nessuna data implicita

PostgreSQL

In valutazione

Connettività PostgreSQL nativa accanto a MariaDB/MySQL: profili di connessione, esploratore di schema, editor di query ed esportazioni. La stessa esperienza nativa Apple, per il mondo Postgres. È il motore più richiesto, e le fondamenta qui sopra sono ciò che lo rende un provider e non una riscrittura.

Altre lingue dell'interfaccia

In valutazione

Calíope esiste in cinque lingue: inglese, spagnolo, francese, tedesco e italiano. Sono emersi il portoghese e il giapponese. Dicci quale vorresti come prossima — l'app è tradotta davvero, non localizzata a macchina, quindi ogni nuova lingua è lavoro reale e preferiamo azzeccarla.

🔴 Scartato — deciso di no, con il motivo. Restano visibili di proposito

Database SQLite cifrati (SQLCipher)

Scartato

L'Editor SQLite apre solo database non cifrati. Supportare SQLCipher significa distribuire e mantenere un fork di SQLite dentro un'app in sandbox dell'App Store, e lo strumento è pensato per ispezionare archivi Core Data e database incorporati nelle applicazioni, che non sono cifrati.

Motivo: ambito e manutenzione

La tua posizione sulla mappa spaziale

Scartato

Mostrare dove sei richiederebbe un permesso di localizzazione e la relativa voce nell'etichetta privacy dell'App Store, in cambio di qualcosa di cui questo strumento non ha bisogno: sulla mappa conta dove sono i tuoi dati, non dove sei tu.

Motivo: costo di privacy senza beneficio

Sondare entrambi gli indirizzi prima di connettersi

Scartato

Sarebbe allettante provare host principale e alternativo in parallelo e tenere il più veloce. Aprire e chiudere connessioni TCP senza completare l'handshake aumenta aborted_connects sul server e può finire in Host is blocked because of many connection errors. Il failover avviene nel tentativo reale.

Motivo: danneggia il server che vuoi raggiungere

MongoDB attraverso il livello relazionale

Scartato

MongoDB è uno strumento autonomo, con la propria sessione e il proprio insieme di schede, non un motore in più dietro a quelli esistenti. L'astrazione relazionale modella chiavi esterne, binlog, replica ed EXPLAIN; un database documentale lascerebbe quasi tutto vuoto, e ogni strumento dovrebbe iniziare a chiedersi che tipo di sessione sta guardando.

Motivo: sarebbe la forma sbagliata

Come funziona questa roadmap

Pubblicato significa che oggi è nell'app. La versione di arrivo è indicata in ogni voce — e tieni presente che la più recente può essere ancora in revisione sull'App Store.

In corso significa che è preso in carico e il lavoro è in corso.

In valutazione significa che stiamo valutando ambito, fattibilità tecnica e domanda. Non implica una data di consegna.

Scartato significa che abbiamo deciso di non farlo. La voce resta visibile con il suo motivo, perché la decisione sia trasparente e non silenziosa.

Cerchi l'elenco completo di ciò che è stato pubblicato? Vedi il changelog →