kapost/circuitry

View on GitHub
CHANGELOG.md

Summary

Maintainability
Test Coverage
## Circuitry 3.5.0 (Jan 27, 2023)

* Changes the way SQL Policy statements are generated to avoid triggering an error when more a
  queue subscribes to more than 20 SNS topics.

## Circuitry 3.4.0 (Sep 16, 2020)

* Adds an option for publisher and subscriber configs to override the AWS client options. *wahlg*
  See: https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SQS/Client.html
  See: https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SNS/Client.html

## Circuitry 3.3.0 (June 23, 2020)

* Update AWS SDK to version 3 and use module sdk gems. *thogg4*
  See https://github.com/aws/aws-sdk-ruby
  Version 3 is backwards compatible with version 2.
* Catch `Aws::SNS::Errors::InvalidParameter` and rethrow with the topic
  and message that caused the problem for improved debugging.

## Circuitry 3.2.0 (May 6, 2017)

* Fixed processing for `batch_size` of 1. *Xi Zhang*

## Circuitry 3.1.6 (Nov 21, 2016)

* Fixed `environment` prerequisite task for `circuitry:setup` when using a more recent version
  of rake. *Matt Huggins*

## Circuitry 3.1.5 (May 4, 2016)

* Added optional `environment` prerequisite to `circuitry:setup` rake task. *Matt Huggins*

## Circuitry 3.1.4 (Apr 21, 2016)

* Fixed issue with `circuitry help` missing dependency. *Matt Huggins*
* Fixed issue with `circuitry:setup` rake task when no topics are defined. *Matt Huggins*
* Fixed issues with `circuitry:setup` rake task in vanilla Ruby projects. *Matt Huggins*
* Removed subscriber flush middleware in favor of an inline flush. *Matt Huggins*
* Added SNS internal failure as a retriable error. *Matt Huggins*

## Circuitry 3.1.3 (Mar 23, 2016)

* Added retries for message publishing if there's an SNS connection failure. *Matt Huggins*

## Circuitry 3.1.2 (Mar 4, 2016)

* Reimplemented subscriber-only flush middleware. *Matt Huggins*

## Circuitry 3.1.1 (Mar 3, 2016)

* Removed flush middleware. *Matt Huggins*

## Circuitry 3.1.0 (Mar 2, 2016)

* Added test stubs. *Matt Huggins*
* Added flush middleware. *Matt Huggins*
* Updated provisioning to permit publisher-only configuration (no queue name). *Matt Huggins*

## Circuitry 3.0.1 (Feb 19, 2016)

* Reworded provisioner subscription creator message. *Brandon Croft*

## Circuitry 3.0.0 (Feb 19, 2016)

* Added separate configuration for publisher/subscriber applications. *Brandon Croft*
* Added YML config option. *Brandon Croft*
* Added `max_receive_count` and `visibility_timeout` subscriber config options. *Brandon Croft*
* Replaced `on_thread_exit` and `on_fork_exit` with `on_async_exit` config option. *Brandon Croft*

## Circuitry 2.1.1 (Jan 30, 2016)

* Fixed missing require in subscriber. *Brandon Croft*

## Circuitry 2.1.0 (Jan 28, 2016)

* Added publisher and subscriber middleware. *Matt Huggins*

## Circuitry 2.0.0 (Jan 28, 2016)

* Added `subscriber_queue_name` config. *Brandon Croft*
* Added `publisher_topic_names` config. *Brandon Croft*
* Added CLI and rake provisioning of queues and topics as defined by config. *Brandon Croft*
* Removed the requirement to provide a SQS URL to the subscriber. *Brandon Croft*

## Circuitry 1.4.1 (Jan 21, 2016)

* Added publisher logging. *Matt Huggins*

## Circuitry 1.4.0 (Nov 15, 2015)

* Replace [fog-aws](https://github.com/fog/fog-aws) with
  [aws-sdk](https://github.com/aws/aws-sdk-ruby). *Matt Huggins*
* Fix long polling for subscriber. *Matt Huggins*
* Retry message deletion if it fails after successful message processing. *Matt Huggins*

## Circuitry 1.3.1 (Nov 6, 2015)

* Implement redis connection pooling for redis lock strategy. *Matt Huggins*

## Circuitry 1.3.0 (Oct 9, 2015)

* Implement thread exit and fork exit hooks. *Matt Huggins*

## Circuitry 1.2.3 (Aug 26, 2015)

* Treat connection resets as temporary service errors. *Matt Huggins*

## Circuitry 1.2.2 (Aug 13, 2015)

* Ignore temporary service errors. *Matt Huggins*

## Circuitry 1.2.1 (Jul 29, 2015)

* Unlock soft locks from messages that were unsuccessfully processed. *Matt Huggins*

## Circuitry 1.2.0 (Jul 20, 2015)

* Implement lock strategies to prevent duplicate message processing. *Matt Huggins*
* Implement timeout for message processing on both subscriber and publisher. *Matt Huggins*

## Circuitry 1.1.0 (Jul 8, 2015)

* Permit forking, threading, and batching async strategies for both subscriber and publisher.
  *Matt Huggins*

## Circuitry 1.0.0 (Jun 25, 2015)

* Initial release. *Matt Huggins*