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
- Revert "Resolves JakeChampion/fetch#928"
#928
18 July 2023
- Resolves JakeChampion/fetch#928
#928
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
this
to 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
new
5ef028d
- 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
this
ifself
is not defined#657
- create variable called
global
which is eitherself
orthis
a0783a5
- Add support for no-cache and no-store via a cache-busting querystring parameter
a0dcd85
- make global
this
correct 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 <[email protected]>
#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
credentials
default 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.js
to 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.forEach
natively468f877
- 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-core
and 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()
beingnull
8deb829
19 January 2016
- Handle cases where
self
isn't defined#253
- Exercise both polyfill and native
fetch
in test suite#258
- Make fetch add a
Content-Type
header 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
version
property 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
fetch
caveats#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
ok
getter 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.reject
as 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