Skip to content

Latest commit

 

History

History
1561 lines (861 loc) · 74.7 KB

CHANGELOG.md

File metadata and controls

1561 lines (861 loc) · 74.7 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

11.0.0 (2022-03-01)

⚠ BREAKING CHANGES

  • move to @krakenjs scope

  • add tooling for code coverage, changelogs, and conventional commits (#103) (e3be73c)

  • move to @krakenjs scope (d707e26)

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by auto-changelog.

8 March 2019

  • Cancel response listeners on cleanup 820b4fb

7 March 2019

  • Use window.open as contingency to refocus window f7c3f8e

7 March 2019

  • Simplify window serialization 57ac6cb

6 March 2019

  • Fix IE issue where origin is file: not file:// 3b0ea99

14 February 2019

14 February 2019

14 February 2019

14 February 2019

  • Do not send request before waiting for response 8b1ec59
  • Do not error out if no bridge found 075538e

14 February 2019

  • Set up global receive before sending any messages e6dc37b

14 February 2019

  • Only check for mock domain in test mode 44a7018
  • Re-throw all errors from send strategies c78ba2c

12 February 2019

  • Improve logging and error stacks 9299051

8 February 2019

  • Add support for file protocol 41d1e7a

8 February 2019

  • Get version for globals inline 1a303ed

6 February 2019

  • Make once options optional 7a40e43

5 February 2019

  • Overhaul and refactor 675ddec
  • Attach minor version to global vars and events 50f8f2b
  • Clean up docs a7f2245

27 January 2019

  • Add ProxyWindow.getWindow b87ec93

18 January 2019

15 January 2019

  • Account for fireAndForget return value f2292be

15 January 2019

  • Avoid infinite loop when deserializing functions 0c92248

15 January 2019

  • Fix logName for functions in receive 5536b47

15 January 2019

  • Call original stored function if found 1060141
  • Simplify logging and expand function names 1ea09c9

10 January 2019

  • Safety around isProxyWindow check 1fb04df

9 January 2019

  • Allow functions to specify an onError prop for any errors calling them ed739aa

9 January 2019

  • Throw better error when domain is a regex 5003e71

2 January 2019

  • Ignore messages with no source 90af9ee

2 January 2019

  • Extra safety around getting source window from post message 11eb25e

30 December 2018

29 December 2018

  • Improve bridge detection for tests 878fd75

28 December 2018

  • Add window type to ProxyWindow 3e002d5

24 December 2018

  • Asynchronously reject window promises 9564a44

21 December 2018

19 December 2018

6 December 2018

6 December 2018

  • By default, only say hello to ancestor window 9895402

6 December 2018

  • Allow deserialization using proxy window cdfbeb6
  • Double-attempt focus 17844f4

27 November 2018

27 November 2018

27 November 2018

  • Add globalStore and windowStore 827dd0a
  • Clean proxy windows before adding more 5df8aaf

27 November 2018

  • Function serialization fixes 438eb4e

26 November 2018

  • Allow serializing using proxy window bf7d76f

25 November 2018

  • Add fireAndForget to function deserialization 6f7b404

25 November 2018

  • Replace window location if possible 8b3ec4d

25 November 2018

  • toProxyWindow accept both proxy and regular window d4a339c

25 November 2018

25 November 2018

  • Set name of iframe element, if present fbeb348

25 November 2018

25 November 2018

  • Add basic window serialization 64239d5
  • Attempt to match proxy window to real windows eb65408

22 November 2018

  • Use universal-serialize 01e98d4
  • Export serializeMessage and deserializeMessage d3bde67

15 November 2018

  • Remove fuzzy match for remote bridge frame #65
  • Disable package-lock a28a25b

1 November 2018

  • Remove same domain messaging error (fixes #26) #63
  • Increase ack timeout for windows known to have post-robot bd208a6
  • Check for existence of console before logging post-robot message d9b13f3

28 September 2018

  • Use belter for general utilities 25366c1

7 September 2018

  • Remove logging outside of debug mode 7358145
  • Remove erroneous global e12dca3

10 July 2018

9 July 2018

4 May 2018

  • Use -1 universally for disabled timeout 065b143

27 April 2018

  • Namespace and export globals 53e70e5

26 April 2018

20 April 2018

  • Correctly output IE builds 6f17f72

20 April 2018

  • Only prevent incoming messages from closed windows when not fire-and-forget 79c4239

20 April 2018

20 April 2018

  • Added the ability to disable log completely. You can set LOG_LEVEL="disabled" to not have any log displayed on the console #51
  • Upgrade to grumbler-scripts 01a0a64

9 February 2018

  • Add webpack circular dependency detection and fix static deps 3afde36

8 February 2018

8 February 2018

  • Fix timeout ignore #47

18 January 2018

  • Added config for same-origin communications #44
  • Change license in bower.json to Apache 2.0 1b07419

8 November 2017

  • Export hasBridge method 0ff9a82
  • Improve no ack error message 3b532b6

7 November 2017

  • Let ALLOW_POSTMESSAGE_POPUP be overriden by window global cede3e8

7 November 2017

  • Add build time flag for allowing popup postmessage fd1dba3

7 November 2017

7 November 2017

  • Export destroyBridges function 16d8edd
  • Improve error message for existing wildcard listener 673d837
  • Listen to correct window for open tunnel message 82f10f6

31 October 2017

  • Make stringifyError more resilient 87aad82

31 October 2017

  • Throw errors to ZalgoPromise rather than into the ether 0d0e593

31 October 2017

  • Do not synchronously throw error in bridge sendMessage ac33652
  • Do not double-throw if listener times out then eventually returns 7b8349a
  • Increase ack timeout for IE b220443

28 October 2017

  • Update README.md #34
  • Do not set up response listener for fire-and-forget message 903252e
  • Do not require bridge for Edge 14 onwards 11e3bc4

16 October 2017

  • Fix typo in webpack config 76785e7

14 October 2017

  • Make window optional for needsBridge 8ae1227

14 October 2017

  • Make sure bridge is typed as optional 8dc6bec

14 October 2017

  • Fix conditional bridge export 5a48c3d

14 October 2017

  • Use ifdef-loader for bridge export 10aa76d

14 October 2017

  • Prioritize regex domains over wildcard dfa649b

12 October 2017

  • Use window types rather than any a53ca6d

11 October 2017

  • Upgrade cross-domain-utils 01f10bb

5 September 2017

4 September 2017

  • Better type checking for once c905ee4

4 September 2017

  • Serialize and deserialize native promises, if present 2a70e95
  • Clean up once promise logic 488ef47
  • Document serialization types 9e133fb
  • Update README.md fe10b3f

31 August 2017

29 August 2017

28 August 2017

18 August 2017

  • Add promise serialization b7a6f53

8 August 2017

  • Use latest ZalgoPromise type rules f567741

8 August 2017

2 August 2017

  • Prioritize domain over window for bridge decision 3adddd5

1 August 2017

  • Make message response timeout logic less frequent 450ce51
  • Fix timeout for bridge 64cd9c6

26 June 2017

  • Look for ack in correct place 13e1191

26 June 2017

23 June 2017

23 June 2017

  • Add postinstall to package f82f7a8

23 June 2017

21 June 2017

21 June 2017

20 June 2017

16 June 2017

  • Import zalgo promise from src c202b9f

16 June 2017

  • Strip Error: from error before passing to different window 8db0d13

15 June 2017

  • Clean up redundant promise code ba919c7
  • Migrate to zalgo-promise 9d6a0b2

6 June 2017

  • Remove global.domainMatches cleanup 1af17af

6 June 2017

23 May 2017

  • Do not send duplicated error messages 977977a
  • Do not overwrite popupWindowsByWin or popupWindowsByName for existing windows 779f487
  • Fix lint issues fc4a486

11 May 2017

  • Remove callback support 0b7a54c
  • IE safeguards for closed window references 9127225
  • Update README.md 1ee6963

5 May 2017

  • If a window has a parent, treat it as not having an opener d04b68a
  • Fix for mobile safari issue where window is not detected as closed 0b4a775

3 May 2017

  • Set xdomain prop on cross-domain functions c0b0455
  • Better error for cleanup rejected promise 77ea34a

27 April 2017

  • Conditionally clean up bridge globals 1fba6ae
  • Prevent publish with uncommited changes fe592e8

21 April 2017

  • Return early for non-opened/blocked window case 19d9f0d

21 April 2017

  • Return bridge promise so error is correctly handled 4d75271

21 April 2017

  • Fix this reference in non object 96a258f

12 April 2017

  • Export postRobot.cleanUpWindow for fast window cleanup 9e86c69

11 April 2017

  • Do not timeout for ready and method messages 8c412f0

11 April 2017

  • Remove util object in favor of manual exports 3ba0c72

11 April 2017

  • Reject request promise correctly when target window is closed before ack or response bfb5cda

6 April 2017

  • deleteResponseListener for any send error 4a4554c

6 April 2017

  • Clean up response listeners for error cases 175314b

6 April 2017

  • Only publish dist and src 1c4fe4b
  • Reinstall dependencies before publishing b1a8058

4 April 2017

  • Fix closure based memory leaks 428151c
  • Consume window.LOG_LEVEL if present a9a11c8
  • Make karma not depend on lint fa97e48

3 April 2017

  • Strip out cleanup and more memory leak fixes 0b7850b

3 April 2017

  • Gulp fixes and Debugging #24
  • Use WeakMap to get references by window 06c205d
  • Enable babelified gulpfile dd8f138
  • Use WeakMap to store cross-domain methods, to avoid memory leaks 3532149

26 March 2017

26 March 2017

  • Create IE and non-IE builds 721c5e3
  • Allow publish script to take semver major/minor/patch f76f51c

24 March 2017

  • Allow sending messages to multiple possible domains 71c8da1
  • Add positive tests for sending/recieving to/from a specific domain 0090305

20 March 2017

  • Throw useful error for post-message send to actual cross-domain window with mock domain specified a7d1008

19 March 2017

  • Use correct uglify config 33001a1

19 March 2017

16 March 2017

  • upgrade(dependencies): Webpack 2 #23
  • Add comments for first example e43ac7a
  • Update initial example with function passing 0aba0fe
  • Add travis config 8f9901b
  • Clean up dependencies 752479d
  • Update README.md b62a295

8 March 2017

  • (feat): Add source maps #22
  • feat(client): Allow iframe node in send function #19
  • Update README #15
  • Add docs for cancelling a listener b5fedb1
  • Log foreign method errors in debug mode 2f488a3
  • Better null check for options.window f5d73c1
  • Temporary fix for transform-es2015-typeof-symbol IE issue with window ca686bf

28 February 2017

  • Delay console logs, to allow time to set logLevel d2c0d91

17 February 2017

  • Catch errors in isWindowClosed for IE 8b9c060

10 January 2017

  • Add registerSelf noop for backwards compatibility dfc85a8
  • Add gulp test 52aef15

7 December 2016

  • Serialize and deserialize error objects e189fca

6 December 2016

  • Do not return asyncReject 1f1ab32

5 December 2016

  • Enable popup post messages for build, disable for tests 9481c60

5 December 2016

3 December 2016

  • Separate out bridge code into parent/child/bridge/common 77bc4de
  • Set up state to be cleaned up on demand 0851b7e
  • Add initializer method to listenForMessages 0a8134e

29 November 2016

  • Force bridge when CONFIG.ALLOW_POSTMESSAGE_POPUP is false bac1b35

9 November 2016

  • Expose multiple methods to determine if the bridge is required b197e3f

9 November 2016

  • Use asyncReject for remote window sendMessage promise a068c7f

8 November 2016

  • Only open bridge tunnel for IE 752c7cb

8 November 2016

  • Better listener matching logix c356339
  • Export needsBridge function dc6702d

1 November 2016

  • Correct get domain function for local files 12c3c94

31 October 2016

  • Fix findFrameByName to search entire iframe tree a0f8a6f
  • Fix lint error 33ddd3a

29 October 2016

  • Add option to isWindowClosed to allow mock 2f3e796

28 October 2016

  • More IE9 safety for isWindowClosed method 9d59794

28 October 2016

24 October 2016

  • Update eBay email to PayPal email #8
  • Improve error messaging b4be35a
  • Add npmrc 227a1fd

19 October 2016

19 October 2016

  • Allow finding frames anywhere in hierarchy cb35951

19 October 2016

  • Match request listeners by domain as well as name and window eaf4cb4

18 October 2016

  • More robust getFrameByName 8600260

15 October 2016

  • Wait for document body and timeout before loading bridge 81d0327

15 October 2016

  • Re-add global post message strategy 1a1f844

15 October 2016

  • Do not open tunnel when parent is same domain 9ab85e0
  • Update eBay email to PayPal email e1d832f

12 October 2016

  • Additional safety in window functions a50e6bf
  • Do not try to proxy if window is closed or canary fails c9f2314
  • Tweak isWindow check faebcc6

6 October 2016

  • Fix bridge code not to pass window object from popup to iframe. IE doesn't like it when you do that 73f666a

5 October 2016

  • Use jsonStringify for sending messages fc2d282

4 October 2016

  • Add a jsonStringify method that accounts for custom prototypetoString 5e6d367
  • Add docs for listener/client 5348a4c

1 October 2016

  • Wrap post-robot message in postRobot to avoid interfering with any other listeners 1cfa2f8

30 September 2016

29 September 2016

  • Validate domain for responses and acks 3a2b12a
  • Log domain and origin for all messages 2912d9b

29 September 2016

29 September 2016

29 September 2016

28 September 2016

  • Reset config to default values 1402041

28 September 2016

  • Major overhaul of bridge and message proxying 9cd24d6
  • Fix demo 25cf26e

24 September 2016

  • Group source, domain and data into event object e861a84

24 September 2016

  • More safety around getting foreign window frames and finding bridge 83064db
  • Send all responses and acks to the origin domain 677726c
  • Fix getting frame by name 25d7bbc
  • Remove allowMockDomain flag since mock domains can only ever be mock:// 38cc826
  • Remove unused test 9eedeb8
  • Remove redundant origin check for mock:// 5f499db

20 September 2016

26 August 2016

  • Only return parent if different from window 8c69548
  • Fix isIframe logic 573815a

23 August 2016

  • Additional safety around win.parent, win.opener, win.parent which can be re-assigned b81ae4a

19 August 2016

  • Keep state in post robot global 9237692

15 August 2016

  • Improve mock domain logic db28227

15 August 2016

  • Remove postRobot.proxy 5b79488
  • Security around self-certified sourceDomain and originalSourceDomain 6c3aaa2
  • Add missing file 7cec954
  • Allow post messages between two windows on the same domain 3e4b930

13 August 2016

  • Base bridge name on domain of target url 4d134e5

3 August 2016

2 August 2016

  • Only keep a cache of domain matches in the current tick 51946c7

1 August 2016

  • Change sendToParent error to throw asynchronously #4
  • Fix sendToParent error in README.md #3

24 July 2016

  • Add a disable method for interop with old script versions b071874

24 July 2016

  • Do not open bridge if on the same domain 0a9f438

24 July 2016

  • Overhaul bridge code to support multiple domains 7555b71

23 July 2016

22 July 2016

  • Allow multiple bridges on domain by domain basis 358233c

22 July 2016

  • Add default timeout to onWindowReady 2c512ae

20 July 2016

20 July 2016

  • More robust bridge logic (ensure we use the same bridge for each pass-through call) 7eb6694
  • Fix lint error 9201b7c
  • Add source hint for window.opener.parent c82021e
  • Make sendToParent async throw errow if there is no parent b76b0cf
  • Add pathname to logs 291ba80
  • Fix npm test command to run karma tests 548ac63
  • Fix sendToParent error in README.md f5544cb

13 July 2016

  • Add fireAndForget option, and make remote method calls more easily debuggable e0878c7
  • Clean up logic for logging decision 2a05c91
  • Use coverage plugin for babel test coverag ef39f84

7 July 2016

  • Fix lint errors 3665984
  • Make global method synchronous, to unblock IE metro mode bbeebd9
  • Do not error out if a new window is opened with the same name as a previously closed one e12eb4f
  • Disallow global method between freames dd51039
  • Make proxy and ack messages debug level d75fc2d

6 July 2016

6 July 2016

  • Do not error on recieveMessage if windows are closed a49a693

6 July 2016

5 July 2016

4 July 2016

  • Wait for child window to be ready before sending messages down 6f17e64

3 July 2016

  • Remove identify messages in favour of source and target hints, and better timeouts c0a8363
  • Break out logger and add log level config key 5d1e300
  • Fixes for IE e189539
  • Correctly build messages with source, target etc even when proxying through bridge 42670ba

30 June 2016

  • Do nextTick on recieving window global 809e7cb

29 June 2016

  • Treat an error from ack as a hard error, do not attempt to send a response 65b944d
  • Update README.md 56bb0e2
  • Update README.md cb18836

14 June 2016

  • Make global method call asynchronous using a same-window postMessage ab7e11f

14 June 2016

  • Error out when the window is closed 7a09bc3

14 June 2016

  • Do not remove request listener on error c797e67

14 June 2016

13 June 2016

  • Do not default data to an object 54af541

10 June 2016

  • Add cached domain checking, to create minimal number of errors in safari when attempting to use global methods fed8aff
  • Compatibility with 1.x responses f9f310d

4 June 2016

  • Use synchronous promises to prevent issues with setTimeout in IE metro mode d854428
  • Use SyncPromise from sync-browser-mocks d686156
  • Allow any kind of value in post data 3e4c434
  • Update README.md eb950b3
  • export sync promise 04a1cad
  • Re-add lint to gulp karma 5bce030
  • Update README.md ac4fd65

31 May 2016

  • Inherit coverage to child frames f76d372
  • Do not log to console by default 05bf200

29 May 2016

24 May 2016

  • Support serializing methods in json payloads for cross-domain method calls 6832c86

19 May 2016

13 May 2016

9 May 2016

  • Do not proxy acks/responses for messages to the current window 4b49192

9 May 2016

  • Remove additional code causing issue with windows array b8239ee
  • fix(Exports): Change main to dist/ so its recognized by browserify 99c9c16

3 May 2016

29 April 2016

29 April 2016

  • Set up webpack to create a minified and non-minified version ec2b243

29 April 2016

29 April 2016

29 April 2016

29 April 2016

29 April 2016

28 April 2016

27 April 2016

27 April 2016

  • Support bridge for IE9-11 a4e61e9

20 April 2016

5 April 2016

25 March 2016

25 March 2016

22 March 2016

v0.0.1

18 March 2016