Releases: willibrandon/pgtail
v0.5.0
Full Changelog: v0.4.1...v0.5.0
Full Changelog: v0.4.1...v0.5.0
Full Changelog: v0.4.1...v0.5.0
Full Changelog: v0.4.1...v0.5.0
Full Changelog: v0.4.1...v0.5.0
v0.4.1
Fixed
- Windows log file flip-flopping between .log and .csv when PostgreSQL logs to both formats simultaneously
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's Changed
- Add REPL bottom toolbar with instance count, filters, and theme display by @willibrandon in #13
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
- feat(tail): add --file and --stdin options for arbitrary log files by @willibrandon in #12
New Contributors
- @willibrandon made their first contribution in #12
Full Changelog: v0.2.4...v0.3.0
v0.2.4
What's New
Bug Fixes
- Fixed winget validation - Wrapped REPL startup in try/except on Windows to catch any initialization failures (e.g., prompt_toolkit failing in non-interactive environments). Now exits gracefully with code 0 instead of propagating exceptions as code 1.
Installation
Windows (winget)
winget install willibrandon.pgtailmacOS (Homebrew)
brew install willibrandon/tap/pgtailFrom Source
pip install pgtailChecksums
See individual .sha256 files attached to this release.
v0.2.3
What's New
Bug Fixes
- Fixed winget validation exit code - When stdin is not a TTY (like during winget package validation where stdout is captured), pgtail now exits silently with code 0 instead of attempting to write to stdout which could fail.
Technical Details
The previous fix for Windows standalone launch detection only handled the case where a new console window was created. However, winget validation runs with stdout redirected to capture output, which means:
sys.stdin.isatty()returnsFalse- The previous code tried to call
typer.echo()which could fail when stdout is in an unusual state - This caused exit code 1 instead of 0
The fix now uses SystemExit(0) directly when stdin is not a TTY, avoiding any stdout writes that could fail.
Installation
Windows (winget)
winget install willibrandon.pgtailNote: Pending winget PR approval
macOS (Homebrew)
brew install willibrandon/tap/pgtailFrom Source
pip install pgtailChecksums
See individual .sha256 files attached to this release.
v0.2.2
What's New
Bug Fixes
- Fixed Windows standalone launch detection - pgtail now correctly exits when launched without an interactive terminal (e.g., double-click, Start-Process, winget validation). Previously, the application would hang waiting for input that would never come.
Technical Details
When Windows launches a GUI application, it allocates a new console window where isatty() returns True, but there's no user to provide input. This caused the REPL to hang indefinitely during winget package validation.
The fix uses GetConsoleProcessList() to detect when pgtail is the only process attached to its console (indicating a standalone launch), and exits gracefully in that case.
Installation
Windows (winget)
winget install willibrandon.pgtailNote: Pending winget PR approval
macOS (Homebrew)
brew install willibrandon/tap/pgtailFrom Source
pip install pgtailChecksums
See individual .sha256 files attached to this release.
v0.2.1
Release Notes: pgtail v0.2.1
Bug Fixes
Non-TTY Exit Code
- Fixed exit code when running without a terminal (stdin not a TTY)
- Now returns exit code 0 with a helpful message instead of hanging
- Fixes winget automated validation which runs the binary non-interactively
What Changed
When pgtail is run without a terminal (e.g., in automated CI/CD pipelines or package validation), it now outputs:
pgtail: interactive mode requires a terminal
Run 'pgtail --help' for usage information
And exits with code 0 instead of attempting to start the interactive REPL.
Upgrade
This is a minor patch release. All v0.2.0 functionality is preserved.
# Homebrew
brew upgrade pgtail
# pip
pip install --upgrade git+https://github.com/willibrandon/pgtail.git
# winget (pending approval)
winget upgrade willibrandon.pgtailv0.2.0
Release Notes: pgtail v0.2.0
Overview
This release migrates pgtail's binary distribution from PyInstaller to Nuitka, dramatically improving startup performance.
Performance Improvements
Startup Time
- Before (PyInstaller
--onefile): ~5.1 seconds cold start - After (Nuitka
--mode=standalone): ~68ms startup time - Improvement: ~75x faster startup
The PyInstaller onefile format extracted a compressed archive to a temp directory on every execution. Nuitka standalone mode compiles Python to native C code, eliminating extraction overhead entirely.
Distribution Changes
Archive Format
Binary downloads have changed from single executables to compressed archives:
| Platform | Old Format | New Format |
|---|---|---|
| macOS ARM64 | pgtail-macos-arm64 |
pgtail-macos-arm64.tar.gz |
| macOS x86_64 | pgtail-macos-x86_64 |
pgtail-macos-x86_64.tar.gz |
| Linux x86_64 | pgtail-linux-x86_64 |
pgtail-linux-x86_64.tar.gz |
| Linux ARM64 | pgtail-linux-arm64 |
pgtail-linux-arm64.tar.gz |
| Windows | pgtail-windows-x86_64.exe |
pgtail-windows-x86_64.zip or .msi |
Installation
Unix (macOS/Linux):
# Download and extract
tar -xzf pgtail-macos-arm64.tar.gz
# Run from extracted folder
./pgtail-macos-arm64/pgtail --versionWindows (MSI):
# Download MSI and run installer
msiexec /i pgtail-windows-x86_64.msi
# After install, pgtail is available system-wide
pgtail --versionWindows (Portable ZIP):
# Extract and run
Expand-Archive pgtail-windows-x86_64.zip
.\pgtail-windows-x86_64\pgtail.exe --versionPackage Manager Updates
- Homebrew:
brew install willibrandon/tap/pgtail - winget: Pending approval (PR #327397)
Download Sizes
| Platform | Compressed |
|---|---|
| macOS ARM64 | 22 MB |
| macOS x86_64 | 24 MB |
| Linux x86_64 | 40 MB |
| Linux ARM64 | 37 MB |
| Windows ZIP | 20 MB |
| Windows MSI | 15 MB |
What's New
- Migrated from PyInstaller to Nuitka for binary builds
- Added Windows MSI installer (adds to system PATH)
- Added scripts/build-nuitka.sh for local builds
- Added scripts/check-version-sync.sh for release validation
- Updated Makefile with Nuitka build targets
Compatibility
- All existing functionality preserved
- Same command-line interface
- Same configuration files
- Same behavior across all platforms
v0.1.0
Full Changelog: https://github.com/willibrandon/pgtail/commits/v0.1.0