Skip to content

Releases: filthyrake/vlog

v0.0.5

01 Feb 18:08
3e98954

Choose a tag to compare

What's New in v0.0.5

🎬 Studio Phase 2

  • Full broadcaster dashboard with VOD management, live chat, moderation tools, and analytics
  • Real-time WebSocket chat with message queuing and reconnection handling
  • Stream moderation: bans, timeouts, word filters, and moderator management

🔐 Security Enhancements

  • Admin API now requires authentication by default
  • Restrictive CORS defaults for Admin API
  • Consistent error sanitization (no internal path leaks)
  • PostgreSQL compatibility fixes for production deployments

💾 New Features

  • Backup/Restore: Complete system backup and restore functionality
  • Comments & Ratings: Social engagement features for videos
  • API Key Rotation: Worker API keys now support expiration and rotation
  • Video Embeds: Embed videos on external sites
  • Structured Logging: JSON logging with request context for better observability

🛠 Reliability Improvements

  • Health server tests and improved Docker healthchecks
  • Circuit breaker race condition fix in worker HTTP client
  • N+1 query optimizations in moderator and moderation log endpoints
  • WebSocket message queue limits to prevent memory growth

📚 Documentation

  • Watermark API documentation
  • Kubernetes configuration guidance
  • Database schema documentation with rationale for magic numbers

Breaking Changes

  • Admin API endpoints now require authentication (set VLOG_ADMIN_API_SECRET)
  • Password reset endpoints disabled by default (set VLOG_PASSWORD_RESET_ENABLED=true when email is configured)

Full Changelog: v0.0.4...v0.0.5

v0.0.4

04 Jan 21:40

Choose a tag to compare

What's New in v0.0.4

Major Features

  • Webhook Notifications - Event-driven notifications for external integrations (video.ready, video.failed, etc.)
  • Video Downloads - Allow users to download video files with rate limiting
  • Playlists & Collections - Organize videos into playlists, series, or courses
  • Video Chapters - Timeline navigation with chapter markers
  • Sprite Sheets - Thumbnail previews for timeline scrubbing
  • Featured Videos - Mark videos for homepage prominence

Security Improvements

  • argon2id API Key Hashing - Upgraded from SHA-256 for worker authentication
  • CSP Hardening - Removed unsafe-inline and unsafe-eval from Content Security Policy
  • Alpine.js CSP Build - Using CSP-compliant Alpine.js for public pages

Infrastructure

  • Circuit Breaker - Worker HTTP client resilience pattern
  • Streaming Segment Upload - Progressive upload during transcoding
  • Cursor-based Pagination - Improved API performance for large datasets
  • Table Partitioning - playback_sessions partitioned by month

API Changes

  • New webhook management endpoints
  • New download endpoints with rate limiting
  • New playlist/collection management endpoints
  • New chapter management endpoints
  • Session-based admin authentication

See UPGRADING.md for migration instructions.

v0.0.3

01 Jan 23:38
2a977bb

Choose a tag to compare

What's New in v0.0.3

🎨 Public UI Design Overhaul (Issue #413)

Complete 7-phase redesign of the public-facing website:

  • Modern, responsive layout with improved navigation
  • Redesigned video cards with hover effects and progress indicators
  • Enhanced player with chapters support and timeline thumbnails
  • Full accessibility compliance (WCAG 2.1 AA)
  • Mobile-optimized experience

🖥️ Admin UI Redesign (Issue #412)

  • New component library with consistent design language
  • Modular API client and state management
  • Worker management interface
  • Improved settings management

📋 Playlists & Collections (Issue #223)

  • Create and manage video playlists
  • Drag-and-drop reordering
  • Public playlist pages

⚡ Performance Improvements (Issue #463)

  • Cursor-based pagination for large datasets
  • Table partitioning for analytics data
  • Database connection pooling and query optimization
  • Streaming segment upload eliminates tar.gz blocking (Issue #478)

🛡️ Reliability & Security

  • Circuit breaker pattern for worker HTTP client
  • TAR extraction timeout and orphan cleanup
  • Redis connection pool leak fix
  • Security scanning in CI/CD
  • Kubernetes security hardening

⚙️ Configuration

  • Display settings (view counts, tagline) configurable via admin UI
  • Settings API improvements for easier configuration

🐛 Bug Fixes

  • Frontend API response parsing
  • DASH manifest generation
  • Admin UI console errors
  • Various worker and transcoding fixes

Full Changelog: v0.0.2...v0.0.3

v0.0.2 - Custom Fields, CDN Support & DASH Streaming

26 Dec 20:37

Choose a tag to compare

What's New

Features

  • Custom Metadata Fields (Issue #224)

    • Define custom fields (text, number, date, select, multi-select, URL) for videos
    • Fields can be global or category-specific
    • Full API support for field management and bulk updates
  • CDN Support (Issue #222)

    • Configure CDN domain for video streaming content
    • Automatic URL rewriting for HLS/DASH manifests and segments
  • DASH/CMAF Streaming (Issue #212)

    • Added Shaka Player for DASH playback
    • CMAF container format support with HEVC codec
    • Auto-detection between HLS.js and Shaka Player based on content
  • Deferred Retranscode Cleanup (Issue #408)

    • Videos remain playable while queued for re-transcoding
    • Old files only deleted when worker claims the job
    • Prevents videos from becoming unavailable while waiting in queue
  • Re-encode Queue System

    • Queue videos for re-encoding with priority levels
    • HTTP-based re-encode support for remote workers
    • Admin UI tab for queue management

Security

  • CSRF Protection (#404)
    • Added CSRF tokens to all admin forms
    • Prevents cross-site request forgery attacks

Bug Fixes

  • Fix remote worker CMAF/HEVC support
  • Fix settings validation and CLI settings set command
  • Fix watermarkSettings null initialization in admin UI
  • Fix re-encode queue database operations
  • Fix duplicate variable declarations in watch.html

Documentation

  • Updated DATABASE.md with new tables and columns
  • Updated TRANSCODING_ARCHITECTURE.md with deferred cleanup pattern
  • Updated API.md with custom fields endpoints
  • Comprehensive documentation refresh

Upgrading

# Pull latest code
git pull origin main

# Run database migrations
source venv/bin/activate
alembic upgrade head

# Restart services
sudo systemctl restart vlog-admin vlog-public vlog-worker-api

Full Changelog: v0.0.1...v0.0.2

v0.0.1 - Initial Public Release

25 Dec 20:05

Choose a tag to compare

VLog - Self-Hosted Video Platform

Initial public release of VLog, a lightweight self-hosted video platform with:

  • 4K Video Support - Transcode to multiple quality levels (2160p down to 360p)
  • HLS Adaptive Streaming - Smooth playback on any connection
  • Distributed Transcoding - Kubernetes-ready containerized workers
  • Auto-Transcription - Automatic subtitles via faster-whisper
  • Modern UI - Clean Alpine.js + Tailwind CSS frontend
  • CLI Tools - Upload, manage, and download videos from the command line

Built with FastAPI, ffmpeg, and a whole lot of AI pair-programming.

🤖 Generated with Claude Code