All notable changes to this project will be documented in this file. Dates are displayed in UTC.
3.6.20 (2023-12-13)
3.6.19 (2023-09-11)
- Fix - File fetching broken since commit 0c1d2b9
#1375 - Remove broken links
1dc07c6 - automatically generate a changelog
0e7d1dd
20 July 2023
18 July 2023
18 July 2023
18 July 2023
18 July 2023
- respect charset within readBlobAsText
#1059
18 July 2023
- fix: Headers only accepts array which have nested array of length 2
#1235
18 July 2023
- Define Body.arrayBuffer even if support.blob is false
#992
18 July 2023
- use globals if they exist
dffc542
18 July 2023
- fix: when no body supplied, do not set bodyUsed to true
7d92dff
18 July 2023
- validate status is in range
#1213
18 July 2023
- dont shadow
global#1026 - dont use github eslint
408d3b6 - remove invalid-headers test
e3f6590 - Update lock.yml permissions
e97321b
18 July 2023
- fix: ignore not throw on invalid response headers
#930
18 July 2023
- Add some missed methods which should be normalized as uppercase
a43b628 - Update caniuse link to use HTTPS and new pattern
fb5b0cf
18 July 2023
- always set a signal on Request
d1d09fb
18 July 2023
- Compatible global equals to the false
7727e50
27 February 2021
- Revert "Represent non-stringified JSON request body as an [object Object] string"
e42f201
18 February 2021
18 February 2021
- Fix statusText: undefined should give '' and null should give 'null'
b5c8bd0 - Represent non-stringified JSON request body as an [object Object] string
5c6b055 - Fix eslint and eslint-plugin-github dependency conflicts
190e698
6 November 2020
7 September 2020
- Add npmignore file to ensure we always publish the dist directory
7ca02eb - Make the clean task remove the dist directory and the default task create it
fd23745
7 August 2020
- Use globalThis as the global object if it exists
96c2651
4 August 2020
- rename variable to no longer shadow over function of same name
c5db762 - remove semicolon to pass linting
f264aa5
4 August 2020
- Make Response.arrayBuffer() always resolve with a
ArrayBuffer#801 - Stop using top-level
thisto stop rollup warning#802 - Recommend an AbortController polyfill which is fully synchronous
#800 - Add keepalive caveat
#780 - Throw a TypeError if Request or Response functions are called without
new5ef028d - If headers are passed in via a Record then do not normalise the header names as part of the request
b65ed60 - Update fetch.js
37b55c2
9 July 2020
- Detect if DOMException exists via typeof instead of trying to call it and catching the exception which may get thrown
#724 - use
thisifselfis not defined#657 - create variable called
globalwhich is eitherselforthisa0783a5 - Add support for no-cache and no-store via a cache-busting querystring parameter
a0dcd85 - make global
thiscorrect when using rollup6e9fc0e
8 July 2020
- check if Content-Type header exists prior to examining the value
#792 - Move from Travis to GitHub Actions
#793
29 June 2020
8 July 2020
- check if Content-Type header exists prior to examining the value
#792 - Move from Travis to GitHub Actions
#793 - Co-authored-by: Jake Champion <me@jakechampion.name>
#575 - work around IE XHR bug with '' URL Fixes #618
#619 - Allow exclamation mark as valid header character
#745 - Avoid blob conversion for specific requests
#752 - Compatibility for fetch-mock using proxy-pollyfill
#736 - Change default statusText for Response
#698 - Document more common pitfalls in the README
#734 - field name can not by empty
#684 - work around IE XHR bug with '' URL Fixes #618 (#619)
#618 - Clarify what parts of the standard we don't want to implement
#661 - Document more caveats
9a0bce2 - Fix issue #533
7f030fa - Compatibility with newer eslint-plugin-github
1821b74
7 September 2018
- Add flow definitions
#654 - Match spec behavior re: unsupported body type
#651 - Update Karma and detect available browsers when testing
#652 - Adopt Contributor Covenant Code of Conduct
#649 - Change
credentialsdefault value tosame-origin#640 - Switch test suite from PhantomJS to Karma
#626 - Support abort API
#592 - build/distribute as UMD
#616 - Test signal reuse. Add AbortSignal polyfill.
#2 - Clear abort event listener for all xhr completion states.
#1 - Expand install & importing documentation
#569 - Match spec behavior re: unsupported body type
#576 - Run test files through prettier
0a57487 - Unwrap
fetch.jsto be a clean module file8aec47c - Switch from PhantomJS to Karma + Chrome/Firefox for testing
b539589
29 March 2018
- Create CONTRIBUTING.md
#604 - Tweak the wording of the “Read this first” section
#553 - Allow undefined Response status
#534 - Ensure cookies aren't sent if
credentials: omit#526 - Added yarn command as option to installation
#492 - Add global replace for processing raw headers
#496 - Added safari to native fetch browser support.
#469 - Support obs-fold as header delimiter
#491 - Tweak the wording of "Read this first"
54dc3f8 - Add test for undefined Response status
0ecdd40 - Fix cookie test with newer versions of Node
7831671
2 March 2017
- Accept array in Headers constructor
#485 - Improve README language
#483 - Fix grammar mistake in README
#468 - Remove bower version from release instructions
5cc72dd - Remove extra punctuation
eebaa2a - Fetch 2.0.3
d4ed806
19 January 2017
- Treat any non-Request arg to
new Request()as string url#465 - Support Tolerance Provision when parsing headers
#449 - Add test for cloning GET request
#440 - Detect broken URL support in PhantomJS and skip test
b285e61 - Remove secrets
9240ef4 - fetch 2.0.2
b337f95
17 November 2016
- Fix misspelling of [ae]ffect
#432 - Fix reading ArrayBuffer into string on older browsers
6f8529e - Only define
arrayBuffer()if Blob is also supported3d3bb0c - Display uncaught errors on the test results page
54ec096
14 November 2016
- Change Headers multiple value handling for spec compatibility
#429 - Firefox now implements
Headers.forEachnatively468f877 - fetch 2.0.0
c576d61
17 November 2016
- Fix reading ArrayBuffer into string on older browsers
1ddcadb - Only define
arrayBuffer()if Blob is also supportedc2556f3 - fetch 1.1.1
f7a5148
14 November 2016
- Support ArrayBufferView types as POST body
#430 - Spec compatibility for Request/Response constructors and cloning
#428 - Improve Readme
#427 - Fix grammar
#408 - Fixed typo in README.md
#403 - make X-Request-URL header case-insensitive
#384 - Better error handling with Saucelabs
#354 - Update Webpack section in README
#331 - Attach FileReader event handlers before calling its
read*method#353 - Default Response status is 200 OK
#376 - Support ArrayBuffer in BodyInit
#350 - Avoid consuming body when cloning
#308#335 - Rework parsing of raw response HTTP headers
#422 - Allow reusing the same GET Request instance multiple times
#411 - Always construct a new Headers instance in Response
#416 - Rework the Installation section
#415 - More information about cookies
#393 - It looks like Safari 10 didn't ship with native fetch
#401 - Reorganize tests with the new "fetch method" suite
ba7ffda - Share identical tests between Request & Response
9a04a06 - ArrayBuffer can now be consumed through
blob()/text()9a703ba
28 April 2016
- refactor Header iterator methods
#317 - Add ES2015+ example
#287 - Switch to
mocha-phantomjs-coreand system PhantomJS#314 - Reject promise on request timeout
#306 - Use uppercase methods in README
#272 - Guard against
xhr.getAllResponseHeaders()beingnull#289 - Add support for URLSearchParams POST body
#304 - Add Headers iterators
#295 - fix example
#282 - Drop IE-specific status codes workarounds and require IE10+
#270 - Reject promise on request timeout
#294 - Make Headers iterable if Symbol is available
a1b7674 - Support URLSearchParams POST body
d77810a - Fix formatting
edb7c73
5 May 2016
- Reject promise on request timeout
#294 - Fix formatting
3fc66ed - Fetch 0.11.1
7d9a11d - Guard against
xhr.getAllResponseHeaders()beingnull8deb829
19 January 2016
- Handle cases where
selfisn't defined#253 - Exercise both polyfill and native
fetchin test suite#258 - Make fetch add a
Content-Typeheader based on the type of the body.1e4a615 - Cleanup in determining implicit content-type
3b5dc9c - Render main test suite as root resource of test server
b043384
2 November 2015
- Allow making a POST request with an ArrayBuffer body
#227 - Run Sauce Labs CI for pull requests
#220 - Streamline Sauce Labs API interactions
07dc8ae - Download and start Sauce Connect manually
b3885b4 - Switch to my credentials for npm publish from CI
e0a4851
12 October 2015
- Remove moot
versionproperty from bower.json#159 - Use absolute URL in Response.redirect test
#219 - Support Response.error() and Response.redirect()
#212 - Reject the Promise returned by fetch() when Request ctor throws
#217 - Fix incorrect assertion
#216 - Remove superfluous assignment
#213 - Add webpack usage link.
#195 - Allow passing a Request instance to Request constructor
#179 - Properly convert undefined/null header values to strings.
#156 - Code of Conduct
#174 - Improve documentation for
fetchcaveats#164 - Opt into new Travis infrastructure
#158 - Merge branch 'orphan-black'
#209#185 - Add include credentials example.
#205 - Add
Request.clone()andResponse.clone()methods46705f7 - Fix and simplify
Request.clone()fd362dd - Expand caveats with notes about cookies
184b647
29 May 2015
- Implement Headers#forEach correctly
#150 - Test forEach.
2f442ce - Fix forEach parameters.
0449483 - Accept a thisArg forEach parameter.
bd2fe03
19 May 2015
- Set xhr.withCredentials after xhr.open called.
a847967 - Only support standard options.
cc9f4b0 - Fetch 0.8.2
0b3e1d7
4 May 2015
4 May 2015
- only define _initBody once
#136 - remove un-needed promise allocations in example
#120 - Headers constructor in Response constructor
#107 - Sauce: IE9
#102 - Sauce Labs: IE 11
#101 - Sauce Labs
#99 - Add a convenience
okgetter onResponse#82 - Follow spec on Headers to throw TypeError, add tests for Headers
#85 - adds .npmignore
#84 - node.js module link
#81 - Add script runner for saucelabs
47fc7d5 - Split app and server
29cc5dc - More scripty
ba1214a
24 January 2015
- Centralise the checks for blob and form data support
#78 - If cors, with credentials
#77 - Add metadata for repository, bugs and license
#67 - Declare deliberate "async=true" on XMLHttpRequest open
#74 - Fix typo in npm install instructions
#71 - Improve Request/Response BodyInit consuming
#70 - Fix up body consuming on request
fbfa9e3 - Throw TypeError if body is given for GET or HEAD
5ce5677 - A few more tests and typo fix.
614b2aa
15 January 2015
- Add charset content-type tests
7474e42 - Add additional body init and consume test coverage
9d58648 - Fix X-Request-URL on CORS requests
4525329
12 January 2015
- Suspect this api key was wrong
#63 - Use responseText on IE9 which lacks XHR2 support
eeb53d3 - Tidy up binary file reader
7436589 - Use
xhr.responseType = 'blob'to preserve binary data.080358d
12 January 2015
- Enable travis to publish to npm.
#57 - Make Headers case insensitive though lowercasing.
#62 - Support credentials
#56 - Switch to Mocha
#59 - Test Atomic HTTP redirect handling
#55 - Mark FormData support as optional
#54 - Add promise test helper
#53 - Test in web worker
#51 - Group tests
ecd8600 - Switch to mocha
cbd6c66 - Skip tests in phantomjs
8a4b620
29 December 2014
- Assign to self
#52 - Web Workers support
#48 - Align used flag error message to Chrome's implementation
#44 - Add missing quote.
#40 - Align bodyUsed error message to Chrome's implementation
e414284 - Avoid testing implementation specific error messages
cc42153 - Set esnext option
3ebc441
24 November 2014
- FormData should only able to consume once
#38 - Test formData body consumption.
4a7e655 - Fetch 0.3.2
830231e
21 November 2014
- Reject promise with TypeError for network failures.
#36 - Reject example promise with an Error.
#35 - Fetch 0.3.1
eb3f9b2
13 November 2014
- IE 9+ fixes
#28 - Move body to _body to prevent direct access
#32 - Remove form encoded object body.
#30 - Document how to use in Browserify…
#29 - Auto-detect available port when running headless tests
#27 - Shell highlight
#24 - use shorthand npm installation
#23 - Add name/version/main so it can be installed from npm.
#22 - Add example of success and error handlers
#18 - Test Server
#13 - Travis
#12 - Add test server
3316bda - Uppercase the HTTP method name
c71f1dd - Skip blob tests on phantom
c02cad2
15 October 2014
- Use of
Promise.rejectas a constructor#10 - Fixed uncaught error when a body was consumed more than once.
e428559 - Fetch 0.2.1
8160180
15 October 2014
- Parse form encoded response body
#8 - Allow body to be consumed only once
#7 - throw proper errors
#5 - Allow body to be consumed a single time.
c7a27dc - Parse form encoded response body.
60271ce - Extract consumed function.
a709976
13 October 2014