Skip to content

Releases: sam0uly/bubbleMonitor

v0.6.0

Choose a tag to compare

@sam0uly sam0uly released this 12 Apr 18:02

What's New

Themed CLI output for all subcommands — bub status, bub health, bub doctor, bub version, bub config, and bub export now produce colorized, themed output using your active theme palette.

Features

  • cliout package with CLIStyles, RenderBar, ScoreColor, VisualPad helpers
  • loadCLIStyles() bridge connecting ThemePalette to CLI output
  • Threshold-colored progress bars, health score coloring, themed check symbols
  • Badge-style labels with consistent styling across all commands

Bug Fixes

  • Fixed subcommand routing — bub version, bub status, etc. now work instead of always launching the TUI
  • Fixed label alignment in status output
  • Fixed pre-rendered ANSI codes interfering with badge backgrounds

Downloads

Platform Binary
Linux amd64 bub_linux_amd64
Linux arm64 bub_linux_arm64
macOS amd64 bub_darwin_amd64
macOS arm64 bub_darwin_arm64
Windows amd64 bub_windows_amd64
Windows arm64 bub_windows_arm64

v0.5.0

Choose a tag to compare

@sam0uly sam0uly released this 19 Mar 01:32

Changelog

  • 779b160 fix: use log.Printf for recover() panic logging
  • b30c306 just cleaned the ai created files while im trying claude with ollama and gemini cli XDD
  • 638a029 perf(charts): optimize chart rendering to use cached styles
  • a13881e refactor(ui): update chart function calls for theme parameter
  • 75736a5 remove the web docs until finishing it.
  • 3ffb566 test(charts): add memory benchmarks with large terminal dimensions
  • f913c99 test(charts): add visual regression tests for chart rendering
  • 49650b3 updated and fixed gorelaser config.
  • ae53dce updated readme for the latest release binaries install.
  • 2ff4aed updated the readme and .goreleser
  • 9ebdfe5 updated the readme and added preview image.
  • 289725f updates
  • 03ec048 v0.5.0: major refactoring to senior engineer grade

v0.1.4

Choose a tag to compare

@sam0uly sam0uly released this 02 Feb 02:28

bubbleMonitor v0.1.4

Previously, the Health Score (0-100%) used internal constants to decide when to penalize your score. Now, it respects your configuration.

  • Threshold Sync: The score now strictly follows the thresholds you defined in config.json. If you set your CPU warning at 50%, the score will drop the moment you cross 50%.
  • Custom Weights: You can now fine-tune exactly how much the score drops for each issue via the new health_weights config.
    How to Configure
    Add health_weights to your config.json to override the defaults:
{
  "thresholds": {
    "CPU": 80.0,
    "Memory": 90.0,
    "Disk": 95.0,
    "Temperature": 85.0
  },
  "health_weights": {
    "cpu_critical": 30,  // -30 points if CPU > 80%
    "cpu_high": 10,      // -10 points if CPU > 56% (70% of threshold)
    "mem_critical": 30,
    "mem_high": 10,
    "disk_critical": 50, // Severe penalty for full disk
    "temp_critical": 30,
    "temp_high": 10
  }
}

Fixes & Improvements

  • Fix: Health calculation logic no longer ignores user-defined thresholds.
  • Fix: Removed hardcoded "magic numbers" from analysis logic.
  • Improvement: Better default weight fallback if config is missing.

Installation

Go Install

go install github.com/N1xev/bubbleMonitor/cmd/bub@v0.1.4

Binaries
Download the pre-compiled binary for your platform from the Assets section.

v0.1.3 - Enhanced CPU Monitoring & Performance

Choose a tag to compare

@sam0uly sam0uly released this 02 Feb 01:55

bubbleMonitor v0.1.3 - Enhanced CPU Monitoring & Optimization

This release addresses user feedback regarding high resource usage and confusion about CPU metrics >100%.

🚀 New Features

Normalized CPU Usage (Btop Style)

By default, Linux reports CPU usage as the sum of all cores (e.g., 200% = 2 full cores). This can be confusing.
We've added a Normalized Mode option!

  • Raw Mode (Default): Shows total usage (e.g., 400% on 4 cores). Accurate for capacity planning.
  • Normalized Mode: Shows 0-100% scale (divided by core count). Better for "how busy is this process relative to the whole machine".

How to use:

  • Press n to toggle instantly.
  • Or change "Process CPU" in the Settings menu (.).

⚡ Performance Improvements

We addressed reports of high CPU usage by bub itself (17.5%):

  • Optimized Rendering: The process list rendering engine was rewritten to pre-allocate styles, eliminating thousands of memory allocations per frame.
  • Smarter Updates: Background analysis logic was split to avoid redundant calculations, reducing CPU overhead during monitoring cycles.
  • Memory Fixes: Fixed a potential memory leak in process history tracking.

🛠️ Fixes

  • Fixed stale data in history graphs.
  • Improved responsiveness of the settings menu.

Installation

Go Install

go install github.com/N1xev/bubbleMonitor/cmd/bub@v0.1.3

Binaries
Download the pre-compiled binary for your platform from the Assets section.

v0.1.1 - Stability and Bug Fixes

Choose a tag to compare

@sam0uly sam0uly released this 01 Feb 21:46

v0.1.1 - Stability and Bug Fixes

This release focuses on improving stability and fixing critical bugs discovered during code review.

🐛 Bug Fixes

Critical

  • Fixed potential race condition in RingBuffer

    • Added sync.RWMutex to protect concurrent access to history buffers
    • Future-proofs against background tasks accessing metrics history
    • Verified with race detector tests
  • Prevented memory leak in string interner

    • Global interner was accumulating strings indefinitely
    • Now prunes cache when it exceeds 5000 entries
    • Prevents memory issues during long monitoring sessions
  • Fixed unsafe type assertion in slice pool

    • GetProcSlice() now uses comma-ok idiom
    • Returns fresh slice if pool gets corrupted instead of panicking

High Priority

  • Added proper error handling for CSV exports

    • Previously, write operations silently ignored errors
    • Users now get clear feedback if snapshot export fails
    • Prevents corrupted files being reported as successful
  • Removed duplicate code (copy-paste error)

    • Fixed triple assignment to m.LastError in help overlay handler

📦 Installation

Download Pre-built Binaries

Choose the binary for your platform:

Windows

curl -L https://github.com/N1xev/bubbleMonitor/releases/download/v0.1.1/bub-windows-amd64-v0.1.1.exe -o bub.exe
./bub.exe

Linux

curl -L https://github.com/N1xev/bubbleMonitor/releases/download/v0.1.1/bub-linux-amd64-v0.1.1 -o bub
chmod +x bub
./bub

macOS (Intel)

curl -L https://github.com/N1xev/bubbleMonitor/releases/download/v0.1.1/bub-darwin-amd64-v0.1.1 -o bub
chmod +x bub
./bub

macOS (Apple Silicon)

curl -L https://github.com/N1xev/bubbleMonitor/releases/download/v0.1.1/bub-darwin-arm64-v0.1.1 -o bub
chmod +x bub
./bub

Build from Source

git clone https://github.com/N1xev/bubbleMonitor.git
cd bubbleMonitor
go build -o bub ./cmd/bub
./bub

🧪 Testing

  • Comprehensive test suite with race detector
  • All tests passing on Linux/macOS/Windows
  • No memory leaks detected

📝 Notes

  • All features and functionality remain unchanged
  • Full backward compatibility maintained
  • No breaking changes

📊 What's Changed

  • Refactor project structure to follow Go conventions by @N1xev in 2f18905
  • Fix potential race condition in RingBuffer by @N1xev in 5ff87e2
  • Prevent memory leak in string interner and fix type assertion by @N1xev in 2e25728
  • Add proper error handling for CSV writes by @N1xev in e11a028

Full Changelog: v0.1.0...v0.1.1

v0.1.0: First Public Pre-Release (MVP)

Pre-release

Choose a tag to compare

@sam0uly sam0uly released this 16 Dec 18:19
image

Introducing BubbleMonitor (bub) the feature rich TUI-based system monitoring tool, Real-time system metrics, process management, and customizable themes in an intuitive TUI interface. "and it shows you only, what you want to see!😄"

New Features & Highlights

This first release focuses on providing a stable, highly configurable core monitoring experience:

+ essential monitoring features: OVERVIEW,  METRICS,  PROCESSES,  DISKS,  NETWORK,  SYSTEM
+ Processes managment: suspend, kill, resume, sorting, filtering, details, open files, tree/normal view, collapsable, prioritizing 
+ theme switching with 33 theme and tty theme support
+ background trancparency: opaque, transparent
+ border style switching: doubled, single rounded, single not rounded, dashed
+ customizing tabs: disable/enable tabs
+ settings overlay to control your app
+ config file and config file watcher
+ alerts for resources high usage: customizable thresholds for them (the percent that will alert when it go above it)
+ notification toasts: currently its for settings changes
+ metrics chart types: braille, bar, sparkline, line
+ process suspend and resume
+ process tree view with collapse and expand functionallity

check the README.md for more details.

Full Changelog: https://github.com/N1xev/bubbleMonitor/commits/v0.1.0

How to Install:

This version is published as a Pre-Release. We encourage early testing and feedback!

1. Via Go Toolchain (Recommended)

If you have Go installed on your system, you can install BubbleMonitor directly:

go install github.com/N1xev/bubbleMonitor@v0.1.0