Extractors
Additions
- [arena] add
channelextractor (#5847 #8509) - [aryion] add
searchextractor (#8567) - [audiochan] add support (#8602)
- [cfake] add support (#707 #6021 #8549 #8687 #8430)
- [cyberfile] add
sharedextractor (#8323) - [Danbooru] add
media-assetextractor (#8580) - [e621] add
artist&artist-searchextractors (#8448) - [eporner] add support (#8581)
- [fikfap] add support (#8673)
- [fitnakedgirls] add support (#8671)
- [myhentaigallery] add
tagextractor (#8537) - [nudostarforum] add support (#8664)
- [okporn] add support (#8575)
- [pornpics] add
category&listingextractors (#8662) - [pornstarstube] add support (#8576)
- [sexcom] add
feedextractor (#8519) - [shimmie2] support
soybooru.com(#8467) - [sxypix] add support (#4507 #8391 #8574)
- [xenforo] implement generic
XenForoforum extractors
Fixes
- [bellazon] fix errors when handling guest users (#8397)
- [bellazon] fix starting from a specific page
- [cien] fix
creator&recentextractors (#8524) - [fanbox:redirect] disable cookie usage (#8565)
- [gofile] fix extraction (#8681 #8683)
- [imagebam] fix
filename&extensionfor names without ext (#8476) - [instagram] fix
AttributeError: 'videos_dash'(#8561) - [motherless] fix
gallery_titleextraction (#8605) - [paheal] fix
AttributeError - [pixiv] fix
KeyError: 'is_bookmarked'(#8398) - [postimg] fix extraction (#8505)
- [rawkuma] update extractors to new site layout (#8568)
- [realbooru] fix
tagsfor video posts (#8455) - [reddit] fix
KeyError: 'media_metadata'for embeds (#8551) - [sankaku][idolcomplex] fix download URLs (#8666)
- [schalenetwork] fix
tagscategories (#8625) - [silverpic] fix extraction & force
.netTLD - [simpcity] fix
contentfor first post of a thread - [simpcity] fix starting from a specific page (#8599)
- [twitter] fix
KeyErrorfortemporarily unavailableusers (#8423) - [twitter] fix
KeyError - 'source_id'with disabledtransform(#8429) - [twitter] fix
AttributeErrorforsearch-pagination": "max_id"(#8613) - [twitter] update & fix
pinnedTweet extraction (#8500) - [vsco] use
"browser": "firefox"by default (#8127) - [webtoons] fix
thumbnailextraction (#8413) - [xasiat] fix
IndexErrorfor albums without category (#8569)
Improvements
- [2ch] support
.orgTLD (#8629) - [bunkr] detect when an album is deleted mid-download (#8619)
- [cyberdrop] update domain to
cyberdrop.cr(#8496) - [cyberfile:folder] support subfolders (#8323)
- [deviantart:gallery] match URLs with query parameters (#8514)
- [discord] limit length of default filenames (#6582)
- [erome] improve error message for deleted & copyrighted albums (#8665)
- [fansly] handle posts without
accountId/contentId/attachments(#8572) - [flickr] extract public API key from website (#7564 #7649 #7700 #8553)
- [imagehost] improve
filename&extensionhandling - [imagetwist] detect deleted images (#8415)
- [imagevenue] improve error for deleted images (#8477)
- [imgbox] match direct links (#8474)
- [imhentai:search] support
/advanced-search/URLs (#8507) - [instagram] improve error for non-existent profiles (#8550)
- [jpgfish] update domain to
jpg7.cr(#8530) - [newgrounds] set error status when encountering inaccessible posts (#8654)
- [realbooru] extract video fallbacks (#8661)
- [reddit] use REST API by default (#8559)
- [reddit] support comment share link (#8434)
- [rule34us:tag] support URLs with empty
qquery parameter (#8546) - [pixhost] force
.toTLD (#8428) - [postimg] force
postimg.ccdomain (#8505) - [sankaku][idolcomplex] support URLs with locale code (#8667)
- [simpcity] implement login with username & password (#8418)
- [simpcity] extract attachment/inline files (#8560)
- [simpcity] extract
click to load mediaURLs (#8609) - [tiktok] ignore empty
musicentries (#8571) - [twitter] restore better user NotFoundError messages (#8621)
- [twitter] implement workarounds for empty
coredata (#8613) - [wikimedia] add
format=originaltofandom/wikiggfile URLs (#5512) - [wikimedia] implement config lookups for
fandom/wikiggsites (#7283)
Metadata
- [bellazon] add
num_internal&num_externalmetadata fields (#8415) - [bellazon] remove query parameters from attachment IDs (#8544)
- [bunkr] extract
album_…metadata for/f/URLs (#8405) - [chevereto] extract
album_id&album_slugmetadata (#8604) - [chevereto:album] extract
count&nummetadata (#8604) - [civitai] implement extracting
tagsmetadata (#8626) - [fanbox] return metadata of inaccessible posts (#8643)
- [hentaifoundry] extract
categoriesmetadata (#8656) - [imagehosts] provide
post_urlmetadata (#6582) - [instagram] extract
subscriptionmetadata for story/highlight items (#8459) - [instagram] extract correct
width&heightfor videos (#8399) - [kemono] improve
filename - [patreon] include full metadata with each URL (#4286 #8498)
- [pixhost] extract
directorymetadata (#6582) - [subscribestar] improve
filename(#8416) - [wikimedia] provide
langmetadata (#7283)
Options
- [bluesky] add
api-serveroption (#8668) - [civitai] add
sort&periodoptions (#8426) - [fanbox:creator] add
offsetoption (#6582) - [itaku] add
orderoption - [mangadex] add
data-saveroption (#8573) - [misskey] add
date-min&date-maxoptions (#8516) - [misskey] add
text-postsoption (#8516) - [patreon] add
order-postsoption (#7856 #8482) - [schalenetwork][hdoujin] re-implement
cbzoption (#8431) - [tiktok] add
coversoption (#8515) - [twitter] add general
limitoption (#8173) - [twitter] implement
retries-apioption (#8317) - [twitter] implement
search-resultsoption (#8613) - [twitter] implement using fallback values for
search-limit(#8173) - [weibo] add
textoption (#8422)
Removals
- [redbust] remove module (#6582)
Common
- allow general ISO 8601 values for
date-min&date-max - use
parentvalue asparent-metadatadefault (#8525 #8604)
Downloaders
- [http] fail downloads of empty files (#8661)
- [http] implement
_http_segmented(#8602) - [ytdl] implement
retryfunctionality (#1131 #8269) - [ytdl] improve error detection
- [ytdl] improve error message when importing default ytdl modules
- [ytdl] update
_extract_manifest() - [ytdl] forward
_ytdl_manifest_headersto formats - [ytdl] restructure code
Post Processors
Formatter
- add
Lbformat specifier -Lfor bytes - add
Xbformat specifier -Xfor bytes (#6582)
Job
- add
keywords-globaloption (#6582) - implement
post-filter&post-rangeoptions - implement
"archive-event": "after"(#8373) - use identity checks
- inline
dispatchloop
Path
- implement conditional
part-directory(#8329) - treat broken symlinks as existing files (#8490)
- improve
exists()performance
Miscellaneous
- [cookies] fix cookie count logging message order (#8414)
- [dt] move datetime utils into separate
dtmodule - [output] add
deferoption for logging files (#8523) - [output] add
Logger.traceback()helper - [scripts/init] fix error when running with default values (#8583)
- [util] support integer values for
…-rangeoptions (#8604) - [workflows:tests] include Python 3.14 & pypy3.11