• v0.2.0 601c839f4c

    v0.2.0 Stable

    kerem released this 2025-12-19 09:47:17 +03:00 | 45 commits to main since this release

    📅 Originally published on GitHub: Fri, 19 Dec 2025 07:00:16 GMT
    🏷️ Git tag created: Fri, 19 Dec 2025 06:47:17 GMT

    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: https://github.com/rebelice/lazypg/compare/v0.1.0...v0.2.0

    Downloads
  • v0.1.0 1c0670e692

    v0.1.0 Stable

    kerem released this 2025-12-01 12:50:54 +03:00 | 89 commits to main since this release

    📅 Originally published on GitHub: Mon, 01 Dec 2025 09:53:19 GMT
    🏷️ Git tag created: Mon, 01 Dec 2025 09:50:54 GMT

    Changelog

    • 265da741f5 Add .worktrees/ to .gitignore
    • 6426911eba Add initial project design and documentation
    • 9bfede4779 Merge branch 'feature/data-panel-enhancements'
    • 1f72e8838e Merge branch 'feature/preview-pane'
    • 29c17d748b deps: add pgx v5 for PostgreSQL connectivity
    • fad08321f0 feat(app): add keyboard handling for sql editor
    • f0d94eb91d feat(app): add sql editor and result tabs state
    • 7c278f4848 feat(app): update layout with sql editor and tabs
    • 68f6468101 feat(app): update status bar for sql editor
    • 954c2d16ff feat(connection): implement connection history with tab-based UI
    • b6e1550bc6 feat(favorites): add favorites dialog UI component
    • 9bf8aa2403 feat(favorites): add favorites storage and YAML manager
    • 1f987efaf4 feat(favorites): complete CRUD integration with app
    • 1b593f78aa feat(favorites): polish error handling and help system
    • dad730ad53 feat(filter): add clear filter and status display
    • 3493e15b25 feat(filter): add filter models and SQL builder
    • 8a5b3c2468 feat(filter): add filtered table data loading
    • f0f2a3998d feat(filter): add interactive filter builder UI component
    • 2487a3836c feat(filter): add quick filter from cell with Ctrl+F
    • f862678df6 feat(filter): add validation and error display
    • c6df29f5b9 feat(filter): integrate filter builder with main app
    • dc650906e0 feat(jsonb): add JSONB formatting and detection
    • 8f6e2a9b37 feat(jsonb): add path extraction algorithm
    • 93fd62b545 feat(jsonb): add three-mode JSONB viewer component
    • 8c3ad5ce29 feat(jsonb): integrate JSONB operators with filter builder
    • 275fb16320 feat(jsonb): integrate JSONB viewer with main app
    • 05c5baccff feat(jsonb-viewer): implement comprehensive navigation system with 3 phases
    • 203053fb25 feat(jsonb-viewer): integrate clipboard for copying paths and values
    • 3442ea12c8 feat(mouse): improve scroll wheel behavior and performance
    • 0b7b2140d5 feat(result-tabs): add result tabs component
    • b0295e8bc7 feat(security): add secure password storage using OS keyring
    • de897a8ea7 feat(sql-editor): add basic SQL editor structure
    • 6078588649 feat(sql-editor): add cursor movement and text editing
    • 0b37e43d22 feat(sql-editor): add external editor support (Ctrl+O)
    • d8b150f76b feat(sql-editor): add keyboard handling and history
    • 03b3198692 feat(sql-editor): add query execution status with pending tabs
    • ffa1b95ab6 feat(sql-editor): add result to tabs and auto-collapse on execution
    • e1f3acbc5b feat(sql-editor): add syntax highlighting tokenizer
    • 0595c2bf5e feat(sql-editor): add view rendering with line numbers
    • 590d55672b feat(tree): auto-expand to schema level on connect
    • d5324299ee feat(ui): add column separators and improve table readability
    • c6729aa2e3 feat(ui): redesign connection dialog with modern UI and cursor blinking
    • 33b97242a0 feat(ui): redesign connection dialog with vertical layout like TablePlus
    • ce64b890ea feat(ux): auto-show connection dialog on startup
    • 8d1c37e7dd feat: add 'r' key to reverse sort direction
    • d46182d035 feat: add Homebrew tap support via GoReleaser
    • 04d88d6a1e feat: add P key to toggle preview pane in JSONBViewer
    • 6a2020515e feat: add PreviewPane component structure
    • 2574962a34 feat: add PreviewPane to JSONBViewer
    • ea7ae0367d feat: add PreviewPane to TableView
    • ba222aa249 feat: add SetContent and formatContent methods to PreviewPane
    • 2dd0b00037 feat: add Toggle, Height, and scroll methods to PreviewPane
    • 2eb5c67b09 feat: add UpdatePreviewPane and integrate with movement methods
    • e0c2c2002b feat: add View method to PreviewPane
    • ffa957c56a feat: add basic Bubble Tea application structure
    • 025ea83068 feat: add column details metadata query
    • 7c3eb92dc2 feat: add column sorting, horizontal scrolling, and data search to data panel
    • ac0be4cd93 feat: add columns view component
    • 286db02cab feat: add configuration system
    • ae351854ac feat: add connection and discovery models
    • 2dff3ffe00 feat: add connection dialog to app update loop
    • 2d77d2b743 feat: add connection state to app model
    • bde5a96b90 feat: add constraints metadata query
    • 0f0a28fe48 feat: add constraints view component
    • c132e7a21f feat: add copy functionality (y/Y) for structure view
    • 7cdc8fde30 feat: add ctrl+up/down for preview pane scrolling
    • 5533fcf6c8 feat: add help system
    • cdcb7aa1c0 feat: add indexes metadata query
    • 5b96e01f8b feat: add indexes view component
    • c927560ae8 feat: add preview pane copy support and help text
    • 8250dd21be feat: add structure view models for columns, constraints, and indexes
    • dafd6b00de feat: add structure view tabbed container
    • cfaed89f43 feat: add table data query functions with pagination
    • 250ee4f3b4 feat: add theme system
    • ad2478d685 feat: add tree models, UI components and error overlay (Phase 3 foundations)
    • 0af45b6cc6 feat: add truncation detection methods to TableView
    • 57ab9e6c30 feat: add vim-style navigation and line numbers to table view
    • 6ffb596e97 feat: change JSONB viewer preview to side panel layout
    • 13c6001cd1 feat: create connection dialog UI component
    • a7bb70dbb1 feat: display table count or (empty) for schemas in tree view
    • d531c3be30 feat: enable preview pane for all structure tabs
    • cc96d3106f feat: implement .pgpass file parsing
    • 5cff02f708 feat: implement basic metadata queries
    • 795b5d0efe feat: implement comprehensive UI modernization with Catppuccin Mocha theme
    • bcdd28e127 feat: implement connection pool and manager
    • 32c50c7e8c feat: implement discovery coordinator
    • 2211b40ab7 feat: implement environment variable discovery
    • 9fcd837bc0 feat: implement high priority features
    • b4053b1c2c feat: implement lazy loading for virtual scrolling
    • 08ce4af5bf feat: implement multi-panel layout
    • f96831dd26 feat: implement port scanning for auto-discovery
    • 821853a5db feat: implement table data view component with virtual scrolling
    • 02d38fffef feat: integrate PreviewPane into JSONBViewer View
    • aa4ab2d518 feat: integrate PreviewPane into right panel rendering
    • 0d0992867a feat: integrate PreviewPane with JSONBViewer navigation
    • 034f4ce618 feat: integrate connection manager into app
    • 57aaab98fb feat: integrate navigation tree into app
    • 0128d5f372 feat: integrate structure view into app (Tasks 9 & 10)
    • 3e19581a38 feat: integrate table data view into app with navigation
    • 050ce5d5c4 feat: make JSONB Tree Viewer nearly full screen
    • 559a0eace2 feat: modernize UI with improved styling
    • 173a67e077 feat: unify command palette with prefix modes
    • 07a51626c5 fix(docs): correct command palette shortcut to Ctrl+K
    • 37e4e0ac63 fix(export): address code review feedback
    • fbe19a05b0 fix(filter): add identifier escaping and remove unsupported IN operators
    • 222f5962cb fix(filter): add identifier escaping for schema and table names
    • b307deb888 fix(filter): improve validation and error handling in filter builder
    • d7765a8634 fix(jsonb): handle marshal errors properly in formatter
    • 4b5d14c0ac fix(result-tabs): improve tab ordering and SQL sync
    • dd0adc4dd9 fix(result-tabs): optimize regex and clean up dead code
    • 3c892a419a fix(search): support searching in Result Tabs data
    • 557c593db1 fix(sql-editor): change execute shortcut from Ctrl+Enter to Alt+Enter
    • edcd12b7e1 fix(sql-editor): route input when focused regardless of expanded state
    • 07216fec75 fix(sql-editor): use Ctrl+S to execute SQL
    • c8ce969d72 fix(sql-editor): use GetHorizontalFrameSize for proper width calculation
    • 707ecbfa2c fix(ui): fix border rendering for all dialogs using lipgloss
    • e72ed2e9b1 fix(ui): fix connection dialog border and keyboard input conflicts
    • 1d858a091e fix(ui): reduce input width and shorten help text to fix border overflow
    • bfa209d5e9 fix(ui): set default values for database, user fields in connection dialog
    • ec91c1d92e fix(ui): set password field placeholder to empty string
    • 11fbfda016 fix(ui): shorten connection dialog help text to prevent border overflow
    • dcc0fbd20e fix(ux): use placeholder values as defaults in manual connection
    • e90e1a6e80 fix: add borders to top and bottom status bars
    • acf5312ee2 fix: add build tags to exclude example files from tests
    • c316141e1b fix: add escape handling, port validation, and permission check for pgpass
    • 919204cafd fix: add height constraint to preview pane container
    • 4458d4abd3 fix: add input handling and validation to connection dialog
    • 74ced3e111 fix: add type safety and improve error handling in metadata queries
    • d2cedfe534 fix: add validation for manual connection input
    • b424b84429 fix: address code review issues in multi-panel layout
    • 8d628340be fix: correct port-to-string conversion in deduplication
    • a841d6cdd4 fix: correct table view height calculation to prevent content truncation
    • a308724e97 fix: display tab bar by integrating tableView into structureView
    • 8d599fe349 fix: filter out pg temp schemas from schema list
    • 40f5c362ee fix: handle connection duplication and race condition in Ping
    • 32f20470ac fix: improve command palette UI and scrolling
    • b10dbfcfc3 fix: improve preview pane rendering and move JSONB preview below viewer
    • 3de48831b3 fix: improve structure view tab switching and beautify tab bar
    • b56b284af4 fix: maintain consistent column order in table view
    • bed46c0933 fix: prevent data duplication when reselecting same table
    • 13bc471d73 fix: prevent enter key in right panel from triggering tree selection
    • fa8421b691 fix: prioritize selected cell highlight over search match highlight
    • 0f45d1ad9d fix: properly format JSONB values in Quick Query results
    • d232875173 fix: remove duplicate 'c' keybinding from connection keys
    • 306597f7b1 fix: remove duplicate toString declaration in metadata package
    • 3ccd24102c fix: render search input as floating overlay preserving background
    • 748505e03e fix: respect context cancellation in port scanning
    • dbde3a71ae fix: scroll indicator no longer overwrites tree content
    • b702d2a7d8 fix: set width constraint on preview pane container
    • ac5dbce38f fix: trigger lazy loading for all downward navigation
    • 1c0670e692 fix: upgrade GoReleaser to v2 for config compatibility
    • 04748c9490 fix: use GetDefaults() for config fallback instead of zero values
    • a61a83f4db fix: use consistent MaxHeight for preview pane layout
    • 8acce33718 fix: validate port range in environment variable parsing
    • 52c5da929d perf: add table change detection to prevent unnecessary reloads
    • c97a4c5ddd perf: cache lipgloss styles in app.go to reduce keyboard input lag
    • ca164deb76 perf: optimize preview pane and fix JSONB viewer logic
    • d2fa3b1be6 perf: optimize preview pane with content caching
    • 16c6381789 refactor(app): remove QuickQuery, use SQL editor instead
    • 91feea1cd6 refactor: change preview pane to manual toggle only
    • 3f1ef93d08 refactor: move JSONB preview panel to app-level layout
    • bcae3adf0e refactor: remove unnecessary "Content" title from right panel
    • c674d0efff refactor: unify structure tabs to use same TableView component
    • 6cab26bc7a refactor: use pgx FieldDescriptions for column order instead of extra query
    • a4007fdeef revert: restore original JSONB Tree Viewer design
    • 71edc148ca style: improve JSONB Tree Viewer layout and design
    Downloads