v0.5.0
What's Changed
π New Features
\exportcommand: export hasil query ke file CSV dari dalam REPL, dengan dukungan quoted paths dan tilde expansion (~/file.csv)- SQLite backend: koneksi kini disimpan di
~/.pgrs/pgrs.db(SQLite), menggantikanconnections.json - Analytics:
\historymenampilkan riwayat query dengan ID dan timestamp lokal;\statsmenampilkan tabel dan query yang paling sering digunakan - Schema caching: skema tabel/kolom di-cache di SQLite untuk performa tab-completion yang lebih cepat
DomainErrorenum: error handling end-to-end diganti dariStringke typed enumDomainError- UUID v4 sebagai generator ID koneksi (menggantikan
DefaultHasher)
π Bug Fixes
\export: blokir DDL dalam export, cleanup file parsial jika write gagal\export: tampilkan usage jika diketik tanpa argumen- CSV quoting: handle
\rdengan benar - SQLite: tambahkan
ROLLBACKpada errorsave_schema, transaction direcord_query - Install script: deteksi OS dan arsitektur dengan benar untuk binary yang sesuai
- UUID: ganti
DefaultHasherdengan UUID v4 untuk ID yang lebih aman
β»οΈ Refactors
- Pemisahan arsitektur heksagonal: repository, service, dan port traits dipecah ke modul yang lebih fokus (analytics, schema, connection)
- REPL commands dipecah ke modul terpisah (
commands.rs,ui.rs,csv.rs,sql_utils.rs)
Full Changelog: v0.4.1...v0.5.0