0.8.18 (2017-09-27)
- 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)
- 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)
- 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)
- 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)
- 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)
0.8.15 (2017-07-27)
0.8.14 (2017-07-20)
- 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.14 (2017-07-18)
- 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)
- 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)
- FakeAsyncTestZoneSpec: FakeAsyncTestZoneSpec.flush() passes limit along to scheduler (#831) (667cd6f)
0.8.12 (2017-06-07)
- 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)
- 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)
- 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)
- 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)
- 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)
0.8.8 (2017-04-21)
- on handling broken in v0.8.7 (fbe7b13)
0.8.7 (2017-04-21)
- 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)
- 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)
- 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)
0.8.4 (2017-03-16)
- correct declaration which breaks closure (0e19304)
- stack rewriting now works with source maps (bcd09a0)
0.8.3 (2017-03-15)
- zone: consistent access to symbol to work with closure (f742394)
0.8.2 (2017-03-14)
0.8.1 (2017-03-13)
- example: Update counting.html (#648) (a63ae5f)
- XHR: fix #671, patch XMLHttpRequestEventTarget prototype (300dc36)
- 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)
- Upgrade TypeScript to v2.2.1
0.7.8 (2017-03-10)
- 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)
- 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)
- 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)
- 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)
- 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 onZone
(#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
- Patch captureStackTrace/prepareStackTrace to ZoneAwareError, patch process.nextTick, fix removeAllListeners bug (#516) (c36c0bc), closes #484 #491
0.7.1 (2016-11-22)
- missing zone from the build file (e961833)
0.7.0 (2016-11-22)
- 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)
0.6.25 (2016-09-20)
0.6.24 (2016-09-19)
0.6.23 (2016-09-14)
0.6.22 (2016-09-14)
- node: patch most fs methods (#438) (4c8a155)
- node: patch outgoing http requests to capture the zone (#430) (100b82b)
0.6.21 (2016-09-11)
- proper detection of global in WebWorker (0a7a155)
0.6.20 (2016-09-10)
0.6.19 (2016-09-10)
- 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
0.6.17 (2016-08-22)
- 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)
- 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)
- jasmine: patch jasmine to understand zones. (3a054be)
- trackingZone: Keep track of tasks to see outstanding tasks. (4942b4a)
0.6.13 (2016-08-15)
- 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)
- 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)
- property-descriptor: do not fail for events without targets (3a8deef)
0.6.11 (2016-04-14)
- 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
0.6.9 (2016-04-04)
- 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)
0.6.5 (2016-03-21)
- 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
- 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)
- everything: Major Zone Rewrite/Reimplementation (63d4552)
- everything: This is a brand new implementation which is not backwards compatible.
0.5.15 (2016-02-17)
- 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)
- 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
- wtf: add wtf support to (set/clear)Timeout/Interval/Immediate (6659fd5)
0.5.10 (2015-12-11)
- 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)
- 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)
- 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)
0.5.6 (2015-09-25)
- 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)
- 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)
- lib/core: add/removeEventListener hooks (1897440)
- lib/patch/file-reader: zone-binds FileReader#onEventName listeners (ce589b9), closes #137
0.5.4 (2015-08-31)
- patch: support requestAnimationFrame time loops (3d6dc08)
0.5.3 (2015-08-21)
- 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)
- zone.js: support Android browser (93b5555)
0.5.2 (2015-07-01)
- jasmine patch: forward timeout (2dde717)
- zone.bind: throw an error if arg is not a function (ee4262a)
0.5.1 (2015-06-10)
- PatchClass: copy static properties (b91f8fe), closes #127
- register-element: add check for callback being own property of opts (8bce00e), closes #52
- 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)
- 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)
- split zone.js into CJS modules, add zone-microtask.js (2e52900)
- 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)
- 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)
- 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)
0.4.3 (2015-04-08)
- zone: keep argument[0] refs around. (48573ff)
0.4.2 (2015-03-27)
- 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)
0.4.0 (2015-02-04)
- WebSocket: patch WebSocket instance (7b8e1e6)
0.3.0 (2014-06-12)
- 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)
- remove dump (45fb7ba)
0.2.2 (2014-05-22)
- correctly detect support for document.registerElement (ab1d487)
- dont automagically dequeue on setInterval (da99e15)
- fork should deep clone objects (21b47ae)
- support MutationObserver.disconnect (ad711b8)
- 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)
- add support for WebKitMutationObserver (d1a2c8e)
- preserve setters when wrapping XMLHttpRequest (fb46688), closes #17
0.2.0 (2014-04-17)
- patch all properties on the proto chain (b6d76f0)
- patch MutationObserver (1c4e85e)
- wrap XMLHttpRequest when we cant patch protos (76de58e)
- add exceptZone (b134391)
0.1.1 (2014-03-31)
- add commonjs support (0fe349e)
0.1.0 (2014-03-31)
- 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)