Skip to content

Releases: flolibio/tailr

v0.5.1

23 Jun 10:26

Choose a tag to compare

Migration

  • Repository moved from wunamesst to flolibio
  • Updated all GitHub URLs in code, docs, and frontend
  • Updated self-upgrade endpoint to new repository

Full Changelog: v0.5.0...v0.5.1

v0.5.0

23 Jun 07:24

Choose a tag to compare

[v0.5.0] - 2026-06-23

Security

  • Path traversal protection: all file endpoints validate paths against configured log_dirs and log_files via canonicalize() + allowlist check
  • Token authentication: optional Bearer token via config.toml, TAILR_TOKEN env var, or Settings UI
  • CSRF protection: restricted CORS headers + X-Requested-With check on POST endpoints
  • Config write protection: POST /api/config/log-levels requires authentication when token is set
  • Error sanitization: generic error messages to client, detailed errors logged server-side
  • Search parameter limits: context capped at 50, limit capped at 10000

Features

  • Token input dialog: auto-popup on 401, auto-reload file list after authentication
  • Token setting in Settings dialog (persisted to localStorage)

Full Changelog: v0.4.0...v0.5.0

v0.4.0

22 Jun 15:50

Choose a tag to compare

Features

  • Settings dialog: modal design (VS Code style) replacing sidebar panel, with left navigation (General, Log Levels, About)
  • Configurable log levels: 7 presets (General, Java, Python, PHP, Go, Rust, syslog), web UI for editing levels/keywords/colors with drag-and-drop reorder
  • Font customization: font family dropdown (JetBrains Mono, Hack, Cascadia Code, Fira Code, Consolas, Monaco, Menlo, System Monospace) and font size (10–24px)
  • Theme modes: Light, Dark, and System (follows OS preference), persisted across sessions
  • Page title dynamically shows selected log file name (tailr - <filename>)
  • About page with project logo, version, and GitHub link
  • Warp-inspired dark theme color palette
  • Full i18n support for all settings strings (en-US, zh-CN)

Fixes

  • Selection toolbar scoped to log viewer area only (no longer appears on other UI elements)
  • Font size input uses @change to avoid fighting user keystrokes during typing
  • Theme mode persisted to localStorage, restored on dialog reopen
  • setTimeout timers properly cleared on component unmount

Infrastructure

  • frontend/dist removed from git tracking, added to .gitignore

New Contributors

Full Changelog: v0.3.1...v0.4.0

v0.3.1

15 Jun 11:22

Choose a tag to compare

Performance

  • Reverse-read tail: LineIndex::tail_start() reads backwards from EOF in 8KB chunks instead of scanning entire file (440MB log: 1.4s → 43ms)
  • Wrap blocking tail I/O in spawn_blocking to avoid async executor stalls

Fixes

  • Dark mode text selection contrast (yellow → blue)
  • Clippy derivable_impls lint: derive Default for DaemonConfig

Infrastructure

  • CONTRIBUTING.md, PR/Issue templates, CI workflow

Full Changelog: v0.3.0...v0.3.1

v0.3.0

12 Jun 17:32

Choose a tag to compare

What's New in v0.3.0

📄 Config File Support

  • Add ~/.config/tailr/config.toml config file with auto-initialization
  • Priority: CLI args > Config file > Env vars > Defaults
  • tailr init — create config file (prompt to confirm if exists)
  • tailr config — print config file contents
  • Default config includes log = ["/var/log"] and bind = "0.0.0.0:7700"

🔧 CLI Subcommand Refactoring

  • tailr init — initialize config file
  • tailr config — print config file contents
  • tailr stop — stop daemon (was --stop)
  • tailr status — show daemon status (was --status)
  • tailr systemd — generate systemd service file (was --systemd)
  • tailr launchd — generate launchd plist file (was --launchd)
  • tailr upgrade — unchanged

🐛 Bug Fixes

  • Upgrade now jumps directly to the latest version regardless of version gap (self_update's compatibility check restricted 0.x versions to same-minor patch bumps only)
  • Fixed sidebar overlapping statusbar in the grid layout

⚠️ Breaking Changes

CLI flags changed to subcommands:

tailr --stop      → tailr stop
tailr --status    → tailr status
tailr --systemd   → tailr systemd
tailr --launchd   → tailr launchd

Full Changelog: v0.2.0...v0.3.0

v0.2.0

11 Jun 12:47

Choose a tag to compare

Full Changelog: v0.1.5...v0.2.0

v0.1.5

10 Jun 13:18

Choose a tag to compare

v0.1.5 - File Truncation Fix

Fixes

  • Fixed empty entries after file truncation: When a log file is truncated (e.g., via logrotate copytruncate), the cached LineIndex had stale offsets from the larger file. Now detects truncation (file_size < idx.file_size) and rebuilds the index from scratch.

Full Changelog: v0.1.4...v0.1.5

Full Changelog: v0.1.4...v0.1.5

v0.1.4

10 Jun 13:17

Choose a tag to compare

v0.1.4 - Daemon Mode

Features

  • Daemon mode: Run tailr in background with --daemon, replacing nohup approach
  • Process management: --stop to stop running daemon, --status to check status
  • System service integration: --systemd generates systemd service file (Linux), --launchd generates launchd plist (macOS)
  • PID file management: Automatic PID file handling with custom path support via --pid-file
  • Log redirection: stdout/stderr redirected to log file in daemon mode, customizable with --log-file
  • Signal handling: Graceful shutdown on SIGINT/SIGTERM/SIGHUP
  • Version display: Show current version and GitHub link in settings panel footer

Usage

# Start in background
tailr --daemon --log /var/log/app /var/log/nginx

# Check status
tailr --status

# Stop daemon
tailr --stop

# Generate systemd service file
tailr --systemd --log /var/log/app | sudo tee /etc/systemd/system/tailr.service

# Generate launchd plist (macOS)
tailr --launchd --log /var/log/app > ~/Library/LaunchAgents/com.tailr.plist

Dependencies

  • Added daemonize = "0.5" - Unix daemonization
  • Added dirs = "5.0" - Cross-platform data directories

Fixes

  • Fixed empty entries after file truncation: When a log file is truncated (e.g., via logrotate copytruncate), the cached LineIndex had stale offsets from the larger file. Now detects truncation and rebuilds the index.
  • Fixed daemon mode failing to serve HTTP (fork must happen before tokio runtime)
  • Fixed test_filter_by_pattern_regex test failure (use builder pattern to compile regex)
  • Fixed settings footer hidden behind status bar

Full Changelog: v0.1.3...v0.1.4

v0.1.3

08 Jun 12:21

Choose a tag to compare

What's New in v0.1.3

🚀 Self-Upgrade

# Check for updates
tailr upgrade --check

# Upgrade to latest version
tailr upgrade
  • Supports Linux x86_64 and aarch64
  • Atomic binary replacement with progress display

🌍 Multi-language UI

  • English (default) and Chinese support
  • Switch language in Settings → Language
  • Browser language auto-detection

📥 Downloads

Platform File
Linux x86_64 tailr-x86_64-linux-musl.tar.gz
Linux aarch64 tailr-aarch64-linux-musl.tar.gz

Full Changelog: v0.1.2...v0.1.3

v0.1.2

05 Jun 12:44

Choose a tag to compare

Full Changelog: v0.1.1...v0.1.2