Skip to content

Releases: pgplex/pgtui

v0.2.0

19 Dec 07:00

Choose a tag to compare

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 usr to find users
  • Type prefixes - filter by object type:
    • t: for tables
    • v: for views
    • f: for functions
    • s: 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

01 Dec 09:53

Choose a tag to compare

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...
Read more