rustypipe/CHANGELOG.md

22 KiB

Changelog

All notable changes to this project will be documented in this file.

v0.9.0 - 2025-01-16

🚀 Features

  • Add functions to fetch a user's history and subscriptions - (14e3995)
  • Add history item dates, extend timeago parser - (320a8c2)
  • Add session headers when using cookie auth - (3c95b52)
  • Add cookies.txt parser, add cookie auth + history cmds to CLI - (cf498e4)
  • Add method to get saved_playlists - (27f64fc)
  • Extract player DRM data - (2af4001)
  • Add Dolby audio codecs (ac-3, ec-3) - (a7f8c78)
  • Add DRM and audio channel number filtering to StreamFilter - (d5abee2)
  • Set cache file permissions to 600 - (dee8a99)

🐛 Bug Fixes

  • Dont leak authorization and cookie header in reports - (75fce91)
  • Require new time crate version which added Month::length - (ec7a195)
  • Parsing numbers (it), dates (kn) - (63f86b6)
  • Accept user-specific playlist ids (LL, WL) - (97c3f30)
  • Only use auth-enabled clients for fetching player with auth option enabled - (2b2b4af)
  • A/B test 19: Music artist album groups reordered - (5daad1b)
  • Switch to rquickjs crate for deobfuscator - (75c3746)
  • Player_from_clients method not send/sync - (9c512c3)

📚 Documentation

⚙️ Miscellaneous Tasks

  • (deps) Update rust crate rstest to 0.24.0 (#20) - (ab19034)
  • (deps) Update rust crate dirs to v6 (#24) - (6a60425)
  • Update pre-commit hooks - (7cd9246)

v0.8.0 - 2024-12-20

🚀 Features

  • Log warning when generating report - (258f18a)
  • Add auto-dubbed audio tracks, improved StreamFilter - (1d1ae17)

🐛 Bug Fixes

  • Replace deprecated call to time::util::days_in_year_month - (69ef6ae)
  • Nsig fn extra variable extraction - (8014741)
  • Deobf function extraction, allow $ in variable names - (8cadbc1)
  • Remove leading zero-width-space from comments, ensure space after links - (162959c)
  • Update client versions, enable Opus audio with iOS client - (1b60c97)
  • Extract transcript from comment voice replies - (30f60c3)
  • Error 400 when fetching player with login - (5ce84c4)

⚙️ Miscellaneous Tasks

v0.7.2 - 2024-12-13

🐛 Bug Fixes

  • Replace futures dependency with futures-util - (5c39bf4)
  • Lifetime-related lints - (c4feff3)
  • Limit retry attempts to fetch client versions and deobf data - (44ae456)
  • Deobfuscation function extraction - (f5437aa)

v0.7.1 - 2024-11-25

🐛 Bug Fixes

  • Disable Android client - (a846b72)
  • A/B test 18: music playlist facepile avatar model - (6c8108c)

⚙️ Miscellaneous Tasks

  • Add docs badge to README - (706e881)

v0.7.0 - 2024-11-10

🚀 Features

  • Allow searching for YTM users - (50010b7)
  • [breaking] Replace TrackItem::is_video attr with TrackType enum; serde lowercase AlbumType enum for consistency - (044094a)

🐛 Bug Fixes

  • Fetch unlocalized player data to interpret errors correctly; regression introduced with v0.6.0 - (0919cbd)
  • A/B test 17: channel playlists lockupViewModel - (342119d)
  • [breaking] Serde: lowercase Verification enum - (badb3ae)
  • Parsing videos using LockupViewModel (Music video recommendations) - (870ff79)
  • Parsing lockup playlists with "MIX" instead of view count - (ac8fbc3)

⚙️ Miscellaneous Tasks

  • (deps) Update rust crate thiserror to v2 (#16) - (e1e1687)

v0.6.0 - 2024-10-28

🚀 Features

  • [breaking] Remove TvHtml5Embed client as it got disabled - (9e835c8)
  • [breaking] Generate random visitorData, remove RustyPipeQuery::get_context and YTContext<'a> from public API - (7c4f44d)
  • Add OAuth user login to access age-restricted videos - (1cc3f9a)
  • Add user_auth_logout method - (9e2fe61)
  • Revoke OAuth token when logging out - (62f8a92)

🐛 Bug Fixes

  • Skip serializing empty cache entries - (be18d89)
  • Fetch artist albums continuation - (b589061)
  • Update channel order tokens - (79a6281)
  • Handle auth errors - (512223f)
  • Use same visitor data for fetching artist album continuations - (7b0499f)

⚙️ Miscellaneous Tasks

  • (deps) Update rust crate fancy-regex to 0.14.0 (#14) - (94194e0)
  • (deps) Update rust crate quick-xml to 0.37.0 (#15) - (0662b5c)

v0.5.0 - 2024-10-13

🚀 Features

🐛 Bug Fixes

  • Prioritize visitor_data argument before opts - (ace0fae)
  • Ignore live tracks in YTM searches - (f3f2e1d)
  • A/B test 16 (pageHeaderRenderer on playlist pages) - (e65f145)

⚙️ Miscellaneous Tasks

  • (deps) Update rust crate rstest to 0.23.0 (#12) - (96776e9)

v0.4.0 - 2024-09-10

🚀 Features

  • Add RustyPipe version constant - (7a019f5)

🐛 Bug Fixes

  • Show docs.rs feature flags - (67a231d)
  • A/B test 15 (parsing channel shortsLockupViewModel) - (7972df0)

📚 Documentation

  • Fix license badge URL - (4a253e1)

⚙️ Miscellaneous Tasks

  • (deps) Update rust crate tokio to 1.20.4 [security] (#10) - (a445e51)

v0.3.0 - 2024-08-18

🚀 Features

  • Add client_type to VideoPlayer, simplify MapResponse trait - (90540c6)
  • Add http_client method to RustyPipe and user_agent method to RustyPipeQuery - (3d6de53)
  • Add channel_id and channel_name getters to YtEntity trait - (bbbe9b4)
  • [breaking] Make StreamFilter use Vec internally, remove lifetime - (821984b)
  • Overhauled downloader - (11a0038)
  • Add player_from_clients function to specify client order - (72b5dfe)
  • [breaking] Add TV client - (e608811)
  • Downloader: add audio tagging - (1e1315a)
  • Add audiotag+indicatif features to downloader - (97fb057)
  • Add YtEntity trait to YouTubeItem and MusicItem - (114a86a)
  • Change default player client order - (97904d7)
  • [breaking] Update channel model, addd handle + video_count, remove tv/mobile banner - (e671570)
  • [breaking] Add handle to ChannelItem, remove video_count - (1cffb27)
  • [breaking] Remove startpage - (3599aca)

🐛 Bug Fixes

  • [breaking] Extracting nsig function, remove field throttled from Video/Audio stream model - (dd0565b)
  • Make nsig_fn regex more generic - (fb7af3b)
  • Improve deobfuscator (support multiple nsig name matches, error if mapping all streams fails) - (8152ce6)
  • Nsig fn extraction - (3c83e11)
  • Add var to deobf fn assignment - (c6bd03f)
  • Make Verification enum exhaustive - (d053ac3)
  • Extraction error message - (d36ba59)
  • Set tracing instrumentation level to Error - (9da3b25)
  • Detect ip-ban error message - (da39c64)
  • Player_from_clients: fall back to TvHtml5Embed client - (d0ae796)
  • Parsing channels without banner - (5a6b2c3)
  • Get TV client version - (ee3ae40)

⚙️ Miscellaneous Tasks

  • Renovate: disable approveMajorUpdates - (4743f9d)
  • Renovate: disable scheduleDaily - (015bd6f)
  • Renovate: enable automerge - (882abc5)
  • (deps) Update rust crate quick-xml to 0.36.0 (#8) - (b6bc05c)
  • (deps) Update rust crate rstest to 0.22.0 (#9) - (abb7832)
  • Change repo URL to Codeberg - (1793331)
  • Adjust dependency versions - (70c6f8c)

Todo

v0.2.1 - 2024-07-01

🐛 Bug Fixes

  • (deps) Update quick-xml to v0.35.0 - (298e4de)

v0.2.0 - 2024-06-27

🚀 Features

  • Add text formatting (bold/italic/strikethrough) - (b8825f9)
  • Prefix chip-style web links (social media) with the service name - (6c41ef2)
  • Make get_visitor_data() public - (da1d1bd)
  • Add UnavailabilityReason: IpBan - (401d4e8)
  • Add YtEntity trait - (792e3b3)

🐛 Bug Fixes

  • Remove Innertube API keys, update android player params - (a8fb337)
  • Parsing error when no music_related content available - (8fbd6b9)
  • Parsing audiobook type in European Portuguese - (041ce2d)
  • Renovate ci token - (e0759eb)

🚜 Refactor

  • [breaking] Rename VideoItem/VideoPlayerDetails.length to duration for consistency - (94e8d24)

📚 Documentation

⚙️ Miscellaneous Tasks

  • Changelog: fix incorrect version URLs - (97b6f07)
  • Update rstest to v0.19.0 - (50fd1f0)
  • Introduce MSRV - (5dbb288)
  • Fix clippy lints - (45b9f2a)
  • Vscode: enable rss feature by default - (e75ffbb)
  • Configure Renovate (#3) - (44c2deb)
  • (deps) Update rust crate tokio to 1.20.4 [security] (#4) - (ce3ec34)
  • (deps) Update rust crate quick-xml to 0.34.0 (#5) - (1e8a1af)
  • (deps) Update rust crate rstest to 0.21.0 (#7) - (c3af918)

v0.1.3 - 2024-04-01

🐛 Bug Fixes

◀️ Revert

  • "fix: improve VecLogErr messages" (leads to infinite loop) - (348c852)

v0.1.2 - 2024-03-26

🐛 Bug Fixes

  • Correctly parse subscriber count with new channel header - (180dd98)

v0.1.1 - 2024-03-26

🐛 Bug Fixes

  • Specify internal dependency versions - (6598a23)
  • Move package attributes to workspace - (e4b204e)
  • Parsing music details with video description tab - (a81c3e8)

⚙️ Miscellaneous Tasks

  • Changes to release command - (0bcced1)
  • Update user agent (FF 115.0) - (be314d5)
  • Fix release script (unquoted include paths) - (78ba9cb)

v0.1.0 - 2024-03-22

Initial release