dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							680069a149 
							
						 
					 
					
						
						
							
							[YouTube] Improve n-sig function extraction for player aa3fc80b  
						
						... 
						
						
						
						Resolves  #33123  
					
						2025-05-03 00:09:21 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							4a31290ae1 
							
						 
					 
					
						
						
							
							[YouTube] Delete cached problem nsig cache data on descrambling error  
						
						... 
						
						
						
						* inspired by yt-dlp/yt-dlp#12750  
						
						
					 
					
						2025-05-03 00:09:21 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							3a42f6ad37 
							
						 
					 
					
						
						
							
							[YouTube] Cache signature timestamp from player JS  
						
						... 
						
						
						
						* if the YT webpage can't be loaded, getting the `sts` requires loading the
player JS: this caches it
* based on yt-dlp/yt-dlp#13047 , thx bashonly 
						
						
					 
					
						2025-05-03 00:09:21 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							ec75141bf0 
							
						 
					 
					
						
						
							
							[Cache] Add clear function  
						
						
						
						
					 
					
						2025-05-03 00:09:20 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							c052a16f72 
							
						 
					 
					
						
						
							
							[JSInterp] Add tests and relevant functionality from yt-dlp  
						
						... 
						
						
						
						* thx seproDev, bashonly: yt-dlp/yt-dlp#12760, yt-dlp/yt-dlp#12761:
  - Improve nested attribute support
  - Pass global stack when extracting objects
  - interpret_statement: Match attribute before indexing
  - Fix assignment to array elements with nested brackets
  - Add new signature tests
  - Invalidate JS function cache
  - Avoid testdata dupes now that we cache by URL
* rework nsig function name search
* fully fixes  #33102 
* update cache required versions
* update program version 
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							bd2ded59f2 
							
						 
					 
					
						
						
							
							[JSInterp] Improve unary operators; add !  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							16b7e97afa 
							
						 
					 
					
						
						
							
							[JSInterp] Add _separate_at_op()  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							d21717978c 
							
						 
					 
					
						
						
							
							[JSInterp] Improve JS classes, etc  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							7513413794 
							
						 
					 
					
						
						
							
							[JSInterp] Reorganise some declarations to align better with yt-dlp  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							67dbfa65f2 
							
						 
					 
					
						
						
							
							[InfoExtractor] Fix merging subtitles to empty target  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							6eb6d6dff5 
							
						 
					 
					
						
						
							
							[InfoExtractor] Use local variants for remaining parent method calls  
						
						... 
						
						
						
						* ... where defined 
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							6c40d9f847 
							
						 
					 
					
						
						
							
							[YouTube] Remove remaining hard-coded API keys  
						
						... 
						
						
						
						* no longer required for these cases 
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							1b08d3281d 
							
						 
					 
					
						
						
							
							[YouTube] Fix playlist continuation extraction  
						
						... 
						
						
						
						* thx coletdjnz, bashonly: yt-dlp/yt-dlp#12777  
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							32b8d31780 
							
						 
					 
					
						
						
							
							[YouTube] Support shorts playlist  
						
						... 
						
						
						
						* only 1..100: yt-dlp/yt-dlp#11130  
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							570b868078 
							
						 
					 
					
						
						
							
							[cache] Use esc_rfc3986 to encode cache key  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							2190e89260 
							
						 
					 
					
						
						
							
							[utils] Support optional safe argument for escape_rfc3986()  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							7e136639db 
							
						 
					 
					
						
						
							
							[compat] Improve Py2 compatibility for URL Quoting  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							cedeeed56f 
							
						 
					 
					
						
						
							
							[cache] Align further with yt-dlp  
						
						... 
						
						
						
						* use compat_os_makedirs
* support non-ASCII characters in cache key
* improve logging 
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							add4622870 
							
						 
					 
					
						
						
							
							[compat] Add compat_os_makedirs  
						
						... 
						
						
						
						* support exists_ok parameter in Py < 3.2 
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							9a6ddece4d 
							
						 
					 
					
						
						
							
							[core] Refactor message routines to align better with yt-dlp  
						
						... 
						
						
						
						* in particular, support `only_once` in the same methods 
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3eb8d22ddb 
							
						 
					 
					
						
						
							
							[JSInterp] Temporary fix for  #33102  
						
						
						
						
					 
					
						2025-03-31 04:21:09 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							4e714f9df1 
							
						 
					 
					
						
						
							
							[Misc] Correct [_]IE_DESC/NAME in a few IEs  
						
						... 
						
						
						
						* thx seproDev, yt-dlp/yt-dlp/pull/12694/commits/ae69e3c
* also add documenting comment in `InfoExtractor` 
						
						
					 
					
						2025-03-26 12:47:19 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							c1ea7f5a24 
							
						 
					 
					
						
						
							
							[ITV] Mark ITVX not working  
						
						... 
						
						
						
						* update old shim
* correct [_]IE_DESC 
						
						
					 
					
						2025-03-26 12:17:49 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							2b4fbfce25 
							
						 
					 
					
						
						
							
							[YouTube] Support player 4fcd6e4a  
						
						... 
						
						
						
						thx seproDev, bashonly: yt-dlp/yt-dlp#12748  
						
						
					 
					
						2025-03-26 02:27:25 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							1bc45b8b6c 
							
						 
					 
					
						
						
							
							[JSInterp] Use , for join() with null/undefined argument  
						
						... 
						
						
						
						Eg: [1,2,3].join(null) -> '1,2,3' 
						
						
					 
					
						2025-03-25 22:35:06 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							b982d77d0b 
							
						 
					 
					
						
						
							
							[YouTube] Align signature tests with yt-dlp  
						
						... 
						
						
						
						thx bashonly, yt-dlp/yt-dlp#12725  
						
						
					 
					
						2025-03-25 22:35:06 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							c55dbf4838 
							
						 
					 
					
						
						
							
							[YouTube] Update signature extraction for players 643afba4, 363db69b  
						
						
						
						
					 
					
						2025-03-25 22:35:06 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							087d865230 
							
						 
					 
					
						
						
							
							[YouTube] Support new player URL patterns  
						
						
						
						
					 
					
						2025-03-25 22:35:06 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							a4fc1151f1 
							
						 
					 
					
						
						
							
							[JSInterp] Improve indexing  
						
						... 
						
						
						
						* catch invalid list index with `ValueError` (eg [1, 2]['ab'] -> undefined)
* allow assignment outside existing list (eg var l = [1,2]; l[9] = 0;) 
						
						
					 
					
						2025-03-25 22:35:05 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							a464c159e6 
							
						 
					 
					
						
						
							
							[YouTube] Make _extract_player_info() use _search_regex()  
						
						
						
						
					 
					
						2025-03-25 22:35:05 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							7dca08eff0 
							
						 
					 
					
						
						
							
							[YouTube] Also get original of translated automatic captions  
						
						
						
						
					 
					
						2025-03-25 22:35:05 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							2239ee7965 
							
						 
					 
					
						
						
							
							[YouTube] Get subtitles/automatic captions from both web and API responses  
						
						
						
						
					 
					
						2025-03-25 22:35:05 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							da7223d4aa 
							
						 
					 
					
						
						
							
							[YouTube] Improve support for tce-style player JS  
						
						... 
						
						
						
						* improve extraction of global "useful data" Array from player JS
* also handle tv-player and add tests: thx seproDev (yt-dlp/yt-dlp#12684 )
Co-Authored-By: sepro <sepro@sepr0.com> 
						
						
					 
					
						2025-03-21 16:26:25 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							37c2440d6a 
							
						 
					 
					
						
						
							
							[YouTube] Update player client data  
						
						... 
						
						
						
						thx seproDev (yt-dlp/yt-dlp#12603 )
Co-authored-by: sepro <sepro@sepr0.com> 
						
						
					 
					
						2025-03-21 16:13:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							420d53387c 
							
						 
					 
					
						
						
							
							[JSInterp] Improve tests  
						
						... 
						
						
						
						* from yt-dlp/yt-dlp#12313 
* also fix d7c2708 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							32f89de92b 
							
						 
					 
					
						
						
							
							[YouTube] Update TVHTML5 client parameters  
						
						... 
						
						
						
						* resolves  #33078  
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							283dca56fe 
							
						 
					 
					
						
						
							
							[YouTube] Initially support tce-style player JS  
						
						... 
						
						
						
						* resolves  #33079  
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							422b1b31cf 
							
						 
					 
					
						
						
							
							[YouTube] Temporarily redirect from tce-style player JS  
						
						
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							1dc27e1c3b 
							
						 
					 
					
						
						
							
							[JSInterp] Make indexing error handling more conformant  
						
						... 
						
						
						
						* by default TypeError -> undefined, else raise
* set allow_undefined=True/False to override 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							af049e309b 
							
						 
					 
					
						
						
							
							[JSInterp] Handle undefined, etc, passed to JS_RegExp and Exception  
						
						
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							94849bc997 
							
						 
					 
					
						
						
							
							[JSInterp] Improve Date processing  
						
						... 
						
						
						
						* add JS_Date class implementing JS Date
* support constructor args other than date string
* support static methods of Date
* Date objects are still automatically coerced to timestamp before using in JS. 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							974c7d7f34 
							
						 
					 
					
						
						
							
							[compat] Fix inheriting from compat_collections_chain_map  
						
						... 
						
						
						
						* see ytdl-org/youtube-dl#33079#issuecomment-2704038049 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							8738407d77 
							
						 
					 
					
						
						
							
							[compat] Support zstd Content-Encoding  
						
						... 
						
						
						
						* see RFC 8878 7.2 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							cecaa18b80 
							
						 
					 
					
						
						
							
							[compat] Clean-up  
						
						... 
						
						
						
						* make workaround_optparse_bug9161 private
* add comments
* avoid leaving test objects behind 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							673277e510 
							
						 
					 
					
						
						
							
							[YouTube] Fix 91b1569  
						
						
						
						
					 
					
						2025-02-28 01:02:20 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							91b1569f68 
							
						 
					 
					
						
						
							
							[YouTube] Fix channel playlist extraction ( #33074 )  
						
						... 
						
						
						
						* [YouTube] Extract playlist items from LOCKUP_VIEW_MODEL_...
* resolves  #33073 
* thx seproDev (yt-dlp/yt-dlp#11615 )
Co-authored-by: sepro <sepro@sepr0.com> 
						
						
					 
					
						2025-02-28 00:02:10 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							711e72c292 
							
						 
					 
					
						
						
							
							[JSInterp] Fix bit-shift coercion for player 9c6dfc4a  
						
						
						
						
					 
					
						2025-02-07 00:01:50 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							26b6f15d14 
							
						 
					 
					
						
						
							
							[compat] Make casefold private  
						
						... 
						
						
						
						* if required, not supported:
`from youtube_dl.casefold import _casefold as casefold` 
						
						
					 
					
						2025-02-07 00:01:50 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							5975d7bb96 
							
						 
					 
					
						
						
							
							[YouTube] Use X-Goog-Visitor-Id  
						
						... 
						
						
						
						* required with tv player client
* resolves  #33030  
						
						
					 
					
						2025-01-22 06:52:40 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							63fb0fc415 
							
						 
					 
					
						
						
							
							[YouTube] Retain .videoDetails members from all player responses  
						
						
						
						
					 
					
						2025-01-20 13:23:54 +00:00