View Source Changelog

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

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0-8-0-2022-10-26

[0.8.0] - 2022-10-26

This version moves Cloud PubSub from Tesla to Finch, so read the notes below and upgrade with care.

added

Added

  • Use :finch as the HTTP client and provide a :finch producer option for a user-defined HTTP pool

  • Make HTTP requests in a separate process for cleaner shutdown

  • Support multiple topologies from the same Brodway module

  • Add telemetry events around HTTP requests

  • Add :deliveryAttempt field to metadata

removed

Removed

  • The :pool_size option has been removed. Define your own Finch pool and use the :finch option instead.

    For example, if your :pool_size was 10, then add Finch to your application supervision tree (usually located in lib/my_app/application.ex):

    children =
      [
        {Finch, name: MyFinch, pools: %{:default => [size: 10]}}
      ]

    ...and wherever you invoke Broadway.start_link/2, replace this:

    producer: [
      module:
        {BroadwayCloudPubSub.Producer,
         subscription: "projects/<your-project-id>/subscriptions/<your-subscription-id>",
         pool_size: 10}
    ]

    ...with this:

    producer: [
      module:
        {BroadwayCloudPubSub.Producer,
         subscription: "projects/<your-project-id>/subscriptions/<your-subscription-id>",
         finch: MyFinch}
    ]

0-7-1-2022-05-09

0.7.1 - 2022-05-09

added-1

Added

  • Add :receive_timeout option

0-7-0-2021-08-30

0.7.0 - 2021-08-30

changed

Changed

  • Require Broadway 1.0

0-6-3-2021-07-19

0.6.3 - 2021-07-19

changed-1

Changed

  • Remove sensitive details from error log messages

added-2

Added

  • A new :middleware option to pass a list of custom Tesla middleware
  • Failures to ack are now automatically retried. Retries can be customised via the new :retry option

0-6-2-2021-02-24

0.6.2 - 2021-02-24

changed-2

Changed

  • Fixed a bug causing malformed acknowledgement requests (#54)

0-6-1-2021-02-23

0.6.1 - 2021-02-23

changed-3

Changed

  • Decreased maximum number of ackIds per request (#49)

0-6-0-2020-02-18

0.6.0 - 2020-02-18

added-3

Added

  • Support for passing a tuple for the scope option

changed-4

Changed

0-5-0-2019-11-06

0.5.0 - 2019-11-06

added-4

Added

  • Client options for connection pools (#37)

  • Support for configuring acknowledgement behavior (#36)

changed-5

Changed

  • Move acknowledger behaviour from GoogleApiClient into ClientAcknowledger (#39)

0-4-0-2019-08-19

0.4.0 - 2019-08-19

changed-6

Changed

  • Move to Plataformatec GitHub organization and become an official Broadway connector

  • Rename behaviour RestClient to Client (#23)

  • Use hackney as the default adapter (#20)

  • Require Broadway 0.4.x and (optionally) Goth 1.x (#26)

  • Replace :token_module option with :token_generator (#29)

  • Hide handle_receive_messages function that was accidentally made public

0-3-0-2019-05-08

0.3.0 - 2019-05-08

changed-7

Changed

  • BREAKING: The PubsubMessage struct now gets unpacked into the %Broadway.Message{} received in your pipeline. If you were using message.data.data before, you can now use message.data. Additional properties from the PubsubMessage can be found in the message metadata, for instance: message.metadata.attributes or message.metadata.messageId.
  • Requires :broadway ~> 0.3.0

0-1-3-2019-05-06

0.1.3 - 2019-05-06

changed-8

Changed

  • Fixed BroadwayCloudPubSub.GoogleApiClient attempting to send an empty acknowledge request.

0-1-2-2019-04-11

0.1.2 - 2019-04-11

changed-9

Changed

  • MIX_ENV for publishing releases to Hex.

0-1-1-2019-04-11

0.1.1 - 2019-04-11

added-5

Added

  • This CHANGELOG file to hopefully serve as an evolving example of a standardized open source project CHANGELOG.

changed-10

Changed

  • Fixed CircleCI build for publishing docs to Hex.

0-1-0-2019-04-10

0.1.0 - 2019-04-10

added-6

Added

  • BroadwayCloudPubSub.Producer - A GenStage producer that continuously receives messages from a Pub/Sub subscription acknowledges them after being successfully processed.
  • BroadwayCloudPubSub.RestClient - A generic behaviour to implement Pub/Sub clients using the REST API.
  • BroadwayCloudPubSub.GoogleApiClient - Default REST client used by BroadwayCloudPubSub.Producer.
  • BroadwayCloudPubSub.Token - A generic behaviour to implement token authentication for Pub/Sub clients.
  • BroadwayCloudPubSub.GothToken - Default token provider used by BroadwayCloudPubSub.Producer.