Skip to content

v0.8.0

Latest

Choose a tag to compare

@rtibbles rtibbles released this 17 Dec 00:14
99daf9a

What's Changed

Added

  • New end to end file download and conversion pipeline to allow extensibility and composition of the file processing, while maintaining backwards comptability with previous Node and File classes
  • Adds ResourceNode class that allows simply passing in a file path and associated metadata, and letting the file pipeline auto infer kind, file presets etc.
  • Adds support for GoogleDrive download based on file URLs on Google Drive
  • WebM video compression support
  • Bloom format file uploads
  • PDF validation in file pipeline
  • Audio/video stream validation utility
  • Python 3.11, 3.12, 3.13 support
  • Optional Sentry integration
  • Optional Slack notifications for channel uploads
  • Ensure DOWNLOAD headers set a proper useragent

Changed

  • The jiro CLI has been removed, as it was broadly unused, and broken.
  • Dropped support for unsupported Python versions (3.7, 3.8)
  • Replaced le-utils pycountry dependency with langcodes
  • Default learning_activity now set based on node kind

Fixed

  • Graphie processing - to make sure that non-English language data is included in Graphie files
  • More robust download failure handling

Included PRs

New Features

  • Download css background images by @jredrejo in #477
  • Set default learning_activity based on node kind in TreeNode by @nucleogenesis in #496
  • Allow uploading of bloom format files by @nikkuAg in #517
  • added insufficient storage exception by @the-ivii in #567
  • Add webm support to compress_video. Add tests. Raise error if webm passed to faststart. by @rtibbles in #566
  • Add utility to validate stream of audio and video media files. by @rtibbles in #570
  • feat: Add PDF validation to file pipeline by @rtibbles in #610
  • Add optional Sentry integration by @rtibbles in #618
  • Add optional Slack integration for channel upload notifications by @rtibbles in #619
  • feat: Handle subtitle exceptions in SubtitleConversionHandler by @rtibbles in #624
  • Google Drive handler integration by @rtibbles in #577
  • Allow ContentNode class to take a uri argument for its default file by @rtibbles in #593
  • Add try/finally handling for yield block, ensures that files still get checked even when caught exceptions occur. by @rtibbles in #608
  • Do more robust handling of download failures. by @rtibbles in #631

Bug Fixes

  • Use the right object to get the error information by @jredrejo in #469
  • Use blacklisted urls in the static assets by @jredrejo in #476
  • Fix name in reference to auto-thumbnail-generation argument by @jamalex in #489
  • Fix placement of exception class to avoid breaking the channel manager. by @rtibbles in #583
  • Revert "Allow for chefs to explicitly set a channel ID." by @rtibbles in #582
  • Fix macos tests. by @rtibbles in #585
  • Fix header set for the DOWNLOAD_SESSION by @GautamBytes in #596
  • Fix graphie processing by @rtibbles in #604
  • Fix regression introduced by overly liberal perseus image URL capture. by @rtibbles in #621
  • Fix tests for latest version of yt-dlp by @rtibbles in #641
  • Miscellaneous bug fixes by @rtibbles in #628

Documentation

  • Update ReadTheDocs builds configuration by @MisRob in #450
  • docs: update link to api token by @ThEditor in #482
  • Update video_compression docs to include faststart flag by @rtibbles in #540
  • Added documentation regarding the transition to WebM format (for videos) by @GautamBytes in #591
  • Update installation.md to remove incorrect references to Python 3.5 by @rtibbles in #599
  • Docs: Document all le_utils.constants.labels metadata fields in nodes.md by @rtibbles in #609

Testing

  • Update content disposition parsing and add tests. by @rtibbles in #484
  • Test under Python 3.11 & 3.12 by @rodjek in #510
  • Mock yt-dlp web requests by @jredrejo in #527
  • Add tests cases for predictable zip functionality. by @rtibbles in #544
  • Adds more tests for the File classes to ensure behaviour ahead of refactor by @rtibbles in #571
  • Add vcr for youtube test by @rtibbles in #574
  • Update audio and video to same urls used in standard fixtures. by @rtibbles in #611
  • Add Python 3.13 support by @rtibbles in #614

CI/CD & GitHub Actions

  • Add action to send Slack notification about comments on issues by @MisRob in #479
  • Feat: added update-spreadsheet action by @GarvitSinghal47 in #541
  • Use notify_team_new_comment workflow action from .github repo by @rparadowski in #543
  • Remove 'pull_request_review' event from the community contributions spreadsheet action by @MisRob in #548
  • Trusted publishing setup by @rtibbles in #553
  • Fix the action not updating some data in the contributions tracking sheet by @MisRob in #569
  • feat: add community contribution labeling workflow by @iamshobhraj in #578
  • Add pre-commit hooks for yml formatting and github actions linting. by @rtibbles in #586
  • unassign inactive users action by @SukhvirKooner in #590
  • Remove custom issue templates, turn on issue header automation, reference new contributing guidelines by @MisRob in #607
  • Update manage issue header workflow events by @MisRob in #617
  • Update workflow that handles contributor comments to the latest version + update make lint command to use pre-commit by @MisRob in #622
  • Upgrade workflows to .github#35 by @MisRob in #643

Refactoring & Maintenance

  • Drop Python 3.7 support. by @rtibbles in #459
  • Do a minimum version pin for yt-dlp to allow more rapid updates by @rtibbles in #534
  • Upgrade flake8 hook for Python 3.12 compatibility. by @rtibbles in #564
  • Remove unused CLI to reduce complexity. by @rtibbles in #565
  • Update graphie files to focus on https only downloads. by @rtibbles in #572
  • Pipeline refactor by @rtibbles in #573
  • Handle case where the file extension has changed from the original filename by @rtibbles in #584
  • Remove reliance on le-utils based pycountry using getlang methods. by @rtibbles in #597
  • Tweaks and improvements to file handling by @rtibbles in #601
  • Fixes/tweak for handling compression in archive files by @rtibbles in #616
  • Path handling tweaks in transfer handling by @rtibbles in #620

Dependency Upgrades

New Contributors

Full Changelog: v0.7.3...v0.8.0