Skip to content

Releases: SeoulSKY/ytnoti

v2.1.3

20 Sep 20:43
Compare
Choose a tag to compare

Changes

  • Fix a race condition that can cause duplicated notifications.

Full Changelog: v2.1.2...v2.1.3

v2.1.2

17 Sep 17:16
Compare
Choose a tag to compare

Changes

  • Fix not properly handling errors when resubscribing to channels every day.
  • Fix race conditions in InMemoryVideoHistory and FileVideoHistory

Full Changelog: v2.1.1...v2.1.2

v2.1.1

10 Sep 01:03
Compare
Choose a tag to compare

Changes

  • Fix raising an error when receiving the push notification for deleted video.
  • From now on, ytnoti explicitly raises RuntimeError when failed to parse the request body from YouTube. In the past, it logged the error to the logger.

Full Changelog: v2.1.0...v2.1.1

v2.1.0

02 Sep 11:31
Compare
Choose a tag to compare

Changes

  • From now on, YouTubeNotifier extends AsyncYouTubeNotifier and AsyncYouTubeNotifier extends object. BaseYouTubeNotifier was removed.
  • Added (Async)YouTubeNotifier.run_in_background(). It works like the run() method but immediately returns when the notifier starts running.
  • Added (Async) YouTubeNotifier.unsubscribe(). It unsubscribes the subscribed channel IDs
  • From now on, (Async)YouTubeNotifier.subscribe() immediately raises ValueError when the given channel IDs are invalid. It didn't raise an error in the past until the notifier started running.
  • Improved the speed of verifying channel IDs

Deprecations

The following methods are deprecated and will be removed in version 3.0.0

  • AsyncYouTubeNotifier.serve() -> use AsyncYouTubeNotifier.run()
  • (Async)YouTubeNotifier.add_listener() -> use either add_any_listener(), add_upload_listener(), or add_edit_listener()

The following decorators are deprecated and will be removed in version 3.0.0

  • (Async)YouTubeNotifier.listener() -> use either any, upload or edit

Full Changelog: v2.0.1...v2.1.0

v2.0.1

25 Aug 04:52
Compare
Choose a tag to compare

Changes

  • Fixed raising TypeError when a video supports multiple languages.

Full Changelog: v2.0.0...v2.0.1

v2.0.0

07 Aug 18:32
Compare
Choose a tag to compare

Breaking Changes

The following fields in Video are removed as these are not sent by YouTube in the push notifications:

  • description
  • thumbnail
  • stats

Bug Fixes

  • Fixed YouTubeNotifier.run() and AsyncYouTubeNotifier.serve() raising TypeError when the optional parameter app wasn't given.
  • Fixed (Async)YouTubeNotifier not invoking the event listeners for some YouTube channels.

Full Changelog: v1.1.2...v2.0.0

v1.1.2

19 Jul 21:32
Compare
Choose a tag to compare

Changes

  • Improved error messages, suggesting possible reasons why they occurred
  • YouTubeNotifier.run() and AsyncYouTubeNotifier.serve() now raises ValueError if the registered routes in the given FastAPI instance conflict with the reserved routes for the notifier.

Full Changelog: v1.1.1...v1.1.2

v1.1.1

07 Jul 23:34
Compare
Choose a tag to compare

Changes

  • Update the type of dir_path of the constructor of FileVideoHistory from Path to str | PathLike[str]

Full Changelog: v1.1.0...v1.1.1

v1.1.0

07 Jul 23:27
Compare
Choose a tag to compare

Changes

  • Add an optional parameter host to YouTubeNotifier.run() and AsyncYouTubeNotifier.serve() to
    specify the host to bind to when running the FastAPI server. Defaults to 0.0.0.0

Full Changelog: v1.0.0...v1.1.0

v1.0.0

01 Jul 16:13
Compare
Choose a tag to compare

Breaking Changes

  • Class Notification is removed. Instead, the class Video is passed to the listeners. Video contains a field channel. Their definitions are moved from ytnoti.models.notification.py to ytnoti.models.video.py
  • Parameter cache_size for YouTubeNotifier is removed. Instead, it takes video_history argument and the constructor ofInMemoryVideoHistory takes cache_size
  • Parameter endpoint is removed from YouTubeNotifier.run(). From now on, the endpoint is extracted from the given callback_url
  • subscribe() now raises HTTPError defined in this package rather than the one defined in package httpx

Improvements

  • Class AsyncYouTubeNotifier is added. It's the async version of YouTubeNotifier that can be run in the existing event loop.
  • Abstract class VideoHistory can be passed to the constructor of YouTubeNotifier. InMemoryVideoHistory and FileVideoHistory extends the abstract class. You can also implement your own class that extends VideoHistory and pass it to the YouTubeNotifier

Full Changelog: v0.1.2...v1.0.0