Skip to content

Latest commit

 

History

History
107 lines (94 loc) · 9.16 KB

CHANGELOG.md

File metadata and controls

107 lines (94 loc) · 9.16 KB

Change log

v2.0.0

  • Add upgrade guide #196
  • When Circuitbox::MemoryStore is used use the monotonic system clock when calculating time windows #193
  • Circuitbox::CircuitBreaker's :cache option has been renamed to :circuit_store #190
  • Improve circuit opening, fetch some keys in bulk #188
  • Reduce amount of times a time window needs to be calculated #187
  • Switch internals of Circuitbox::CircuitBreaker to use instance variables instead of attr_reader #183
  • Remove circuit's logger and Circuitbox.default_logger #182
  • Rename circuitbox_exceptions to exception #181
  • Rename notifications sent through ActiveSupport::Notifications #180
  • Improve code documentation #177
  • Improve circuit error messages #176
  • Have the notifiers handle timing rather than circuitbox #169
  • Improve the Circuitbox.circuit store when used in multi-threaded cases #167
  • Always emit a runtime metric when running the circuit's block #163
  • Remove timer option on a circuit, make timing (runtime metric) always enabled #159
  • Rename execution_timer to timer and execution_time metric name to runtime #157
  • Add frozen_string_literal to all files and enable lint rule for it #151
  • Add linting #148 #155
  • Drop support for ruby 1.9.3 - 2.5. Support ruby 2.6 through 3.2 #66 #92 #123 #144 #148 #166 #179 #186
  • Add custom in-memory store for circuit data #113 #124 #134
  • Significant improvements to tracking circuit state and state changes #117 #118
  • Remove accessing Circuitbox circuits through Circuitbox[] #133
  • Faraday middleware supports faraday 1.0 and 2.0 #143 #192
  • Remove run! method and change run method (see upgrade guide) #119 #126
  • Correctly check a circuits volume threshold #116
  • Stop overwriting sleep_window when it is less than time window #108
  • Lower default sleep window from 300 seconds (5 minutes) to 90 seconds (1 minute 30 seconds) #107
  • Remove Circuitbox's use of ruby timeout #106
  • Register faraday middleware #104
  • Fix undefined instance variable warnings #103
  • Remove dependency on ActiveSupport #99
  • Remove ability to modify most of a circuitbreaker's configuration after it's been created (recreate circuit to change configuration) #88
  • Remove circuitbox parsing host from service_name if given a url #87
  • Various cleanup and performance improvements #81 #82 #83 #85 #86 #89 #90 #91 #105 #109 #110 #111 #112 #120 #121 #122 #130 #135 #158 #160
  • Internal configuration rewrite #80
  • Fix circuit being stuck open #78
  • Add default timer configuration option #73
  • Emit circuit timing notifications #72
  • Readme and spelling fixes/updates #71 #77 #84 #140
  • Add default_notifier configuration option #68
  • Remove circuit partitions #67

v1.1.0

  • ruby 2.2 support #58
  • configurable logger #58

v1.0.3

  • fix timeout issue for default configuration, as default :Memory adapter does not natively support expires, we need to actually load it on demand.
  • fix memoization of circuit_breaker_options not actually doing memoization in excon and faraday middleware.

v1.0.2

v1.0.1

  • Fix Rails integration, as version 1.0.0 removed the rails tasks integration, but missed removing the related railtie.

v1.0.0

  • support for cross process circuitbreakers by swapping the circuitbreaker store for a Moneta supported key value store.
  • Change FaradayMiddleware default behaviour to not open on 4xx errors but just on 5xx server errors and connection errors
  • Remove stat store, which was largely unused

v0.11.0

  • fix URI require missing (#42 @gottfrois)
  • configurable circuitbox store backend via Moneta supporting multi process circuits

v0.10.4

  • Issue #39, keep the original backtrace for the wrapped exception around when re-raising a Circuitbox::Error

v0.10.3

  • Circuitbox::ServiceFailureError wraps the original exception that was raised. The behaviour for to_s wasn't exposing this information and was returning the name of class "Circuitbox::ServiceFailureError". Change the behaviour for to_s to indicate this exception is a wrapper around the original exception. sherrry

v0.10.2

  • Faraday middleware passes two arguments to the default_value callback, not just one. First argument is still the error response from Faraday if there is one. Second argument is the exception that caused the call to fail if it failed before Faraday returned a response. Old behaviour is preserved if you pass a lambda that takes just one argument, but this is deprecated and will be removed in the next version of Circuitbox. dwaller

v0.10.1

v0.10

  • configuration option for faraday middleware for what should be considered to open the circuit enrico-scalavio
  • fix for issue 16, support of in_parallel requests in faraday middleware which were opening the circuit.
  • deprecate the run_option :storage_key

v0.9

  • add run! method to raise exception on circuit open and service

v0.8

  • Everything prior to keeping the change log