mirror of
				https://github.com/devine-dl/devine.git
				synced 2025-11-03 19:34:49 +00:00 
			
		
		
		
	Bump to v2.1.0
This commit is contained in:
		
							parent
							
								
									6e888a095e
								
							
						
					
					
						commit
						df4dd73271
					
				
							
								
								
									
										65
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										65
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@ -5,6 +5,70 @@ All notable changes to this project will be documented in this file.
 | 
			
		||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 | 
			
		||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 | 
			
		||||
 | 
			
		||||
## [2.1.0] - 2023-03-16
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
- The Track get_init_segment method has been re-written to be more controllable. A specific Byte-range, URL, and
 | 
			
		||||
  maximum size can now be specified. A manually specified URL will override the Track's current URL. The Byte-range
 | 
			
		||||
  will override the fallback value of `0-20000` (where 20000 is the default `maximum_size`). It now also checks if the
 | 
			
		||||
  server supports Byte-range, or it will otherwise stream the response. It also tries to get the file size length and
 | 
			
		||||
  uses that instead of `maximum_size` unless it's bigger than `maximum_size`.
 | 
			
		||||
- Added new `get_key_id` method to Track to probe the track for a track-specific Encryption Key ID. This is similar to
 | 
			
		||||
  Widevine's `from_track` method but ignores all `pssh` boxes and manifest information as the information within those
 | 
			
		||||
  could be for a wider range of tracks or not for that track at all.
 | 
			
		||||
- Added a 5-attempt retry system to DASH and HLS downloads. URL downloads only uses aria2(c)'s built in retry system
 | 
			
		||||
  which has the same amount of tries and same delay between attempts. Any errors emitted when downloading segments will
 | 
			
		||||
  not be printed to console unless it occurred on the last attempt.
 | 
			
		||||
- Added a fallback way to obtain language information by taking it from the representation ID value, which may have the
 | 
			
		||||
  language code within it. E.g., `audio_en=128000` would be an English audio track at 128kb/s. We now take the `en`
 | 
			
		||||
  from that ID where possible.
 | 
			
		||||
- Added support for 13-char JS-style timestamp values to the Cacher system.
 | 
			
		||||
- Improved Forced Subtitle recognition by checking for both `forced-subtitle` and `forced_subtitle` (#43).
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
 | 
			
		||||
- The `*` symbol is no longer spaced after the Widevine `KID:KEY` when denoting that it is for this specific PSSH.
 | 
			
		||||
  This reduces wasted vertical space.
 | 
			
		||||
- The "aria2 will resume download if the transfer is restarted" logs that occur when aria2(c) handles the CTRL+C break,
 | 
			
		||||
  and "If there are any errors, then see the log file" logs are now ignored and no longer logged to the console.
 | 
			
		||||
- DASH tracks will no longer prepare and license DRM unless it's just about to download. This is to reduce unnecessary
 | 
			
		||||
  preparation of DRM if the track had been converted to a URL download.
 | 
			
		||||
- For a fix listed below, we now use a fork of https://github.com/globocom/m3u8 that fixes a glaring problem with the
 | 
			
		||||
  EXT-X-KEY parsing system. See <https://github.com/globocom/m3u8/pull/313>.
 | 
			
		||||
- The return code when mkvmerge returns an error is now logged with the error message.
 | 
			
		||||
- SubtitleEdit has been silenced when using it for SDH stripping.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
 | 
			
		||||
- Fixed URL joining and Base URL calculations on DASH manifests that use multiple Base URL values.
 | 
			
		||||
- URL downloads will now store the chosen DRM before preparing and licensing with the DRM.
 | 
			
		||||
- URL downloads will now prepare and license with the DRM if the Track has pre-existing DRM information. Previously it
 | 
			
		||||
  would only prepare and license DRM if it did not pre-emptively have DRM information before downloading.
 | 
			
		||||
- The `*` symbol that indicates that the KID:KEY is for the track being downloaded now uses the new `get_key_id` method
 | 
			
		||||
  of the track for a more accurate reading.
 | 
			
		||||
- License check now ensures if a KEY was returned for the Track instead of all KIDs of the Track's PSSH. This prevents
 | 
			
		||||
  an issue where the PSSH may have Key IDs for a 720p and 1080p track, yet only a KEY for the 720p track was returned.
 | 
			
		||||
  It would have then raised an error and stopped the download, even though you are downloading the 720p track and not
 | 
			
		||||
  the 1080p track, therefore the error was irrelevant.
 | 
			
		||||
- Unnecessary duplicate license calls are now prevented in some scenarios where `--cdm-only` is used.
 | 
			
		||||
- Fixed accuracy and speed of preparing and licensing DRM on HLS manifests where multiple EXT-X-KEY definitions appear
 | 
			
		||||
  in the manifest throughout the file. Using <https://github.com/globocom/m3u8/pull/313> we can now accurately get a
 | 
			
		||||
  list of EXT-X-KEYs mapped to each segment. This is a game changer for HLS manifests that use unique keys for every
 | 
			
		||||
  single (or most) segments as it would have otherwised needed to initialize (and possibly do network requests) for
 | 
			
		||||
  100s of EXT-X-KEY information, per segment. This caused downloads of HLS manifests that used a unique key per segment
 | 
			
		||||
  to slow to a binding crawl, and still not even decrypt correctly as it wouldn't be able to map the correct initialized
 | 
			
		||||
  key to the correct segment.
 | 
			
		||||
- Fixed a regression that incorrectly implemented the OnMultiplex event for Audio and Subtitle tracks causing them to
 | 
			
		||||
  never trigger. It would instead accidentally have trigger the last Video track's OnMultiplex event instead of the
 | 
			
		||||
  Audio or Subtitle's event.
 | 
			
		||||
- The above fix also fixed the automatic SDH stripping subtitle. Any automatically created SDH->non-SDH subtitle from
 | 
			
		||||
  prior downloads would not have actually had SDH captions stripped, it would instead be a duplicate subtitle.
 | 
			
		||||
 | 
			
		||||
### New Contributors
 | 
			
		||||
 | 
			
		||||
- [Hollander-1908](https://github.com/Hollander-1908)
 | 
			
		||||
 | 
			
		||||
## [2.0.1] - 2023-03-07
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
@ -305,6 +369,7 @@ This release brings a huge change to the fundamentals of Devine's logging, UI, a
 | 
			
		||||
 | 
			
		||||
Initial public release under the name Devine.
 | 
			
		||||
 | 
			
		||||
[2.1.0]: https://github.com/devine-dl/devine/releases/tag/v2.1.0
 | 
			
		||||
[2.0.1]: https://github.com/devine-dl/devine/releases/tag/v2.0.1
 | 
			
		||||
[2.0.0]: https://github.com/devine-dl/devine/releases/tag/v2.0.0
 | 
			
		||||
[1.4.0]: https://github.com/devine-dl/devine/releases/tag/v1.4.0
 | 
			
		||||
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
__version__ = "2.0.1"
 | 
			
		||||
__version__ = "2.1.0"
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@ build-backend = 'poetry.core.masonry.api'
 | 
			
		||||
 | 
			
		||||
[tool.poetry]
 | 
			
		||||
name = 'devine'
 | 
			
		||||
version = '2.0.1'
 | 
			
		||||
version = '2.1.0'
 | 
			
		||||
description = 'Open-Source Movie, TV, and Music Downloading Solution'
 | 
			
		||||
license = 'GPL-3.0-only'
 | 
			
		||||
authors = ['rlaphoenix <rlaphoenix@pm.me>']
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user