Releases: Cod-e-Codes/gophetch
v1.3.1
Release v1.3.1 - Background Data Fetching Performance Improvements
Performance Enhancements:
- Implement background data fetching with goroutines to prevent UI blocking
- Add non-blocking cache methods that return data immediately
- Create loading state indicators for all tabs during data fetching
- Optimize system calls to run in background while UI remains responsive
Technical Changes:
- New message types for background data updates (networkInfoMsg, hardwareInfoMsg, processInfoMsg, weatherInfoMsg)
- Updated all tab implementations with loading states and background update handling
- Modified TabManager to handle background data updates and trigger smart fetching
- Enhanced Model.Init to start background fetching immediately on startup
- Added smart fetching logic to prevent duplicate concurrent requests
User Experience:
- UI renders immediately with cached data, then updates when fresh data arrives
- Loading indicators show "(Loading...)" text while data is being fetched
- Animation and navigation work smoothly without blocking on system calls
- Progressive data loading provides immediate feedback to users
Full Changelog: v1.3.0...v1.3.1
v1.3.0
Release v1.3.0 - Comprehensive Tab System
Major Features:
- Complete 5-tab interface system (Standard, Network, Hardware, Processes, Weather)
- Interactive tab navigation with keyboard controls (Tab/Shift+Tab, number keys 1-5)
- Smart data caching system for optimal performance
- Interactive process list with up/down navigation
- Weather integration with ASCII art forecast from wttr.in
- Network information including IPs, connections, and ports
- Hardware monitoring with GPU, temperature, and battery status
- Configurable tab system via gophetch.json
Performance Improvements:
- Data caching reduces expensive system calls
- Network/hardware data updates every 10 seconds
- Weather data updates every 30 seconds
- Responsive UI with smooth navigation
Documentation:
- Comprehensive README updates with tab system documentation
- Detailed configuration examples and usage instructions
- Complete control reference for all navigation options
This release transforms Gophetch from a simple system monitor into a comprehensive, multi-panel system information dashboard with professional-grade organization and performance.
v1.2.0
Release v1.2.0 - Add asciinema .cast file support
New Features
- Support for asciinema .cast files as animation sources
- Automatic frame extraction from terminal recordings
- Regex-based ANSI escape sequence processing
- Cross-platform compatibility for all asciinema recordings
Technical Improvements
- LoadFramesFromCastFile() function with JSON array parsing
- processANSISequences() with compiled regex patterns
- Enhanced frame loading logic with file type detection
- Comprehensive documentation and usage examples
Usage
You can now use asciinema .cast files directly with Gophetch:
# Using command line
gophetch my-recording.cast
# Or via configuration file
# Set "frame_file": "my-recording.cast" in gophetch.jsonCreating .cast Files
Install asciinema and record your terminal sessions:
# Install asciinema
npm install -g asciinema
# Record a session
asciinema rec my-recording.cast
# Play it back with Gophetch
gophetch my-recording.castThis release maintains full backward compatibility with existing custom frame files while adding powerful new animation capabilities.
v1.1.1
Bug Fixes
- Fix custom frame loading to properly use custom frames instead of rain animation
- Custom frame files now correctly override the default rain animation when specified
New Features
- Add example-frames.txt with simple character animation
- Update documentation to include example frame file reference
Technical Details
This release ensures that when users specify a custom frame file via command line arguments or configuration, the application will actually use those frames instead of falling back to the built-in rain animation. The example frame file provides users with a starting point for creating their own custom animations.
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Gophetch v1.1.0 - JSON Configuration System and Weather Feature
Major Features
JSON Configuration System
- Complete configuration system with
gophetch.jsonfile - Automatic config file creation on first run
- All display options are now configurable
- Command line arguments still override config settings
Weather Information
- Real-time weather data from wttr.in API
- Configurable weather display option
- Graceful fallback when weather service is unavailable
Improved User Experience
- Default FPS reduced from 30 to 5 for better animation experience
- More pleasant and less distracting rain animation
- Better performance with lower CPU usage
Configuration Options
Display Settings
- fps: Animation frame rate (default: 5)
- color_scheme: Main color theme (default: "blue")
- show_cpu: Display CPU information (default: true)
- show_memory: Display memory information (default: true)
- show_disk: Display disk usage (default: true)
- show_uptime: Display system uptime (default: true)
- show_kernel: Display kernel/Go version (default: true)
- show_os: Display OS and architecture (default: true)
- show_hostname: Display username (default: true)
Frame/Animation Settings
- frame_file: Path to custom ASCII frames file (default: "default")
- loop_animation: Loop animation frames (default: true)
- center_content: Center ASCII art (default: true)
Output Mode
- static_mode: One-shot info dump like Neofetch (default: false)
- hide_animation: Skip animation even if frames exist (default: false)
Misc Options
- show_fps_counter: Show FPS overlay (default: false)
- show_weather: Display weather info (default: false)
Installation
Download the appropriate binary for your platform from the assets below.
Usage
# Run with default configuration
./gophetch
# Run with custom frame rate (overrides config)
./gophetch 100ms
# Run with custom ASCII frames (overrides config)
./gophetch frames.txt
# Run with custom frames and frame rate
./gophetch frames.txt 500msThe application will automatically create a gophetch.json configuration file on first run that you can customize to your preferences.
Full Changelog: v1.0.4...v1.1.0
v1.0.4
Gophetch v1.0.4
Initial Release
Gophetch is a terminal-based system monitor with ASCII animation built in Go using the Bubble Tea framework.
Features
- Real-time system information display including OS, architecture, username, CPU cores, memory stats, disk usage, process count, and load average
- Animated rain cloud ASCII art (default animation)
- Custom ASCII frame file support for personalized animations with configurable frame rates
- Cross-platform compatibility for Windows, Linux, macOS, and Android/Termux
- Color palette with animated wave effects
- Responsive terminal UI with proper cleanup on exit
System Information Displayed
- Operating system and architecture
- Current username
- CPU core count
- Memory allocation and garbage collection statistics
- Disk usage and permissions
- Process count
- Load average (estimated on Windows/Android)
- Runtime information including uptime, FPS, and Go version
Usage
# Run with default rain animation
./gophetch
# Run with custom frame rate
./gophetch 100ms
# Run with custom ASCII frames file
./gophetch frames.txt
# Run with custom frames file and frame rate
./gophetch frames.txt 500msRequirements
- Go 1.21 or later
- Terminal with ANSI color support
Dependencies
- Bubble Tea (terminal UI framework)
- Lip Gloss (styling library)
Build Scripts
The project includes build scripts for different platforms:
PowerShell (Windows):
.\build.ps1 # Build for current platform
.\build.ps1 -Release # Build optimized release
.\build.ps1 -Platform "linux/amd64" # Cross-compileBash (Linux/macOS):
./build.sh # Build for current platform
./build.sh --release # Build optimized release
./build.sh --platform "windows/amd64" # Cross-compileInstallation
Download the appropriate binary for your platform from the assets below, or build from source using the build scripts.
Full Changelog: v1.0.3...v1.0.4