3.0.1 (2026-05-15)

Bug Fixes

  • producer: Prevent adding nil to completed_jobs set (f36a24a)

3.0.0 (2026-04-14)

⚠ BREAKING CHANGES

  • add telemetry error events and stop producer on auth failures (v3.0.0) (#14)

Features

  • add telemetry error events and stop producer on auth failures (v3.0.0) (#14) (46fba50)

2.1.4 (2026-04-14)

Bug Fixes

  • correct typespec annotations in Producer module (5bafbd9)
  • producer: handle refetch when job already in progress (53b3019)

Documentation

  • Update README badges and links (069f548)

CI

  • Configure automated releases with release-please (b18df30)

Styles

  • Reformat code to use 120 character line length (3029b41)

Tests

  • logger: Disable colored console output in test environment (a3133e3)

2.1.3 (2024-08-20)

  • Replace :only_new and :only_latest options with a :jobs option. Set :jobs to :new to only process new jobs, and :latest to only process the latest available job.
  • Add deprecation warnings to :only_new and :only_latest option. The options are still accepted but will be removed in the next major release.
  • If the client receives an {:error, reason} tuple, reschedule another fetch instead of blowing up.

2.1.1 (2023-12-28)

  • Generate unique message IDs using the _bkt and _cd metadata fields.

2.1.1 (2023-12-07)

  • Make the producer accept {:error, reason} tuples as response from API client. Whenever this occurs, simply reschedule a fetch after receive_interval milliseconds.

2.1.0 (2023-12-06)

Options

  • Add new option only_new to skip consuming any existing jobs. The pipeline will ignore currently known jobs, and only consume new jobs that arrives after the pipeline has started.
  • Add new option only_latest to only consume the most recent job for given report or alert.

Other

  • Remove OffBroadway.Splunk.Queue GenServer process and keep the queue in the producer. This makes the producer process fully self-contained and we no longer need to communicate with another process to know what job we should produce messages for.
  • New telemetry events [:off_broadway_splunk, :process_job, :start] and [:off_broadway_splunk, :process_job, :stop] are generated whenever a new job is started.
  • Log error and return empty list of messages when receiving an {:error, reason} tuple while trying to fetch messages from Splunk.

2.0.0 (2023-05-23)

This almost a complete rewrite and is incompatible with the v1.x branch. Instead of targeting a specific SID to produce messages for, this release is focused around producing messages from Splunk Reports or (triggered) Alerts.

Options

  • Replace sid option with name. Pipelines should now be given the name of a report or alert.
  • Remove endpoint option. All messages will be downloaded using the results endpoint.
  • Remove offset option, as it is only available for the events endpoint.
  • Add refetch_interval option. This is the amount in milliseconds the OffBroadway.Splunk.Queue process will wait before refetching the list of available jobs.

Other

  • Add OffBroadway.Splunk.Queue GenServer process that will start as part of the pipeline supervision tree.
  • Remove OffBroadway.Splunk.Leader GenServer process as it is not usable anymore.
  • Refactored OffBroadway.Splunk.Producer and OffBroadway.Splunk.SplunkClient to new workflow.
  • Updated telemetry events to new workflow.

1.2.4 (2023-04-20)

Bug Fixes

  • Using state.is_done proved unreliable when consuming certain jobs. Replaced calculation of retry timings to be based on receive_interval.
  • Fixed typings for OffBroadway.Splunk.Leader struct.

1.2.3 (2023-04-05)

1.2.2 (2023-04-03)

1.2.1 (2023-03-28)

  • Accept nimble_options version v1.0

1.2.0 (2023-01-23)

New options

  • api_version - Configures if messages should be produced from the v1 or v2 versioned API endpoints.

Dependencies

  • Accept telemetry version 1.1 or 1.2
  • Accept tesla version 1.4 or 1.5

1.1.1 (2023-01-16)

New options

  • shutdown_timeout - Configurable number of milliseconds Broadway should wait before timing out when trying to stop the pipeline.
  • endpoint - Choose to consume messages using the events or results endpoint of the Splunk Web API.
  • offset - Allow passing a custom initial offset to start consuming messages from. Passing a negative value will cause the pipeline to consume messages from the "end" of the results.
  • max_events - If set to a positive integer, shut down the pipeline after producing this many messages.

1.1.0 (2022-10-28)

The first release targeted consuming a single SID (Search ID) produced by saving a triggered alert.