Files
bhs/CHANGELOG.md
icsboyx ffa1194ed6
All checks were successful
Build & Publish / build_publish (push) Successful in 3m14s
Release v1.1.0
2026-01-25 11:12:54 +01:00

3.9 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.1.0] - 2026-01-25

Added

  • Shared HTML footer template injected into all pages.
  • Structured log file handler with rotation, append-only writes, and stats parsing support.
  • Upload size guard using MAX_ASSET_SIZE_BYTES.
  • Unit tests for core storage and rate limiting behavior.

Changed

  • Asset storage cleanup and capacity checks are now race-safe.
  • Stats aggregation now reads from the structured log file helper.

[1.0.1] - 2026-01-16

Fixed

  • Asset addition logging now displays immediately instead of being buffered (changed print! to println!).
  • Upload functionality blocked after first successful upload - users can now only upload once per page session.
  • Paste, drag & drop, and file selection disabled after successful upload to prevent confusion.
  • JavaScript syntax errors in event listener registration that prevented copy/paste functionality.
  • Removed nested and duplicated event listeners that caused unexpected behavior.

Changed

  • Added uploadCompleted flag to track upload state and prevent multiple uploads per session.
  • Reset button now properly clears the uploadCompleted flag to allow new uploads.

[1.0.0] - 2026-01-14

Added

  • UI error banner for failed uploads, including retry timing.
  • retry_after_seconds in the upload error response to inform clients when to retry.
  • Server-side duration clamping for uploads (1-60 minutes).

Changed

  • Upload throttling now tracks active assets per user using asset expiration times.
  • Upload error responses are consistently JSON.

Removed

  • Retry-After response header on upload limit errors.

[0.3.0] - 2026-01-13

Added

  • Favicon set and web manifest for site branding.
  • Syntax-highlighted rendering for code-like text content in the viewer.
  • Startup log rotation that archives the previous log with a timestamp.

Changed

  • Access logs now write to data/logs/log.txt instead of access.log.

[0.2.0] - 2026-01-11

Added

  • Default implementation for the asset model to simplify log parsing fallbacks.
  • Basic UI polish for the stats page (background glow and hover highlight on recent activity).

Changed

  • Asset logging now records serialized values without cloning asset content.
  • Release workflow uses tag-based versioning and caches Rust/toolchain artifacts.

[0.1.1] - 2026-01-09

[0.1.0] - 2026-01-09

Added

  • Statistics Dashboard (/stats.html) with real-time metrics:
    • Active assets count
    • Total uploads and deletions
    • Storage usage
    • Image vs text breakdown
    • Average server response time
    • Total request count
    • Recent activity feed (last 20 events)
    • Auto-refresh every 30 seconds
  • Statistics API (GET /api/stats) returning JSON metrics
  • Enhanced logging for asset events:
    • Upload events with uploader IP, MIME type, size, duration, timestamps
    • Delete events with full asset metadata
    • Request timing (dur_ms) in access logs
  • Uploader IP tracking stored with each asset for audit purposes
  • Stats link in index page footer
  • Ephemeral image and text sharing with configurable TTL (1-60 minutes)
  • Drag/drop, paste, and file picker upload support
  • Base64 encoding for images, raw text for plain text
  • UUID-based asset storage as JSON files
  • Background cleanup task (every 60 seconds)
  • Dark theme UI with zoom overlay
  • View page for shared content
  • Access logging with timing, IPs, and user agent
  • Docker and docker-compose support with Traefik labels
  • Environment variables for bind address and port
  • Access logging with timing, IPs, and user agent
  • Docker and docker-compose support with Traefik labels
  • Environment variables for bind address and port