• v0.4.6 047adbe06a

    bscott released this 2025-11-14 13:23:05 -05:00 | 13 commits to main since this release

    SubTrackr v0.4.6 Release Notes

    🎉 Overview

    This release focuses on Docker improvements and CI/CD pipeline optimization. We've added Docker healthcheck support (Issue #47), simplified Docker image tagging, and optimized the build pipeline to only create images on Git tags.

    New Features

    🐳 Docker Healthcheck (Resolves #47)

    • Container Health Monitoring

      • Added HEALTHCHECK instruction to Dockerfile
      • Monitors application health every 30 seconds
      • 3-second timeout per health check
      • 5-second start period to allow application initialization
      • 3 retries before marking container as unhealthy
      • Uses curl to check /healthz endpoint with database connectivity verification
      • Verifies both HTTP server and database availability
      • Enables better container orchestration and monitoring
    • Health Endpoint

      • New /healthz endpoint (Kubernetes convention)
      • Checks database connectivity in addition to HTTP server availability
      • Returns 200 OK with {"status": "healthy"} when healthy
      • Returns 503 Service Unavailable when database is unavailable
    • Runtime Dependencies

      • Added curl to runtime dependencies for healthcheck support
      • Minimal impact on image size (~180MB total)

    🔧 CI/CD Pipeline Improvements

    • Simplified Docker Image Tagging

      • Only creates exact version tag (e.g., v0.4.6) and latest
      • Removed major and minor version tags (v0, v0.4)
      • Cleaner image registry with fewer redundant tags
      • Easier to identify specific versions
    • Optimized Build Triggers

      • Docker images only build on Git tag pushes (v*)
      • Removed automatic builds on main branch pushes
      • Reduces CI/CD resource usage
      • Manual builds still available via workflow_dispatch
      • More efficient and cost-effective pipeline

    🔧 Technical Improvements

    Docker

    • Healthcheck configuration following Docker best practices
    • Multi-stage build maintained for optimal image size
    • All runtime dependencies properly included

    GitHub Actions

    • Streamlined workflow configuration
    • Reduced unnecessary build triggers
    • Better resource utilization

    Project Configuration

    • Updated .gitignore with additional entries
    • Improved project organization

    🔄 Migration Notes

    • Docker Images: Existing images continue to work
    • CI/CD: Pipeline changes only affect new builds
    • Health Endpoint: If you're using the /health endpoint for monitoring, update to /healthz

    📝 Breaking Changes

    Health Endpoint Change

    • /health endpoint removed: The previous /health endpoint has been replaced with /healthz
    • Action Required: If you have monitoring systems, health checks, or load balancers configured to use /health, update them to use /healthz instead
    • Reason: The new /healthz endpoint provides better health verification by checking both HTTP server and database connectivity, following Kubernetes conventions
    • Impact: Low - Only affects systems actively monitoring the health endpoint

    🙏 Acknowledgments

    • Issue #47 contributor for Docker healthcheck request
    • Community feedback on CI/CD optimization

    📚 Documentation

    • Docker healthcheck follows Docker documentation
    • Updated workflow documentation for tag-based builds

    Release Date: 11/14/25
    Git Tag: v0.4.6
    Branch: v0.4.6