sinonjs/sinon (sinon)
### [`v16.1.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1613)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v16.1.2...v16.1.3)
- [`93e8aa93`](https://togithub.com/sinonjs/sinon/commit/93e8aa93c56c2d9d1ff783263adbd93de2603803)
Remove postinstall script as it causes issues for consumers (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-10-19.*
### [`v16.1.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1612)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v16.1.1...v16.1.2)
- [`9ea3d5b2`](https://togithub.com/sinonjs/sinon/commit/9ea3d5b27389064856469f0e4dd2b6ea6f175708)
Fix hooks-install (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-10-19.*
### [`v16.1.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1611)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v16.1.0...v16.1.1)
- [`ff0e993d`](https://togithub.com/sinonjs/sinon/commit/ff0e993df2adac356995bbc12d1d520a819360bd)
Showcase #replace.usingAccessor for DI in the typescript case study ([#2556](https://togithub.com/sinonjs/sinon/issues/2556)) (Carl-Erik Kopseng)
- [`c47a4bee`](https://togithub.com/sinonjs/sinon/commit/c47a4beeba98a5138d5b7a4a8a36ed7a8bf00861)
Bump [@babel/traverse](https://togithub.com/babel/traverse) from 7.22.5 to 7.23.2 ([#2555](https://togithub.com/sinonjs/sinon/issues/2555)) (dependabot\[bot])
> Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@users](https://togithub.com/users).noreply.github.com>
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-10-18.*
### [`v16.1.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1610)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v16.0.0...v16.1.0)
- [`cac5184b`](https://togithub.com/sinonjs/sinon/commit/cac5184b2a5c395e7e8775192ebcab234b6c180f)
Enable use of assignment in the presence of accessors ([#2538](https://togithub.com/sinonjs/sinon/issues/2538)) (Carl-Erik Kopseng)
- [`f8c20e54`](https://togithub.com/sinonjs/sinon/commit/f8c20e5414464cf36a1dd48845ff57bf4e87d158)
New article: making Sinon work with complex setups ([#2540](https://togithub.com/sinonjs/sinon/issues/2540)) (Carl-Erik Kopseng)
> Co-authored-by: Morgan Roderick >
- [`cb5b9621`](https://togithub.com/sinonjs/sinon/commit/cb5b96214891dcff0890f07d01fe6b7d1627e8cb)
Add NPM script 'dev-docs' and document its usage (Carl-Erik Kopseng)
- [`dd7c6091`](https://togithub.com/sinonjs/sinon/commit/dd7c6091f415f1f0129cb9673f79ad3e44eecd21)
Add a little update to contributing (Carl-Erik Kopseng)
- [`79acdf38`](https://togithub.com/sinonjs/sinon/commit/79acdf380af52a34847a4861e637f5738c4b39eb)
Move tool versions into single file at root (Carl-Erik Kopseng)
- [`03b1db50`](https://togithub.com/sinonjs/sinon/commit/03b1db50a1114b0e7ee5a26b0c813eda3fc54e07)
Expose Changelog page ([#2550](https://togithub.com/sinonjs/sinon/issues/2550)) (Carl-Erik Kopseng)
- [`e1c3dad2`](https://togithub.com/sinonjs/sinon/commit/e1c3dad21d3d7c18f23f014bd952b5e4136687cb)
Add section on tooling and recommend using ASDF for tool versioning ([#2547](https://togithub.com/sinonjs/sinon/issues/2547)) (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-10-05.*
### [`v16.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1600)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v15.2.0...v16.0.0)
- [`c3396058`](https://togithub.com/sinonjs/sinon/commit/c339605834f6fd7ba3afdd179fff3a8544e62bd7)
fix(2525): ensure non empty message when error of type string is passed, but no message ([#2544](https://togithub.com/sinonjs/sinon/issues/2544)) (Mark de Dios)
- [`baa1aee9`](https://togithub.com/sinonjs/sinon/commit/baa1aee9e5766ff1bfcbc62d81ddaf3138174c54)
.define method ([#2539](https://togithub.com/sinonjs/sinon/issues/2539)) (Konstantin Gukov)
> - .define method for temporarily defining new properties during the tests
- [`fe799e78`](https://togithub.com/sinonjs/sinon/commit/fe799e78967cafcdfa29ef1d7cd00c420704b926)
Fix issue 2534: spies are not restored ([#2535](https://togithub.com/sinonjs/sinon/issues/2535)) (Carl-Erik Kopseng)
- [`305fb6cc`](https://togithub.com/sinonjs/sinon/commit/305fb6ccb823a4a6059d8440d93c8032bef2afeb)
fix: actaully reset 'injectedKeys' ([#2456](https://togithub.com/sinonjs/sinon/issues/2456)) (Morgan Roderick)
- [`de2635dd`](https://togithub.com/sinonjs/sinon/commit/de2635dd4293f21bd1e5a8b3e14d14d4f6e1f1da)
Bump LTS version one notch: 20 ([#2529](https://togithub.com/sinonjs/sinon/issues/2529)) (Carl-Erik Kopseng)
*Released by Morgan Roderick on 2023-09-13.*
### [`v15.2.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1520)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v15.1.2...v15.2.0)
- [`66b0081e`](https://togithub.com/sinonjs/sinon/commit/66b0081e1f9673b14277882faa10aaa1e3b564ff)
Use fake-timers v10.1.0 re-released as v10.3.0 (Carl-Erik Kopseng)
> Version 10.2.0 of fake-timers had an unexpected breaking
> change. We re-released 10.1.0 as 10.3.0 to force users
> into jumping over the deprecated version.
>
> v10.2.0 was re-released as v11.0.0 and will be part of
> the next Sinon major
- [`a79ccaeb`](https://togithub.com/sinonjs/sinon/commit/a79ccaeb20bbb558902ae77b20bd026719de3004)
Support callable instances ([#2517](https://togithub.com/sinonjs/sinon/issues/2517)) (bojavou)
> - Support callable instances
>
> - Clean prettier lint
>
> ***
>
> Co-authored-by: - <->
- [`d220c995`](https://togithub.com/sinonjs/sinon/commit/d220c99516ddb644d3702b4736bdfd311a2b05ec)
fix: bundling compatibility with webpack@5 ([#2519](https://togithub.com/sinonjs/sinon/issues/2519)) (Avi Vahl)
> - fix: bundling compatibility with webpack@5
>
> when using webpack v5 to bundle code that calls `require('sinon')` (cjs) , it would have defaulted to "exports->require" and fail with multiple node-api requirements (util, timers, etc.)
>
> this patch ensures that anyone who bundles sinon for browser gets the (browser-compatible) esm version.
>
> tested on both webpack v5 and v4. should be noted that v4 worked even without this patch, as it automatically injected polyfills. v5 no longer does so. with this PR, people using webpack@4 to bundle sinon at least see size improvement, as the polyfills are no longer required.
>
> - fix: revert change for package.json -> "browser"
>
> browserify doesn't seem to like esm. leave that entry point alone, and ensure "exports" -> "browser" (which webpack@5 uses) is esm.
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-06-20.*
### [`v15.1.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1512)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v15.1.1...v15.1.2)
- [`02b73aed`](https://togithub.com/sinonjs/sinon/commit/02b73aed2d3d7dee071767fdf79073aa1dd673b6)
Update lock file after removing node_modules ... (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-06-12.*
### [`v15.1.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1511)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v15.1.0...v15.1.1)
- [`194fc2ef`](https://togithub.com/sinonjs/sinon/commit/194fc2ef726aba1cfd5753316414934d2551e18c)
Change fake-timers version to specifically target the one containing the 'jump' feature (Carl-Erik Kopseng)
> Instead of the later (breaking) version. See [#470](https://togithub.com/sinonjs/fake-timers/issues/470)
- [`05f05ac3`](https://togithub.com/sinonjs/sinon/commit/05f05ac30b1cb95c57dde3e30a4952679afb309a)
docs: Remove threw(obj) from docs ([#2513](https://togithub.com/sinonjs/sinon/issues/2513)) (Morgan Roderick)
> Since the introduction of threw in
>
> [`0feec9f`](https://togithub.com/sinonjs/sinon/commit/0feec9ffba0da6bc2996cefa0c6e71872e8bedb2), no one have reported that
>
> `threw(obj)` doesn't work as the documentation states.
>
> ```js
> const sinon = require("sinon");
>
> const o = { pie: "apple" };
>
> const f = sinon.fake.throws(o);
>
> f();
>
> // this is supposed to return true
>
> f.threw(o);
>
> // => false
> ```
>
> Since it has been 12+ years without an error report, it's safe to assume
>
> that no one uses the `threw` method in this way. Let's remove it from
>
> the documentation.
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-06-12.*
### [`v15.1.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1510)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v15.0.4...v15.1.0)
- [`79e719f2`](https://togithub.com/sinonjs/sinon/commit/79e719f21ecafd13130f0801231b5dd96ea0fb07)
Ensure we use a fake-timers version with clock.jump (Carl-Erik Kopseng)
- [`b2a4df5a`](https://togithub.com/sinonjs/sinon/commit/b2a4df5a841bfce85b9beb0741a8d9afe86ab492)
Add docs for clock.jump method ([#2512](https://togithub.com/sinonjs/sinon/issues/2512)) (Jason O'Neill)
- [`f096abff`](https://togithub.com/sinonjs/sinon/commit/f096abffa6add8ea29a99822c3b4d2710014d453)
fix ([#2514](https://togithub.com/sinonjs/sinon/issues/2514)): only force new or inherited descriptors to be configurable ([#2515](https://togithub.com/sinonjs/sinon/issues/2515)) (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-05-18.*
### [`v15.0.4`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1504)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v15.0.3...v15.0.4)
- [`e9042c4f`](https://togithub.com/sinonjs/sinon/commit/e9042c4f18f4aa3e36e13652196c746b759aa1a5)
Handling non-configurable object descriptors on the prototype ([#2508](https://togithub.com/sinonjs/sinon/issues/2508)) (Carl-Erik Kopseng)
> This should essentially make decorated methods stubbable again (see [#2491](https://togithub.com/sinonjs/sinon/issues/2491))
- [`430c9a60`](https://togithub.com/sinonjs/sinon/commit/430c9a604f5509ca6d7e11e3edaaa8553a77ae93)
Remove uses of `var` ([#2506](https://togithub.com/sinonjs/sinon/issues/2506)) (Carl-Erik Kopseng)
> Replace var with const where possible in /lib and /test.
>
> Modified the let codemod to be a codemod.
>
> Took about half an hour with --watch running
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-04-20.*
### [`v15.0.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1503)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v15.0.2...v15.0.3)
- [`b775f1b4`](https://togithub.com/sinonjs/sinon/commit/b775f1b4174c5a92fa7fa8f70fbf3f4b5466a39e)
Avoid tampering with globals and other modules' exports in tests ([#2504](https://togithub.com/sinonjs/sinon/issues/2504)) (Carl-Erik Kopseng)
- [`477064b6`](https://togithub.com/sinonjs/sinon/commit/477064b628c65220ce9d0ac16cd33ab9b1da93da)
fix: make it possible to call through to underlying stub in stub instance ([#2503](https://togithub.com/sinonjs/sinon/issues/2503)) (Carl-Erik Kopseng)
> closes [#2501](https://togithub.com/sinonjs/sinon/issues/2501)
- [`6e19746e`](https://togithub.com/sinonjs/sinon/commit/6e19746e255dfa0fcf78af076e49d5db0eb11c07)
Remove dead Travis and Gitter references (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-03-26.*
### [`v15.0.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1502)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v15.0.1...v15.0.2)
- [`19bd99f3`](https://togithub.com/sinonjs/sinon/commit/19bd99f364ab44f0e2715571e5deab580d9aa7fd)
Use no-op for every function when restoring instances ([#2499](https://togithub.com/sinonjs/sinon/issues/2499)) (Carl-Erik Kopseng)
- [`8663ffa0`](https://togithub.com/sinonjs/sinon/commit/8663ffa056d3c58e82fa203801d58d3fce3c14a7)
Upgrade deps ([#2498](https://togithub.com/sinonjs/sinon/issues/2498)) (Carl-Erik Kopseng)
> Browserify, supports-color, husky had to be held back.
- [`e01275bb`](https://togithub.com/sinonjs/sinon/commit/e01275bb10d868a064d0cb27a6ae11ffa3d91ac2)
Un-pin [@sinonjs/fake-timers](https://togithub.com/sinonjs/fake-timers) ([#2495](https://togithub.com/sinonjs/sinon/issues/2495)) (Jordan Hawker)
> The commit upgrading from v9 to v10 appears to have accidentally dropped the caret from the version range
- [`6cbde9b0`](https://togithub.com/sinonjs/sinon/commit/6cbde9b08259efd98b2c52b81ca3b5e84dcf97b1)
fix throws().callsFake() precedence ([#2497](https://togithub.com/sinonjs/sinon/issues/2497)) (Eduardo Diaz)
> This makes sure an unconditional `callsFake()` invoked on the same stub that was previously setup to throw will overwrite the previous behavior. This aligns it with the other behaviors.
- [`45be60f3`](https://togithub.com/sinonjs/sinon/commit/45be60f3c6afc350eacbceed77539f437a9bbbce)
Replace probot/stale with official stale action (Morgan Roderick)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-03-12.*
### [`v15.0.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1501)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v15.0.0...v15.0.1)
- [`aa493da4`](https://togithub.com/sinonjs/sinon/commit/aa493da47d788025c0d512696651072973f301ec)
Upgrade to fake-timers v10.0.2 (Carl-Erik Kopseng)
> Contains several fixes
- [`b3ee0aa5`](https://togithub.com/sinonjs/sinon/commit/b3ee0aa5c84e7c0f5203591e1507bd1015208925)
Use Node version 18 in Runkit examples (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2022-12-15.*
### [`v15.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1500)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v14.0.2...v15.0.0)
- [`b75fbfa9`](https://togithub.com/sinonjs/sinon/commit/b75fbfa9e57ba9b9c1b639b68646b1d054e0a7e3)
Fix 2448: remove custom formatter (Morgan Roderick)
> Remove option to pass a custom formatter.
>
> The sub libraries of Sinon has long moved on to use `util.inspect` from
> Node. By using that in Sinon itself, we align all the libraries.
*Released by Morgan Roderick on 2022-11-28.*
### [`v14.0.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1402)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v14.0.1...v14.0.2)
- [`4d70f6e0`](https://togithub.com/sinonjs/sinon/commit/4d70f6e0965b82e387cd632fbe54ed58a8fcf601)
Upgrade nise to latest (Morgan Roderick)
- [`96a0d756`](https://togithub.com/sinonjs/sinon/commit/96a0d756b553c38154f442785c34c6092d1ac572)
Update [@sinonjs/samsam](https://togithub.com/sinonjs/samsam) to latest (Morgan Roderick)
- [`babb4736`](https://togithub.com/sinonjs/sinon/commit/babb4736d7f0080e25dce34fc8ce72879e86792e)
Prefer [@sinonjs/commons](https://togithub.com/sinonjs/commons)[@2](https://togithub.com/2) (Morgan Roderick)
> That makes ES2017 support explicit
*Released by Morgan Roderick on 2022-11-07.*
### [`v14.0.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1401)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v14.0.0...v14.0.1)
- [`6c4753ef`](https://togithub.com/sinonjs/sinon/commit/6c4753ef243880f5cdf1ea9c88b569780f9dc013)
Fixed CSS selectors in `_base.scss` and changed blockquote default size to 16px. (Jose Lupianez)
- A bunch of dependency updates
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2022-10-03.*
### [`v14.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1400)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v13.0.2...v14.0.0)
- [`c2bbd826`](https://togithub.com/sinonjs/sinon/commit/c2bbd82641444eb5b32822489ae40f185afbbf00)
Drop node 12 (Morgan Roderick)
> And embrace Node 18
>
> See https://nodejs.org/en/about/releases/
*Released by Morgan Roderick on 2022-05-07.*
### [`v13.0.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1302)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v13.0.1...v13.0.2)
- [`bddb631a`](https://togithub.com/sinonjs/sinon/commit/bddb631aab6afc3e663a5db847c675ea96c90970)
Update fake-timers (Carl-Erik Kopseng)
- [`eaed0eb2`](https://togithub.com/sinonjs/sinon/commit/eaed0eb24bd8f42b0484b8861a5ff066001da5d5)
Bump nokogiri from 1.13.3 to 1.13.4 ([#2451](https://togithub.com/sinonjs/sinon/issues/2451)) (dependabot\[bot])
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2022-04-14.*
### [`v13.0.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1301)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v13.0.0...v13.0.1)
- [`ec4223f9`](https://togithub.com/sinonjs/sinon/commit/ec4223f94076d809483e3c6a7536cfc1278dd3c9)
Bump nise to fix [sinonjs/nise#193](https://togithub.com/sinonjs/nise/issues/193) (Carl-Erik Kopseng)
- [`f329a010`](https://togithub.com/sinonjs/sinon/commit/f329a01040bfa5a79e039419220b21eda56935d6)
Add unimported to workflow ([#2441](https://togithub.com/sinonjs/sinon/issues/2441)) (Morgan Roderick)
- [`7f16cec9`](https://togithub.com/sinonjs/sinon/commit/7f16cec968c3c8d4e580267fb00195916d6f827d)
Enable updates to same major version (Carl-Erik Kopseng)
- [`f784d7ad`](https://togithub.com/sinonjs/sinon/commit/f784d7ad2c86be0fc65477d69f8bdafca846ef2c)
Re-introduce new version.sh script to version hook (Joel Bradshaw)
> This was inadvertently removed during merge conflicts, and is required
> for any of the new release process stuff to work
- [`51c508ab`](https://togithub.com/sinonjs/sinon/commit/51c508ab77cf0f9fb8c5305ff626f6a2eada178f)
Add dry run mode to `npm version` ([#2436](https://togithub.com/sinonjs/sinon/issues/2436)) (Joel Bradshaw)
> - Add DRY_RUN flag to skip publish/push
>
> - Allow overriding branch names for testing
- [`05341dcf`](https://togithub.com/sinonjs/sinon/commit/05341dcf92ddca4a1d4c90966b1fcdc7039cff18)
Update npm version scripts to manage new releases branch (Joel Bradshaw)
- [`fe658261`](https://togithub.com/sinonjs/sinon/commit/fe65826171db69ed2986a1060db77944dbc98a6d)
Remove release archives from master (Joel Bradshaw)
> These archives made it difficult to find things in the GitHub interface,
> and take up a lot of space in a checked-out repo for something that is
> not useful to most people checking out the repository.
>
> The main purpose of these archives is to make old versions and
> documentation available on the Sinon website that is run out of this
> repo. This can be supported by using a separate branch for website
> releases, and to maintain the archives.
>
> Following this commit, the `npm version` scripts will be updated to
> automatically handle archiving the releases in the new releases branch
> and keeping it up to date with master.
>
> Also remove the directories we removed from .prettierignore, since they
> don't exist any more.
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2022-02-01.*
### [`v13.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1300)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v12.0.1...v13.0.0)
- [`cf3d6c0c`](https://togithub.com/sinonjs/sinon/commit/cf3d6c0cd9689c0ee673b3daa8bf9abd70304392)
Upgrade packages ([#2431](https://togithub.com/sinonjs/sinon/issues/2431)) (Carl-Erik Kopseng)
> - Update all @sinonjs/ packages
>
> - Upgrade to fake-timers 9
>
> - chore: ensure always using latest LTS release
- [`41710467`](https://togithub.com/sinonjs/sinon/commit/417104670d575e96a1b645ea40ce763afa76fb1b)
Adjust deploy scripts to archive old releases in a separate branch, move existing releases out of master ([#2426](https://togithub.com/sinonjs/sinon/issues/2426)) (Joel Bradshaw)
> Co-authored-by: Carl-Erik Kopseng
- [`c80a7266`](https://togithub.com/sinonjs/sinon/commit/c80a72660e89d88b08275eff1028ecb9e26fd8e9)
Bump node-fetch from 2.6.1 to 2.6.7 ([#2430](https://togithub.com/sinonjs/sinon/issues/2430)) (dependabot\[bot])
> Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@users](https://togithub.com/users).noreply.github.com>
- [`a00f14a9`](https://togithub.com/sinonjs/sinon/commit/a00f14a97dbe8c65afa89674e16ad73fc7d2fdc0)
Add explicit export for `./*` ([#2413](https://togithub.com/sinonjs/sinon/issues/2413)) (なつき)
- [`b82ca7ad`](https://togithub.com/sinonjs/sinon/commit/b82ca7ad9b1add59007771f65a18ee34415de8ca)
Bump cached-path-relative from 1.0.2 to 1.1.0 ([#2428](https://togithub.com/sinonjs/sinon/issues/2428)) (dependabot\[bot])
- [`a9ea1427`](https://togithub.com/sinonjs/sinon/commit/a9ea142716c094ef3c432ecc4089f8207b8dd8b6)
Add documentation for assert.calledOnceWithMatch ([#2424](https://togithub.com/sinonjs/sinon/issues/2424)) (Mathias Schreck)
- [`1d5ab86b`](https://togithub.com/sinonjs/sinon/commit/1d5ab86ba60e50dd69593ffed2bffd4b8faa0d38)
Be more general in stripping off stack frames to fix Firefox tests ([#2425](https://togithub.com/sinonjs/sinon/issues/2425)) (Joel Bradshaw)
- [`56b06129`](https://togithub.com/sinonjs/sinon/commit/56b06129e223eae690265c37b1113067e2b31bdc)
Check call count type ([#2410](https://togithub.com/sinonjs/sinon/issues/2410)) (Joel Bradshaw)
- [`7863e2df`](https://togithub.com/sinonjs/sinon/commit/7863e2dfdbda79e0a32e42af09e6539fc2f2b80f)
Fix [#2414](https://togithub.com/sinonjs/sinon/issues/2414): make Sinon available on homepage (Carl-Erik Kopseng)
- [`fabaabdd`](https://togithub.com/sinonjs/sinon/commit/fabaabdda82f39a7f5b75b55bd56cf77b1cd4a8f)
Bump nokogiri from 1.11.4 to 1.13.1 ([#2423](https://togithub.com/sinonjs/sinon/issues/2423)) (dependabot\[bot])
- [`dbc0fbd2`](https://togithub.com/sinonjs/sinon/commit/dbc0fbd263c8419fa47f9c3b20cf47890a242d21)
Bump shelljs from 0.8.4 to 0.8.5 ([#2422](https://togithub.com/sinonjs/sinon/issues/2422)) (dependabot\[bot])
- [`fb8b3d72`](https://togithub.com/sinonjs/sinon/commit/fb8b3d72a85dc8fb0547f859baf3f03a22a039f7)
Run Prettier (Carl-Erik Kopseng)
- [`12a45939`](https://togithub.com/sinonjs/sinon/commit/12a45939e9b047b6d3663fe55f2eb383ec63c4e1)
Fix 2377: Throw error when trying to stub non-configurable or non-writable properties ([#2417](https://togithub.com/sinonjs/sinon/issues/2417)) (Stuart Dotson)
> Fixes issue [#2377](https://togithub.com/sinonjs/sinon/issues/2377) by throwing an error when trying to stub non-configurable or non-writable properties
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2022-01-28.*
### [`v12.0.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1201)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v12.0.0...v12.0.1)
- [`3f598221`](https://togithub.com/sinonjs/sinon/commit/3f598221045904681f2b3b3ba1df617ed5e230e3)
Fix issue with npm unlink for npm version > 6 (Carl-Erik Kopseng)
- [`51417a38`](https://togithub.com/sinonjs/sinon/commit/51417a38111eeeb7cd14338bfb762cc2df487e1b)
Fix bundling of cjs module ([#2412](https://togithub.com/sinonjs/sinon/issues/2412)) (Julian Grinblat)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2021-11-04.*
### [`v12.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1200)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v11.1.2...v12.0.0)
- [`b20ef9e4`](https://togithub.com/sinonjs/sinon/commit/b20ef9e4940e9384a6d0707b917a38e7bbfcd816)
Upgrade to fake-timers@8 (Carl-Erik Kopseng). This is potentially breaking, but should not be,
as the breaking change deals with the Node timer object created by fake timers.
- [`eba42cc3`](https://togithub.com/sinonjs/sinon/commit/eba42cc38dbaf5417178a12cec11e35014e335ea)
Enable esm named exports ([#2382](https://togithub.com/sinonjs/sinon/issues/2382)) (Julian Grinblat)
- [`b0cf5448`](https://togithub.com/sinonjs/sinon/commit/b0cf5448993c2ace607cdf430b7e389d02c2f296)
Spelling ([#2398](https://togithub.com/sinonjs/sinon/issues/2398)) (Josh Soref)
- [`e78a6706`](https://togithub.com/sinonjs/sinon/commit/e78a670611682c7e35cf7d27887b409d6397d27c)
Make calledWith() assertions idempotent ([#2407](https://togithub.com/sinonjs/sinon/issues/2407)) (Joel Bradshaw)
- [`2814c0a2`](https://togithub.com/sinonjs/sinon/commit/2814c0a212ab6b79c7251e4b0a1bebc9918257d4)
Generate CHANGES.md using [@studio/changes](https://togithub.com/studio/changes) (Morgan Roderick)
> This will bring us closer to having the same release process as the
> other `@sinonjs` packages.
- [`2d5d6ad4`](https://togithub.com/sinonjs/sinon/commit/2d5d6ad4cd89c2063834991da5073f7640d0d722)
Run tests in Node 16 in GitHub Actions (Morgan Roderick)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2021-11-03.*
### [`v11.1.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1112)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v11.1.1...v11.1.2)
- Upgrade [@sinonjs/fake-timers](https://togithub.com/sinonjs/fake-timers) to latest, see https://github.com/sinonjs/fake-timers/blob/master/CHANGELOG.md#712--2021-05-28
- Copy over accessor properties to target object [#2387](https://togithub.com/sinonjs/sinon/issues/2387)
### [`v11.1.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1111)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v11.1.0...v11.1.1)
- Fix [#2379](https://togithub.com/sinonjs/sinon/issues/2379) by using v7 of supports-color
### [`v11.1.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1110)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v11.0.0...v11.1.0)
- Add sinon.promise() implementation ([#2369](https://togithub.com/sinonjs/sinon/issues/2369))
- Set wrappedMethod on getters/setters ([#2378](https://togithub.com/sinonjs/sinon/issues/2378))
- \[Docs] Update fake-server usage & descriptions ([#2365](https://togithub.com/sinonjs/sinon/issues/2365))
- Fake docs improvement ([#2360](https://togithub.com/sinonjs/sinon/issues/2360))
- Update nise to 5.1.0 (fixed [#2318](https://togithub.com/sinonjs/sinon/issues/2318))
### [`v11.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1100)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v10.0.1...v11.0.0)
- Explicitly use samsam 6.0.2 with fix for [#2345](https://togithub.com/sinonjs/sinon/issues/2345)
- Update most packages ([#2371](https://togithub.com/sinonjs/sinon/issues/2371))
- Update compatibility docs ([#2366](https://togithub.com/sinonjs/sinon/issues/2366))
- Update packages (includes breaking fake-timers change, see [#2352](https://togithub.com/sinonjs/sinon/issues/2352))
- Warn of potential memory leaks ([#2357](https://togithub.com/sinonjs/sinon/issues/2357))
- Fix clock test errors
### [`v10.0.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1001)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v10.0.0...v10.0.1)
- Upgrade sinon components (bumps y18n to 4.0.1)
- Bump y18n from 4.0.0 to 4.0.1
### [`v10.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1000)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v9.2.4...v10.0.0)
- Upgrade nise to 4.1.0
- Use [@sinonjs/eslint-config](https://togithub.com/sinonjs/eslint-config)[@4](https://togithub.com/4) => Adopts ES2017 => Drops support for IE 11, Legacy Edge and legacy Safari
### [`v9.2.4`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#924)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v9.2.3...v9.2.4)
- Upgrade [@sinonjs/samsam](https://togithub.com/sinonjs/samsam)[@5](https://togithub.com/5).3.1
### [`v9.2.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#923)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v9.2.2...v9.2.3)
- Use `util.inspect` for formatting human readable output
(this retires [@sinonjs/formatio](https://togithub.com/sinonjs/formatio))
### [`v9.2.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#922)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/23aff495ba6177db922af852f2679412878f93d5...v9.2.2)
- Fix [#2316](https://togithub.com/sinonjs/sinon/issues/2316): handle absent Promise ([#2317](https://togithub.com/sinonjs/sinon/issues/2317))
### [`v9.2.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#921)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v9.2.0...23aff495ba6177db922af852f2679412878f93d5)
- Fix [#2203](https://togithub.com/sinonjs/sinon/issues/2203): skip writing 'name' property if not writable ([#2304](https://togithub.com/sinonjs/sinon/issues/2304))
- Update error message on assert when representation of expected and actual value is equal, fixing issue [#2084](https://togithub.com/sinonjs/sinon/issues/2084) ([#2303](https://togithub.com/sinonjs/sinon/issues/2303))
- Make sandboxes each use their own assert object ([#2302](https://togithub.com/sinonjs/sinon/issues/2302))
- Add usingPromise() method on fakes to fix issue [#2293](https://togithub.com/sinonjs/sinon/issues/2293) ([#2301](https://togithub.com/sinonjs/sinon/issues/2301))
### [`v9.2.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#920)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v9.1.0...v9.2.0)
- Update dependencies ([#2299](https://togithub.com/sinonjs/sinon/issues/2299))
- Update sandbox docs with missing comma
- Add minor markdown formatting to release docs for sandbox
- Minor formatting improvements to legacy sandbox documentation
### [`v9.1.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#910)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v9.0.3...v9.1.0)
- Add a calledOnceWithMatch assertion ([#2294](https://togithub.com/sinonjs/sinon/issues/2294))
### [`v9.0.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#903)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v9.0.2...v9.0.3)
- Upgrade nise to latest
- Upgrade [@sinonjs/samsam](https://togithub.com/sinonjs/samsam) to latest
### [`v9.0.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#902)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v9.0.1...v9.0.2)
- Bump [@sinonjs/fake-timers](https://togithub.com/sinonjs/fake-timers) (fix error when using Node's util/promisify with setTimeout)
- Upgrade [@sinonjs/commons](https://togithub.com/sinonjs/commons) (fix error when trying to calculate function name from generators)
### [`v9.0.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#901)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v9.0.0...v9.0.1)
- Fix [#2226](https://togithub.com/sinonjs/sinon/issues/2226): restore props defined on prototype chain by deleting
### [`v9.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#900)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v8.1.1...v9.0.0)
- Ignore errors on thisValue property accesses ([#2216](https://togithub.com/sinonjs/sinon/issues/2216))
- Add firstArg to spy calls and fakes. ([#2150](https://togithub.com/sinonjs/sinon/issues/2150))
- Drop Node 8 support
### [`v8.1.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#811)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v8.1.0...v8.1.1)
- Fundraiser for better docs: https://www.gofundme.com/f/sinon-docs
### [`v8.1.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#810)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v8.0.4...v8.1.0)
- Support negative indices in getCall ([#2199](https://togithub.com/sinonjs/sinon/issues/2199))
### [`v8.0.4`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#804)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v8.0.3...v8.0.4)
- Remove misleading 'own' from exception message
### [`v8.0.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#803)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v8.0.2...v8.0.3)
- Move .printf to proxy
### [`v8.0.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#802)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v8.0.1...v8.0.2)
- Upgrade [@sinonjs/samsam](https://togithub.com/sinonjs/samsam) to latest
- Upgrade nise to 3.0.1
### [`v8.0.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#801)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v8.0.0...v8.0.1)
- Force upgrade [@sinonjs/commons](https://togithub.com/sinonjs/commons) ([#2181](https://togithub.com/sinonjs/sinon/issues/2181))
- Update `docs/changelog.md` and set new release id in `docs/_config.yml`
- Add release documentation for v8.0.0
### [`v8.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#800)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.5.0...v8.0.0)
The major release is caused by removing old mistakes and upgrading dependencies that themselves have had new major releases.
- Upgrade nise, [@sinonjs/formatio](https://togithub.com/sinonjs/formatio), [@sinonjs/samsam](https://togithub.com/sinonjs/samsam) and [@sinonjs/referee](https://togithub.com/sinonjs/referee)
- Update lolex and nise to get new async timer methods (see https://github.com/sinonjs/lolex/blob/master/CHANGELOG.md)
- Remove `sinon.spyCall`
- Remove `sinon.sandbox.create`
- Remove obsolete `deprecated.printWarning` stubbing from test
### [`v7.5.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#750)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.4.2...v7.5.0)
- Add sinon.assert.calledOnceWithExactly
- Feature parity: support *spying* all methods on an object
### [`v7.4.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#742)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.4.1...v7.4.2)
- Restore sinon.createStubInstance() behaviour ([#2073](https://togithub.com/sinonjs/sinon/issues/2073))
- Fix Typo in migration 6 and updated migration docs for migration from… ([#2074](https://togithub.com/sinonjs/sinon/issues/2074))
### [`v7.4.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#741)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.3.2...v7.4.1)
- Update nise and lolex (minor versions)
- add callThroughWithNew method
- add browser field
- Create COMPATIBILITY.md ([#2051](https://togithub.com/sinonjs/sinon/issues/2051))
- Fix sinon.resetHistory() does not reset history ([#2022](https://togithub.com/sinonjs/sinon/issues/2022))
### [`v7.3.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#732)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.3.1...v7.3.2)
- Update Lolex to bring in fix for [sinonjs/lolex#232](https://togithub.com/sinonjs/lolex/issues/232) (queueMicrotask warning)
### [`v7.3.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#731)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/059727bf9db20f277c8b056144e31ecbbce18a44...v7.3.1)
- Fix security issues
- Update [@sinonjs/samsam](https://togithub.com/sinonjs/samsam) to v3.3.1
### [`v7.3.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#730)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.2.7...059727bf9db20f277c8b056144e31ecbbce18a44)
- Simplify Circle CI setup
- Add a Docker Compose config file for testing the setup locally
- Inject createStubInstance and fake functionality
- Remove unused prop 'injectIntoThis'
- Fix [#1974](https://togithub.com/sinonjs/sinon/issues/1974) by upgrading to [@sinonjs/samsam](https://togithub.com/sinonjs/samsam)[@3](https://togithub.com/3).3.0
### [`v7.2.7`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#727)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.2.6...v7.2.7)
- Retain spy function names and fix spy.named(name) ([#1987](https://togithub.com/sinonjs/sinon/issues/1987))
- Document spying on accessors ([#1976](https://togithub.com/sinonjs/sinon/issues/1976))
### [`v7.2.6`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#726)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.2.5...v7.2.6)
- Upgrade [@sinonjs/formatio](https://togithub.com/sinonjs/formatio)
- Set `fake.lastArg` to last argument regardless of type
### [`v7.2.5`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#725)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.2.4...v7.2.5)
- don't call extends.nonEnum in spy.resetHistory ([#1984](https://togithub.com/sinonjs/sinon/issues/1984))
### [`v7.2.4`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#724)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.2.3...v7.2.4)
- minor package updates
- Update eslint-plugin-mocha
- Fix high prio audit warnings
- Update nise to use [@sinonjs/text-encoding](https://togithub.com/sinonjs/text-encoding)
- Make all properties non-enumerable in spies, stubs, mocks and fakes
- docs(sandbox): add example for default sandbox
### [`v7.2.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#723)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.2.2...v7.2.3)
- Update [@sinonjs/nise](https://togithub.com/sinonjs/nise)
- Fix stubbing function objects ([#1968](https://togithub.com/sinonjs/sinon/issues/1968))
### [`v7.2.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#722)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.2.1...v7.2.2)
- Fix mock.withArgs using matchers ([#1961](https://togithub.com/sinonjs/sinon/issues/1961))
### [`v7.2.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#721)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.2.0...v7.2.1)
- [#1957](https://togithub.com/sinonjs/sinon/issues/1957): check for truthiness before checking whether optional override is a stub
- Upgrade [@sinonjs/samsam](https://togithub.com/sinonjs/samsam)
- Upgrade [@sinonjs/referee](https://togithub.com/sinonjs/referee) to v3
### [`v7.2.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#720)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.1.1...v7.2.0)
- Upgrade to samsam 3 ([#1955](https://togithub.com/sinonjs/sinon/issues/1955))
- Rename History.md to CHANGELOG.md
### [`v7.1.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#711)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.1.0...v7.1.1)
- Make the spy functions non enumerable so that printing it is more concise ([#1936](https://togithub.com/sinonjs/sinon/issues/1936))
### [`v7.1.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#710)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v7.0.0...v7.1.0)
- Issue [#1852](https://togithub.com/sinonjs/sinon/issues/1852): Add a way to pass a global context to lolex when calling useFakeTimers
- Get latest 'nise' patch
### [`v7.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#700)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.3.5...v7.0.0)
- Update to Lolex 3: no negative ticks allowed
### [`v6.3.5`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#635)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.3.4...v6.3.5)
- Upgrade lolex
- Upgrade [@sinonjs/samsam](https://togithub.com/sinonjs/samsam) - fixes minor issue with IE11 introduced in 6.3.4
### [`v6.3.4`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#634)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.3.3...v6.3.4)
- Update samsam, puppeteer and rollup
- Fix [#1850](https://togithub.com/sinonjs/sinon/issues/1850) (keep context in fakes)
### [`v6.3.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#633)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.3.2...v6.3.3)
- Upgrade formatio, samsam, nise and referee
### [`v6.3.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#632)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.3.1...v6.3.2)
- Adds guard for empty properties in deepEqual when a matcher is provided ([#1901](https://togithub.com/sinonjs/sinon/issues/1901))
### [`v6.3.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#631)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.3.0...v6.3.1)
- Fix use of non-cached reference to forEach
### [`v6.3.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#630)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.2.0...v6.3.0)
- Allow providing stubs overrides for sinon.createStubInstance ([#1864](https://togithub.com/sinonjs/sinon/issues/1864))
- Bump Lolex to 2.7.4 to include IE fixes for performance.mark
### [`v6.2.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#620)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.1.6...v6.2.0)
- Add mock.usingPromise to set the Promise library for mock expectations
### [`v6.1.6`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#616)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.1.5...v6.1.6)
- Upgrade Lolex, Nise and other dependencies
### [`v6.1.5`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#615)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.1.4...v6.1.5)
- Fix [#1796](https://togithub.com/sinonjs/sinon/issues/1796), failing to stub Array.prototype.sort
### [`v6.1.4`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#614)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.1.3...v6.1.4)
- Update lolex and nise dependencies to latest versions
### [`v6.1.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#613)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.1.2...v6.1.3)
- Fix issue with matchers and cyclic references ([#1709](https://togithub.com/sinonjs/sinon/issues/1709))
### [`v6.1.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#612)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.1.1...v6.1.2)
- Made callsArg, returnsArg, and throwsArg more strict ([#1848](https://togithub.com/sinonjs/sinon/issues/1848))
### [`v6.1.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#611)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.1.0...v6.1.1)
- Restore useFakeXMLHttpRequest correctly in default sandbox ([#1840](https://togithub.com/sinonjs/sinon/issues/1840))
### [`v6.1.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#610)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.0.1...v6.1.0)
- Syntax sugar for resolvesArg ([#1846](https://togithub.com/sinonjs/sinon/issues/1846))
### [`v6.0.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#601)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v6.0.0...v6.0.1)
- Add fake behaviors to sandbox ([#1815](https://togithub.com/sinonjs/sinon/issues/1815))
### [`v6.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1600)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.1.1...v6.0.0)
- [`c3396058`](https://togithub.com/sinonjs/sinon/commit/c339605834f6fd7ba3afdd179fff3a8544e62bd7)
fix(2525): ensure non empty message when error of type string is passed, but no message ([#2544](https://togithub.com/sinonjs/sinon/issues/2544)) (Mark de Dios)
- [`baa1aee9`](https://togithub.com/sinonjs/sinon/commit/baa1aee9e5766ff1bfcbc62d81ddaf3138174c54)
.define method ([#2539](https://togithub.com/sinonjs/sinon/issues/2539)) (Konstantin Gukov)
> - .define method for temporarily defining new properties during the tests
- [`fe799e78`](https://togithub.com/sinonjs/sinon/commit/fe799e78967cafcdfa29ef1d7cd00c420704b926)
Fix issue 2534: spies are not restored ([#2535](https://togithub.com/sinonjs/sinon/issues/2535)) (Carl-Erik Kopseng)
- [`305fb6cc`](https://togithub.com/sinonjs/sinon/commit/305fb6ccb823a4a6059d8440d93c8032bef2afeb)
fix: actaully reset 'injectedKeys' ([#2456](https://togithub.com/sinonjs/sinon/issues/2456)) (Morgan Roderick)
- [`de2635dd`](https://togithub.com/sinonjs/sinon/commit/de2635dd4293f21bd1e5a8b3e14d14d4f6e1f1da)
Bump LTS version one notch: 20 ([#2529](https://togithub.com/sinonjs/sinon/issues/2529)) (Carl-Erik Kopseng)
*Released by Morgan Roderick on 2023-09-13.*
### [`v5.1.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1511)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.1.0...v5.1.1)
- [`194fc2ef`](https://togithub.com/sinonjs/sinon/commit/194fc2ef726aba1cfd5753316414934d2551e18c)
Change fake-timers version to specifically target the one containing the 'jump' feature (Carl-Erik Kopseng)
> Instead of the later (breaking) version. See [#470](https://togithub.com/sinonjs/fake-timers/issues/470)
- [`05f05ac3`](https://togithub.com/sinonjs/sinon/commit/05f05ac30b1cb95c57dde3e30a4952679afb309a)
docs: Remove threw(obj) from docs ([#2513](https://togithub.com/sinonjs/sinon/issues/2513)) (Morgan Roderick)
> Since the introduction of threw in
>
> [`0feec9f`](https://togithub.com/sinonjs/sinon/commit/0feec9ffba0da6bc2996cefa0c6e71872e8bedb2), no one have reported that
>
> `threw(obj)` doesn't work as the documentation states.
>
> ```js
> const sinon = require("sinon");
>
> const o = { pie: "apple" };
>
> const f = sinon.fake.throws(o);
>
> f();
>
> // this is supposed to return true
>
> f.threw(o);
>
> // => false
> ```
>
> Since it has been 12+ years without an error report, it's safe to assume
>
> that no one uses the `threw` method in this way. Let's remove it from
>
> the documentation.
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-06-12.*
### [`v5.1.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1510)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.0.10...v5.1.0)
- [`79e719f2`](https://togithub.com/sinonjs/sinon/commit/79e719f21ecafd13130f0801231b5dd96ea0fb07)
Ensure we use a fake-timers version with clock.jump (Carl-Erik Kopseng)
- [`b2a4df5a`](https://togithub.com/sinonjs/sinon/commit/b2a4df5a841bfce85b9beb0741a8d9afe86ab492)
Add docs for clock.jump method ([#2512](https://togithub.com/sinonjs/sinon/issues/2512)) (Jason O'Neill)
- [`f096abff`](https://togithub.com/sinonjs/sinon/commit/f096abffa6add8ea29a99822c3b4d2710014d453)
fix ([#2514](https://togithub.com/sinonjs/sinon/issues/2514)): only force new or inherited descriptors to be configurable ([#2515](https://togithub.com/sinonjs/sinon/issues/2515)) (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-05-18.*
### [`v5.0.10`](https://togithub.com/sinonjs/sinon/compare/v5.0.9...v5.0.10)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.0.9...v5.0.10)
### [`v5.0.9`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#509)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.0.8...v5.0.9)
- Upgrade `@std/esm` to `esm`.
### [`v5.0.8`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#508)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.0.7...v5.0.8)
- Add isSealed check to is-es-module to make certain ESM mocks possible
### [`v5.0.7`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#507)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.0.6...v5.0.7)
- Fix stub id prefix ([#1786](https://togithub.com/sinonjs/sinon/issues/1786))
### [`v5.0.6`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#506)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.0.5...v5.0.6)
- Remove support-sinon.js as postinstall banner
### [`v5.0.5`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#505)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.0.4...v5.0.5)
- Refuse to replace already replaced values ([#1779](https://togithub.com/sinonjs/sinon/issues/1779))
### [`v5.0.4`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1504)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.0.3...v5.0.4)
- [`e9042c4f`](https://togithub.com/sinonjs/sinon/commit/e9042c4f18f4aa3e36e13652196c746b759aa1a5)
Handling non-configurable object descriptors on the prototype ([#2508](https://togithub.com/sinonjs/sinon/issues/2508)) (Carl-Erik Kopseng)
> This should essentially make decorated methods stubbable again (see [#2491](https://togithub.com/sinonjs/sinon/issues/2491))
- [`430c9a60`](https://togithub.com/sinonjs/sinon/commit/430c9a604f5509ca6d7e11e3edaaa8553a77ae93)
Remove uses of `var` ([#2506](https://togithub.com/sinonjs/sinon/issues/2506)) (Carl-Erik Kopseng)
> Replace var with const where possible in /lib and /test.
>
> Modified the let codemod to be a codemod.
>
> Took about half an hour with --watch running
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-04-20.*
### [`v5.0.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1503)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.0.2...v5.0.3)
- [`b775f1b4`](https://togithub.com/sinonjs/sinon/commit/b775f1b4174c5a92fa7fa8f70fbf3f4b5466a39e)
Avoid tampering with globals and other modules' exports in tests ([#2504](https://togithub.com/sinonjs/sinon/issues/2504)) (Carl-Erik Kopseng)
- [`477064b6`](https://togithub.com/sinonjs/sinon/commit/477064b628c65220ce9d0ac16cd33ab9b1da93da)
fix: make it possible to call through to underlying stub in stub instance ([#2503](https://togithub.com/sinonjs/sinon/issues/2503)) (Carl-Erik Kopseng)
> closes [#2501](https://togithub.com/sinonjs/sinon/issues/2501)
- [`6e19746e`](https://togithub.com/sinonjs/sinon/commit/6e19746e255dfa0fcf78af076e49d5db0eb11c07)
Remove dead Travis and Gitter references (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-03-26.*
### [`v5.0.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1502)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v5.0.1...v5.0.2)
- [`19bd99f3`](https://togithub.com/sinonjs/sinon/commit/19bd99f364ab44f0e2715571e5deab580d9aa7fd)
Use no-op for every function when restoring instances ([#2499](https://togithub.com/sinonjs/sinon/issues/2499)) (Carl-Erik Kopseng)
- [`8663ffa0`](https://togithub.com/sinonjs/sinon/commit/8663ffa056d3c58e82fa203801d58d3fce3c14a7)
Upgrade deps ([#2498](https://togithub.com/sinonjs/sinon/issues/2498)) (Carl-Erik Kopseng)
> Browserify, supports-color, husky had to be held back.
- [`e01275bb`](https://togithub.com/sinonjs/sinon/commit/e01275bb10d868a064d0cb27a6ae11ffa3d91ac2)
Un-pin [@sinonjs/fake-timers](https://togithub.com/sinonjs/fake-timers) ([#2495](https://togithub.com/sinonjs/sinon/issues/2495)) (Jordan Hawker)
> The commit upgrading from v9 to v10 appears to have accidentally dropped the caret from the version range
- [`6cbde9b0`](https://togithub.com/sinonjs/sinon/commit/6cbde9b08259efd98b2c52b81ca3b5e84dcf97b1)
fix throws().callsFake() precedence ([#2497](https://togithub.com/sinonjs/sinon/issues/2497)) (Eduardo Diaz)
> This makes sure an unconditional `callsFake()` invoked on the same stub that was previously setup to throw will overwrite the previous behavior. This aligns it with the other behaviors.
- [`45be60f3`](https://togithub.com/sinonjs/sinon/commit/45be60f3c6afc350eacbceed77539f437a9bbbce)
Replace probot/stale with official stale action (Morgan Roderick)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-03-12.*
### [`v5.0.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1501)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/2e455c63ba1305faca9e173c44f82de7a42fed4e...v5.0.1)
- [`aa493da4`](https://togithub.com/sinonjs/sinon/commit/aa493da47d788025c0d512696651072973f301ec)
Upgrade to fake-timers v10.0.2 (Carl-Erik Kopseng)
> Contains several fixes
- [`b3ee0aa5`](https://togithub.com/sinonjs/sinon/commit/b3ee0aa5c84e7c0f5203591e1507bd1015208925)
Use Node version 18 in Runkit examples (Carl-Erik Kopseng)
*Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2022-12-15.*
### [`v5.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1500)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.5.0...2e455c63ba1305faca9e173c44f82de7a42fed4e)
- [`b75fbfa9`](https://togithub.com/sinonjs/sinon/commit/b75fbfa9e57ba9b9c1b639b68646b1d054e0a7e3)
Fix 2448: remove custom formatter (Morgan Roderick)
> Remove option to pass a custom formatter.
>
> The sub libraries of Sinon has long moved on to use `util.inspect` from
> Node. By using that in Sinon itself, we align all the libraries.
*Released by Morgan Roderick on 2022-11-28.*
### [`v4.5.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#450)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.4.10...v4.5.0)
- Add .lastArg and .callback to spy call
### [`v4.4.10`](https://togithub.com/sinonjs/sinon/compare/v4.4.9...v4.4.10)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.4.9...v4.4.10)
### [`v4.4.9`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#449)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.4.8...v4.4.9)
- Fix [#1746](https://togithub.com/sinonjs/sinon/issues/1746): Remove dependency on ES2015 code from post-install script
### [`v4.4.8`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#448)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.4.6...v4.4.8)
- Fix 1743: Add scripts/support-sinon.js to package
### [`v4.4.6`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#446)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.4.5...v4.4.6)
- Return returned value of invokant when using yields\* and callsArg\* ([#1724](https://togithub.com/sinonjs/sinon/issues/1724))
### [`v4.4.5`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#445)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.4.4...v4.4.5)
- Add postinstall banner pointing to Open Collective
### [`v4.4.4`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#444)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.4.3...v4.4.4)
- Make [@std/esm](https://togithub.com/std/esm) a devDependency
### [`v4.4.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#443)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.4.2...v4.4.3)
- Fix inconsistent newline usage for %D in spy.printf ([#1717](https://togithub.com/sinonjs/sinon/issues/1717))
### [`v4.4.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#442)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.4.1...v4.4.2)
- Add descriptive error message on attempt to call argument that is not a function ([#1695](https://togithub.com/sinonjs/sinon/issues/1695))
### [`v4.4.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#441)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.4.0...v4.4.1)
- Docs: make it clear that it is possible to use assert with spy calls ([#1688](https://togithub.com/sinonjs/sinon/issues/1688))
### [`v4.4.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#440)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.3.0...v4.4.0)
- Change return value of yield and callArg
### [`v4.3.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#430)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.2.3...v4.3.0)
- add calledOnceWithExactly assertion ([#1247](https://togithub.com/sinonjs/sinon/issues/1247))
### [`v4.2.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#423)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.2.2...v4.2.3)
- Replace formatio with [@sinonjs/formatio](https://togithub.com/sinonjs/formatio)
### [`v4.2.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#422)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.2.1...v4.2.2)
- Fix [#1638](https://togithub.com/sinonjs/sinon/issues/1638): Make resetHistory work for props
### [`v4.2.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#421)
[Compare Source](https://togithub.com/sinonjs/sinon/compare/v4.2.0...v4.2.1)
- Performance: spend less time stubbing methods ([#1627](https://togithub.com/sinonjs/sinon/issues/1627))
### [`v4.2.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#420)
[Compare Sour
Configuration
📅 Schedule: Branch creation - "before 7am every weekday" in timezone Europe/Brussels, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^1.17.4
->^16.0.0
Release Notes
sinonjs/sinon (sinon)
### [`v16.1.3`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1613) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v16.1.2...v16.1.3) - [`93e8aa93`](https://togithub.com/sinonjs/sinon/commit/93e8aa93c56c2d9d1ff783263adbd93de2603803) Remove postinstall script as it causes issues for consumers (Carl-Erik Kopseng) *Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-10-19.* ### [`v16.1.2`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1612) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v16.1.1...v16.1.2) - [`9ea3d5b2`](https://togithub.com/sinonjs/sinon/commit/9ea3d5b27389064856469f0e4dd2b6ea6f175708) Fix hooks-install (Carl-Erik Kopseng) *Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-10-19.* ### [`v16.1.1`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1611) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v16.1.0...v16.1.1) - [`ff0e993d`](https://togithub.com/sinonjs/sinon/commit/ff0e993df2adac356995bbc12d1d520a819360bd) Showcase #replace.usingAccessor for DI in the typescript case study ([#2556](https://togithub.com/sinonjs/sinon/issues/2556)) (Carl-Erik Kopseng) - [`c47a4bee`](https://togithub.com/sinonjs/sinon/commit/c47a4beeba98a5138d5b7a4a8a36ed7a8bf00861) Bump [@babel/traverse](https://togithub.com/babel/traverse) from 7.22.5 to 7.23.2 ([#2555](https://togithub.com/sinonjs/sinon/issues/2555)) (dependabot\[bot]) > Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@users](https://togithub.com/users).noreply.github.com> *Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2023-10-18.* ### [`v16.1.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#1610) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v16.0.0...v16.1.0) - [`cac5184b`](https://togithub.com/sinonjs/sinon/commit/cac5184b2a5c395e7e8775192ebcab234b6c180f) Enable use of assignment in the presence of accessors ([#2538](https://togithub.com/sinonjs/sinon/issues/2538)) (Carl-Erik Kopseng) - [`f8c20e54`](https://togithub.com/sinonjs/sinon/commit/f8c20e5414464cf36a1dd48845ff57bf4e87d158) New article: making Sinon work with complex setups ([#2540](https://togithub.com/sinonjs/sinon/issues/2540)) (Carl-Erik Kopseng) > Co-authored-by: Morgan RoderickConfiguration
📅 Schedule: Branch creation - "before 7am every weekday" in timezone Europe/Brussels, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.