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
HEALTHCHECKinstruction 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
curlto check/healthzendpoint with database connectivity verification - Verifies both HTTP server and database availability
- Enables better container orchestration and monitoring
- Added
-
Health Endpoint
- New
/healthzendpoint (Kubernetes convention) - Checks database connectivity in addition to HTTP server availability
- Returns
200 OKwith{"status": "healthy"}when healthy - Returns
503 Service Unavailablewhen database is unavailable
- New
-
Runtime Dependencies
- Added
curlto runtime dependencies for healthcheck support - Minimal impact on image size (~180MB total)
- Added
🔧 CI/CD Pipeline Improvements
-
Simplified Docker Image Tagging
- Only creates exact version tag (e.g.,
v0.4.6) andlatest - Removed major and minor version tags (
v0,v0.4) - Cleaner image registry with fewer redundant tags
- Easier to identify specific versions
- Only creates exact version tag (e.g.,
-
Optimized Build Triggers
- Docker images only build on Git tag pushes (
v*) - Removed automatic builds on
mainbranch pushes - Reduces CI/CD resource usage
- Manual builds still available via
workflow_dispatch - More efficient and cost-effective pipeline
- Docker images only build on Git tag pushes (
🔧 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
.gitignorewith 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
/healthendpoint for monitoring, update to/healthz
📝 Breaking Changes
Health Endpoint Change
/healthendpoint removed: The previous/healthendpoint 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/healthzinstead - Reason: The new
/healthzendpoint 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