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
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_newand:only_latestoptions with a:jobsoption. Set:jobsto:newto only process new jobs, and:latestto only process the latest available job. - Add deprecation warnings to
:only_newand:only_latestoption. 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
_bktand_cdmetadata 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 afterreceive_intervalmilliseconds.
2.1.0 (2023-12-06)
Options
- Add new option
only_newto 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_latestto only consume the most recent job for given report or alert.
Other
- Remove
OffBroadway.Splunk.QueueGenServer 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
sidoption withname. Pipelines should now be given the name of a report or alert. - Remove
endpointoption. All messages will be downloaded using theresultsendpoint. - Remove
offsetoption, as it is only available for theeventsendpoint. - Add
refetch_intervaloption. This is the amount in milliseconds theOffBroadway.Splunk.Queueprocess will wait before refetching the list of available jobs.
Other
- Add
OffBroadway.Splunk.QueueGenServer process that will start as part of the pipeline supervision tree. - Remove
OffBroadway.Splunk.LeaderGenServer process as it is not usable anymore. - Refactored
OffBroadway.Splunk.ProducerandOffBroadway.Splunk.SplunkClientto new workflow. - Updated
telemetryevents to new workflow.
1.2.4 (2023-04-20)
Bug Fixes
- Using
state.is_doneproved unreliable when consuming certain jobs. Replaced calculation of retry timings to be based onreceive_interval. - Fixed typings for
OffBroadway.Splunk.Leaderstruct.
1.2.3 (2023-04-05)
- Remove
Tesla.Middleware.Loggerfrom defaultOffBroadway.Splunk.SplunkClienttesla client because of too much noise.
1.2.2 (2023-04-03)
- Filter
authorizationheaders forTesla.Middleware.Logger - Replace some enumerations with streams
1.2.1 (2023-03-28)
- Accept
nimble_optionsversionv1.0
1.2.0 (2023-01-23)
New options
api_version- Configures if messages should be produced from thev1orv2versioned API endpoints.
Dependencies
- Accept
telemetryversion1.1or1.2 - Accept
teslaversion1.4or1.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 theeventsorresultsendpoint 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.