Skip to content

Releases: nodeshift/opossum

Health Checks and Bug Fixes

16 Oct 16:06
v1.3.0
16f45b1
Compare
Choose a tag to compare

1.3.0 (2017-10-16)

Bug Fixes

  • ensure breaker.fire() returns rejected promise when fallback fails (fbedb07)
  • ensure fallback event always fires (27c3f8b)
  • JSDoc now available for semaphore-locked event (6f6c9bd)

Features

  • Add health check function to a circuit breaker (#76) (0e39faa)

Installation

$ npm install --save opossum

https://www.npmjs.com/package/opossum

Rolling percentile latency, bug fixes, timeout codes

20 Jun 22:12
v1.1.0
11be7e0
Compare
Choose a tag to compare

1.1.0 (2017-06-06)

Bug Fixes

  • don't let circuits get stuck half open (5e1171c)
  • fix logic around pendingClose (4d89ae4)

Features

  • add ETIMEDOUT error code for timeout error (#64) (5df9f65)
  • addition of rolling percentile latency's. GH-ISSUE #38 (ce7b50d)
  • remove fidelity promises. (3f5827a)

Streaming Hystrix Data

06 Apr 17:25
ad157b1
Compare
Choose a tag to compare

1.0.0 (2017-04-06)

Bug Fixes

  • do not fire failure event on short circuit (ab87350)
  • make Status an EventEmitter (8aad11a)
  • remove default maxFailures option (be65d3b)

Features

  • add a group option. GH-Issue #43 (3052f23)
  • Add an example on how to use the Hystrix Metrics (fd8246a)
  • Addition of Hystrix Mertrics Stream. GH-ISSUE #39 (2d44df6)
  • circuit status now contains a rolling window (#34) (05c0a2f)
  • prefer an error percentage threshold (245d47b)

Now with more cache

30 Mar 13:06
v0.6.0
3657436
Compare
Choose a tag to compare

Caching and the Beginning of Rolling Stats

This release introduces caching to a circuit. It's simple. Just provide { cache: true } in your options when creating the circuit, and the circuit will cache the first successful response it gets, and always use that. You can clear the cached value by calling circuit.clearCache(). This may be useful in situations where up-to-the-millisecond values are not required. For example, a badge icon that displays a message count may choose to cache the value, and only update it once every 5 seconds.

// The circuit will cache the message count
const circuit = circuitBreaker( getMessageCount, { cache: true } );

// reset the cache every 5 seconds
const interval = setInterval( () => circuit.clearCache, 5000 );

Rolling stats have also been introduced in this release. This replaces the existing cumulative behavior of a circuit's status, in favor of snapshots every X milliseconds, where X defaults to 10000, e.g. 10 seconds. This allows for rolling average calculations on important statistics for Hystrix dashboard, and is in pursuit of
#32 (but does not complete it).

Bug Fixes

  • circuit should emit failure event on fallback (f2594d8)
  • include the error when emitting the 'fallback event' (40eb2eb)
  • promise should reject when action throws (58dab98)
  • typo copy past duplicated property (54a27b9)

Features

  • add basic rolling stats to a circuit (8fb9561)
  • Add caching capability to circuits (6c3144f)
  • Add caching capability to circuits (0b717f6)
  • Applying code review (6a0f7ff)
  • Applying code review (8445a24)
  • circuits now have a name based on the action (f08d46e)

CircuitBreakers all the way down

22 Dec 19:15
v0.5.0
64a07b9
Compare
Choose a tag to compare

Summary

This release allows you to supply a CircuitBreaker instance as the fallback function.
Also, you get a full featured browser example at examples/jquery. Check it out.

Commits

v0.3.0...v0.5.0

Changelog

https://github.com/bucharest-gold/opossum/blob/master/CHANGELOG.md#050-2016-12-22

Full featured browser distribution

22 Dec 15:59
05798d2
Compare
Choose a tag to compare

Summary

Bugs in the initial release of the browser distribution have been addressed.

Commits

v0.3.0...v0.4.0

Changelog

https://github.com/bucharest-gold/opossum/blob/master/CHANGELOG.md#040-2016-12-20

Initial browser distribution

22 Dec 15:55
a15e6ab
Compare
Choose a tag to compare

Summary

This release contains an initial implementation of the browser distribution.

Commits

v0.2.0...v0.3.0

Changelog

https://github.com/bucharest-gold/opossum/blob/master/CHANGELOG.md#030-2016-12-16

Minor Update

13 Dec 20:20
5699e88
Compare
Choose a tag to compare

Fluency

  • return 'this' from CircuitBreaker.fallback (159c006)

Events, Status and documentation changes

03 Nov 21:17
Compare
Choose a tag to compare

0.1.1 (2016-11-03)

Bug Fixes

  • Don't use Status for managing breaker state (8c4c659)
  • events: Include timeout in stats (abbdb61)

Initial release

01 Nov 19:04
Compare
Choose a tag to compare

This is the initial release, so the changelog is somewhat irrelevant, but here it is:

0.1.0 (2016-11-01)

Bug Fixes

  • Add 'use strict'; everywhere! (87ea863)
  • Add status for fallback calls. (fe1eeee)
  • Reset after resetTimeout when using fallbacks (47de312), closes #1

Features

  • events: Make CircuitBreaker an EventEmitter (dea7c53)
  • add methods to open and close the circuit manually (9c78ecf)
  • Handling for node-like callback functions (77f3d6b)
  • Make actions flexible (2672c34)