webstreamr-github/CHANGELOG.md
2025-06-08 21:28:59 +02:00

38 KiB

Changelog

0.25.2 (2025-06-08)

Miscellaneous Chores

  • extractor: add bytes detection to DoodStream (d1ff7cd)
  • handler: add height detection to Soaper (7d0544a)

Code Refactoring

  • UrlResult[] instead of UrlResult | undefined (0446d52)

Tests

  • handler: avoid side-effects by using a fresh handler for each test (364bf16)

0.25.1 (2025-06-08)

Miscellaneous Chores

  • handler: add year to soaper result movie title (968b7d4)
  • introduce config helper, enable English by default (48209ac)

Code Refactoring

  • introduce ImdbId and TmdbId (374896c)
  • move ids into dedicated folder (8724e04)
  • simplify id usage and imdb <-> tmdb transformations (fbae392)
  • strictly type ContentType (62f18ec)

0.25.0 (2025-06-07)

Features

  • handler: implement EN Soaper source (717c2af)

Code Refactoring

  • add custom helper for flags instead of package (a56aea5)

Tests

0.24.1 (2025-06-06)

Miscellaneous Chores

  • only warm up cache in prod (99434aa)
  • warm up cache only with trending movies and tv shows (ab39636)

0.24.0 (2025-06-06)

Miscellaneous Chores

  • add statusText to HttpError and show in result as well (8766988)
  • handler: support TMDB ID in Frembed (01218c7)
  • imdb: stricter parsing checks (860a6ae)
  • tmdb: add getImdbIdFromTmdbId and cache both ID transformations (a0e83f2)
  • tmdb: add parseTmdbId (355663f)

Features

  • implement hourly movie cache warmup (9ba4e73)

0.23.5 (2025-06-05)

Miscellaneous Chores

  • introduce HttpError and show status in result (d8f0c46)

Bug Fixes

  • always sort external URLs down (8e57400)
  • handler: skip invalid CSV URLs (04ee59e)

0.23.4 (2025-06-05)

Miscellaneous Chores

  • fetcher: simplify queuing and allow parallel requests (be34643)

0.23.3 (2025-06-05)

Miscellaneous Chores

  • fetcher: enable keepalive (65d2d0a)

Bug Fixes

  • fetcher: use expires FlareSolverr cookie prop (#111) (523bbc0)

Code Refactoring

  • fetcher: add full FlareSolverrResult type (092ee4b)
  • fetcher: introduce CustomRequestInit (63a53a1)

0.23.2 (2025-06-04)

Miscellaneous Chores

  • fetcher: persist and use FlareSolverr cookie and user agent (aa4c672)
  • fetcher: use queue limit of 10 again :) (0d3a5b8)
  • fetcher: use well-working node user agent by default again (efb0f96)

0.23.1 (2025-06-04)

Miscellaneous Chores

  • fetcher: increase queue limit to 30 (e6aa95f)
  • fetcher: use FlareSolverr also for other 403 Cloudflare responses (7387aef)

Bug Fixes

  • fetcher: improve Flaresolverr fetching (2c9faeb)

0.23.0 (2025-06-04)

Miscellaneous Chores

  • do not log headers for known blocking reasons (7ec7219)

Features

  • fetcher: add FlareSolverr support (af65ed0)

Bug Fixes

  • extractor: do not mutate URLs to avoid cache misses (1b8f75f)
  • never cache result errors (fef59dd)

0.22.10 (2025-06-04)

Miscellaneous Chores

  • fetcher: hard-code user-agent again for debugging purposes (422f7d0)

Code Refactoring

  • extract env access into helpers (77fc20c)

0.22.9 (2025-06-04)

Miscellaneous Chores

  • cache successful results as long as we safely can (b69c9cd)
  • deps: update dependency @stylistic/eslint-plugin to v4.4.1 (#101) (3894614)
  • log response headers for blocks (d78dca3)

0.22.8 (2025-06-03)

Miscellaneous Chores

  • add more error infos to results (ef2c45e)
  • implement queued fetching (f0817a3)

0.22.7 (2025-06-03)

Miscellaneous Chores

  • add language name to config in manifest as well (ae6fdfe)
  • catch handler blocked errors and report the and report themm (9d17f53)
  • deps: update dependency typescript-eslint to v8.33.1 (#97) (f0ffd9b)
  • try to log error causes (f6967da)
  • use tsconfig base for node 22 (b94f989)

Bug Fixes

  • handler: use new frembed domain (again) (0b9cf21)

0.22.6 (2025-06-02)

Miscellaneous Chores

  • improve results format and refactor name/title generation (e4dd16e)

0.22.5 (2025-06-02)

Miscellaneous Chores

  • deps: lock file maintenance (#93) (dbf1dd1)
  • deps: update dependency @types/node to v22.15.29 (#92) (d04c928)

Bug Fixes

  • handler: use new frembed domain (e86b5c3)

Tests

  • fix mocked Fetcher real calls by using same headers (12d91ba)

0.22.4 (2025-06-01)

Miscellaneous Chores

  • generalize forbidden/blocked handling (2eb09fc)

Bug Fixes

  • fetcher: use "node" as user agent explicitly (c3a2f9f)
  • handler: disable Eurostreaming as long as it doesn't work (cd8ff60)

0.22.3 (2025-06-01)

Miscellaneous Chores

  • fetcher: hardcode user-agent for now to avoid using "node" (424ed78)

0.22.2 (2025-06-01)

Miscellaneous Chores

  • fetcher: add response header info to non-expected errors (717019e)
  • fetcher: remove Origin header (ca98122)

0.22.1 (2025-05-31)

Miscellaneous Chores

  • deps: update eslint monorepo to v9.28.0 (#85) (2f9a349)

Bug Fixes

  • switch back to fetch and do not generate user agents (fbc1aa9)

0.22.0 (2025-05-29)

Miscellaneous Chores

  • deps: lock file maintenance (#79) (17b6d79)
  • deps: update dependency @types/node to v22.15.21 (#78) (19d7a8b)
  • deps: update dependency typescript-eslint to v8.33.0 (#82) (62098f8)
  • fetcher: reduce timeout to 5s (5bfe2f8)
  • fetcher: set more headers to mimick browser requests (07ddaab)
  • fetcher: use more realistic referer/origin header values (02b73b4)

Features

  • make external URL exclusion configurable (799ca97)

Bug Fixes

  • detect and report Cloudflare challenge blocks (0638ce0)

Code Refactoring

  • handler: remove not needed 404 special handling (862d3bb)

Tests

  • remove duplicated Fetcher test parts (f2a7da2)

0.21.0 (2025-05-25)

Miscellaneous Chores

  • deps: update dependency @stylistic/eslint-plugin to v4.3.0 (#75) (61a17b1)
  • deps: update dependency @stylistic/eslint-plugin to v4.4.0 (#77) (9e9d4b2)

Features

  • add title to meta, restructure result name (d4e402e)
  • extractor: cache not found results too (6b5c9a4)

Code Refactoring

  • introduce type for CountryCode (f27fc6c)
  • move bytes, height and countryCode into meta object (979dddd)

Tests

  • update fetch fixtures only when requested (faa6eb6)

0.20.1 (2025-05-23)

Miscellaneous Chores

  • better handle not found streams/links (8e791bb)
  • deps: update node.js to v22.16.0 (#72) (305ce3d)
  • extractor: use HEAD instead of GET to check external URLs (0a99f1e)
  • fetcher: set Origin header and add back proxy headers (b313c4e)
  • log IP in stream request (5c51abb)
  • reduce axios retries to 1 again, avoid risky retries (1447ada)

Bug Fixes

  • handler: do not ignore main link in Eurostreaming (f4a0b03)

Tests

  • do not reset but only clear mocks (1e9ebd5)

0.20.0 (2025-05-21)

Features

  • extractor: add external URL support (23445c1)

Tests

  • use snapshots, also use fixtures for axios errors (e90c89a)

0.19.4 (2025-05-21)

Bug Fixes

  • handler: return only results for configured country/language in CineHDPlus (ac8dd43)

0.19.3 (2025-05-20)

Miscellaneous Chores

  • fetcher: increase timeout to 15s (#64) (8daabf1)

0.19.2 (2025-05-19)

Miscellaneous Chores

  • deps: update dependency @types/express to v5.0.2 (#61) (ba57833)
  • deps: update dependency @types/node to v22.15.19 (#62) (1cc2a18)
  • fetcher: remove proxy headers, add default timeout (c2c5331)

0.19.1 (2025-05-18)

Reverts

  • "feat(extractor): implement UQLoad" (57799a7)

0.19.0 (2025-05-18)

Features

  • extractor: implement UQLoad (fb61d39)
  • implement IMDb -> TMDB ID conversion helper (03cb05e)

Code Refactoring

  • extractor: manipulate URL instead of creating new one (b5c45d8)
  • handler: switch Frembed to TMDB search which is more reliable (d8a19d4)

0.18.0 (2025-05-17)

Miscellaneous Chores

  • manifest: add stremio-addons.net signature (ac4ded4)

Features

  • configure languages instead of handlers (5b389ad)

0.17.0 (2025-05-17)

Miscellaneous Chores

  • create ID per request for logging and error response (f635d6c)

Documentation

Features

  • handler: limited Frembed support (8b82215)

Code Refactoring

  • cleanup url and extractorRegistry variable/prop names (4a705ce)
  • use template literal consistently (f2fb482)

0.16.1 (2025-05-16)

Reverts

  • "feat(extractor): implement Mixdrop" (bb395f0)

0.16.0 (2025-05-16)

Miscellaneous Chores

  • deps: update dependency @eslint/js to v9.27.0 (#51) (8bc30b8)
  • deps: update dependency eslint to v9.27.0 (#52) (16b01a5)
  • deps: update dependency ts-jest to v29.3.4 (#50) (6027332)
  • rename behaviourHints to behaviorHints 🤦 (e06b8a2)
  • return stream.behaviorHints.videoSize when possible (07ffe44)

Features

  • extractor: implement Mixdrop (4c53161)

Bug Fixes

  • extractor: do not throw for broken/outdated link (63a79f8)

Code Refactoring

  • extractor: improve DoodStream comment about no match case (24f1107)
  • use url.href instead of url.toString() (b790cc7)

0.15.2 (2025-05-16)

Miscellaneous Chores

  • compare by label if both height and bytes are the same (e13ab0c)

0.15.1 (2025-05-16)

Bug Fixes

  • rename behaviourHints.group to behaviourHints.bingeGroup (241e6b0)

0.15.0 (2025-05-16)

Features

  • extractor: try to semi-blindly implement DoodStream support (8740979)

Code Refactoring

  • extractor: remove embed part from extractor (87ec328)
  • fetcher: use origin for the referrer (938f6cb)

0.14.1 (2025-05-15)

Miscellaneous Chores

  • add missing dot after GitHub link (91a6935)
  • deps: update dependency ts-jest to v29.3.3 (#44) (acd29d8)

Bug Fixes

  • add back cache-control headers (c1da2d5)
  • fetcher: do not overwrite config (e8ed101)

0.14.0 (2025-05-14)

Miscellaneous Chores

  • fetcher: always set same URL host as referer (281cba8)

Features

  • fetcher: retry all 4xx requests too (728bc7e)

Code Refactoring

  • handler: also pass content type to handle() (956ba68)

0.13.0 (2025-05-14)

Features

  • handler: add CineHDPlus (es/mx series) (7f26047)
  • handler: add Eurostream (it series) (c6d9bfb)

0.12.0 (2025-05-13)

Miscellaneous Chores

  • extractor: log more infos (349c26c)

Features

  • fetcher: add retry capability using axios-retry (1c1ffcd)

0.11.2 (2025-05-13)

Code Refactoring

  • fetcher: switch to axios for hopefully better errors (41d2f23)

0.11.1 (2025-05-13)

Miscellaneous Chores

  • add link to GitHub on configure page, improve content type info (1be7564)

0.11.0 (2025-05-13)

Miscellaneous Chores

  • deps: update dependency typescript-eslint to v8.32.1 (#37) (11fa19c)
  • manifest: don't show language codes next to flags (ce6aca5)

Features

  • handler: return handler issues as streams for better visibility (d4db807)

Code Refactoring

  • extract stream resolving and add tests (5665c6a)
  • routes: use router via controllers (15a53de)
  • simplify embed extractor handling and hide away internals (68a7a41)

0.10.1 (2025-05-12)

Bug Fixes

  • remove cache-control headers (4da2567)

0.10.0 (2025-05-12)

Features

Bug Fixes

  • add language to sourceId for better grouping / binge watching (3d4129f)

Code Refactoring

  • rename language to countryCode to avoid confusion (8ba6fdb)

Tests

  • handler: use correct name in describe block (9145e9c)

0.9.0 (2025-05-12)

Features

  • handler: add MostraGuarda (02c9ae3)
  • manifest: show supported content types for each config/handler (23eb87e)

0.8.0 (2025-05-12)

Build System

  • keep analysing test files but still ignore them for the build (2128e26)

Miscellaneous Chores

  • logging: simplify format definition, do nothing in test (13520aa)

Features

  • fetcher: work only with URL objects, set 2 more proxy headers (072ec4a)
  • handler: add FrenchCloud (9e74bd7)

Code Refactoring

  • handler: remove unnecessary Promise.resolve() usage (4cde860)

0.7.1 (2025-05-12)

Code Refactoring

  • drop logging helper in favor of winston using DI (fc02420)
  • make cache ttl configurable per embed extractor (09ee685)
  • simplify resolving of promises (8d003dd)
  • use country-emoji library instead of custom helper (89e5bb1)

0.7.0 (2025-05-12)

Miscellaneous Chores

  • deps: lock file maintenance (#30) (23d1238)
  • limit to 5 concurrent fetch sockets (1654c0b)
  • renovate: limit updates of often-releasing packages a bit (df6f14e)

Features

  • send also X-Real-IP next to X-Forwarded-For (b7a8fc4)

Bug Fixes

  • deps: update dependency user-agents to v1.1.537 (#31) (1626cf0)

Code Refactoring

  • better names for the cache properties (0a57114)

0.6.0 (2025-05-11)

Features

  • cache extractor results for 15 minutes (8226d07)
  • introduce Context and use it to set X-Forwarded-For in requests (efef039)
  • introduce custom UrlResult which will be transformed to Stream (ee0efa5)
  • use randomized user agent for fetch (b114ac1)

Bug Fixes

  • improve height and bytes types (477c3d1)

Code Refactoring

  • DI for handlers, extractors and fetcher (96dde8a)
  • use URL instead of string where possible (4787a13)

0.5.0 (2025-05-10)

Features

Bug Fixes

  • use correct index path in Dockerfile (841f2a0)

Tests

  • improve fetch fixture handling (05c0163)

0.4.1 (2025-05-09)

Bug Fixes

  • keep replacing the manifest version on release (6619bfb)

0.4.0 (2025-05-09)

Miscellaneous Chores

Features

0.3.0 (2025-05-09)

Features

  • add support for configuring manifest description via env var (193f815)

0.2.1 (2025-05-08)

Build System

  • docker: clean-up needed env vars, use sane defaults (#21) (639f945)

0.2.0 (2025-05-08)

Miscellaneous Chores

  • add a build workflow to ensure the Dockerfile is alright (#4) (1f364fc)
  • align github action files better (c73c58b)
  • configure Release Please (26b19b0)
  • Configure Renovate (#1) (7b9f3cb)
  • deps: lock file maintenance (#5) (27aa1ad)
  • deps: update dependency @types/node to v22.15.16 (#3) (9c8874f)
  • deps: update dependency @types/node to v22.15.17 (#6) (e063d71)
  • fine-tune renovate config (b771cee)
  • improve description (828d0cd)
  • initial commit (1494b25)
  • opt-in to more Renovate features, e.g. automerge (00b302a)
  • remove unnecessary TS allows (bf84233)
  • remove unused packages and jest cache (44a60f7)

Features

  • introduce MANIFEST_VERSION env var (#7) (3078e02)
  • switch to node-alpine (98d391f)

Code Refactoring

  • make resolution and size optional and extract resolution helper (3a87ddb)
  • transform handlers to classes, improve config generation (afec515)

Tests

  • simplify embed expectation (b9303dc)