Skip to content

Releases: AkaCoder404/tinypulse

v0.1.0-beta.5

22 Apr 07:01

Choose a tag to compare

Configuration as Code:

  • Declarative YAML Provisioning: You can now manage your endpoints and notifiers via a tinypulse_config.yml file using the new -config flag. Config-managed items are securely tracked in the database and automatically locked as "Read-Only" in the Web UI to prevent accidental modifications.
  • Environment Variable Substitution: The YAML config file fully supports environment variables (e.g., bot_token: "${TELEGRAM_TOKEN}"), allowing you to safely commit your configuration to version control without exposing secrets.
  • Deep Validation & CI/CD Dry-Runs: Use the new -dry-run flag to safely preview what changes a configuration file will apply to your database without actually writing anything to the disk. TinyPulse will perform a deep validation of your YAML file (including checking for missing notification tokens) before printing a clear [CREATE], [UPDATE], or [DELETE] diff.
  • Configuration Export Utility: Easily transition your existing UI-managed setup to a declarative workflow by using the new -export-config <file> flag. This command instantly dumps your entire database into a clean, formatted YAML configuration file.
  • Safe "Eject" Mechanism: If you start the server without a -config flag but still have locked configuration items in the database, the dashboard will gracefully display an "Orphaned Config" warning. You can run tinypulse -eject-config to safely transition those locked items back to UI control without losing any of your uptime history.
  • V4 Database Migration: Automatically upgrades the SQLite schema to support uid and source tracking for endpoints and notifiers. As always, TinyPulse will create a safe, point-in-time backup (tinypulse_backup_v3.db) before applying the schema upgrade.

Deployment & Platform Support:

  • Docker Support: Added a multi-stage Dockerfile and docker-compose.yml for streamlined containerized deployment.
  • macOS Apple Silicon: Added native macOS Apple Silicon (darwin/arm64) builds to the GitHub Actions release matrix.

v0.1.0-beta.4

21 Apr 10:24
29cd01c

Choose a tag to compare

Performance & Architecture:

  • In-Memory Dashboard State: Redesigned the core monitoring engine to use a lightning-fast, lock-free memory map (StateManager). The dashboard now loads instantly regardless of how much historical data you have, completely eliminating SQLite disk I/O on page load.
  • Real-Time Live UI: The visual history bars (the last 50 pings) and the current status (Up/Down) are now served directly from the memory map on the primary /api/endpoints response. This stops the frontend from spamming the backend with 50 separate /history HTTP requests on load.
  • Background Aggregation: Heavy math (like calculating 24-hour average uptime percentages) has been completely removed from the UI read path. It is now processed asynchronously every 60 seconds by a background goroutine.
  • V3 Database Migration: Automatically adds a new "Covering Index" (idx_checks_endpoint_checked_up) to the SQLite checks table. This allows the background worker to calculate the 24-hour average exponentially faster, entirely within RAM.

UI Enhancements:

  • Rich History Tooltips: Hovering over the visual history bars now shows a detailed tooltip including the exact local time, the HTTP status code (e.g., HTTP 200), and the exact response time in milliseconds.

v0.1.0-beta.3

19 Apr 08:22

Choose a tag to compare

Features & Enhancements:

  • Multi-Checker Architecture: Rebuilt the core monitoring engine to support different check types (HTTP, TCP, etc.) via a decoupled interface, making it highly extensible.
  • TCP Port Monitoring: You can now monitor raw TCP ports (e.g., 1.1.1.1:53 or example.com:22) alongside standard HTTP/HTTPS URLs.
  • Automated Database Backups: The SQLite database now features a robust versioning system. Before applying any schema upgrades, TinyPulse automatically creates a safe, point-in-time backup (tinypulse_backup_vX.db) using VACUUM INTO.
  • Dashboard Improvements: Upgraded the UI with a brief status summary, a search bar, and status filtering to easily find specific endpoints.
  • Documentation & Deployment: Added a comprehensive deployment guide (docs/deployment_and_updates.md) and a systemd automated setup script for Linux VPS hosting.

v0.1.0-beta.2

18 Apr 09:28

Choose a tag to compare

Features & Enhancements:

  • UI Updates: Added a GitHub link and support for Light/Dark/System mode switching.

Bug Fixes:

  • Notifiers: Fixed an issue where new endpoints failed to save their attached notifiers upon creation.

v0.1.0-beta.1

18 Apr 07:11

Choose a tag to compare

🎉 Initial Beta Release!

TinyPulse is a single-binary, self-hosted uptime monitor for HTTP/HTTPS endpoints. Drop it on any VPS, NAS, or Raspberry Pi and start monitoring in seconds.

Key Features in this Beta:

  • Zero Dependencies: Single static Go binary (~12 MB) with embedded Tailwind CSS frontend.
  • Concurrent Monitoring: Hardened goroutines gracefully stagger checks and handle timeouts safely.
  • Alert Notifications: Built-in support for Telegram and Pushover alerts.
  • Customizable Thresholds: Configure exactly how many consecutive failures trigger an alert per-endpoint.
  • Built-in Security: Secure the dashboard and API instantly with HTTP Basic Auth (TINYPULSE_PASSWORD).
  • Efficient Data Layer: Pure-Go SQLite with WAL mode, chunked pruning, and decoupled asynchronous writers.