@@ -5,6 +5,56 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 1.3.0] - 2023-02-22
9+
10+ ## Deprecated
11+
12+ - Support for Python 3.8 has been dropped. Support for Windows 7 ended in January 2020.
13+ - Although Python 3.8 is the last version with support for Windows 7, the decision was made to drop support because
14+ the number of affected users would be low.
15+ - You may be interested in < https://github.com/adang1345/PythonWin7 > , which has newer installers with patched support.
16+
17+ ### Added
18+
19+ - Segmented HLS and DASH downloads now provide useful progress information using TQDM. Previously, aria2c would print
20+ progress information, but it was not very useful for segmented downloads due to how the information was presented.
21+ - Segmented HLS and DASH downloads are now manually multi-threaded in a similar way to aria2c's ` --j=16 ` .
22+ - A class-function was added to the Widevine DRM class to obtain PSSH and KID information from init data by looking for
23+ PSSH and TENC boxes. This is an alternative to the from_track class-function when you only have the init data and not
24+ a track object.
25+ - Aria2c now has the ability to silence progress output and provide extra arguments.
26+
27+ ### Changed
28+
29+ - The downloading system for HLS and DASH has been completely reworked. It no longer downloads segments, merges them,
30+ and then decrypts. Instead, it now downloads and decrypts each individual segment. It dynamically switches DRM and
31+ Init Data per-segment where needed, fully supporting multiple EXT-X-KEY, EXT-X-MAP, and EXT-X-DISCONTINUITY tags in
32+ HLS. You can now download DRM-encrypted and DRM-free segments from within the same manifest, as well as manifests
33+ with unique DRM per-segment. None of this was possible with the old method of downloading.
34+ - If a HLS manifest or segment uses an EXT-X-KEY with the method of NONE, it is assumed that the manifest or segment is
35+ DRM-free. This behavior applies even if the manifest or segment has other EXT-X-KEY methods specified, as that would
36+ be a mistake in the manifest.
37+ - HLS now uses the proxy when loading AES-128 DRM as ClearKey objects, which is required for some services. It will
38+ only be used if ` Track.needs_proxy ` is True.
39+ - The Widevine and ClearKey DRM classes decrypt functions no longer ask for a track. Instead, they ask for an input
40+ file path to which it will decrypt. It will automatically delete the input file and put the decrypted data in its
41+ place.
42+
43+ ### Removed
44+
45+ - The AtomicSQL utility was removed because it did not actually assist in making the SQL connections thread-safe. It
46+ helped, but in an almost backwards and over-thought approach.
47+
48+ ### Fixed
49+
50+ - The Cacher expiration check now uses your local datetime timestamp over the UTC timestamp, which seems to have fixed
51+ early or late expiration if you are not at exactly UTC+00:00.
52+ - The cookies file path is now checked to exist if supplied with the ` --cookies ` argument (#30 ).
53+ - An error is now logged, and execution will end if none of the DRM for a HLS manifest or segment is supported.
54+ - HLS now only loads AES-128 EXT-X-KEY methods as ClearKey DRM because it currently only supports AES-128.
55+ - AtomicSQL was replaced with connection factory systems using thread-safe storage for SQL connections. All Vault SQL
56+ calls are now fully thread-safe.
57+
858## [ 1.2.0] - 2023-02-13
959
1060### Deprecation Warning
@@ -74,6 +124,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
74124
75125Initial public release under the name Devine.
76126
127+ [ 1.3.0 ] : https://github.com/devine-dl/devine/releases/tag/v1.3.0
77128[ 1.2.0 ] : https://github.com/devine-dl/devine/releases/tag/v1.2.0
78129[ 1.1.0 ] : https://github.com/devine-dl/devine/releases/tag/v1.1.0
79130[ 1.0.0 ] : https://github.com/devine-dl/devine/releases/tag/v1.0.0
0 commit comments