Skip to content

Latest commit

 

History

History
598 lines (438 loc) · 15.7 KB

CHANGELOG.md

File metadata and controls

598 lines (438 loc) · 15.7 KB

14.0.0 / 2024-12-09

  • breaking: Drop Node 16, use Node 22 LTS and update tests to handle the new Navigation API (#519)
  • fix: Resilient to prototype pollution of Intl (#517)
  • fix: return fake version for performance.timeOrigin (#515)

13.0.5 / 2024-10-28

  • Ensure checks based Object.keys length pass for fake Dates (#513)

13.0.4 / 2024-10-22

  • Fix constructor-based checks for fake Date no longer pass after installing (#512) (patches the patch)

13.0.3 / 2024-10-17

  • Ensure checks based on the constructor property passes for fake Dates (#511)

13.0.2 / 2024-09-13

  • fix #504: make instances of original Date pass as instances of the fake Date (#505)

13.0.1 / 2024-08-26

  • Add a guard to prevent test from failing in Puppeteer
  • Add a missing test on using timers not present on a custom global
  • Fix toString() output

13.0.0 / 2024-08-25

  • fix: fake all supported timers by default (#323) (BREAKING)

12.0.0 / 2024-08-24

  • Support performance.measure+mark (#499)
  • fix: save methods of children Date instance (#437) (#480) (potentially BREAKING)

11.3.1 / 2024-08-24

  • Prevent releasing on branches other than 'main'
  • Enable saucelabs tests
  • chore: security audit fix
  • Remove Husky deprecation messsage that came in v9

11.3.0 / 2024-08-24

  • chore: security audit fix
  • Remove Husky deprecation messsage that came in v9
  • Fix listener leak for timers/promises
  • upgrade deps (#496)
  • Add support for timers/promises module from nodejs (#495)
  • chore: update deps (#494)
  • Fail when a timer is not available in the context (#491)
  • Fix link to Mochify and adjust description (#488)
  • New mochify (#395)
  • Bump browserify-sign from 4.2.1 to 4.2.2 (#486)

11.2.2 / 2023-10-20

  • Fix for #483 and jestjs/jest#14549 (#485): micro-tasks are run even when timers are empty

11.2.1 / 2023-10-19

  • no-op to fix a broken release process

11.2.0 / 2023-10-19

  • Upgrade packages
  • feat: add RelativeTimeFormat to Intl API (#479)

11.1.0 / 2023-08-17

  • favor the constructor of the performance instance if it exists (#478)
  • Bump tough-cookie from 4.1.2 to 4.1.3 (#473)
  • Remove IE specific hacks (#477)
  • feat: mock intl api (#474)
  • upgrade node (#476) and EOL Node 14
  • Bump word-wrap from 1.2.3 to 1.2.4 (#475)
  • Updated release files for 11.0.0
  • Updated release files for 10.2.0
  • Add mocks to NodeJS "timers" module (#467)

11.0.0 / 2023-06-12

  • 11.0.0: Re-release 10.2.0 as a new major version as mocking Node "timers" module broke some setups

10.2.0 / 2023-05-18

  • Add mocks to NodeJS "timers" module (#467)

10.1.0 / 2023-05-13

  • Add clock.jump method (#465)
  • Upgrade all packages

10.0.2 / 2022-12-15

  • Revert change to lock file. Back on v2

10.0.1 / 2022-12-15

  • fix: requestAnimationFrame args (#458)
  • chore: remove fsevents dependency (#455)
  • Upgrade dependencies (#440)
  • fix(runToLastAsync): tick the correct amount of time
  • Fix #441: update spelling of prop descriptor prop (#453)

10.0.0 / 2022-11-08

  • Prefer @sinonjs/commons@2
  • Drop node 12 (#428)

9.1.2 / 2022-04-13

  • Prohibit faking of faked timers (#426)

9.1.1 / 2022-03-05

  • fix(timer.refresh): should just change callAt (#425)

9.1.0 / 2022-02-03

  • add hasRef (#419)

9.0.0 / 2022-01-28

  • Breaking: remove Node 10 from running tests
  • chore(ci): do not hard code node versions (#417)
  • chore: test on node 17 (#416)
  • fix global performance node 16 (#412)
  • Bump node-fetch from 2.6.1 to 2.6.7 (#414)
  • Bump cached-path-relative from 1.0.2 to 1.1.0 (#413)
  • Clarify async usage (#411)
  • Faking performance when not present should throw an error (and minor changes) - fix for #374 (#400)
  • Add performance to config.toFake

8.1.0 / 2021-11-03

  • Add native timer clean-up behavior (#407)
  • give a hint about how to get type defs (#405)

8.0.1 / 2021-09-25

  • fix: handle missing stack when throwing recursion errors (#401)

8.0.0 / 2021-09-15

  • Remove generated typescript definitions. If you use this package with TypeScript, install @types/sinonjs__fake-timers after upgrading (#386)
  • Issue 390 implicit dependencies on faking interval (#391)
  • replace var with const/let (#392)
  • Retry - Add stack trace to code recursively scheduling timers #325 (#375)

7.1.2 / 2021-05-28

  • Fix #382 by making config fields optional (#383)
  • Fix #347 : Support util.promisify

7.1.1 / 2021-05-27

  • Fix JSDoc for createClock

7.1.0 / 2021-05-20

  • Remove Safari from Sauce Lab (ref #380)
  • Bump hosted-git-info from 2.6.0 to 2.8.9
  • Bump handlebars from 4.7.6 to 4.7.7
  • Bump lodash from 4.17.19 to 4.17.21
  • Add in latest Safari and evergreen Edge
  • Drop IE11 and Safari 9
  • chore: add type tests (#373)
  • remove constructor types
  • use globalThis to avoid conflicts
  • Update yargs-parser
  • Update mkdirp
  • Upgrade jsdom
  • Upgrade mochify to latest
  • Upgrade Mocha to latest
  • Bump y18n from 4.0.0 to 4.0.1
  • make config optional
  • add a bunch more types

7.0.5 / 2021-04-11

  • Fix up some clock types in JSDoc (becomes .d.ts) (#370)
  • Fix refresh arguments forwarding (#369)

7.0.4 / 2021-04-08

  • Fix usage with TypeScript

7.0.3 / 2021-03-02

  • Removing the use of eval in Node.js (#331)
  • Drop Node 8
  • Add docs about typings (#357)

7.0.2 / 2021-01-18

  • Make config options optional in TypeScript defs (#354)

7.0.1 / 2021-01-14

  • Update README section about browser use

7.0.0 / 2021-01-12

  • Remove bundle from package. If you're loading fake-timers via script tag, you'll now have to provide your own bundled version
  • Add .d.ts files to package
  • Revert "Add stack trace to code recursively scheduling timers" (#338)
  • Remove unnecessary durations and use globals
  • Support timeout.refresh in node environments
  • Fix #319: Error message changed to TypeError
  • Fix #319: The use of 'eval' has been removed
  • Fix #304: clearTimeout clears setInterval and clearInterval clears setTimeout
  • Remove config.target (#318)

6.0.1 / 2020-03-24

  • Support util.promisify in Node (#223)

6.0.0 / 2020-02-04

  • Rename project to @sinonjs/fake-timers

5.1.2 / 2019-12-19

  • Use global from @sinonjs/commons
  • Fix setSystemTime affects hrtime if its called multiple times.
  • Test coverage: use nyc

5.1.1 / 2019-10-21

  • Fix global ReferenceError (#273)

5.1.0 / 2019-10-14

  • Upgrade lolex with async versions of most calls

5.0.1 / 2019-10-10

  • Upgrade eslint, add prettier
  • Use --no-detect-globals to bundle and test lolex (#270)

5.0.0 / 2019-10-07

  • Avoid installing setImmediate in unsupported environments
  • fix #246: non-constructor Date() should return a string

4.2.0 / 2019-08-04

  • Fix support for replacing the JSDOM performance field

4.1.0 / 2019-06-04

  • Fix crash on Bash version 3 (macOS)
  • Support hrtime.bigint()
  • fix: count microtasks in countTimers
  • Return empty arrays for performance.getEntries, other relevant methods

4.0.1 / 2019-04-17

  • Remove sinon: added by mistake

4.0.0 / 2019-04-17

  • Drop support for IE9 and IE10: link to supported browsers in README
  • No more ExperimentalWarnings in Node environment for queueMicrotask() if it's not used in user's code

3.1.0 / 2019-02-11

  • default timeout set to 50ms
  • first implementation of requestIdleCallback and cancelIdleCallback
  • fixed accidentally performance.now() -> x.now() replacement
  • added queueMicrotask

3.0.0 / 2018-10-08

  • Add countTimers method
  • Disallow negative ticks (breaking API change!)
  • Avoid exposing hrNow
  • Fix #207 - round-off errors in hrtime
  • Truncate sub-nanosecond values for hrtime
  • Truncate sub-millisceond values for Date.now()

v2.7.5 / 2018-09-19

  • fix: handle floating point in hrtime (#210)
  • fix: reset high resolution timer on clock.reset (#209)
  • Add an error when creating a clock with no Date object (#205)

v2.7.4 / 2018-09-05

  • performance.mark related fixes for failing Safari, IE 10 and IE 11 tests

v2.7.3 / 2018-09-05

  • Fix for #200: TypeError on performance.mark

v2.7.2 / 2018-09-04

  • fix(setInterval): parse timeout arg to integer (#202)
  • Upgrade insecure dependencies with npm audit fix

v2.7.1 / 2018-07-06

  • Fix performance replacement on iOS 9.3

v2.7.0 / 2018-05-25

  • reset clock to start
  • check Performance exists before touching it

v2.6.0 / 2018-05-16

  • Fix reset and document it publicly Clear microtick jobs and set now to 0 in reset (#179)
  • Access Date on _global (#178)

v2.5.0 / 2018-05-13

  • feat: respect loopLimit in runMicrotasks (#172)
  • assign performance as a property, not as a function

v2.4.2 / 2018-05-11

  • Upgrade Mochify to v5.6 (#162) fixed #170
  • Access Performance via _global (#168)

v2.4.1 / 2018-05-08

  • fix: handle negative infinity timeout (#165)

v2.4.0 / 2018-05-08

  • Add withGlobal export
  • expose runMicrotasks
  • Fix that performance.mark is undefined after timer install

v2.3.2 / 2018-01-29

  • Add files section to package.json to avoid unnecessary package bloat #154
  • Add missing functions in default toFake #150

v2.3.1 / 2017-11-22

  • bugfix for a setTimeout() or setSystemTime() within a nextTick() call. (#145)

v2.3.0 / 2017-11-08

  • Stops leak of (request|cancel)AnimationFrame into global scope. (#143)
  • return timers on uninstall

v2.2.0 / 2017-11-07

  • Add support for requestAnimationFrame
  • fix negative timeout bug

v2.1.3 / 2017-10-03

  • add module entry point (#133)

v2.1.2 / 2017-07-25

    • does not fake process.nextTick by default - added .idea folder to .gitignore - fixed documentation - added clock teardowns in tests
  • overflowing the timer correctly (issue #67)

v2.1.1 / 2017-07-19

  • support passing parameters in nextTick (fixes #122)

v2.1.0 / 2017-07-18

  • Throw error on incorrect install use (#112)
  • Add support for process.nextTick
  • lolex can now attach itself to the system timers and automatically ad… (#102)
  • update hrtime when an interval ticks

v2.0.0 / 2017-07-13

  • New install() signature
  • Add support for performance.now (#106)
  • Fix issue with tick(): setSystemClock then throw
  • Update old dependencies
  • Added support to automatically increment time (#85)
  • Changed internal uninstall method signature

v1.6.0 / 2017-02-25

  • Use common Sinon.JS eslint config
  • Allow install to be called with date object
  • Remove wrapper function
  • Fixed typo in clock.runAll error

v1.5.2 / 2016-11-10

  • Upgrade mocha to latest
  • Only overwrite globals when running in IE

1.5.1 / 2016-07-26

  • Fix setInterval() behavior with string times
  • Incorporate test from PR #65
  • Fix issue #59: context object required 'process'
  • fixed a case where runAll was called and there are no timers (#70)
  • Correct the clear{Interval|Timeout|Immediate} error message when calling set* for a different type of timer.
  • Lots of minor changes to tooling and the build process

v1.5.0 / 2016-05-18

  • 1.5.0
  • Check for existence of process before using it
  • Run to last existing timer
  • Add runAll method to run timers until empty
  • Turn off Sauce Labs tests for pull requests
  • Add tests demonstrating that a fake Date could be created with one argument as a String since this string is in a format recognized by the Date.parse() method.
  • Run test-cloud on Travis
  • Add process.hrtime()
  • Add bithound badge to Readme.md
  • Make Travis also run tests in node 4.2
  • Update jslint, referee, sinon, browserify, mocha, mochify
  • Rename src/lolex.js to src/lolex-src.js to avoid bithound ignoring it
  • Add .bithoundrc

v1.4.0 / 2015-12-11

  • 1.4.0
  • Remove BASH syntax in lint script
  • correct test descriptions to match the tests
  • correct parseTime() error message so it matches behavior
  • don't run test-cloud as part of npm test
  • doc: full API reference
  • doc: update 'Running tests' section
  • doc: update 'Faking the native timers' section
  • doc: remove requestAnimationFrame
  • Implement clock.next()
  • Run lint in CI
  • Fix jslint errors

v1.3.2 / 2015-09-22

  • 1.3.2
  • Fix for breaking shimmed setImmediate

v1.3.1 / 2015-08-20

  • Remove error whos reason is no longer accurate

v1.3.0 / 2015-08-19

  • 1.3.0
  • Throw exception on wrong use of clearXYZ()
  • Fix for Sinon.JS issue #808 :add setSystemTime() function
  • Fix for Sinon.JS issue #766: clearTimeout() no longer clears Immediate/Interval and vice versa
  • Update Readme.md to point to LICENSE file
  • Fix error in readme about running tests
  • Fix for warning about SPDX license format on npm install

v1.2.2 / 2015-07-22

  • 1.2.2
  • Fixing lint mistake
  • Update travis to use [email protected]
  • Fix complaint about missing fake setImmediate
  • Use license in package.json

v1.2.1 / 2015-01-06

  • New build
  • Dodge JSLint...
  • Up version
  • Proper fix for writable globals in IE
  • Make timers writable in old IEs

v1.2.0 / 2014-12-12

  • 1.2.0
  • Fix Sinon.JS issue 624
  • Lint the test files also
  • Add .jslintrc
  • Delay setImmediate if it is during tick call
  • Add test case
  • Test behaviour of hasOwnProperty beforehand
  • Compare now() with delta
  • Use undefined for defined predicate
  • Put setImmediate in toFake list
  • Capture clock instance for uninstall
  • Restore commented out tests
  • Add JSLint verification to test
  • Configure Travis to run tests in node 0.10.x
  • Add .editorconfig
  • Fail when faking Date but not setTimeout/setInterval

v1.1.10 / 2014-11-14

  • 1.1.0 Fixes setImmediate problems
  • Rely on timer initialization to null
  • Timer assembly occurs at addTimer callsites
  • Sort immediate timers before non-immediate
  • Add createdAt to timers
  • Sort timers by multiple criteria, not just callAt
  • Refactor firstTimerInRange
  • Rename timeouts property to timers
  • addTimer is options-driven

v1.0.0 / 2014-11-12

  • Add built file for browsers
  • Fix URL
  • Don't run tests that require global.proto on IE 9 and IE 10
  • Add "bundle" script to create standalone UMD bundle with browserify
  • Float with new test framework versions
  • Remove redundant module prefix
  • Let Browserify set "global" for us
  • Change test framework from Buster to Mocha and Mochify
  • Make timer functions independent on this
  • Change APIs according to Readme
  • Change clock-creating interface
  • Change Github paths
  • Basically working extraction from Sinon.JS