Skip to content

Releases: Cod-e-Codes/gophetch

v1.3.1

08 Sep 23:35

Choose a tag to compare

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

08 Sep 03:50
f256b40

Choose a tag to compare

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

08 Sep 01:40
7f3d631

Choose a tag to compare

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.json

Creating .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.cast

This release maintains full backward compatibility with existing custom frame files while adding powerful new animation capabilities.

v1.1.1

08 Sep 00:27

Choose a tag to compare

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

07 Sep 23:16

Choose a tag to compare

Gophetch v1.1.0 - JSON Configuration System and Weather Feature

Major Features

JSON Configuration System

  • Complete configuration system with gophetch.json file
  • 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 500ms

The 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

07 Sep 20:45

Choose a tag to compare

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 500ms

Requirements

  • 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-compile

Bash (Linux/macOS):

./build.sh                     # Build for current platform
./build.sh --release           # Build optimized release
./build.sh --platform "windows/amd64"  # Cross-compile

Installation

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