Skip to content

v1.0.0-alpha1

Choose a tag to compare

@github-actions github-actions released this 11 Jan 01:58
· 40 commits to main since this release

ytsync 1.0.0-alpha1

Features

  • Public Library API: Use ytsync as a Go library with high-level convenience functions
  • YouTube Integration: List videos from channels using RSS feeds or yt-dlp
  • Transcript Extraction: Extract transcripts with language preference support
  • Metadata Fetching: Retrieve comprehensive video metadata including duration, view count, and more
  • Robust Error Handling: Custom error types for programmatic error handling
  • Retry Logic: Exponential backoff with jitter for resilient operations
  • CLI Tool: Standalone command-line tool for all major operations
  • Cross-Platform: Binaries for Linux, macOS, and Windows (both amd64 and arm64)

What's Included

  • ytsync package for programmatic use
  • ytsync list command to discover videos
  • ytsync transcript command to extract captions
  • ytsync download command to get videos with metadata

Documentation

  • Comprehensive godoc comments on all public APIs
  • Example code for common operations
  • doc.go with detailed package documentation

Requirements

  • Go 1.24+ for library usage
  • yt-dlp installed and available in PATH

CI/CD

  • Automated testing on Go 1.23 and 1.24
  • Linting and code quality checks
  • Automated multi-platform builds
  • GitHub Actions workflows for test, lint, build, and release

Known Limitations

  • Requires yt-dlp for most operations
  • YouTube may rate-limit heavy usage (retry logic helps)
  • Respects YouTube Terms of Service (no private/unlisted content access)

Next Steps

  • Integration tests for video list fetching
  • Optional YouTube Data API v3 support
  • Pagination state persistence for incremental syncs
  • Rate limiting improvements for Innertube API