Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update bottleneck to the latest version 馃殌 #397

Merged
merged 3 commits into from
Feb 3, 2018

Conversation

greenkeeper[bot]
Copy link
Contributor

@greenkeeper greenkeeper bot commented Jan 14, 2018

Version 2.0.0 of bottleneck was just published.

Dependency bottleneck
Current Version 1.16.0
Type dependency

The version 2.0.0 is not covered by your current version range.

If you don鈥檛 accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

It might be worth looking into these changes and trying to get this project onto the latest version of bottleneck.

If you have a solid test suite and good coverage, a passing build is a strong indicator that you can take advantage of these changes directly by merging the proposed change into your project. If the build fails or you don鈥檛 have such unconditional trust in your tests, this branch is a great starting point for you to work on the update.


Release Notes Version 2

Bottleneck Version 2

This new version is almost 100% compatible with Version 1 and it adds some powerful features such as:

  • True Clustering support. You can now rate limit and schedule jobs across multiple Node.js instances. It uses strictly atomic operations to stay reliable in the presence of unreliable clients. 100% of Bottleneck's features are supported.
  • Support for custom job weights. Not all jobs are equally resource intensive.
  • Support for job timeouts. Bottleneck can automatically cancel jobs if they exceed their execution time limit.
  • Many improvements to the interface, such as better method names and errors, improved debugging tools.

Upgrading to v2

The internal algorithms essentially haven't changed from v1, but many small changes to the interface were made to introduce new features.

All the breaking changes:

  • Bottleneck v2 uses ES6/ES2015. v1 will continue to use ES5 only.
  • The Bottleneck constructor now takes an options object.
  • Jobs take an optional options object.
  • Removed submitPriority(), use submit() with an options object instead.
  • Removed schedulePriority(), use schedule() with an options object instead.
  • The rejectOnDrop option is now true by default.
  • Use null instead of 0 to indicate an unlimited maxConcurrent value.
  • Use null instead of -1 to indicate an unlimited highWater value.
  • Renamed changeSettings() to updateSettings(), it now returns a promise to indicate completion. It takes the same options object as the constructor.
  • Renamed nbQueued() to queued().
  • Renamed nbRunning to running(), it now returns its result using a promise.
  • Removed isBlocked().
  • Changing the Promise library is now done through the options object like any other limiter setting.
  • Removed changePenalty(), it is now done through the options object like any other limiter setting.
  • Removed changeReservoir(), it is now done through the options object like any other limiter setting.
  • Removed stopAll(). Use the reservoir feature to disable execution instead.
  • check() now accepts an optional weight argument, and returns its result using a promise.
  • The Cluster feature is now called Group. This is to distinguish it from the new v2 Clustering feature.
  • The Group constructor takes an options object to match the limiter constructor.
  • Renamed the Group changeTimeout() method to updateSettings(), it now takes an options object.

Version 2 is more user-friendly, powerful and reliable.

Commits

The new version differs by 33 commits.

There are 33 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don鈥檛 help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper bot 馃尨

@codecov
Copy link

codecov bot commented Jan 14, 2018

Codecov Report

Merging #397 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #397   +/-   ##
=======================================
  Coverage   93.86%   93.86%           
=======================================
  Files          19       19           
  Lines         277      277           
  Branches       29       29           
=======================================
  Hits          260      260           
  Misses         16       16           
  Partials        1        1

greenkeeper bot added a commit that referenced this pull request Jan 16, 2018
@greenkeeper
Copy link
Contributor Author

greenkeeper bot commented Jan 16, 2018

Version 2.0.1 just got published.

Update to this version instead 馃殌

Commits

The new version differs by 3 commits.

  • f3bf4ea 2.0.1
  • 6ce6ce9 Merge pull request #46 from martin-helmich/bugfix/no-implicit-any
  • b7679d8 Typings fail with "noImplicitAny" setting

See the full diff

@bkeepers
Copy link
Contributor

bkeepers commented Jan 18, 2018

https://github.com/probot/scheduler also needs to be updated before this is merged.

GitHub
scheduler - A helper to trigger events on a periodic schedule.

@bkeepers
Copy link
Contributor

bkeepers commented Feb 3, 2018

@JasonEtco would you have time to resolve conflicts in this now that #400 is merged? I'm happy to do it if you're busy this week, just didn't want to step on toes here.

@JasonEtco
Copy link
Member

Yep no problemo @bkeepers

@JasonEtco JasonEtco merged commit 2f3f434 into master Feb 3, 2018
@JasonEtco JasonEtco deleted the greenkeeper/bottleneck-2.0.0 branch February 3, 2018 20:55
bkeepers added a commit that referenced this pull request Feb 4, 2018
* origin/master: (32 commits)
  fix(package): Update bottleneck to the latest version 馃殌 (#397)
  Use npx, document yarn (#417)
  doc: Add `.env.example` template info (#414)
  Further explicit note on yml config for target repos (#416)
  fix(package): update dotenv to version 5.0.0 (#412)
  Payload object explanation in documentation (#411)
  More explicit notes on yml config for target repos (#415)
  fix(package): update @octokit/rest to version 14.0.8
  refactor: github -> @octokit/rest
  chore(console): github is now octokit
  test: adapt for @octokit/rest
  fix(package): -github, +@octokit/rest
  Allow setting logger name to separate components (#355)
  Improve docs on `probot simulate` command (#405)
  docs: Add "next" front matter (#406)
  chore(package): update semantic-release to version 12.2.2 (#395)
  docs: Add docs for data persistence (#242)
  Add section on how to help if you're just starting out (#393)
  Remove unused eventsource, move jest to dev deps (#403)
  fix: update log when server starts #394 (#398)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants