Skip to content

Releases: sindresorhus/got

v9.3.0

30 Oct 09:04
Compare
Choose a tag to compare
  • Add option to allow defaults to be mutable. b392f60
  • Add beforeRedirect, beforeRetry, and afterResponse hooks. 325409c
  • Retry on a few more errors. fbaaa2a
  • Include body property in HTTPError. fdc0fa6
  • Transform user set headers to lowercase. a07b2be
  • Support Electron renderer timings. 25f18be

v9.2.0...v9.3.0

v9.2.2

17 Sep 05:22
Compare
Choose a tag to compare
  • Gracefully handle invalid Location redirect URLs. (#605) 7ae6939
  • Don't override hooks when merging arguments. 3ad3950
  • Merge hooks on got.extend(). (#608) 292f78a

v9.2.1...v9.2.2

v9.2.1

06 Sep 10:38
Compare
Choose a tag to compare
  • Don't cache response when HTTP error was received. #597 b8480f3
  • Fix merging default & custom handlers. 5f191b9

v9.2.0...v9.2.1

v9.2.0

31 Aug 11:18
Compare
Choose a tag to compare

v9.1.0...v9.2.0

v9.1.0

23 Aug 12:07
Compare
Choose a tag to compare

v9.0.0...v9.1.0

v9.0.0

04 Aug 06:46
Compare
Choose a tag to compare

Got version 9 is a massive release! Many new awesome features and we have pretty much fixed all the open issues regarding Got bugs on the issue tracker.

Got is a human-friendly and powerful HTTP request library for Node.js

Breaking changes

  • Requires Node.js 8.
    You might ask, why not follow the Node.js LTS cycle and target Node.js 6. In short, async/await and WHATWG URL, which enabled us to simplify the codebase and reduce the dependency-tree considerably. Got v8 is a stable release, and you can continue using that if you need to support Node.js 6.
  • The retry functionality was rewritten to improve its reliability and to support retrying on HTTP status codes. Previously, it only retried on some network failures. 98b5664
    The option was renamed from retries to retry and it now accepts either a number of retries or an object with the ability to specify the number of retries, HTTP status codes and methods to retry on, and a function to decide how to retry. See the docs for more.
    Migration:
    - { retries: 4 }{ retry: 4 }
    - { retries: () => { … } }{ retry: { retries: () => { … } } }
  • Renamed the .canceled property to .isCanceled. 00fdeea
  • Dropped support for the body option being an Array when form: true. dfe5b1c
    The built-in new URLSearchParams() API doesn't support this either and it's a weird use-case. If you need support for this, just don't set form: true and handle stringifying yourself.
  • Got throws an error if .pipe() was called after the response has been emitted.
    This makes us sure you receive whole response in case flowing mode is on (#223).

Improvements

  • Fewer dependencies and smaller install size!
    • Got v9: install size
    • Got v8: install size
    • Request (latest): install size
  • The timeout option was rewritten to be more reliable and flexible. You can now set a timeout for every phase of the request if you want, or just for the whole request. That's up to you. da4f236
  • Added got.extend() which lets you easily create instances of Got with some options overridden. bc41a49
  • Added got.create() which is a more advanced and powerful version of got.extend(). With this API, you can create your own niche-specific instance of Got, for example, an HTTP-client for GitHub. bc41a49
  • Added a beforeRequest hook. 107756f
  • Added request and response events to the Promise API. e86aad7
  • The content-length header is now also automatically set if the body option is set to a fs.createReadStream instance. 6e7a455
  • You can now remove the default user-agent header by passing in 'user-agent': null as a header. e473a26
  • The body option can now be any kind of object, not just a plain object. 7a49ce7

Bug fixes

  • Fixed a problem with the cache not working when using the query option. 07a91cc
  • Less unhandled errors (Hopefully none!). f621184
  • Headers are now correctly proxied when you pipe got.stream(). 83bc44c
  • Lots of more bug fixes.

Other

  • 100% code coverage! Doing this caught a couple of bugs, so definitely worth doing even if 100% doesn't mean bug-free.
  • The codebase was significantly refactored for better readability and maintainability. b54b680

Team

Welcome @szmarczak and @brandon93s as maintainers 🎉

Special shoutout to @jstewmon for helping us with many of the above improvements and fixes 🙌

All changes

v8.3.2...v9.0.0

v8.3.2

03 Jul 09:03
Compare
Choose a tag to compare

Fix Got throwing an error in some cases when trying to pipe one got.stream into another one. 7ac705f

v8.3.1

01 May 07:36
Compare
Choose a tag to compare
  • No longer overrides accept-encoding header if already provided. 81f2537
  • Sets content-length header when using form-data if not already set. de9514d
  • Now clears the progress interval if the socket has been destroyed. 82763c8

v8.3.0...v8.3.1

v8.3.0

09 Mar 17:01
Compare
Choose a tag to compare
  • Fixed socket connect memory leak. 13d6b68
  • Prevented uncaught exception in some cases. 43b51ba
  • No longer continues the request after cancelation. 9a646a3

v8.2.0...v8.3.0

v8.2.0

19 Feb 06:23
Compare
Choose a tag to compare

No longer sets the default accept-encoding: gzip,deflate header if the decompress option is false.

v8.1.0...v8.2.0