Skip to content

Release v1.3.9

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Jun 15:05
· 2 commits to main since this release

Release v1.3.9

v1.3.9 focuses on data integrity, CDN friendliness, and hardening the push/TCPing paths while keeping existing clients and databases compatible.

Highlights

  • Preserves multiple TCPing samples that arrive in the same second or with the same timestamp instead of overwriting older samples.
  • Persists push-mode metrics and TCPing results in a single bbolt transaction, reducing write amplification without changing the wire protocol.
  • Keeps TCPing history cache target-scoped and bounded; oversized history responses are still returned in full and only skip the in-memory cache copy.
  • Adds startup cleanup for TCPing history older than 24 hours so large databases do not wait for the hourly cleaner after restart.
  • Adds CDN-friendly cache headers: hashed /_astro/* assets are immutable for CDN/browser caches, while HTML and API/SSE responses remain fresh and safe.
  • Hardens client IP handling behind trusted proxies and avoids logging token-bearing query strings in bundled Nginx access logs.
  • Improves backup/restore support for Docker named volumes by detecting the actual /app/data mount from the running container.
  • Fixes client request-context cancellation so registration and push responses can reliably read returned TCPing configuration.
  • Preserves Pulse-Hotaru navbar compatibility flags (hide_tags, hide_cards) for future backend unification.

Compatibility

  • Existing clients continue to work.
  • Existing metrics.db files remain readable, including legacy TCPing key formats.
  • Existing Docker named-volume and bind-mount deployments are supported.
  • /api/* and /api/events intentionally remain non-cacheable; only static assets should produce CDN cache hits.

Verified

  • Server tests and vet checks.
  • Client build/test checks.
  • Frontend Astro build.
  • Shell script syntax checks.
  • Docker image build and runtime health check.
  • Nginx configuration validation and cache-header inspection.

📦 Docker Images

  • xhh1128/pulse:1.3.9
  • xhh1128/pulse:latest

📥 Downloads

Client binaries

Platform File
Linux amd64 probe-client
Linux arm64 probe-client-arm64
macOS Intel (amd64) probe-client-darwin-amd64
macOS Apple Silicon (arm64) probe-client-darwin-arm64
Windows amd64 probe-client.exe
Install Script (Linux + macOS) install.sh

Server standalone binaries (uploaded by the standalone workflow)

Platform File
Linux amd64 pulse-server-standalone-linux-amd64
Linux arm64 pulse-server-standalone-linux-arm64

Quick Install (Linux & macOS):

curl -sSL https://raw.githubusercontent.com/xhhcn/Pulse/main/client/install.sh | sudo bash -s -- --id YOUR_ID --server http://YOUR_SERVER:8080

One-click migration to a new host:

PASSWORD="$OLD_ADMIN_PW" \
  sudo -E ./scripts/migrate.sh --from https://old.example.com