Skip to content

v3.1.0

Latest

Choose a tag to compare

@excid3 excid3 released this 30 Sep 22:06
  • [Breaking] Drop Rails 7.0 support
  • [Bugfix] Action Push Native's push notification class is configured with config.notification_class (config.class is reserved for overriding the delivery method class)
  • deliver_by with a duplicate name raises ArgumentError instead of NameError; recipients :unknown_method raises NoMethodError instead of silently delivering to nobody
  • Slack and Webhook delivery logic is shared between individual and bulk delivery methods via Noticed::SlackDelivery and Noticed::WebhookDelivery
  • Noticed::EventJob enqueues delivery jobs in batches with ActiveJob.perform_all_later and loads notifications with find_in_batches. Note that perform_all_later does not run ActiveJob enqueue callbacks.
  • [Bugfix] iOS delivery opens a connection per delivery instead of a shared pool, so error_handler runs for the notification actually being delivered and notifiers with different APNs credentials no longer share a connection. The pool_size option is removed.
  • [Bugfix] FCM only treats a 400 as an invalid token when the error refers to the registration token, so malformed payloads no longer delete valid tokens. The access token is fetched once per delivery.
  • Request and response bodies are no longer logged by post_request since they can contain credentials and access tokens
  • [Bugfix] Support Rails 8.2's GlobalID::Locator::RecordNotFound in Noticed::Coder
  • [Bugfix] Notifier Notification classes no longer inherit from a top-level Notification model in the host app
  • [Bugfix] Ephemeral notifiers: bulk delivery methods read their config, before_enqueue and required_params are honored, deliver accepts job options, and notification_methods are inherited
  • [Breaking] Ephemeral wait / queue / priority lambdas are evaluated in the Notification context (Event for bulk), matching persisted notifiers
  • [Bugfix] Notifier.with(params) no longer mutates the passed hash
  • [Bugfix] deliver_by :discord crashed; required options may be set to false; rails g noticed:install works
  • has_noticed_notifications no longer defines current_adapter on every model and uses the notification model's connection