angular-cn/packages/zone.js/CHANGELOG.md

97 KiB

0.11.2 (2020-09-19)

Bug Fixes

Features

Refactor

  • zone.js: refactor(zone.js): rename several internal apis in fake async zone spec (#39127) (8a68669)

Build

  • zone.js: build(zone.js): zone.js should output esm format for fesm2015 bundles (#39203) (822b838)

BREAKING CHANGES

  • zone.js: ZoneJS no longer swallows errors produced by Object.defineProperty calls.

Prior to this change, ZoneJS monkey patched Object.defineProperty and if there is an error (such as the property is not configurable or not writable) the patched logic swallowed it and only console.log was produced. This behavior used to hide real errors, so the logic is now updated to trigger original errors (if any). One exception where the patch remains in place is document.registerElement (to allow smooth transition for code/polyfills that rely on old behavior in legacy browsers). If your code relies on the old behavior (where errors were not thrown before), you may need to update the logic to handle the errors that are no longer masked by ZoneJS patch.

0.11.1 (2020-08-19)

Bug Fixes

BREAKING CHANGES since Zone.js v0.11.1

Prior to v0.11.1, Zone.js provided two distribution bundle formats in the dist folder. They were (1) ES5 bundle distributed as zone.js and (2) ES2015 bundle distributed as zone-evergreen.js. These bundles are used for Angular's differential-loading mechanism.

Prior to v0.11.11 the following code

import 'zone.js';

would load the ES5 bundle from dist/zone.js.

Starting with v0.11.1, Zone.js follows the Angular Package Format, so the folder structure of the Zone.js bundles is updated to match Angular Package Format. So the same code

import 'zone.js';

now loads the ES2015 bundle instead.

This is a breaking change for legacy browsers such as IE11.

For backwards compatibility zone.js continues to distribute the same bundles under dist. To restore the old behavior change the polyfills.ts generated by Angular CLI to import like so:

import 'zone.js/dist/zone';

0.11.0 (2020-08-14)

Bug Fixes

  • zone.js: add issue numbers of [@types](https://github.com/types)/jasmine to the test cases (#34625) (41667de)
  • zone.js: clearTimeout/clearInterval should call on object global (#37858) (a71f114), closes #37333
  • zone.js: fix 2 bluebird test cases for each/mapSeries (#36295) (b44f7b5)
  • zone.js: patch nodejs EventEmtter.prototype.off (#37863) (1822cbc), closes #35473
  • zone.js: remove unused Promise overwritten setter logic (#36851) (31796e8)
  • zone.js: should not try to patch fetch if it is not writable (#36311) (416c786), closes #36142
  • zone.js: UNPATCHED_EVENTS and PASSIVE_EVENTS should be string[] not boolean (#36258) (36e927a)
  • zone.js: zone patch rxjs should return null _unsubscribe correctly. (#37091) (96aa14d), closes #31684
  • zone.js: zone.js patch jest should handle done correctly (#36022) (4374931)

Features

0.10.3 (2020-02-27)

Bug Fixes

  • zone.js: a path traversal attack in test (#32392) (d498314)
  • zone.js: work around TS3.7 issue (#33294) (0953642)
  • fixes typo of zone.js patch vrdisplaydisconnected property (#33581) (71b8e27), closes #33579
  • should also allow subclass Promise without Symbol.species (#34533) (58b29f1)
  • zone.js: fix zone-patch-rxjs bundle to refer to rxjs (rather than include) it. (#35983) (99ea5d7), closes #35878
  • zone.js: Make EventTarget methods optional in zone.js extension API (#35954) (5463462)
  • zone.js: zone.js patches rxjs should check null for unsubscribe (#35990) (3fa8952), closes #31687 #31684

Features

Performance Improvements

0.10.2 (2019-08-13)

Features

0.10.1 (2019-08-02)

Bug Fixes

  • zone.js: don't rely on global node typings outside of node/ directory (#31783) (5c9a896)
  • zone.js: should expose some other internal intefaces (#31866) (f5c605b)

0.10.0 (2019-07-26)

Bug Fixes

0.9.1 (2019-04-30)

Bug Fixes

  • ensure that EventTarget is patched prior to legacy property descriptor patch (#1214) (aca4728)
  • fakeAsyncTest requestAnimationFrame should pass timestamp as parameter (#1220) (62b8525), closes #1216

Features

  • add option to disable jasmine clock patch, also rename the flag of auto jump in FakeAsyncTest (#1222) (10e1b0c)

0.9.0 (2019-03-12)

Bug Fixes

  • lint: fix #1168, remove unused = null code (#1171) (917e2af)
  • test: fix #1155, try/catch modify error.message (#1157) (7e983d1)
  • test: fix: make fakeAsync test spec timer id global (d32e79b)
  • build: fix: closure related fixes (2a8415d)
  • compile: fix: remove finally definition from Promise interface (47dd3f4)

Doc

  • doc: #1181, Fix the typo in timer module documentation (8f78b55)
  • doc: #1163, Update YouTube video link (f171821)
  • doc: #1151, Re-phrase the lines for better understanding (2a6444b)
  • doc: #1152, change the word TimerTask to MacroTask (f3995de)

Features

  • test: add benchmark page (#1076) (128649a)
  • test: test(promise): add test cases for Promise.all with sync then operation (#1158) (0b44e83)
  • test: feat: add an option __zone_symbol__disableDatePatching to allow disabling Date patching (c378f87)

Env

  • env: change BLACK_LISTED_EVENTS to DISABLE_EVENTS (9c65d25)

Build

  • build: build zone-evergreen.js in es2015, add terser minify support (2ad936b)
  • build: upgrade to pass jasmine 3.3 test (82dfd75)
  • build: upgrade to typescript 3.2.2 (fcdd559)
  • build: separate zone.js into evergreen only and legacy included bundles (ac3851e)
  • build: make legacy standalone bundle (a5fe09b)

0.8.29 (2019-01-22)

Bug Fixes

  • core: fix for tests in angular repo (fd069db)

0.8.28 (2019-01-16)

Bug Fixes

  • jasmine: patch jasmine beforeAll/afterAll (9d27abc4)

0.8.27 (2019-01-08)

Bug Fixes

  • bluebird: fix #1112, bluebird chained callback should return a Bluebird Promise (#1114) (6ba3169)
  • core: fix #1108, window.onerror should have (message, source, lineno, colno, error) signiture (#1109) (49e0548)
  • core: fix #1153, ZoneTask.toString should always be a string (#1166) (afa1363)
  • core: fix interval will still run after cancelled error (#1156) (eb72ff4)
  • core: use then directly when promise is not patchable (#1079) (d7e0a31)
  • duplicate: fix #1081, load patch should also check the duplicate flag (#1121) (8ce5e33)
  • event: fix #1110, nodejs EventEmitter should support Symbol eventName (#1113) (96420d6)
  • event: should pass boolean to addEventListener if not support passive (#1053) (e9536ec)
  • format: update clang-format to 1.2.3 (f238908)
  • memory: Add protection against excessive on prop patching (#1106) (875086f)
  • node: fix #1164, don't patch uncaughtException to prevent endless loop (#1170) (33a0ad6)
  • node: node patched method should copy original delegate's symbol properties (#1095) (0a2f6ff)
  • onProperty: user quoted access for __Zone_ignore_on_properties (#1134) (7201d44)
  • test: karma-dist should test bundle under dist (#1049) (0720d79)
  • tsc: tsconfig.json strict:true (915042d)
  • xhr: fix #1072, should set scheduled flag to target (#1074) (34c12e5)
  • xhr: should invoke xhr task after onload is triggered (#1055) (2aab9c8)

Features

  • build: Upgrade to TypeScript 2.9 and rxjs6 (#1122) (31fc127)
  • core: upgrade to typescript 3.0.3 (#1132) (60adc9c)
  • Core: fix #910, add a flag to allow user to ignore duplicate Zone error (#1093) (a86c6d5)
  • custom-element: patch customElement v1 APIs (#1133) (427705f)
  • error: fix #975, can config how to load blacklist zone stack frames (#1045) (ff3d545)
  • fetch: schedule macroTask when fetch (#1075) (bf88c34)

0.8.26 (2018-04-08)

Bug Fixes

0.8.25 (2018-04-04)

Bug Fixes

  • test: add async/fakeAsync into zone-testing bundle (#1068) (3bdfdad)

0.8.24 (2018-04-02)

Bug Fixes

  • test: add flag to patch jasmine.clock, move fakeAsync/async into original bundle (#1067) (389762c)

0.8.24 (2018-04-02)

Bug Fixes

  • test: add flag to patch jasmine.clock, move fakeAsync/async into original bundle (#1067) (389762c)

0.8.23 (2018-04-01)

Bug Fixes

  • test: check setImmediate supports (6c7e45b)

0.8.22 (2018-03-31)

Bug Fixes

  • fakeAsync: fix #1050, should only reset patched Date.now until fakeAsync exit (#1051) (e15d735)
  • fakeAsyncTest: fix #1061, fakeAsync should support setImmediate (#1062) (66c6f97)

0.8.21 (2018-03-30)

Bug Fixes

  • add OriginalDelegate prop to Function::toString (#993) (2dc7e5c)
  • core: fix #1000, check target is null or not when patchOnProperty (#1004) (5c139e5)
  • core: fix #946, don't patch promise if it is not writable (#1041) (c8c5990)
  • event: fix #1021, removeListener/removeAllListeners should return eventEmitter (#1022) (ab72df6)
  • fakeAsync: fix #1056, fakeAsync timerId should not be zero (#1057) (68682cd)
  • jasmine: fix #1015, make jasmine patch compatible to jasmine 3.x (#1016) (e1df4bc)
  • patch: fix #998, patch mediaQuery for new Safari (#1003) (c7c7db5)
  • proxy: proxyZone should call onHasTask when change delegate (#1030) (40b110d)
  • test: fix mocha compatible issue (#1028) (c554e9f)
  • testing: fix #1032, fakeAsync should pass parameters correctly (#1033) (eefe983)

Features

0.8.20 (2018-01-10)

Bug Fixes

  • core: add comment for shorter var/function name (67e8178)
  • core: add file check script in travis build (615a6c1)
  • core: add helper method in util.ts to shorter zone.wrap/scehduleMacroTask (8293c37)
  • core: add rxjs test (31832a7)
  • core: fix #989, remove unuse code, use shorter name to reduce bundle size (73b0061)
  • core: fix shorter name closure conflict (00a4e31)
  • core: remove unreadable short names (957351e)

0.8.18 (2017-09-27)

Bug Fixes

  • event: EventTarget of SourceBuffer in samsung tv will have null context (#904) (8718e07)
  • event: fix #883, fix RTCPeerConnection Safari event not triggered issue (#905) (6f74efb)
  • event: fix #911, in IE, event handler event maybe undefined (#913) (4ba5d97)
  • event: should handle event.stopImmediatePropagration (#903) (dcc285a)
  • patch: patchOnProperty getter should return original listener (#887) (d4e5ae8)
  • patch: Worker should patch onProperties (#915) (418a583)
  • promise: can set native promise after loading zone.js (#899) (956c729)
  • timer: fix #314, setTimeout/interval should return original timerId (#894) (aec4bd4)

Features

  • compile: fix #892, upgrade to typescript 2.3.4, support for...of when build zone-node (#897) (e999593)
  • spec: log URL in error when attempting XHR from FakeAsyncTestZone (#893) (874bfdc)

0.8.17 (2017-08-23)

Bug Fixes

  • readonly property should not be patched (#860) (7fbd655)
  • suppress closure warnings/errors (#861) (deae751)
  • module: fix #875, can disable requestAnimationFrame (#876) (fcf187c)
  • node: remove reference to 'noop' (#865) (4032ddf)
  • patch: fix #869, should not patch readonly method (#871) (31d38c1)
  • rxjs: asap should runGuarded to let error inZone (#884) (ce3f12f)
  • rxjs: fix #863, fix asap scheduler issue, add testcases (#848) (cbc58c1)
  • spec: fix flush() behavior in handling periodic timers (#881) (eed776c)
  • task: fix closure compatibility issue with ZoneDelegate._updateTaskCount (#878) (a03b84b)

Features

  • cordova: fix #868, patch cordova FileReader (#879) (b1e5970)
  • onProperty: fix #875, can disable patch specified onProperties (#877) (a733688)
  • patch: fix #833, add IntersectionObserver support (#880) (f27ff14)
  • performance: onProperty handler use global wrapFn, other performance improve. (#872) (a66595a)
  • performance: reuse microTaskQueue native promise (#874) (7ee8bcd)
  • spec: add a 'tick' callback to flush() (#866) (02cd40e)

0.8.16 (2017-07-27)

Bug Fixes

  • console: console.log in nodejs should run in root Zone (#855) (5900d3a)
  • promise: fix #850, check Promise.then writable (#851) (6e44cab)
  • spec: do not count requestAnimationFrame as a pending timer (#854) (eca04b0)

Features

  • spec: add an option to FakeAsyncTestZoneSpec to flush periodic timers (#857) (5c5ca1a)

0.8.15 (2017-07-27)

Features

  • rxjs: fix #830, monkey patch rxjs to make rxjs run in correct zone (#843) (1ed83d0)

0.8.14 (2017-07-20)

Bug Fixes

  • event: fix #836, handle event callback call removeEventListener case (#839) (f301fa2)
  • event: fix memory leak for once, add more test cases (#841) (2143d9c)
  • task: fix #832, fix #835, task.data should be an object (#834) (3a4bfbd)

Features

  • rxjs: fix #830, monkey patch rxjs to make rxjs run in correct zone (#843) (1ed83d0)

0.8.14 (2017-07-18)

Bug Fixes

  • event: fix #836, handle event callback call removeEventListener case (#839) (f301fa2)
  • event: fix memory leak for once, add more test cases (#841) (2143d9c)
  • task: fix #832, fix #835, task.data should be an object (#834) (3a4bfbd)

0.8.13 (2017-07-12)

Bug Fixes

  • promise: fix #806, remove duplicate consolelog (#807) (f439fe2)
  • spec: fakeAsyncTestSpec should handle requestAnimationFrame (#805) (8260f1d), closes #804
  • websocket: fix #824, patch websocket onproperties correctly in PhantomJS (#826) (273cb85)

Features

  • FakeAsyncTestZoneSpec: FakeAsyncTestZoneSpec.flush() passes limit along to scheduler (#831) (667cd6f)

Performance Improvements

  • eventListener: fix #798, improve EventTarget.addEventListener performance (#812) (b3a76d3)

0.8.12 (2017-06-07)

Bug Fixes

  • doc: fix #793, fix confuseing bluebird patch doc (#794) (0c5da04)
  • patch: fix #791, fix mediaQuery/Notification patch uses wrong global (#792) (67634ae)
  • toString: fix #802, fix ios 9 MutationObserver toString error (#803) (68aa03e)
  • xhr: inner onreadystatechange should not triigger Zone callback (#800) (7bd1418)

Features

  • patch: fix #696, patch HTMLCanvasElement.toBlob as MacroTask (#788) (7ca3995)
  • patch: fix #758, patch cordova.exec success/error with zone.wrap (#789) (857929d)

0.8.11 (2017-05-19)

Bug Fixes

  • closure: patchOnProperty with exact eventNames as possible (#768) (582ff7b)
  • patch: fix #744, add namespace to load patch name (#774) (89f990a)
  • task: fix #778, sometimes task will run after being canceled (#780) (b7238c8)
  • webcomponents: fix #782, fix conflicts with shadydom of webcomponents (#784) (245f8e9)
  • webpack: access process through _global so that WebPack does not accidently browserify (#786) (1919b36)

0.8.10 (2017-05-03)

Bug Fixes

  • showError: fix ignoreConsoleErrorUncaughtError may change during drain microtask (#763) (4baeb5c)
  • spec: fix #760, fakeAsyncTestSpec should handle microtask with additional args (#762) (f8d17ac)
  • Package Error stack rewriting as a separate bundle. (#770) (b5e33fd)
  • timer: fix #437, #744, fix nativescript timer issue, fix nodejs v0.10.x timer issue (#772) (3218b5a)

Features

  • make codebase more modular so that only parts of it can be loaded (#748) (e933cbd)
  • patch: load non standard api with new load module method (#764) (97c03b5)

0.8.9 (2017-04-25)

Bug Fixes

  • patch: fix #746, check desc get is null and only patch window.resize additionally (#747) (e598310)

0.8.8 (2017-04-21)

Bug Fixes

  • on handling broken in v0.8.7 (fbe7b13)

0.8.7 (2017-04-21)

Bug Fixes

  • doc: fix typo in document, fix a typescript warning in test (#732) (55cf064)
  • error: fix #706, handleError when onHasTask throw error (#709) (06d1ac0)
  • error: remove throw in Error constructor to improve performance in IE11 (#704) (88d1a49), closes #698
  • listener: fix #616, webdriver removeEventListener throw permission denied error (#699) (e02960d)
  • patch: fix #707, should not try to patch non configurable property (#717) (e422fb1)
  • patch: fix #708, modify the canPatchDescriptor logic when browser don't provide onreadystatechange (#711) (7d4d07f)
  • patch: fix #719, window onproperty callback this is undefined (#723) (160531b)
  • task: fix #705, don't json task.data to prevent cyclic error (#712) (92a39e2)
  • test: fix #718, use async test to do unhandle promise rejection test (#726) (0a06874)
  • test: fix websocket test server will crash when test in chrome (#733) (5090cf9)
  • toString: fix #666, Zone patched method toString should like before patched (#686) (0d0ee53)
  • resolve errors with closure (#722) (51e7ffe)
  • typo: fix typo, remove extra semicolons, unify api doc (#697) (967a991)

Features

  • closure: fix #727, add zone_externs.js for closure compiler (#731) (b60e9e6)
  • error: Remove all Zone frames from stack (#693) (681a017)
  • EventListenerOptions: fix #737, add support to EventListenerOptions (#738) (a89830d)
  • patch: fix #499, let promise instance toString active like native (#734) (2f11e67)

0.8.5 (2017-03-21)

Bug Fixes

  • add support for subclassing of Errors (81297ee)
  • improve long-stack-trace stack format detection (6010557)
  • remove left over console.log (eeaab91)
  • event: fix #667, eventHandler should return result (#682) (5c4e24d)
  • jasmine: modify jasmine test ifEnvSupports message (#689) (5635ac0)
  • REVERT: remove zone internal stack frames in error.stack (#632) (#690) (291d5a0)

Features

  • dom: fix #664, patch window,document,SVGElement onProperties (#687) (61aee2e)

0.8.4 (2017-03-16)

Bug Fixes

  • correct declaration which breaks closure (0e19304)
  • stack rewriting now works with source maps (bcd09a0)

0.8.3 (2017-03-15)

Bug Fixes

  • zone: consistent access to symbol to work with closure (f742394)

0.8.2 (2017-03-14)

Bug Fixes

0.8.1 (2017-03-13)

Bug Fixes

  • example: Update counting.html (#648) (a63ae5f)
  • XHR: fix #671, patch XMLHttpRequestEventTarget prototype (300dc36)

Features

  • error: remove zone internal stack frames in error.stack (#632) (76fa891)
  • task: add task lifecycle doc and testcases to explain task state transition. (#651) (ef39a44)

0.8.0 (2017-03-10)

Features

  • Upgrade TypeScript to v2.2.1

0.7.8 (2017-03-10)

Bug Fixes

  • core: remove debugger (#639) (0534b19)
  • error: fix #618, ZoneAwareError should copy Error's static propeties (#647) (2d30914)
  • jasmine: support "pending" it clauses with no test body (96cb3d0), closes #659
  • minification: fix #607 to change catch variable name to error/err (#609) (33d0d8d)
  • node: patch crypto as macroTask and add test cases for crypto, remove http patch (#612) (9e81037)
  • package: use fixed version typescript,clang-format and jasmine (#650) (84459f1)
  • patch: check timer patch return undefined (#628) (47962df)
  • patch: fix #618, use zoneSymbol as property name to avoid name conflict (#645) (fcd8be5)
  • task: findEventTask should return Task array (#633) (14c7a6f)
  • task: fix #638, eventTask/Periodical task should not be reset after cancel in running state (#642) (eb9250d)
  • timers: cleanup task reference when exception (#637) (2594940)
  • webapi: refactor webapi to not import util.ts directly (8b2543e), closes #652
  • xhr: fix #657, sometimes xhr will fire onreadystatechange with done twice (#658) (36c0899)
  • zonespec: don't throw and exception when setInterval is called within a async test zone (#641) (c07560f)

Features

  • add Zone.root api (#601) (9818139)
  • allow tasks to be canceled and rescheduled on different zone in a zone delegate (#629) (76c6ebf)
  • make fetch() zone-aware without triggering extra requests or uncatchable errors. (#622) (6731ad0)
  • bluebird: patch bluebird promise and treat it as microtask (#655) (e783bfa)
  • electron/nw: fix #533, in electron/nw.js, we may need to patch both browser API and nodejs API, so we need a zone-mix.js to contains both patched API. (6d31734)
  • longStackTraceSpec: handled promise rejection can also render longstacktrace (#631) (a4c6525)
  • promise: fix #621, add unhandledRejection handler and ignore consoleError (#627) (f3547cc)

0.7.6 (2017-01-17)

Bug Fixes

  • doc: typo in comment and reformat README.md (#590) (95ad315)
  • ZoneAwareError: Error should keep prototype chain and can be called without new (82722c3), closes #546 #554 #555
  • #536, add notification api patch (#599) (83dfa97)
  • #593, only call removeAttribute when have the method (#594) (1401d60)
  • #595, refactor ZoneAwareError property copy (#597) (f7330de)
  • #604, sometimes setInterval test spec will fail on Android 4.4 (#605) (e3cd1f4)
  • add missing test MutationObserver (5c7bc01)
  • Promise.toString() to look like native function (f854ce0)

0.7.5 (2017-01-12)

Bug Fixes

  • patch fs methods as macrotask, add test cases of fs watcher (#572) (e1d3240)
  • fix #577, canPatchViaPropertyDescriptor test should add configurable to XMLHttpRequest.prototype (#578) (c297752)
  • fix #551, add toJSON to ZoneTask to prevent cyclic error (#576) (03d19f9)
  • fix #574, captureStackTrace will have additional stackframe from Zone will break binding.js (#575) (41f5306)
  • fix #569, request will cause updateTaskCount failed if we call abort multipletimes (#570) (62f1449)
  • add web-api.ts to patch mediaQuery (#571) (e92f934)
  • fix #584, remove android 4.1~4.3, add no-ssl options to make android 4.4 pass test (#586) (7cd570e)
  • Fix #532, Fix #566, add tslint in ci, add tslint/format/test/karma in precommit of git (#565) (fb8d51c)
  • docs(zone.ts): fix typo (#583) (ecbef87)
  • add missing test MutationObserver (5c7bc01)
  • Promise.toString() to look like native function (f854ce0)
  • ZoneAwareError: Error should keep prototype chain and can be called without new (82722c3), closes #546 #554 #555

0.7.4 (2016-12-31)

Bug Fixes

  • add better Type safety (610649b)
  • add missing test MutationObserver (5c7bc01)
  • correct currentZone passed into delegate methods (dc12d8e), closes #587 #539
  • correct zone.min.js not including zone (384f5ec)
  • Correct ZoneAwareError prototype chain (ba7858c), closes #546 #547
  • formatting issue. (c70e9ec)
  • inline event handler issue (20b5a5d), closes #525 #540
  • parameterize wrap method on Zone (#542) (f522e1b)
  • closure: avoid property renaming on globals (af14646)
  • Prevent adding listener for xhrhttprequest multiple times (9509747), closes #529 #527 #287 #530
  • Promise.toString() to look like native function (f854ce0)
  • closure: Fix closure error suppression comment. (#552) (2643783)
  • Run tests on both the build as well as the dist folder (#514) (c0604f5)
  • support nw.js environment (486010b), closes #524

Features

  • Patch captureStackTrace/prepareStackTrace to ZoneAwareError, patch process.nextTick, fix removeAllListeners bug (#516) (c36c0bc), closes #484 #491

0.7.1 (2016-11-22)

Bug Fixes

  • missing zone from the build file (e961833)

0.7.0 (2016-11-22)

Bug Fixes

  • node: crash when calling listeners() for event with no listeners (431f6f0)
  • support clearing the timeouts with numeric IDs (fea6d68), closes #461
  • promise: include stack trace in an unhandlerd promise (#463) (737f8d8)
  • property-descriptor: do not use document object in Safari web worker (51f2e1f)
  • Add WebSocket to the NO_EVENT_TARGET list to be patched as well (#493) (d8c15eb)
  • fix wrong usage of == caught by closure compiler (#510) (d7d8eb5)
  • fluent interface for EventEmitter (#475) (c5130a6)
  • lint errors (ed87c26)
  • make fetch promise patching safe (16be7f9), closes #451
  • Make the check for ZoneAwarePromise more stringent (#495) (c69df25)
  • run all timers in passage of time in a single fakeAsync's tick call (a85db4c), closes #454
  • stop using class extends as it breaks rollup (b52cf02)
  • use strict equality in scheduleQueueDrain (#504) (4b4249c)

Features

  • add mocha support (41a9047)
  • Error: Rewrite Error stack frames to include zone (e1c2a02)

0.6.25 (2016-09-20)

Bug Fixes

  • zonespecs: revert unwrapping of zonespecs which actually require global (#460) (28a14f8)

0.6.24 (2016-09-19)

Bug Fixes

0.6.23 (2016-09-14)

Bug Fixes

  • fetch: correct chrome not able to load about://blank (3844435), closes #444

0.6.22 (2016-09-14)

Bug Fixes

Features

  • node: patch most fs methods (#438) (4c8a155)
  • node: patch outgoing http requests to capture the zone (#430) (100b82b)

0.6.21 (2016-09-11)

Bug Fixes

  • proper detection of global in WebWorker (0a7a155)

0.6.20 (2016-09-10)

0.6.19 (2016-09-10)

Bug Fixes

  • provide a more usefull error when configuring properties (1fe4df0)
  • jasmine: propagate all arguments of it/describe/etc... (a85fd68)
  • long-stack: Safer writing of stack traces. (6767ff5)
  • promise: support more aggressive optimization. (#431) (26fc3da)
  • XHR: Don't send sync XHR through ZONE (6e2f13c), closes #377

Features

  • assert that right ZoneAwarePromise is available (#420) (4c35e5b)

0.6.17 (2016-08-22)

Bug Fixes

  • browser: use XMLHttpRequest.DONE constant on target instead of the global interface (#395) (3b4c20b), closes #394
  • jasmine: spelling error of 'describe' in jasmine patch prevented application of sync zone (d38ccde), closes #412
  • patchProperty: return null as the default value (#413) (396942b), closes #319
  • IE10/11 timeout issues. (382182c)

0.6.15 (2016-08-19)

Bug Fixes

  • broken build. (#406) (5e3c207)
  • tasks: do not drain the microtask queue early. (ff88bb4)
  • tasks: do not drain the microtask queue early. (d4a1436)

0.6.14 (2016-08-17)

Features

  • jasmine: patch jasmine to understand zones. (3a054be)
  • trackingZone: Keep track of tasks to see outstanding tasks. (4942b4a)

0.6.13 (2016-08-15)

Bug Fixes

  • browser: make Object.defineProperty patch safer (#392) (597c634), closes #391
  • browser: patch Window when EventTarget is missing. (#368) (fcef80d), closes #367
  • browser: patchTimer cancelAnimationFrame (#353) (bf77fbb), closes #326 Leaflet/Leaflet#4588
  • browser: should not throw with frozen prototypes (#351) (27ca2a9)
  • build: fix broken master due to setTimeout not returning a number on node (d43b4b8)
  • doc: Fixed the home page example. (#348) (9a0aa4a)
  • throw if trying to load zone more then once. (6df5f93)
  • fakeAsync: throw error on rejected promisees. (fd1dfcc)
  • promise: allow Promise subclassing (dafad98)
  • XHR.responseBlob: don't access XHR.responseBlob on old android webkit (#329) (ed69756)

Features

  • return timeout Id in ZoneTask.toString (fixes #341) (80ae6a8), closes #375
  • jasmine: Switch jasmine patch to use microtask and preserve zone. (5f519de)
  • ProxySpec: create a ProxySpec which can proxy to other ZoneSpecs. (2d02e39)
  • zone: Add Zone.getZone api (0621014)

0.6.12 (2016-04-19)

Bug Fixes

  • property-descriptor: do not fail for events without targets (3a8deef)

Features

  • Add a zone spec for fake async test zone. (#330) (34159b4)

0.6.11 (2016-04-14)

Bug Fixes

  • Suppress closure compiler warnings about unknown 'process' variable. (e125173), closes #295
  • setTimeout: fix for #290, allow clearTimeout to be called in setTimeout callback (a6967ad), closes #301
  • WebSocket patch: fix WebSocket constants copy (#299) (5dc4339)
  • xhr: XHR macrotasks allow abort after XHR has completed (#311) (c70f011)
  • zone: remove debugger statement (#292) (01cec16)
  • window undefined in node environments (f8d5dc7), closes #305

Features

0.6.9 (2016-04-04)

Bug Fixes

  • Allow calling clearTimeout from within the setTimeout callback (a8ea55d), closes #302
  • Canceling already run task should not double decrement task counter (faa3485), closes #290
  • xhr: don't throw on an xhr which is aborted before sending (8827e1e)
  • zone: remove debugger statement (d7c116b)

Features

  • zonespec: add a spec for synchronous tests (0a6a434)
  • treat XHRs as macrotasks (fd39f97)

0.6.5 (2016-03-21)

Bug Fixes

  • disable safari 7 (4a4d4f6)
  • browser/utils: calling removeEventListener twice with the same args should not cause errors (1787339), closes #283 #284
  • patching: call native cancel method (5783663), closes #278 #279
  • utils: add the ability to prevent the default action of onEvent (onclick, onpaste,etc..) by returning false. (99940c3), closes #236
  • WebSocket patch: keep WebSocket constants (f25b087), closes #267
  • zonespec: Do not crash on error if last task had no data (0dba019), closes #281

Features

  • indexdb: Added property patches and event target methods as well as tests for Indexed DB (84a251f), closes #204
  • zonespec: add a spec for asynchronous tests (aeeb05c), closes #275

0.6.2 (2016-03-03)

0.6.1 (2016-02-29)

0.6.0 (2016-02-29)

Chores

  • everything: Major Zone Rewrite/Reimplementation (63d4552)

BREAKING CHANGES

  • everything: This is a brand new implementation which is not backwards compatible.

0.5.15 (2016-02-17)

Bug Fixes

  • WebWorker: Patch WebSockets and XMLHttpRequest in WebWorker (45a6bc1), closes #249
  • WebWorker: Patch WebSockets and XMLHttpRequest in WebWorker (9041a3a), closes #249

0.5.14 (2016-02-11)

0.5.11 (2016-01-27)

Bug Fixes

  • correct incorrect example path in karma config (b0a624d)
  • correct test relaying on jasmine timeout (4f7d6ae)
  • WebSocket: don't patch EventTarget methods twice (345e56c), closes #235

Features

  • wtf: add wtf support to (set/clear)Timeout/Interval/Immediate (6659fd5)

0.5.10 (2015-12-11)

Bug Fixes

  • keys: Do not use Symbol which are broken in Chrome 39.0.2171 (Dartium) (c48301b)
  • Promise: Make sure we check for native Promise before es6-promise gets a chance to polyfill (fa18d4c)

0.5.9 (2015-12-09)

Bug Fixes

  • keys: do not declare functions inside blocks (d44d699), closes #194
  • keys: Symbol is being checked for type of function (6714be6)
  • mutation-observe: output of typeof operator should be string (19703e3)
  • util: origin addEventListener/removeEventListener should be called without eventListener (26e7f51), closes #198
  • utils: should have no effect when called addEventListener/removeEventListener without eventListener. (5bcc6ae)

0.5.8 (2015-10-06)

Bug Fixes

  • addEventListener: when called from the global scope (a23d61a), closes #190
  • EventTarget: apply the patch even if Window is not defined (32c6df9)

0.5.7 (2015-09-29)

Bug Fixes

  • RequestAnimationFrame: pass the timestamp to the callback (79a37c0), closes #187

0.5.6 (2015-09-25)

Bug Fixes

  • Jasmine: add support for jasmine 2 done.fail() (1d4370b), closes #180
  • utils: fixes event target patch in web workers (ad5c0c8)

0.5.5 (2015-09-11)

Bug Fixes

  • lib/utils: adds compliant handling of useCapturing param for EventTarget methods (dd2e1bf)
  • lib/utils: fixes incorrect behaviour when re-adding the same event listener fn (1b804cf)
  • longStackTraceZone: modifies stackFramesFilter to exclude zone.js frames (50ce9f3)

Features

  • lib/core: add/removeEventListener hooks (1897440)
  • lib/patch/file-reader: zone-binds FileReader#onEventName listeners (ce589b9), closes #137

0.5.4 (2015-08-31)

Bug Fixes

  • js path in examples (c7a2ed9)
  • zone: fix conflict with Polymer elements (77b4c0d)

Features

  • patch: support requestAnimationFrame time loops (3d6dc08)

0.5.3 (2015-08-21)

Bug Fixes

  • addEventListener patch: ignore FunctionWrapper for IE11 & Edge dev tools (3b0ca3f)
  • utils: event listener patches break when passed an object implementing EventListener (af88ff8)
  • WebWorker: Fix patching in WebWorker (2cc59d8)

Features

  • zone.js: support Android browser (93b5555)

0.5.2 (2015-07-01)

Bug Fixes

  • jasmine patch: forward timeout (2dde717)
  • zone.bind: throw an error if arg is not a function (ee4262a)

0.5.1 (2015-06-10)

Bug Fixes

  • PatchClass: copy static properties (b91f8fe), closes #127
  • register-element: add check for callback being own property of opts (8bce00e), closes #52

Features

  • fetch: patch the fetch API (4d3d524), closes #108
  • geolocation: patch the API (cd13da1), closes #113
  • jasmine: export the jasmine patch (639d5e7)
  • test: serve lib/ files instead of dist/ (f835213)
  • zone.js: support IE9+ (554fae0)

0.5.0 (2015-05-08)

Bug Fixes

  • always run jasmine's done callbacks for async tests in jasmine's zone (b7f3d04), closes #91
  • don't fork new zones for callbacks from the root zone (531d0ec), closes #92
  • MutationObserver: executes hooks in the creation zone (3122a48)
  • test: fix an ineffective assertion (d85d2cf)
  • minor fixes (18f5511)

Code Refactoring

  • split zone.js into CJS modules, add zone-microtask.js (2e52900)

Features

  • scheduling: Prefer MutationObserver over Promise in FF (038bdd9)
  • scheduling: Support Promise.then() fallbacks to enqueue a microtask (74eff1c)
  • add isRootZone api (bf925bf)
  • make root zone id to be 1 (605e213)

BREAKING CHANGES

  • New child zones are now created only from a async task that installed a custom zone.

Previously even without a custom zone installed (e.g. LongStacktracesZone), we would spawn new child zones for all asynchronous events. This is undesirable and generally not useful.

It does not make sense for us to create new zones for callbacks from the root zone since we care only about callbacks from installed custom zones. This reduces the overhead of zones.

This primarily means that LongStackTraces zone won't be able to trace events back to Zone.init(), but instead the starting point will be the installation of the LongStacktracesZone. In all practical situations this should be sufficient.

  • zone.js as well as *-zone.js files are moved from / to dist/

0.4.4 (2015-05-07)

Bug Fixes

  • commonjs wrapper (7b4fdde), closes #19
  • fork the zone in first example (README) (7b6e8ed)
  • prevent aliasing original window reference (63b42bd)
  • use strcit mode for the zone.js code only (16855e5)
  • test: use console.log rather than dump in tests (490e6dd)
  • websockets: patch websockets via descriptors (d725f46), closes #81
  • websockets: properly patch websockets in Safari 7.0 (3ba6fa1), closes #88
  • websockets: properly patch websockets on Safari 7.1 (1799a20)

Features

  • add websockets example (edb17d2)
  • log a warning if we suspect duplicate Zone install (657f6fe)

0.4.3 (2015-04-08)

Bug Fixes

  • zone: keep argument[0] refs around. (48573ff)

0.4.2 (2015-03-27)

Bug Fixes

  • zone.js: don't make function declaration in block scope (229fd8f), closes #53 #54

Features

  • bindPromiseFn: add bindPromiseFn method (643f2ac), closes #49
  • lstz: allow getLongStacktrace to be called with zero args (26a4dc2), closes #47
  • Zone: add unique id to each zone (fb338b6), closes #45

0.4.1 (2015-02-20)

Bug Fixes

  • patchViaPropertyDescriptor: disable if properties are not configurable (fb5e644), closes #42

0.4.0 (2015-02-04)

Bug Fixes

  • WebSocket: patch WebSocket instance (7b8e1e6)

0.3.0 (2014-06-12)

Bug Fixes

  • add events for webgl contexts (4b6e411)
  • bind prototype chain callback of custom element descriptor (136e518)
  • dequeue tasks from the zone that enqueued it (f127fd4)
  • do not reconfig property descriptors of prototypes (e9dfbed)
  • patch property descriptors in Object.create (7b7258b), closes #24
  • support mozRequestAnimationFrame (886f67d)
  • wrap non-configurable custom element callbacks (383b479), closes #24
  • wrap Object.defineProperties (f587f17), closes #24

0.2.4 (2014-05-23)

0.2.3 (2014-05-23)

Bug Fixes

0.2.2 (2014-05-22)

Bug Fixes

  • correctly detect support for document.registerElement (ab1d487)
  • dont automagically dequeue on setInterval (da99e15)
  • fork should deep clone objects (21b47ae)
  • support MutationObserver.disconnect (ad711b8)

Features

  • add stackFramesFilter to longStackTraceZone (7133de0)
  • expose hooks for enqueuing and dequing tasks (ba72f34)
  • improve countingZone and example (86328fb)
  • support document.registerElement (d3c785a), closes #18

0.2.1 (2014-04-24)

Bug Fixes

  • add support for WebKitMutationObserver (d1a2c8e)
  • preserve setters when wrapping XMLHttpRequest (fb46688), closes #17

0.2.0 (2014-04-17)

Bug Fixes

  • patch all properties on the proto chain (b6d76f0)
  • patch MutationObserver (1c4e85e)
  • wrap XMLHttpRequest when we cant patch protos (76de58e)

Features

0.1.1 (2014-03-31)

Features

0.1.0 (2014-03-31)

Bug Fixes

  • improve patching browsers with EventTarget (7d3a8b1)
  • improve stacktrace capture on Safari (46a6fbc)
  • long stack trace test (01ce3b3)
  • prevent calling addEventListener on non-functions (7acebca)
  • throw if a zone does not define an onError hook (81d5f49)
  • throw if a zone does not define an onError hook (3485c1b)

Features

  • add decorator syntax (c6202a1)
  • add onZoneCreated hook (f7badb6)
  • patch onclick in Chrome and Safari (7205295)
  • refactor and test counting zone (648a95d)
  • support Promise (091f44e)

0.0.0 (2013-09-18)