Releases: jcechace/pbmate
Releases · jcechace/pbmate
v0.3.0
Bump github.com/alecthomas/kong from 1.14.0 to 1.15.0 Bumps [github.com/alecthomas/kong](https://github.com/alecthomas/kong) from 1.14.0 to 1.15.0. - [Commits](https://github.com/alecthomas/kong/compare/v1.14.0...v1.15.0) --- updated-dependencies: - dependency-name: github.com/alecthomas/kong dependency-version: 1.15.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Nightly (2026-04-05)
Built from main at c8fec9e. Not a stable release.
v0.2.0
Changes
- Integrate datefield picker into PITR restore custom target
- [datefield] Integrate datefield picker into bulk delete custom date
- Show scroll indicator in log panel title when scrolled up
- Extract segmentedToggleTitle shared helper
- Reverse poll log entries to chronological display order
- Fix log panel scroll and follow mode interactions
- Declutter backup list: drop type column, add icon markers
- Add spacing between profile groups in backup list
- Preserve form focus on profile change in backup wizard
- Split config detail into Preview/YAML toggle
- Add external editor support for config editing
- Fix namespace parsing and extract splitNamespaces helper
- Add animated spinner for connecting and running operations
- Guard incremental backup when no chain exists
- Smooth log follow transition using TimeMin
v0.1.0
Changes
- Wire l key for log filtering with filter persistence
- Enrich log entry format with RS/node source prefix
- Add log filter form, overlay, and tests
- Move D to Backups tab, d on PITR timeline opens bulk delete
- Wire D key for bulk delete with profile fetch and help entry
- Add bulk delete form, overlay, and data commands
- Add global p key to toggle PITR with confirmation overlay
- Add double-press q to quit, ctrl+c quits immediately
- Define customizeKey binding for backup form transition
- Use Timestamp.After in latestTimeline for ordinal consistency
- Add tests for restore helpers and warning text
- Replace restoreTargetOverlay.findBackup with standalone findBackupByName
- Remove dead backupName field from restoreRequest
- Deduplicate restore form helpers, fix parseNamespaces edge case
- Add PITR base backup selector with type-aware restore forms
- Add physical/incremental restore safety with warning and clean exit
- Add physical backup support, remove dead NumParallelColls from incremental
- Unify context name listing: export sorted ContextNames(), drop duplicate
- Remove dead time.Duration coercion from field helpers
- Harden config CLI: URI validation, DRY helper, command tests
- Add pbmate config CLI command (show, set, unset, path)
- Guard sub-model key dispatch before connection
- Refine user-facing error messages
- Auto-retry connection with exponential backoff
- Enforce readonly mode: guard all mutation keys, badge in bottom bar
- Code quality: form helpers, consistent formatting, render split, new tests
- Add CLI with kong, config file, and connection contexts
- Add scrollViewport helper and package doc
- Split overlay.go into individual overlay files
- Remove underscores from test function names
- Add section separator between PITR and backups in list
- Add vertical padding to all panels
- Redesign config list: two-column layout with section separator
- Add profile selector to restore target form (Step 1)
- Add form-to-command conversion tests
- Extract shared layout and fetch helpers
- Unify action message types into single actionResultMsg
- Extract overlay helpers to reduce boilerplate
- Unify delete key and add explicit Restore To in backup detail
- Fix help overlay: consistent lowercase/uppercase order
- Add two-step restore wizard with R/r keybindings
- Redesign help overlay with two-column layout
- Add set-config wizard and remap keybindings
- Rework resync: move to config tab with R/r keybindings
- Redesign restore forms with scope selector and dynamic rebuild
- Redesign backup form with inline selectors and dynamic rebuild
- Add resync and delete profile operations
- Add collapsible Advanced section to backup and restore forms
- Flatten restore forms with context headers and PITR presets
- Flatten backup form to single screen with adaptive width
- Fix config apply when main config does not exist
- Switch to Restores list after successful restore dispatch
- Show backup name instead of derived timestamp in list
- Redesign restore: context-sensitive forms, conditional fields
- Fix action error flash being cleared by immediate re-fetch
- Add restore start action with form wizard
- Quick wins: detail polish, PITR error, list sizes, form rename
- Add CanDelete pre-check before delete confirmation
- Add parallel collections option to backup wizard
- Show oplog range and per-replset sizes in backup detail
- Expand config detail with all SDK fields
- Build per-flavor huh themes instead of using adaptive ThemeCatppuccin
- Use SDK Elapsed() for duration display in detail views
- Decouple root model from overview sub-model internals
- Extract setFlash helper to deduplicate error-flash pattern
- Fix raw key matching in backups collapse toggle
- Fix goroutine leak in log follow mode
- Adapt to sealed StartBackupCommand interface
- Adapt to sealed DeleteBackupCommand interface
- Add unit tests for pure render helpers
- Remove unimplemented Restore keybinding
- Thread root context through cmd factories and overlays
- Document rationales for magic number constants
- Rename backupFormInnerWidth to formOverlayInnerWidth
- Unify bare "main" literals to defaultConfigName constant
- Map Chroma syntax highlighting style to user's theme
- Extract formOverlay interface to unify 4 overlay handler patterns
- Add missing config_form.go from Config tab implementation
- Implement Config tab with read-only view and YAML highlighting
- Use SDK domain methods at all remaining call sites
- Show profile name in delete confirmation dialog
- Remove defensive zero-ConfigName checks
- Replace string switches with ParseBackupType/ParseCompressionType
- Refactor chain logic to use SDK BackupChain utilities
- Move layout constants to layout.go
- Use *Styles consistently in all function signatures
- Derive help overlay content from key.Binding definitions
- Deduplicate cursor rendering and title border logic
- Extract chain logic into backup_chain.go with tests
- Fix PITR duration truncation, stale cursor pointer, and error clearing
- Fix incremental chain children appearing as top-level orphans
- Replace bottom-bar confirm with overlay, add chain-aware delete
- Group incremental backup chains under their base
- Use visible color for incremental base icon
- Show incremental base indicator and columnar backup flags
- Refine backup list and detail display
- Use UTC for all timestamp formatting
- Rewrite backup list as collapsible profile tree
- Fetch PITR timelines in backups tab data
- Use tab for backup/restore toggle, free r for restore action
- Add backup/restore toggle with segmented title
- Add restore data fetching command
- Show restore-to time (LastWriteTS) in backup list instead of name
- Drop Restores tab, reduce to 3 tabs (Overview, Backups, Config)
- Connect to PBM in the background for instant TUI startup
- Parallelize fetchOverviewCmd with errgroup
- Use defer for rebuild calls in clusterPanel.rebuildItems
- Simplify error coalescing in fetchOverviewCmd with setErr closure
- Clean up: inline sortedKeys, name magic constant, remove dead branch
- Remove dead code: unused help methods, theme fields, and client field
- Eliminate duplicated data-message handling in updateBackupForm
- Extract replaceTitleBorder helper to deduplicate border construction
- Add help overlay and slim down bottom bar
- Polish quick backup form: hide focus border and simplify description
- Redesign backup form as two-tier: quick confirm and full wizard
- Improve backup form with profiles, confirm, and custom keymap
- Add confirmation dialogs for backup actions
- Fix agent version truncation and add PITR range to status panel
- Use maps.Keys + slices.Sorted for sortedKeys
- Add tests for pure TUI functions
- Surface data fetch errors and fix follow error handling
- Add panel titles to border rendering
- Extract clusterPanel from overviewModel
- Eliminate data duplication between root and sub-models
- Move panel type to layout.go
- Move log follow state from root Model into overviewModel
- Extract logPanel as a reusable component
- Add SectionHeader and Bold to Styles, move relativeTime
- Make overviewModel self-contained with view and resize
- Make backupsModel self-contained with view and resize
- Extract layout helpers and DRY up panel width/height math
- Redesign panel focus with [] cycling and per-panel navigation
- Add scrollable log viewport with wrap toggle
- Fix panel overflow by correcting lipgloss width calculations
- Migrate all panels to viewport components
- Fix log panel jump when toggling follow mode
- Add context-sensitive action hints to bottom bar
- Add log follow mode with f key toggle
- Fetch config, storage, and log data for Overview
- Add collapsible RS groups with inline status indicators
- Redesign Overview tab to 4-quadrant layout
- Merge status and help bars into single bottom bar
- Drop Logs tab and fix tab switch performance
- Add backup actions: start, cancel, and delete
- Add Backups tab with list, detail, and data fetching
- Extract shared rendering helpers to render.go
- Add Overview detail panel with selection cursor
- Add Overview tab with agent tree and recent backups
- Add tick-based polling and live status bar
- Add theming support with Catppuccin color palettes
- Add app skeleton with tab navigation
- Add TUI design document