Skip to content

Releases: jcechace/pbmate

v0.3.0

02 Apr 09:25

Choose a tag to compare

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)

05 Apr 04:41

Choose a tag to compare

Nightly (2026-04-05) Pre-release
Pre-release

Built from main at c8fec9e. Not a stable release.

v0.2.0

05 Mar 14:31

Choose a tag to compare

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

27 Feb 12:23

Choose a tag to compare

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