Releases: rust17/vstable
0.3.4
🚀 New Features
- VS Code-Style Cmd+P Table Search
- Fuzzy Scoring Algorithm: Implemented a subsequence matching engine that scores results based on match proximity, prefix alignment, and separator/camelCase (e.g., _, -) bonuses.
- MRU (Most Recently Used) Priority: When the search box is empty, the list defaults to your most recently accessed tables. For active searches, MRU acts as a tie-breaker for equal scores.
- Live Highlighting: Matched characters are now visually highlighted in the results list for instant feedback.
- Enhanced Sidebar Synchronization
- Automatic Schema Sync: Switching between table tabs now automatically updates the sidebar's active schema to match.
- Auto-Scroll to Center: When a table is activated, the sidebar automatically scrolls and centers the corresponding item in the tree view, ensuring clear context even in large databases.
0.3.3
🚀 Fixes & Improvements
- New Filter Operators: Added support for advanced filtering in the Table Viewer, including IN, NOT IN, IS NULL, IS NOT NULL, and BETWEEN operators.
- Selection Fixes: Restored Shift-Click multi-selection functionality in the ResultGrid, enabling more efficient batch operations in the data grid.
0.3.1
🚀 Fixes & Improvements
-
JSON/JSONB Rendering Optimization: Fixed an issue where PostgreSQL JSON fields were incorrectly rendered as Go's internal map[key:value] strings. The backend can now recursively parse nested structures, and the frontend displays them as formatted JSON objects, supporting more intuitive viewing and editing.
-
UUID Format Standardization: Fixed an issue where UUID fields were rendered as byte arrays (e.g., [1 116 ...]). UUIDs now uniformly use the standard string format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
-
Frontend Formatting Enhancement: Improved the versatility of formatDisplayValue, enabling correct handling of JSON serialization of objects and arrays through type inference even in the absence of explicit type definitions, avoiding errors such as [object Object].
0.3.0
🚀 v0.3.0: High-Performance gRPC Communication
This release marks a significant architectural milestone by migrating the core communication layer between the Electron frontend and the Go engine from JSON/HTTP to gRPC. This transition ensures a robust, contract-first integration with strict type safety and optimized data throughput.
✨ Highlights & New Features
Strict gRPC Communication Layer:
- Contract-Based Integration: Replaced REST/HTTP endpoints with a unified Protobuf schema(vstable.proto), ensuring consistent data structures across the entire stack.
- Strict Type Safety: Implemented a comprehensive type-mapping layer to bridge Go's dynamic types (SQL rows, AST nodes) and TypeScript via google.protobuf.Struct and google.protobuf.Value.
- Performance Optimized: Reduced serialization overhead for large SQL result sets and complex schema definitions.
0.2.0
🚀 v0.2.0: Workspace Persistence & Security Hardening
This release introduces core session recovery features and implements deep security hardening for sensitive credentials, balancing a seamless developer experience with data safety.
✨ Highlights & New Features
- Workspace State Persistence:
- The application now automatically saves the state of all open tabs (Table, Query, and Structure) within each session.
- Detailed states including active tabs, pagination, sorting/filtering conditions, and the Most Recently Used (MRU) list are now persisted.
- Upon restart, your previous multi-session layout and workspace context are restored automatically.
0.1.1
v0.1.1 Merge branch 'release-v0.1.1'