Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit b526349

Browse files
committed
Update Changelog for v2.2.0
1 parent bd40c38 commit b526349

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

CHANGELOG.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,65 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [2.2.0] - 2023-04-23
9+
10+
### Breaking Changes
11+
12+
Since `-q/--quality` has been reworked to support specifying multiple qualities, the type of this value is
13+
no longer `None|int`. It is now `list[int]` and the list may be empty. It is no longer ever a `None` value.
14+
15+
Please make sure any Service code that uses `quality` via `ctx.parent.params` reflects this change. You may
16+
need to go from an `if quality: ...` to `for res in quality: ...`, or such. You may still use `if quality`
17+
to check if it has 1 or more resolution specified, but make sure that the code within that if tree supports
18+
more than 1 value in the `quality` variable, which is now a list. Note that the list will always be in
19+
descending order regardless of how the user specified them.
20+
21+
### Added
22+
23+
- Added the ability to specify and download multiple resolutions with `-q/--quality`. E.g., `-q 1080p,720p`.
24+
- Added support for DASH manifests that use SegmentList with range values on the Initialization definition (#47).
25+
- Added a check for `uuid` mp4 boxes containing `tenc` box data when getting the Track's Key ID to improve
26+
chances of finding a Key ID.
27+
28+
### Changed
29+
30+
- The download path is no longer printed after each download. The simple reason is it felt unnecessary.
31+
It filled up a fair amount of vertical space for information you should already know.
32+
- The logs after a download finishes has been split into two logs. One after the actual downloading process
33+
and the other after the multiplexing process. The downloading process has its own timer as well, so you can
34+
see how long the downloads itself took.
35+
- I've switched from using the official pymp4 (for now) with my fork. At the time this change was made the
36+
original bearypig pymp4 repo was stagnant and the PyPI releases were old. I forked it, added some fixes
37+
by TrueDread and released my own update to PyPI, so it's no longer outdated. This was needed for some
38+
mp4 box parsing fixes. Since then the original repo is no longer stagnant, and a new release was made on
39+
PyPI. However, my repo still has some of TrueDread's fixes that is not yet on the original repository nor
40+
on PyPI.
41+
42+
### Removed
43+
44+
- Removed the `with_resolution` method in the Tracks class. It has been replaced with `by_resolutions`. The
45+
new replacement method supports getting all or n amount of tracks by resolution instead of the original
46+
always getting all tracks by resolution.
47+
- Removed the `select_per_language` method in the Tracks class. It has been replaced with `by_language`. The
48+
new replacement method supports getting all or n amount of tracks by language instead of the original only
49+
able to get one track by language. It now defaults to getting all tracks by language.
50+
51+
### Fixed
52+
53+
- Prevented some duplicate Widevine tree logs under specific edge-cases.
54+
- The Subtitle parse method no longer absorbs the syntax error message.
55+
- Replaced all negative size values with 0 on TTML subtitles as a negative value would cause syntax errors.
56+
- Fixed crash during decryption when shaka-packager skips decryption of a segment as it had no actual data and
57+
was just headers.
58+
- Fixed CCExtractor crash in some scenarios by repacking the video stream prior to extraction.
59+
- Fixed rare crash when calculating download speed of DASH and HLS downloads where a segment immediately finished
60+
after the previous segment. This seemed to only happen on the very last segment in rare situations.
61+
- Fixed some failures parsing `tenc` mp4 boxes when obtaining the track's Key ID by using my own fork of pymp4
62+
with up-to-date code and further fixes.
63+
- Fixed crashes when parsing some `tenc` mp4 boxes by simply skipping `tenc` boxes that fail to parse. This happens
64+
because some services seem to mix up the data of the `tenc` box with that of another type of box.
65+
- Fixed using invalid `tenc` boxes by skipping ones with a version number greater than 1.
66+
867
## [2.1.0] - 2023-03-16
968

1069
### Added
@@ -369,6 +428,7 @@ This release brings a huge change to the fundamentals of Devine's logging, UI, a
369428

370429
Initial public release under the name Devine.
371430

431+
[2.2.0]: https://github.com/devine-dl/devine/releases/tag/v2.2.0
372432
[2.1.0]: https://github.com/devine-dl/devine/releases/tag/v2.1.0
373433
[2.0.1]: https://github.com/devine-dl/devine/releases/tag/v2.0.1
374434
[2.0.0]: https://github.com/devine-dl/devine/releases/tag/v2.0.0

0 commit comments

Comments
 (0)