Releases: pgplex/pgtui
Releases · pgplex/pgtui
v0.2.0
What's New
🌳 Complete Database Object Browser
lazypg now displays all PostgreSQL object types in the tree view:
- Tables - with data preview and filtering
- Views - including view definitions
- Materialized Views - with refresh status
- Functions - with full DDL display
- Procedures - stored procedure support
- Sequences - sequence definitions
- Types - custom type definitions
- Extensions - installed extensions
Each object type has a unique icon and color scheme. Select any object to view its DDL definition in the new Code Editor panel.
🔍 Smart Search & Filter
The tree view now features a powerful search system:
- Press
/to open the search bar - Fuzzy matching - type
usrto findusers - Type prefixes - filter by object type:
t:for tablesv:for viewsf:for functionss:for sequences- etc.
🔐 Improved Password Storage (#1)
Completely rewritten password storage with better reliability:
- Switched to 99designs/keyring library
- Multi-backend support: Keychain (macOS), Secret Service & KWallet (Linux), Windows Credential Manager
- Automatic fallback to encrypted file storage when native keyring is unavailable
- Password dialog prompts for credentials when retrieval fails instead of silent failures
📑 Multi-Type Tab System
A unified tab system for displaying different content types:
- Query results
- Object definitions
- Multiple result sets from queries
✨ Other Improvements
- SQL Editor: Auto-expands when typing while focused
- Code Editor: New component for viewing DDL with syntax highlighting
- Three-region focus: Improved keyboard navigation between Tree, Content, and Editor areas
Bug Fixes
- Fixed TableView border rendering overflow with lipgloss
- Fixed tree view scroll indicator causing panel overflow
- Fixed clipboard paste (Ctrl+V) not working in text inputs
- Fixed Tab key behavior in CodeEditor
- Fixed object details panel height calculation
Upgrade Notes
- Go 1.23+ is now required (upgraded from 1.21)
- Password storage backend may prompt for keyring access on first use after upgrade
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Changelog
- 265da74 Add .worktrees/ to .gitignore
- 6426911 Add initial project design and documentation
- 9bfede4 Merge branch 'feature/data-panel-enhancements'
- 1f72e88 Merge branch 'feature/preview-pane'
- 29c17d7 deps: add pgx v5 for PostgreSQL connectivity
- fad0832 feat(app): add keyboard handling for sql editor
- f0d94eb feat(app): add sql editor and result tabs state
- 7c278f4 feat(app): update layout with sql editor and tabs
- 68f6468 feat(app): update status bar for sql editor
- 954c2d1 feat(connection): implement connection history with tab-based UI
- b6e1550 feat(favorites): add favorites dialog UI component
- 9bf8aa2 feat(favorites): add favorites storage and YAML manager
- 1f987ef feat(favorites): complete CRUD integration with app
- 1b593f7 feat(favorites): polish error handling and help system
- dad730a feat(filter): add clear filter and status display
- 3493e15 feat(filter): add filter models and SQL builder
- 8a5b3c2 feat(filter): add filtered table data loading
- f0f2a39 feat(filter): add interactive filter builder UI component
- 2487a38 feat(filter): add quick filter from cell with Ctrl+F
- f862678 feat(filter): add validation and error display
- c6df29f feat(filter): integrate filter builder with main app
- dc65090 feat(jsonb): add JSONB formatting and detection
- 8f6e2a9 feat(jsonb): add path extraction algorithm
- 93fd62b feat(jsonb): add three-mode JSONB viewer component
- 8c3ad5c feat(jsonb): integrate JSONB operators with filter builder
- 275fb16 feat(jsonb): integrate JSONB viewer with main app
- 05c5bac feat(jsonb-viewer): implement comprehensive navigation system with 3 phases
- 203053f feat(jsonb-viewer): integrate clipboard for copying paths and values
- 3442ea1 feat(mouse): improve scroll wheel behavior and performance
- 0b7b214 feat(result-tabs): add result tabs component
- b0295e8 feat(security): add secure password storage using OS keyring
- de897a8 feat(sql-editor): add basic SQL editor structure
- 6078588 feat(sql-editor): add cursor movement and text editing
- 0b37e43 feat(sql-editor): add external editor support (Ctrl+O)
- d8b150f feat(sql-editor): add keyboard handling and history
- 03b3198 feat(sql-editor): add query execution status with pending tabs
- ffa1b95 feat(sql-editor): add result to tabs and auto-collapse on execution
- e1f3acb feat(sql-editor): add syntax highlighting tokenizer
- 0595c2b feat(sql-editor): add view rendering with line numbers
- 590d556 feat(tree): auto-expand to schema level on connect
- d532429 feat(ui): add column separators and improve table readability
- c6729aa feat(ui): redesign connection dialog with modern UI and cursor blinking
- 33b9724 feat(ui): redesign connection dialog with vertical layout like TablePlus
- ce64b89 feat(ux): auto-show connection dialog on startup
- 8d1c37e feat: add 'r' key to reverse sort direction
- d46182d feat: add Homebrew tap support via GoReleaser
- 04d88d6 feat: add P key to toggle preview pane in JSONBViewer
- 6a20205 feat: add PreviewPane component structure
- 2574962 feat: add PreviewPane to JSONBViewer
- ea7ae03 feat: add PreviewPane to TableView
- ba222aa feat: add SetContent and formatContent methods to PreviewPane
- 2dd0b00 feat: add Toggle, Height, and scroll methods to PreviewPane
- 2eb5c67 feat: add UpdatePreviewPane and integrate with movement methods
- e0c2c20 feat: add View method to PreviewPane
- ffa957c feat: add basic Bubble Tea application structure
- 025ea83 feat: add column details metadata query
- 7c3eb92 feat: add column sorting, horizontal scrolling, and data search to data panel
- ac0be4c feat: add columns view component
- 286db02 feat: add configuration system
- ae35185 feat: add connection and discovery models
- 2dff3ff feat: add connection dialog to app update loop
- 2d77d2b feat: add connection state to app model
- bde5a96 feat: add constraints metadata query
- 0f0a28f feat: add constraints view component
- c132e7a feat: add copy functionality (y/Y) for structure view
- 7cdc8fd feat: add ctrl+up/down for preview pane scrolling
- 5533fcf feat: add help system
- cdcb7aa feat: add indexes metadata query
- 5b96e01 feat: add indexes view component
- c927560 feat: add preview pane copy support and help text
- 8250dd2 feat: add structure view models for columns, constraints, and indexes
- dafd6b0 feat: add structure view tabbed container
- cfaed89 feat: add table data query functions with pagination
- 250ee4f feat: add theme system
- ad2478d feat: add tree models, UI components and error overlay (Phase 3 foundations)
- 0af45b6 feat: add truncation detection methods to TableView
- 57ab9e6 feat: add vim-style navigation and line numbers to table view
- 6ffb596 feat: change JSONB viewer preview to side panel layout
- 13c6001 feat: create connection dialog UI component
- a7bb70d feat: display table count or (empty) for schemas in tree view
- d531c3b feat: enable preview pane for all structure tabs
- cc96d31 feat: implement .pgpass file parsing
- 5cff02f feat: implement basic metadata queries
- 795b5d0 feat: implement comprehensive UI modernization with Catppuccin Mocha theme
- bcdd28e feat: implement connection pool and manager
- 32c50c7 feat: implement discovery coordinator
- 2211b40 feat: implement environment variable discovery
- 9fcd837 feat: implement high priority features
- b4053b1 feat: implement lazy loading for virtual scrolling
- 08ce4af feat: implement multi-panel layout
- f96831d feat: implement port scanning for auto-discovery
- 821853a feat: implement table data view component with virtual scrolling
- 02d38ff feat: integrate PreviewPane into JSONBViewer View
- aa4ab2d feat: integrate PreviewPane into right panel rendering
- 0d09928 feat: integrate PreviewPane with JSONBViewer navigation
- 034f4ce feat: integrate connection manager into app
- 57aaab9 feat: integrate navigation tree into app
- 0128d5f feat: integrate structure view into app (Tasks 9 & 10)
- 3e19581 feat: integrate table data view into app with navigation
- 050ce5d feat: make JSONB Tree Viewer nearly full screen
- 559a0ea feat: modernize UI with improved styling
- 173a67e feat: unify command palette with prefix modes
- 07a5162 fix(docs): correct command palette shortcut to Ctrl+K
- 37e4e0a fix(export): address code review feedback
- fbe19a0 fix(filter): add identifier escaping and remove unsupported IN operators
- 222f596 fix(filter): add identifier escaping for schema and table names
- b307deb fix(filter): improve validation and error handli...