Skip to content

Querly v1.4.0

Choose a tag to compare

@GamalAnwar GamalAnwar released this 12 Jun 00:21
· 20 commits to master since this release

🚀 What is new in v1.4.0

Active Record-Style Row Operations

  • Staging model for query results — edits, duplicates & deletes in results grid (full parity with table view)
  • Inline cell copy/paste — DataGrip-style paste values directly into cells
  • Edge navigation via /⇧⌘ + arrow keys
  • Value-preview strip follows active cell during arrow navigation

AI Assistant (Phase 4 — Settings + Chat)

  • Natural Language → SQL — describe what you want in plain English
  • Explain error — AI-powered query error explanation
  • AI settings panel — provider, model, API key configuration
  • Keychain-backed API key storage — no more plaintext in UserDefaults

ER Diagram & Schema Tools (Phase 2–3)

  • ER Diagram — visualise table relationships with auto-layout
  • Confirm UPDATE/DELETE without WHERE — safety guard for bulk mutations
  • EXPLAIN-based Index Advisor — performance insights for slow queries
  • Column Profiler — instant in-memory stats (min, max, distinct, nulls)

SQL Editor

  • SQL beautifier — proper formatting with configurable style
  • TablePlus-style autocomplete — minimal, inline completion popups
  • Full-document highlighting — no broken coloring in large scripts
  • Statement badges — per-statement metadata in multi-statement scripts
  • History filters — search/filter query history

Grid & Data Display

  • Inline result charts — quick visualisation of query results
  • CSV/JSON/TSV export — export results to file
  • Column reorder — drag-to-reorder columns in grid & table view
  • Modern cursor zones — resize/select indicators on column headers
  • Progressive page load — large result sets load in chunks

Connection Management

  • Auto-reopen last connection on launch with full tab restoration
  • Order RECENT connections by last-connected time
  • Sort jump-to-connection by most recently used
  • Connection status pill — TablePlus-style coloured indicator in sidebar
  • Silent MySQL reconnect+retry for dropped connections (reads only)
  • Disconnect/reconnect UX — tap-to-reconnect banner
  • File → Open File… (⌘⇧O) — open SQLite/.db as a connection

Performance

  • @Observable migration — fine-grained reactivity, instant tab switch
  • Tab-switch animation removed — instant active-state change
  • Targeted row repaint on staged edits
  • Background schema warm-up — instant grid on table open
  • Background read connection — offload schema queries
  • Approximate row counts for large tables (no full scan)
  • Keep all tabs mounted — instant switching, persistent per-tab state
  • Never auto-sort on unindexed columns — huge tables open instantly
  • Eliminate main-thread schema freeze + filter race

Fixes

  • Crash when opening Settings (⌘,) — unsatisfied @Observable environment
  • Editor/results divider — easy grab, scoped cursor, no jump
  • ⌘A selects field text while editing (not whole grid)
  • ⌘R refreshes active table tab from any focus
  • Reconnect banner dismisses properly
  • Honor rebound menu shortcuts via global key monitor
  • Shortcut recorder — no auto-focus on open, capture menu chords
  • Serialize SQLite connection access — stop concurrent-use crash
  • Honor user-supplied primary keys on MySQL INSERT
  • Filter: cmd-F focuses WHERE field; dropdown-only autocomplete
  • Grid: arrow cursor over cells; repaint staged-delete row tint; FK chevron
  • Query: whole-row cmd-C copies in query-result grid

Security

  • Store AI API key in Keychain instead of UserDefaults
  • Native app menu infrastructure + gated dual-backend keychain storage

Chore

  • Issue templates (bug report, feature request) + discussions/security routing
  • SQLite + PostgreSQL demo datasets (100k rows)
  • Prepare repository for open-source launch