Changelog¶
Versions follow Calendar Versioning with the YYYY.M.D
scheme.
2026.1.18¶
Make the
--yt-dlpoption default after (#37)
2026.1.16¶
Build Windows binary with the recent yt-dlp version
2026.1.2¶
Fix incorrect live stream end detection (#36)
2025.12.15¶
Allow
nowin date and time arithmetic (#34)
2024.12.23¶
Allow date and time arithmetic for dates in
--interval(#30)
2024.9.9¶
Build Windows binary without
--noconsolethat caused no output in console
2024.9.8¶
Fix incorrect base URLs handling after redirects while retrying
Make sure fresh base URLs are used after retry everywhere
Wait between retries and use simple backoff strategy
2024.6.13¶
Implement the format spec mini-language
Add the
-xxoption to dry run until segment locatingAdd the short
-Coption for--configPrint a notice message if input point hits a stream gap
2024.5.30¶
Make cutting non-default behavior and add the
-c / --cutoptionStart using Jinja templates for output path templates
Accept long option names for default option values in the config file
Change the format of composed MPEG-DASH MPDs from compact to full (#12)
Remove
--from-playbackfromytpb downloadRename
-X / --dry-runto-x / --dry-runRename
--segments-output-dirto-s / --segments-output-dir
2024.5.12¶
Add Windows support (#11)
Fix not cutting issue introduced in v2024.5.3 (b0e4f3d)
Replace all
ffprobecalls toav’s function callsMove
ytpb.ffmpegtoytpb.utils.ffmpegAdd CI workflows to create test expectation files, build Windows binaries, publish on PyPI, and draft a GitHub release
Run CI tests on Linux, MacOS, and Windows
Start using dynamic versioning via
hatch-vcsConvert CHANGELOG from ReST to Markdown format
Apply patches from files in Containerfile to avoid merge conflicts
2024.5.3¶
Add support for resumable downloads (#13)
Change the segments output directory from the run temporary directory to a directory under the current working one
Add
--ignore-resume,-S / --keep-segments, and--segments-output-diroptionsChange the default output path to
<title>_<id>_<input_start_date>Rename the
--no-cleanupoption to--keep-tempReplace the
--previewoption with--preview-startand--preview-end
2024.4.20¶
2024.4.12¶
Add the Python package page with the basic usage and API reference
Add the
--versionCLI option to show version numberAdd
ytpb.representations.RepresentationInfo.typepropertyAdd
ytpb.playback.RewindInterval.durationandytpb.playback.RewindInterval.sequencespropertiesAccept Unix timestamps for moments and intervals (b7dcbaf)
Add
ytpb.playback.RewindTreeMapto keep rewind history (91fd078)
Breaking changes¶
Rename
ytpb.mpdtoytpb.representationsRename
ytpb.exceptionstoytpb.errorsRename
ytpb.playback.Playback.get_downloaded_segmenttoytpb.playback.Playback.get_segmentRename
ytpb.representations.extract_representations_infotoytpb.representations.extract_representationsRemove unused
ytpb.representations.strip_manifest
2024.3.27¶
Add Containerfile with instructions to build patched FFmpeg and MPV
Breaking changes¶
Change return value of
ytpb.locate.SegmentLocator.find_sequence_by_timetoytpb.locate.LocateResult
2024.3.16¶
2024.3.13¶
Add the config.toml.example file
Add ability to use custom aliases in format specs
Add aliases for itags (
@<itag>) as dynamic aliasesFix allowing empty representations in the CLI commands
2024.3.9¶
Add the CHANGELOG file and documentation page
Change the first segment locating step: don’t limit it to two jumps (#8)