Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search Paths do not work with RequireJS #513

Closed
jasonswearingen opened this issue Apr 21, 2013 · 23 comments
Closed

Search Paths do not work with RequireJS #513

jasonswearingen opened this issue Apr 21, 2013 · 23 comments

Comments

@jasonswearingen
Copy link

EDIT: summary of issue (20120430)

okay, i got a repro with the Karma+Requirejs example.

basically it comes down to a problem with having the app.js and appSpec.js in the same dir, and having that NOT be the baseUrl.

you can get the repro code here: https://bitbucket.org/novaleaf-apps/karma-requirejs/overview

fyi my version also includes a test for having the code in a subdir (also not baseUrl) which is also broken, but the reason for that seems to be fixed by @kjbekkelund 's workaround (i don't include the workaround in my version though)

to be clear there seems to be two issues here.

  1. the test url path issue @kjbekkelund solves with his workaround,
  2. the broken search paths for tests in the same folder as their dependencies

ORIGINAL ISSUE BELOW

summary

loading a dependency with relative paths results in script error due to the file being loaded without the proper ".js" extension.

repro steps

modify line 1 in karma requirejs example, appSpec.js from:

define(['app', 'jquery', 'underscore'], function(App, $, _) {

to:

define(['../src/app', 'jquery', 'underscore'], function(App, $, _) {

results

the app will still run successfully, but running the Karma tests will result in the following error:

Chrome 26.0 (Windows) ERROR
Uncaught Error: Script error
http://requirejs.org/docs/errors.html#scripterror
at http://localhost:9877/adapter/lib/require.js?1366192555000:1746
Chrome 26.0 (Windows): Executed 0 of 0 ERROR (0.67 secs / 0 secs)

workaround for the issue:

add the following to my test-runner (shim the define() method) to truncate relative paths before sending to requirejs

function createDefineShim(originalDefine) {
    return function (deps, callback) {
        for(var i = 0; i < deps.length; i++) {
            deps[i] = deps[i].substr(deps[i].lastIndexOf("/") + 1);
        }
        originalDefine(deps, callback);
    };
}
define = createDefineShim(define);

other things i tried that don't work

edit the (requirejs monkeypatch adapter.js)[https://github.com/karma-runner/karma-requirejs/blob/master/src/adapter.js] by adding the following line between lines 5 and 6 (add this as the first line of the normalizePath() method)

path += (/\.js/.test(path) ? '' : '.js'); //halfway works, but breaks dependency mapping

this will add the .js extension to any file that does not already have it.

this didn't work because....

because it seems that via Karma, requirejs doesn't understand that "app" is the same as "../src/app" ** please note that executing the app normally, requirejs is able to map the dependencies correctly **

root cause

I'm not sure what the root cause is.
as for why this issue occurs in the karma and not in requirejs itself, i see some wacky execution flow in (require.js)[https://github.com/jrburke/requirejs/blob/master/require.js] online 1555, which is probably contributing to the issue, however as i'm a javascript beginner i haven't figured out why it works ok in requirejs itself. (sorry, i spent a day tracking this down)

why this bugfix is important

I am using typescript, which automatically generates the AMD define() call that requirejs uses, and it ALWAYS includes the relative path. I can not control the generated code.

@kimjoar
Copy link
Contributor

kimjoar commented Apr 21, 2013

Require.js appears to have a problem with mixing absolute and relative requires. This change in test-main.js should fix it:

var tests = Object.keys(window.__karma__.files).filter(function (file) {
    return /Spec\.js$/.test(file);
}).map(function(file) {
    // create relative path from `baseUrl` for specs, without `.js`
    // i.e., instead of requiring `/base/test/appSpec.js`
    // we want to require `../test/appSpec` when the
    // baseUrl is `/base/src`
    return '../' + file.replace(/^\/base\//, '').replace(/\.js$/, '');
});

But this really isn't nice and it has to be changed in every project according to the where the test and production files are placed. I'll see if I find better ways of handling this.

@jasonswearingen
Copy link
Author

hello, fyi I tested your modification to test-main.js in other of my projects and it works, thank you for the help, a better solution than my half-assed workaround :)

@jasonswearingen
Copy link
Author

oops, sorry your solution has a problem,

references break if you add a requirejs.config based shim dependency. (my workaround works in this circumstance)

for example, if you take (the karma+require example)[https://github.com/kjbekkelund/karma-requirejs] and add dependencies to "app" in the test-main.js requirejs.config call:

requirejs.config({
    // Karma serves files from '/base'
    baseUrl: '/base/src',
    paths: {
        'jquery': '../lib/jquery',
        'underscore': '../lib/underscore',
        //"app":"../src/app",
    },
    shim: {
        'underscore': {
            exports: '_'
        },
        'app': {
            deps: ['jquery', 'underscore'],
        }
    },
    // ask Require.js to load these files (all our tests)
    deps: tests,
    // start test run, once Require.js is done
    callback: window.__karma__.start
});

then change the define line in appSpec.js to

define(['../src/app'], function (App) {

then jquery and underscore should be globally loaded prior to appSpec.

again, this is a common workflow for typescript, as it's easier to have frameworks as global because the language currently only allows explicit imports for code files.

@kimjoar
Copy link
Contributor

kimjoar commented Apr 21, 2013

I really don't like overriding define in Require.js, as hacking libraries always come back to bite me at some point. I guess the problem is that Require.js has some problems when the dependencies are specified relatively, absolutely and based on "module name".

This works:

var tests = Object.keys(window.__karma__.files).filter(function (file) {
    return /Spec\.js$/.test(file);
}).map(function(file) {
    // create relative path from `baseUrl` for specs, without `.js`
    // i.e., instead of requiring `/base/test/appSpec.js`
    // we want to require `../test/appSpec`
    return '../' + file.replace(/^\/base\//, '').replace(/\.js$/, '');
});

requirejs.config({
    // Karma serves files from '/base'
    baseUrl: '/base/src',

    paths: {
        'jquery': '../lib/jquery',
        'underscore': '../lib/underscore',
    },

    shim: {
        'underscore': {
            exports: '_'
        },
        '../src/app': {
          'deps': ['jquery', 'underscore']
        }
    },

    // ask Require.js to load these files (all our tests)
    deps: tests,

    // start test run, once Require.js is done
    callback: window.__karma__.start
});

And:

define(['../src/app'], function(App) {

I.e. use the same string to the shim and the require. But, this feels quite nasty and hacky. You should probably create a TypeScript issue on this (or a Require.js issue for that matter).

@jasonswearingen
Copy link
Author

unfortunatly, the issue doesn't exist without Karma in the picture. And
while I don't know what the actual issue is, I did enough investigation to
know that Require.js is pretty hacky regarding dependency paths. I'll
file an issue with requirejs and reference this thread.

  • Jason

@jasonswearingen
Copy link
Author

also, from what I see, the "../src/app" named module would break if we have
another dependency in a different folder.

so it seems my define shim workaround is still the way to go.... FYI i
only need to do this in my test-runner (no shim in my real app) because
this issue only exists when using Karma

@vojtajina
Copy link
Contributor

@jasons-novaleaf can you go to http://localhost:9876/debug.html and see what is the wrong path that require is trying to fetch ? That should tell us what the issue is.

I can only think about two things that are different when running with Karma:

I don't think the normalization should cause any troubles, but you can try to comment it out.

It's more likely caused because of the baseUrl...

@jasonswearingen
Copy link
Author

if my tests and referenced dependencies are not in the same folder as my basePath, then my work-around does not work.

So I am trying to investigate more: it appears that karma's "base" path breaks things

here's an example:

my directory structure

  • app/
    • egghead.js
    • egghead-spec.js

egghead-spec.js has a dependency on egghead.js,
i set up my requireConfig baseUrl as "", and I get the error:

GET http://localhost:9876/app/egghead-spec.js 404 (Not Found)

  • missing the "base" so can't load my test as the entry point

i set up my requireConfig baseUrl as "base", and I get the error:

GET http://localhost:9876/base/egghead.js 404 (Not Found)

  • loaded my test ok, but now can't figure out that egghead.js is in the same folder as the test

it looks like whatever karma does to setup the url destroy's requirejs's ability to figure out paths. sorry i can't help beyond this.

FYI i have no problem setting this up with normal requirejs and a browser.if you want code to reproduce this problem on, a good place would be the Karma+requirejs example, as described in my original post.

@kimjoar
Copy link
Contributor

kimjoar commented Apr 29, 2013

@jasons-novaleaf That's interesting. How do you include egghead-spec.js? Is it included as app/egghead-spec or as /base/app/egghead-spec.js? I've had some problems with Require.js when using the latter version, especially when depending on another file in the same folder. Currently the karma+require.js example includes using the entire path, so relative requires fails. I've fixed it using something like this (which isn't very nice, I should find a better solution):

var tests = Object.keys(window.__karma__.files).filter(function (file) {
    return /Spec\.js$/.test(file);
}).map(function(file) {
    // create relative path from `baseUrl` for specs, without `.js`
    // i.e., instead of requiring `/base/test/appSpec.js`
    // we want to require `../test/appSpec`
    return '../' + file.replace(/^\/base\//, '').replace(/\.js$/, '');
});

Does that work for you, or does it create other problems?

@jasonswearingen
Copy link
Author

for testing purposes i explicitly set the tests in the require dependencies

i tried various combinations:

  • require.deps =["/app/egghead-spec.js"];
  • require.deps =["app/egghead-spec"];
  • require.deps =["egghead-spec"];
  • etc etc etc...

the ones where it's able to see egghead-spec properly fail because it's looking for "egghead.js" in the base folder, not in the location it actually is. (base/app/), as i described in my previous post

@nuweb
Copy link

nuweb commented Apr 29, 2013

I have the same problem with Karma and RequireJS.

Versions using:
Karma version: 0.8.5
Node version: 0.8.19

Git Ref:
https://github.com/nuweb/angular-home.git

Karma config ref:
https://github.com/nuweb/angular-home/blob/master/karma.conf.js

RequireJS, main.js ref:
https://github.com/nuweb/angular-home/blob/master/src/js/main.js

The app will run successfully, but running the Karma tests will result in the following error:
karma start karma.conf.js
INFO [karma]: Karma server started at http://localhost:9876/
INFO [launcher]: Starting browser ChromeCanary
INFO [Chrome 28.0 (Mac)]: Connected on socket id yoLzyPllTDVLc5aubUH6
Chrome 28.0 (Mac) ERROR
Uncaught Error: Script error
http://requirejs.org/docs/errors.html#scripterror
at http://localhost:9876/adapter/lib/require.js?1365839185000:1746
Chrome 28.0 (Mac): Executed 0 of 0 ERROR (0.101 secs / 0 secs)

image

If you look at the above screenshot, running the test runner will download angular.js twice, one reference is from karma.conf.js and the another reference specified in main.js.

The reference from main.js is incorrectly loaded (gives 404) cause the test runner is trying to load it relative to the root, while it is relative to the main.js file.

@jasonswearingen
Copy link
Author

i tried reproing this bug with the karma+require example project: https://github.com/karma-runner/karma-requirejs/blob/master/ by setting the base path to "/base" instead of "/base/src",

but i could not repro the bug (it seems to work)

the main difference between my app and this is that I pre-set the require.config before loading require. I'll try modifying my app to fit the same workflow and write back on the results.

@jasonswearingen
Copy link
Author

okay, i got a repro with the Karma+Requirejs example.

basically it comes down to a problem with having the app.js and appSpec.js in the same dir, and having that NOT be the baseUrl.

you can get the repro code here: https://bitbucket.org/novaleaf-apps/karma-requirejs/overview

fyi my version also includes a test for having the code in a subdir (also not baseUrl) which is also broken, but the reason for that seems to be fixed by @kjbekkelund 's workaround (i don't include the workaround in my version though)

to be clear there seems to be two issues here.

  1. the test url path issue @kjbekkelund solves with his workaround,
  2. the broken search paths for tests in the same folder as their dependencies

@nuweb
Copy link

nuweb commented Apr 30, 2013

I setup test-main.js for karma, but couldn't get karma load the angularjs files.
https://github.com/nuweb/angular-home/blob/master/test/test-main.js

@nuweb
Copy link

nuweb commented Apr 30, 2013

Ok, finally I was able to get this working after specifying the shim for dependencies.
https://github.com/nuweb/angular-home/blob/master/test/test-main.js

@vojtajina
Copy link
Contributor

@nuweb don't use shim for loading all of your code, rather define baseUrl properly. Why are you bootstrapping angular in main-test.js ? That makes no sense to me. Check out the requirejs example, your project seems to be a typical one...

@jasons-novaleaf @kjbekkelund I will look into the project you have on bitbucket...

@vojtajina
Copy link
Contributor

@jasons-novaleaf @kjbekkelund I looked into https://bitbucket.org/novaleaf-apps/karma-requirejs/overview:

  • if you wanna reference stuff from src/ without the src prefix, you need to set baseUrl: '/base/src.
  • the you need to set the shim properly, eg. jquery to /base/lib/jquery or ../lib/jquery.
  • when you reference stuff with ../ require does not append .js, so in the subDirAppSpec.js, you need to require either ../app.js, or just app

Note, that I'm not requirejs user, but I don't see anything wrong on this. I'm happy to make changes to karma or requirejs adapter in order to make this more simple and straightforward, however I don't know how.

@vojtajina
Copy link
Contributor

Basically the changes I described seem to be correct fixes for the project.

Please re-open this issue, if you think there is something we can improve...

@ddlsmurf
Copy link

I ran into the same issue. Requirejs doesn't need the extension, even for relative paths, perhaps in the specs, but from experience it doesn't bother it. I am sure because sometimes I let requirejs load the coffee files and sometimes the js files depending on context (loading into node or browser), so specifying extensions would prevent either of working.
Here is the code I added to test-main.js to get it to work for me:

window.requirejs.load = do (previous_load = window.requirejs.load) ->
  (context, moduleName, url) ->
    url += ".js" unless /\.js$/.test(url)
    previous_load.call(@, context, moduleName, url)

@trevithj
Copy link

I have just spent some time getting requirejs tests running under karma. While I'm glad I took the time (solves a lot of dev problems for me) I would like to suggest a change in the documentation to clarify what I think is a common newbie problem. On the http://karma-runner.github.io/0.8/plus/RequireJS.html page:

For the question "Which files do you want to test?", we choose all the files we want to load with require.js.

Fair enough, but it assumes knowledge about the default served=true attribute. Someone like myself with a little require.js experience may find this contradictory - why include files that require is going to load anyway?
Some extra comments in the sample karma.conf.js listing would have helped a lot. For example:

{pattern: 'test/*_/_Spec.js', included: false, served: true}, //require loads the files using karma's localhost server

@vojtajina
Copy link
Contributor

@trevithj could you send a PR with improving the requirejs docs ? The source is in https://github.com/karma-runner/karma/blob/master/docs/plus/01-RequireJS.md

Feel free to change anything in order to make it more easier to understand.

@duro
Copy link

duro commented Oct 13, 2013

@vojtajina I am still running into this issue. I have reviewed your comment here:

#513 (comment)

What you are saying seems to be a workaround, and I am wondering what actions need to be taken to find a real solution. When I use RequireJS in my app, outside of Karma, all of my relative paths work just fine, both in the config shim, as well as in AMD module definitions.

The problem only seems to arise when my app is running inside a Karma environment.

Is this a problem on the RequireJS end, or is a a problem on the Karma end? If my app runs 100% with relative paths outside of Karma, but not inside Karma, it would seem that Karma is problem, no?

I'd like to push to see this issue resolved, as it is the only thing holding me back from integrating Karma seamlessly into my workflow.

Thanks for your follow up.

MrSwitch added a commit to MrSwitch/hello.js that referenced this issue Apr 26, 2014
@chrisprice
Copy link

As best as I can tell, this is what's happening -

  • RequireJS is being configured such that deps includes URLs of the form /base/foo/bar.js
  • RequireJS is triggering an alternative "as-is" loading strategy for these files (and importantly all of their dependencies) as described in the documentation indicated by a dependency string starting with a slash, has a protocol, or ends in .js.

This is how I solved the problem -

require.config({
    // Karma serves files from '/base'
    baseUrl: '/base',

    paths: {
        'jquery': 'jquery-2.1.1'
    },

    shim: {
        'jquery': {
            exports: '$'
        }
    },

    // ask Require.js to load these files (all our tests)
    deps: Object.keys(window['__karma__'].files)
    // only include *Spec.js files
        .filter(f => /Spec\.js$/.test(f))
    // remove leading /base
        .map(f => f.replace(/^\/base/, '.'))
    // remove .js extension
        .map(f => f.replace(/\.js$/, '')),

    // start test run, once Require.js is done
    callback: window['__karma__'].start
});

lukeapage added a commit to lukeapage/karma that referenced this issue Jun 18, 2015
by removing the base path and file extension. This will mean sub dependencies of the test files will not be loaded as-is.
See karma-runner#513 (comment)
lukeapage added a commit to lukeapage/karma that referenced this issue Jun 18, 2015
by removing the base path and file extension. This will mean sub dependencies of the test files will not be loaded as-is.
See karma-runner#513 (comment)
lukeapage added a commit to lukeapage/karma that referenced this issue Jun 18, 2015
By removing the base path and file extension of files, this normalizes
files to be in a standard requirejs format and means mean sub dependencies
of the test files will not be loaded as-is. See
karma-runner#513 (comment)
gnu-lorien added a commit to gnu-lorien/yorick that referenced this issue Dec 1, 2015
Had to change "source_files.js" to also serve the non-js version of my files as well because relative dependencies are broken. Karma project claims to have fixed it in the version I'm using but that appears to be entirely false in my use case.

karma-runner/karma#513
github-actions bot pushed a commit to Second-Live/karma-up that referenced this issue Sep 19, 2023
# 1.0.0-alpha.1 (2023-09-19)

### Bug Fixes

* a missed argument in a debug message ([#3009](https://github.com/Second-Live/karma-up/issues/3009)) ([af8c6e4](https://github.com/Second-Live/karma-up/commit/af8c6e407fa88de1b8ee034cf41a4c83ad832877))
* **adapter.requirejs:** do not configure baseUrl automatically ([63f3f40](https://github.com/Second-Live/karma-up/commit/63f3f409ae85a5137396a7ed6537bedfe4437cb3)), closes [#291](https://github.com/Second-Live/karma-up/issues/291) [#292](https://github.com/Second-Live/karma-up/issues/292) [#291](https://github.com/Second-Live/karma-up/issues/291)
* **adapter.requirejs:** show error if no timestamp defined for a file ([59dbdbd](https://github.com/Second-Live/karma-up/commit/59dbdbd136baa87467b9b9a4cb6ce226ae87bbef))
* Add crossorigin attribute to script HTML tags ([5690ffe](https://github.com/Second-Live/karma-up/commit/5690ffe82bb7ff195576f6f43dd8c281e51aa833))
* add emscripten memory image as binary suffix ([f6b2b56](https://github.com/Second-Live/karma-up/commit/f6b2b561c5d5e083cd204df9564024cac163b611))
* add missing dep flatted ([#3223](https://github.com/Second-Live/karma-up/issues/3223)) ([655d4d2](https://github.com/Second-Live/karma-up/commit/655d4d27e93a2011a00ea6ef3caf12a583ed4589))
* avoid ES6+ syntax in client scripts ([#3629](https://github.com/Second-Live/karma-up/issues/3629)) ([6629e96](https://github.com/Second-Live/karma-up/commit/6629e96901dbeae24fbaa4d0bfa009618fb8ee75)), closes [#3630](https://github.com/Second-Live/karma-up/issues/3630)
* **BaseReporter:** log message correctly with just one browser ([#3045](https://github.com/Second-Live/karma-up/issues/3045)) ([c1eb236](https://github.com/Second-Live/karma-up/commit/c1eb236523f8dab7e5f7dc70f4ee016b8061f0ba))
* better error reporting when loading plugins ([d9078a8](https://github.com/Second-Live/karma-up/commit/d9078a8eca41df15f26b53e2375f722a48d0992d))
* better serialization in dump/console.log ([fd46365](https://github.com/Second-Live/karma-up/commit/fd46365d1fd3a9bea15c04abeb7df33a3a2d96a4)), closes [#640](https://github.com/Second-Live/karma-up/issues/640)
* **browser:** allow updating total specs count ([#3264](https://github.com/Second-Live/karma-up/issues/3264)) ([d5df723](https://github.com/Second-Live/karma-up/commit/d5df723f97d1b48133416109276feebb0c6fa82d))
* **browser:** don't add already active socket again on reconnect ([37a7958](https://github.com/Second-Live/karma-up/commit/37a7958ae5517b8bf16e36cc90fe0b1cf0c09afd))
* **browser:** emit 'browsers_change' in collection ([#3183](https://github.com/Second-Live/karma-up/issues/3183)) ([7634e71](https://github.com/Second-Live/karma-up/commit/7634e7145b4220123f317d652b3dd13bd12c32ec))
* **browser:** ensure browser state is EXECUTING when tests start ([#3074](https://github.com/Second-Live/karma-up/issues/3074)) ([dc7265b](https://github.com/Second-Live/karma-up/commit/dc7265bbb5e92b3b9fd48ce85dbdc0d776772cf5)), closes [#1640](https://github.com/Second-Live/karma-up/issues/1640)
* **browser:** filter browser logging by level  ([35965d9](https://github.com/Second-Live/karma-up/commit/35965d9e996d462e471044b338ac038d2787c26d)), closes [#2228](https://github.com/Second-Live/karma-up/issues/2228)
* **browser:** make sure that empty results array is still recognized ([#3486](https://github.com/Second-Live/karma-up/issues/3486)) ([fa95fa3](https://github.com/Second-Live/karma-up/commit/fa95fa3c917470fa4b9ad736287379d1e9ebb350))
* **browser:** nicer "disconnect" - no more "Disconnectedundefined" ([a987d63](https://github.com/Second-Live/karma-up/commit/a987d6366f9bfc9514c73f85a94c2c31a0019924))
* **browser:** reply "start" event ([4fde43d](https://github.com/Second-Live/karma-up/commit/4fde43deee22b53fcca52132c51c27f4012d2933))
* **browser:** report errors to console during singleRun=false ([#3209](https://github.com/Second-Live/karma-up/issues/3209)) ([30ff73b](https://github.com/Second-Live/karma-up/commit/30ff73b35816dad727dd04487f809497f952add5)), closes [#3131](https://github.com/Second-Live/karma-up/issues/3131)
* browsers_change event always has collection as arg ([42bf787](https://github.com/Second-Live/karma-up/commit/42bf787f87304e6be23dd3dac893b3c3f77d6764))
* **build:** pin npm version in appveyor to v3, compat with node 4 ([#2983](https://github.com/Second-Live/karma-up/issues/2983)) ([bc1453e](https://github.com/Second-Live/karma-up/commit/bc1453e3198faa53dd6b02a23b1d3b3911d6b467))
* **build:** switch from yarn to package-lock.json ([#3351](https://github.com/Second-Live/karma-up/issues/3351)) ([6c5add2](https://github.com/Second-Live/karma-up/commit/6c5add2449a5a0ef33e1907f6711309a13e429d1))
* bump production dependencies within SemVer ranges ([#3682](https://github.com/Second-Live/karma-up/issues/3682)) ([36467a8](https://github.com/Second-Live/karma-up/commit/36467a8ac357108343dde4131ef34099004711e5)), closes [#3680](https://github.com/Second-Live/karma-up/issues/3680)
* bump vulnerable ua-parser-js version ([6f2b2ec](https://github.com/Second-Live/karma-up/commit/6f2b2ec6ed0218980eabf2cbf44e0c8f16fee661)), closes [#3713](https://github.com/Second-Live/karma-up/issues/3713)
* call .resume to prevent browser output streams filling up ([107cd02](https://github.com/Second-Live/karma-up/commit/107cd02f5f9e42010628facdd12636f65774ecf7))
* capturing console.log on IE ([fa4b686](https://github.com/Second-Live/karma-up/commit/fa4b686a81ad826f256a4ca63c772af7ad6e411e)), closes [#329](https://github.com/Second-Live/karma-up/issues/329)
* catch exceptions from SourceMapConsumer ([5d42e64](https://github.com/Second-Live/karma-up/commit/5d42e64373345f1beed95218983861f77352c16c))
* Change timing on test ([0cb6204](https://github.com/Second-Live/karma-up/commit/0cb6204f157c4ec1078aeb622ea33bbde930da4a))
* **changelog:** remove release which does not exist ([#3214](https://github.com/Second-Live/karma-up/issues/3214)) ([4e87902](https://github.com/Second-Live/karma-up/commit/4e8790212d3ea712be3184349ff5041d20473baa))
* **ci:** abandon browserstack tests for Safari and IE ([#3615](https://github.com/Second-Live/karma-up/issues/3615)) ([04a811d](https://github.com/Second-Live/karma-up/commit/04a811dc7a4b37aa56c0405880f03cb2493bf820))
* **ci:** echo travis env that gates release after_success ([#3446](https://github.com/Second-Live/karma-up/issues/3446)) ([b8b2ed8](https://github.com/Second-Live/karma-up/commit/b8b2ed81e595baf0337c9628a736494b9f2c91c1))
* **ci:** poll every 10s to avoid rate limit. ([#3388](https://github.com/Second-Live/karma-up/issues/3388)) ([91e7e00](https://github.com/Second-Live/karma-up/commit/91e7e00b29db95ea7209f60c07431b10ab597b02))
* **ci:** Repaired AppVeyor for Node.js@0.12 ([cbfd98c](https://github.com/Second-Live/karma-up/commit/cbfd98ccb4e48de51b604e8148f3279a25a6edc6))
* **ci:** stop the proxy before killing the child, handle errors ([#3472](https://github.com/Second-Live/karma-up/issues/3472)) ([abe9af6](https://github.com/Second-Live/karma-up/commit/abe9af616f7a08f3c64cc06f6a68bd5f9c941133)), closes [#3464](https://github.com/Second-Live/karma-up/issues/3464)
* **cli:** Always pass an instance of fs to processArgs. ([06532b7](https://github.com/Second-Live/karma-up/commit/06532b7042371f270c227a1a7f859f2dab5afac1)), closes [#677](https://github.com/Second-Live/karma-up/issues/677)
* **client.html:** always open debug.html in a new browser process ([d176bcf](https://github.com/Second-Live/karma-up/commit/d176bcf47e9b3a7df8c6ae691f767f1012214c53))
* **client:** add ES5 shim ([14c30b7](https://github.com/Second-Live/karma-up/commit/14c30b734fc14057b51f17c543431711c6ad57e9)), closes [#1529](https://github.com/Second-Live/karma-up/issues/1529)
* **client:** add proxy support to stringify ([be10116](https://github.com/Second-Live/karma-up/commit/be10116dde92f3c5f87a09cec93f19665b95c129))
* **client:** avoid race between execute and clearContext ([#3452](https://github.com/Second-Live/karma-up/issues/3452)) ([8bc5b46](https://github.com/Second-Live/karma-up/commit/8bc5b468393bb90c0cac8f400d61e3434596c05a)), closes [#3424](https://github.com/Second-Live/karma-up/issues/3424)
* **client:** check in bundled client code into version control ([#3524](https://github.com/Second-Live/karma-up/issues/3524)) ([6cd5a3b](https://github.com/Second-Live/karma-up/commit/6cd5a3b091490ad1c621710456f359213f0c161e)), closes [/github.com/karma-runner/karma/commit/f5521df7df5cd1201b5dce28dc4e326b1ffc41fd#commitcomment-38967493](https://github.com//github.com/karma-runner/karma/commit/f5521df7df5cd1201b5dce28dc4e326b1ffc41fd/issues/commitcomment-38967493)
* **client:** clearContext after complete sent ([#3657](https://github.com/Second-Live/karma-up/issues/3657)) ([c0962e3](https://github.com/Second-Live/karma-up/commit/c0962e34fb2c0a7a43bead8d600ad4a6dbb29c3d))
* **client:** do not reset karmaNavigating in unload handler ([#3591](https://github.com/Second-Live/karma-up/issues/3591)) ([4a8178f](https://github.com/Second-Live/karma-up/commit/4a8178f3a0504ef007b23ef0fd8f5ca128f0c5c6)), closes [#3482](https://github.com/Second-Live/karma-up/issues/3482)
* **client:** does not throws an error for non DOM object that has `tagName` property ([ba55afb](https://github.com/Second-Live/karma-up/commit/ba55afb30e402e0e930f8c0d025fa6bec1d052e1)), closes [#2139](https://github.com/Second-Live/karma-up/issues/2139)
* **client:** don't crash if receive array-like results ([e095411](https://github.com/Second-Live/karma-up/commit/e095411f3f7684b2ad96f31abb5eba3cd7fd54da)), closes [#2061](https://github.com/Second-Live/karma-up/issues/2061)
* **client:** dynamic protocol for socket.io ([c986eef](https://github.com/Second-Live/karma-up/commit/c986eefeba01ef46a8bb7595a8285ff24986126c)), closes [#1400](https://github.com/Second-Live/karma-up/issues/1400)
* **client:** Enable loading different file types when running in parent mode without iframe ([#3289](https://github.com/Second-Live/karma-up/issues/3289)) ([7968db6](https://github.com/Second-Live/karma-up/commit/7968db63eb9899961dec19655904502334043735))
* **client:** error out when opening a new tab fails ([099b85e](https://github.com/Second-Live/karma-up/commit/099b85ed0a46e37dd7cb14fc1596cbb1b3eabce9))
* **client:** fix a false positive page reload error in Safari ([#3643](https://github.com/Second-Live/karma-up/issues/3643)) ([2a57b23](https://github.com/Second-Live/karma-up/commit/2a57b230cd6b27e1a6e903ca6557c5a6b3e31bf6))
* **client:** fix issue with loaded on safari 10 ([#3252](https://github.com/Second-Live/karma-up/issues/3252)) ([571191c](https://github.com/Second-Live/karma-up/commit/571191cfbe41010c6fa4283bd7d8447d5fcbb4ba)), closes [#3198](https://github.com/Second-Live/karma-up/issues/3198)
* **client:** Fix stringify serializing objects ([0d0972a](https://github.com/Second-Live/karma-up/commit/0d0972a59e6e0354033c9fdfec72d5ddfbfe8e1e))
* **client:** flush resultsBuffer on engine upgrade ([#3212](https://github.com/Second-Live/karma-up/issues/3212)) ([e44ca94](https://github.com/Second-Live/karma-up/commit/e44ca944fe94ae455cd6dc45d9985a6d9fb94754)), closes [#3211](https://github.com/Second-Live/karma-up/issues/3211)
* **client:** Only create the funky object if message is not a string ([#3298](https://github.com/Second-Live/karma-up/issues/3298)) ([ce6825f](https://github.com/Second-Live/karma-up/commit/ce6825f4c88c2737fd6bd943e006c6ab5a0fe485)), closes [#3296](https://github.com/Second-Live/karma-up/issues/3296)
* **client:** prevent socket.io from hanging due to mocked clocks ([#3695](https://github.com/Second-Live/karma-up/issues/3695)) ([105da90](https://github.com/Second-Live/karma-up/commit/105da90a9975c1050f96cda966bd30a3c677494e))
* **client:** redirect to redirect_url after all messages are sent ([4d05602](https://github.com/Second-Live/karma-up/commit/4d05602c803a6645d6c0e9404a60ed380f0329ee))
* **client:** Revert back to old reloading detection ([f1c22d6](https://github.com/Second-Live/karma-up/commit/f1c22d66de8fe4109f903e8e3cfe4190baa36877)), closes [#1656](https://github.com/Second-Live/karma-up/issues/1656)
* **client:** serialise DOM objects ([1f73be4](https://github.com/Second-Live/karma-up/commit/1f73be4f94415947b286dadd068920bd8fa2b142)), closes [#1106](https://github.com/Second-Live/karma-up/issues/1106)
* **client:** show error if an adapter is removed ([a8b250c](https://github.com/Second-Live/karma-up/commit/a8b250cf6a89cf064f67ecb1e2c040cc224d91e9))
* **client:** Update location detection for socket.io ([7a23fa5](https://github.com/Second-Live/karma-up/commit/7a23fa571854fa6c1e7e7dc7fdfddeafa9759d58))
* **client:** Use supported shim path. ([184f12e](https://github.com/Second-Live/karma-up/commit/184f12e415fa970b3d14b70a41e2336d1fa73eb4))
* **client:** Wait for childwindow to load ([c1bb15a](https://github.com/Second-Live/karma-up/commit/c1bb15a2a48586165af4e08b737d0bfb9252dcdd))
* **client:** Wait for iframe to be loaded ([1631474](https://github.com/Second-Live/karma-up/commit/1631474e7484a89523eabdbc5eb98e431c286c2e)), closes [#1652](https://github.com/Second-Live/karma-up/issues/1652)
* **cli:** override if an arg is defined multiple times ([31eb2c2](https://github.com/Second-Live/karma-up/commit/31eb2c2c3ca1663eff94f0398768a9b582332a93)), closes [#1192](https://github.com/Second-Live/karma-up/issues/1192)
* **cli:** print UserAgent string verbatim if from an unknown browser ([9d97226](https://github.com/Second-Live/karma-up/commit/9d972263dd80920813500dd04c53b754cda81696))
* **cli:** restore command line help contents ([#3502](https://github.com/Second-Live/karma-up/issues/3502)) ([e99da31](https://github.com/Second-Live/karma-up/commit/e99da316a2d3f875f45baf4e985e521a2fcc755f)), closes [#3474](https://github.com/Second-Live/karma-up/issues/3474)
* **cli:** restore shell completion in the npm package ([f56b5a5](https://github.com/Second-Live/karma-up/commit/f56b5a507623d98c299aafe3cc1fc0fb9c431010)), closes [#2351](https://github.com/Second-Live/karma-up/issues/2351)
* **cli:** temporarily disable strict parameters validation ([#3641](https://github.com/Second-Live/karma-up/issues/3641)) ([9c755e0](https://github.com/Second-Live/karma-up/commit/9c755e0d61f1e8fb0fed1281fc8a331d5f1734be)), closes [#3625](https://github.com/Second-Live/karma-up/issues/3625)
* **cli:** Use `bin` field in package.json ([6823926](https://github.com/Second-Live/karma-up/commit/6823926f0588f4a219705eb648fbb36a933a32d5)), closes [#1351](https://github.com/Second-Live/karma-up/issues/1351)
* **commitlint:** skip task on master ([#3650](https://github.com/Second-Live/karma-up/issues/3650)) ([3fc6fda](https://github.com/Second-Live/karma-up/commit/3fc6fdadd6b0ed6838de048c15485b1bd815fe23))
* **common:** fix AppVeyor build ([6c5e7d0](https://github.com/Second-Live/karma-up/commit/6c5e7d00758f964a13473c44cd8370a07a6ad07d))
* **common:** more detailed info about error ([424aacc](https://github.com/Second-Live/karma-up/commit/424aacc4669697bd8032276cdac2339ccad1181b))
* **common:** Proxy function toString does not contain Proxy. ([4fb3484](https://github.com/Second-Live/karma-up/commit/4fb3484285d174ac23a1da4432af4de5a87928ba))
* **common:** stringify error on 'Cannot convert a Symbol value to a string' ([#2990](https://github.com/Second-Live/karma-up/issues/2990)) ([65b658a](https://github.com/Second-Live/karma-up/commit/65b658a8ba33831c1cf22e56bf484f42da232617)), closes [#2856](https://github.com/Second-Live/karma-up/issues/2856)
* **completion:** add missin --log-level for karma init ([1e79eb5](https://github.com/Second-Live/karma-up/commit/1e79eb553e40530adef36b30b35a79f7a8026ddf))
* **config:** [#1113](https://github.com/Second-Live/karma-up/issues/1113) Watching is not working properly on linux ([c91ffbc](https://github.com/Second-Live/karma-up/commit/c91ffbc05f78f2c17dcc43039300cdf045e64ccc))
* **config:** add crossOriginAttribute config option ([1e465b1](https://github.com/Second-Live/karma-up/commit/1e465b1f473212c208a34b81ad56e1b454deb7f7))
* **config:** add test:unit npm script ([#3242](https://github.com/Second-Live/karma-up/issues/3242)) ([02f071d](https://github.com/Second-Live/karma-up/commit/02f071d5c9f55e853a5178f02b8dc58f0c3a103c))
* **config:** allow CoffeeScript 1.7 to be used ([a1583de](https://github.com/Second-Live/karma-up/commit/a1583decd97438a241f99287159da2948eb3a95f))
* **config:** allow parsing the config multiple times ([78a7094](https://github.com/Second-Live/karma-up/commit/78a7094e0f262c431e904f99cf356be53eee3510))
* **config:** apply CLI logger options as soon as we can ([16179b0](https://github.com/Second-Live/karma-up/commit/16179b08021334cfab02a9dcba8d7f4bd219bc5e))
* **config:** better errors if file invalid or does not exist ([74b533b](https://github.com/Second-Live/karma-up/commit/74b533beb34c115f5080d412a03573d269d540aa))
* **config:** Call debug log methods after setting the loglevel based upon config/cli-options. ([99fd3f0](https://github.com/Second-Live/karma-up/commit/99fd3f03a67d5141ceb3d44d1bf0bf6717a0255a))
* **config:** Call debug log methods after setting the loglevel based upon config/cli-options. ([a340dae](https://github.com/Second-Live/karma-up/commit/a340dae52cd1955ff6d6a6a3dd6799cb23bd8e32))
* **config:** check extension before ts-node register ([#3651](https://github.com/Second-Live/karma-up/issues/3651)) ([474f4e1](https://github.com/Second-Live/karma-up/commit/474f4e1caff469cce87f19a11d9179e4e05552f9)), closes [#3329](https://github.com/Second-Live/karma-up/issues/3329)
* **config:** Check if configFilePath is a string. ([98724b6](https://github.com/Second-Live/karma-up/commit/98724b6ef5a6ba60d487e7b774056832c6ca9d8c)), closes [#447](https://github.com/Second-Live/karma-up/issues/447)
* **config:** corrects spelling in example config template ([9fafc60](https://github.com/Second-Live/karma-up/commit/9fafc60f24d61f3072de35c89ec566db5ca21bff))
* **config:** Default remaining client options if any are set ([632dd5e](https://github.com/Second-Live/karma-up/commit/632dd5e329191bff0bc85d9bcf58657143315adc)), closes [#961](https://github.com/Second-Live/karma-up/issues/961)
* **config:** do not change urlRoot even if proxied ([8c138b5](https://github.com/Second-Live/karma-up/commit/8c138b504046a3aeb230b71e1049aa60ee46905d))
* **config:** ensure basePath is always resolved ([2e5c5aa](https://github.com/Second-Live/karma-up/commit/2e5c5aaaddc4ad4e1ee9c8fa0388d3916827f403))
* **config:** Error when browers option isn't array ([b695460](https://github.com/Second-Live/karma-up/commit/b6954608a97c349c99205f25f9f677447a9a0b7a))
* **config:** fail if client.args is set to a non array ([fe4eaec](https://github.com/Second-Live/karma-up/commit/fe4eaec09f1b7d34270dec7f948cd9441ef6fe48))
* **config:** fix the warning when using old syntax ([5e55d79](https://github.com/Second-Live/karma-up/commit/5e55d797f7544a45c3042e301bbf71e8b830daf3))
* **config:** frameworks spelling ([9259740](https://github.com/Second-Live/karma-up/commit/9259740a81ef39a64656af800cee24091ce2d97e))
* **config:** ignore empty string patterns ([66c86a6](https://github.com/Second-Live/karma-up/commit/66c86a6689aaac82006fa47762bd86496ad76bf7))
* **config:** Log the final config just before use. ([#3041](https://github.com/Second-Live/karma-up/issues/3041)) ([05dd09a](https://github.com/Second-Live/karma-up/commit/05dd09a73232c31545d713b90dcaad260da00ff8))
* **config:** make the config changes backwards compatible ([593ad85](https://github.com/Second-Live/karma-up/commit/593ad853c330a7856f2112db2bfb288f67948fa6))
* **config:** move puppeteer from dependency to dev-dependency ([#3193](https://github.com/Second-Live/karma-up/issues/3193)) ([f0d52ad](https://github.com/Second-Live/karma-up/commit/f0d52ad6427c467b9482e3a80889bb3feccf053c)), closes [#3191](https://github.com/Second-Live/karma-up/issues/3191)
* **config:** not append empty module if no custom launcher/rep/prep ([ee15a4e](https://github.com/Second-Live/karma-up/commit/ee15a4e446e9f35949a2fdde7cbdbecdd7ca0750))
* **config:** remove phantomjs in favor of chrome headless ([#3175](https://github.com/Second-Live/karma-up/issues/3175)) ([0f8b2b1](https://github.com/Second-Live/karma-up/commit/0f8b2b17e8fb4aab101ed9acfc65a3090b3298ca))
* **config:** Retry install with appveyor-retry.   ([17d5791](https://github.com/Second-Live/karma-up/commit/17d57914b7b8d91ef3f8b3eb3f9a646a9e67fdd6))
* **config:** Separate ENOENT error handler from others ([e49dabe](https://github.com/Second-Live/karma-up/commit/e49dabe783d6cfb2ee97b70ac01953e82f70f831))
* **config:** Simpilfy error proceesing. ([#3345](https://github.com/Second-Live/karma-up/issues/3345)) ([582a406](https://github.com/Second-Live/karma-up/commit/582a406aa124a39ed57fc54673b73ca9cf808ae7)), closes [#3339](https://github.com/Second-Live/karma-up/issues/3339)
* **config:** use polling by default ([53978c4](https://github.com/Second-Live/karma-up/commit/53978c42f10088fb29d09597817c5dde58aeb32b))
* **config:** wait 20s for browser activity. ([#3087](https://github.com/Second-Live/karma-up/issues/3087)) ([88b977f](https://github.com/Second-Live/karma-up/commit/88b977fcada5d08ae8d5bba9bc8eefc8404eff82))
* **config:** Wait 30s for browser activity per Travis. ([#3091](https://github.com/Second-Live/karma-up/issues/3091)) ([f6d2f0e](https://github.com/Second-Live/karma-up/commit/f6d2f0ea5a3323c5e359e26fe5be9fbf68db819f))
* **config:** Workaround npm 5.4 windows bug ([ec47d81](https://github.com/Second-Live/karma-up/commit/ec47d8115e48680cc8b9cf253bd92dbb4106e162))
* **context:** do not error when karma is navigating ([#3565](https://github.com/Second-Live/karma-up/issues/3565)) ([05dc288](https://github.com/Second-Live/karma-up/commit/05dc28801627e3ce7054ae548046714dc2cf7a5e)), closes [#3560](https://github.com/Second-Live/karma-up/issues/3560)
* **context:** Updated postMessage listener to stop validating non-Karma messages ([306e565](https://github.com/Second-Live/karma-up/commit/306e5651c9ffdcc1a187b2d4c50cac654375f4db))
* **coverage:** always send a result object ([62c3c67](https://github.com/Second-Live/karma-up/commit/62c3c6790659f8f82f8a2ca5646aa424eeb28842)), closes [#365](https://github.com/Second-Live/karma-up/issues/365)
* **cve:** update ua-parser-js to 0.7.23 to fix CVE-2020-7793 ([#3584](https://github.com/Second-Live/karma-up/issues/3584)) ([f819fa8](https://github.com/Second-Live/karma-up/commit/f819fa843fa0633edbe2af6ac2889e25ea2cb639))
* **cve:** update yargs to 16.1.1 to fix cve-2020-7774 in y18n ([#3578](https://github.com/Second-Live/karma-up/issues/3578)) ([3fed0bc](https://github.com/Second-Live/karma-up/commit/3fed0bc7dd042a09c8aec55c059654781a4584ec)), closes [#3577](https://github.com/Second-Live/karma-up/issues/3577)
* **debug-runner:** support asynchronous tests in the debug runner ([a36f3eb](https://github.com/Second-Live/karma-up/commit/a36f3eb47408316686d1eeae4c54b6ca8edc54bd)), closes [#2811](https://github.com/Second-Live/karma-up/issues/2811)
* **debug.html:** Added whitespace after 'SKIPPED' ([218ee85](https://github.com/Second-Live/karma-up/commit/218ee859d8c8f1c7d2f47435548030f367f1e05d))
* **dep:** Bump useragent to fix HeadlessChrome version ([#3201](https://github.com/Second-Live/karma-up/issues/3201)) ([240209f](https://github.com/Second-Live/karma-up/commit/240209f738df69a9e382e04d8c59f020b34c3267)), closes [#2762](https://github.com/Second-Live/karma-up/issues/2762)
* **dependencies:** update and unlock socket.io dependency ([#3513](https://github.com/Second-Live/karma-up/issues/3513)) ([b60391f](https://github.com/Second-Live/karma-up/commit/b60391fbddcfa5f8c50b6ac6e3c8d8d845258a56))
* **dependencies:** update dependencies ([#3543](https://github.com/Second-Live/karma-up/issues/3543)) ([5db46b7](https://github.com/Second-Live/karma-up/commit/5db46b799b84a3d29157edfdbb8d0d0bc57f8fbc))
* **dependencies:** update production dependencies ([#3512](https://github.com/Second-Live/karma-up/issues/3512)) ([0cd696f](https://github.com/Second-Live/karma-up/commit/0cd696fe91f2616f6646ea5c67cc44b49d7e941a))
* **dependencies:** update to latest log4js major ([#3514](https://github.com/Second-Live/karma-up/issues/3514)) ([47f1cb2](https://github.com/Second-Live/karma-up/commit/47f1cb222ee0921defbe313b694da3288a894fec))
* **dependencies:** update to safe version of http-proxy ([#3519](https://github.com/Second-Live/karma-up/issues/3519)) ([00347bb](https://github.com/Second-Live/karma-up/commit/00347bb204c8c87e1096679af4634032d6600b67)), closes [#3510](https://github.com/Second-Live/karma-up/issues/3510)
* **deps:** back to karma-browserstack-launcher 1.4 ([#3361](https://github.com/Second-Live/karma-up/issues/3361)) ([1cd87ad](https://github.com/Second-Live/karma-up/commit/1cd87ad04e11d6a79ba6f0a0bba42371be8e55bd))
* **deps:** bump log4js to resolve security issue ([5bf2df3](https://github.com/Second-Live/karma-up/commit/5bf2df304453c8f71ebc725653fd174ddb1dd28b)), closes [#3751](https://github.com/Second-Live/karma-up/issues/3751)
* **deps:** bump socket-io to v3 ([#3586](https://github.com/Second-Live/karma-up/issues/3586)) ([1b9e1de](https://github.com/Second-Live/karma-up/commit/1b9e1de7d081e1c205debff27c6b5e1fe0585dee)), closes [#3569](https://github.com/Second-Live/karma-up/issues/3569)
* **deps:** freeze socket.io version ([73e300d](https://github.com/Second-Live/karma-up/commit/73e300da116540a0b63b4f34a4f9dfb74606b0a7))
* **deps:** freeze useragent version ([a8c8530](https://github.com/Second-Live/karma-up/commit/a8c8530f0f8d8715a3e75bed1961a0c14d821d6b))
* **deps:** lodash update. ([#3341](https://github.com/Second-Live/karma-up/issues/3341)) ([5614c04](https://github.com/Second-Live/karma-up/commit/5614c040f2e84d74ec95227c23d634356fbf5b60))
* **deps:** pin colors package to 1.4.0 due to security vulnerability ([a5219c5](https://github.com/Second-Live/karma-up/commit/a5219c52e2515248eefae4fe1863ac8ad3fdd43b))
* **deps:** remove babel-core and babel call in wallaby. ([#3044](https://github.com/Second-Live/karma-up/issues/3044)) ([7da8ca0](https://github.com/Second-Live/karma-up/commit/7da8ca058b3868669e4e57ae614c1bea4de9e2fd))
* **deps:** update colors to maintained version ([#3763](https://github.com/Second-Live/karma-up/issues/3763)) ([fca1884](https://github.com/Second-Live/karma-up/commit/fca18843e7a04eeb67b86cb3cfc3db794d66f445))
* **deps:** Update dependencies ([b9a4ce9](https://github.com/Second-Live/karma-up/commit/b9a4ce989436b7213178becb37c635476c8c11a1)), closes [#1410](https://github.com/Second-Live/karma-up/issues/1410)
* **deps:** Update log4js in package.json ([#2996](https://github.com/Second-Live/karma-up/issues/2996)) ([667b47e](https://github.com/Second-Live/karma-up/commit/667b47efbe42800189efc9ba697f07c2671a7845))
* **deps:** update socket.io to version 2.0.3. ([3b7b019](https://github.com/Second-Live/karma-up/commit/3b7b0196e407687b9c1704c34a70f59ebf03b6a2)), closes [#2821](https://github.com/Second-Live/karma-up/issues/2821) [#2777](https://github.com/Second-Live/karma-up/issues/2777)
* **deps:** Upgrade connect 3. ([b490985](https://github.com/Second-Live/karma-up/commit/b490985c6e165ba978d3f80078a45b44e18728fc)), closes [#1410](https://github.com/Second-Live/karma-up/issues/1410)
* **deps:** upgrade sinon-chai 2.x -> 3.x ([#3207](https://github.com/Second-Live/karma-up/issues/3207)) ([dc5f5de](https://github.com/Second-Live/karma-up/commit/dc5f5de537903087afbcfea3d550601f5b380f56))
* **deps:** upgrade socket.io to v4.4.1 ([52a30bb](https://github.com/Second-Live/karma-up/commit/52a30bbc6e168333a8592c26c9f40678d6ab74ea))
* detect a full page reload, show error and recover ([15d80f4](https://github.com/Second-Live/karma-up/commit/15d80f47a227839e9b0d54aeddf49b9aa9afe8aa)), closes [#27](https://github.com/Second-Live/karma-up/issues/27)
* detect type for URLs with query parameter or fragment identifier ([#3509](https://github.com/Second-Live/karma-up/issues/3509)) ([f399063](https://github.com/Second-Live/karma-up/commit/f399063d1bc8954dba74166ea3dabef2fe376ae4)), closes [#3497](https://github.com/Second-Live/karma-up/issues/3497)
* do not execute already executing browsers ([00136cf](https://github.com/Second-Live/karma-up/commit/00136cf6d818b9bc6e4d77504e3ce1ed3d23d611))
* **doc:** Document release steps for admins ([#3063](https://github.com/Second-Live/karma-up/issues/3063)) ([a701732](https://github.com/Second-Live/karma-up/commit/a70173273aed9774f078ce3d2f1071f760dfbbaa))
* **docs:** fix stopper.stop wrong variable name. closes [#2244](https://github.com/Second-Live/karma-up/issues/2244) ([0745a00](https://github.com/Second-Live/karma-up/commit/0745a008f934f646bf38eadbbe9c18cd48f45c98))
* **docs:** Remove mention of pre 1.0.0 version ([#3010](https://github.com/Second-Live/karma-up/issues/3010)) ([6847ca0](https://github.com/Second-Live/karma-up/commit/6847ca04df4eecfc413bb75807b0146ba0d157a5))
* **docs:** Update 03-how-it-works.md ([#3539](https://github.com/Second-Live/karma-up/issues/3539)) ([e7cf7b1](https://github.com/Second-Live/karma-up/commit/e7cf7b11ca3f70a6401c0499376f78984b18e1cc))
* don't crash/terminate upon errors within chokidar ([2c38931](https://github.com/Second-Live/karma-up/commit/2c389311ce683646675adccf5a7b7b3160335148)), closes [#959](https://github.com/Second-Live/karma-up/issues/959)
* don't mark a browser captured if already being killed/timeouted ([2123097](https://github.com/Second-Live/karma-up/commit/212309795861cf599dbcc0ed60fff612ccf25cf5)), closes [#88](https://github.com/Second-Live/karma-up/issues/88)
* ensure that Karma supports running tests on IE 11 ([#3642](https://github.com/Second-Live/karma-up/issues/3642)) ([dbd1943](https://github.com/Second-Live/karma-up/commit/dbd1943e6901c4cb86280db7663afde32f9ab86c))
* eslint rules ([afb466d](https://github.com/Second-Live/karma-up/commit/afb466dfd6c7f6a269dbf4eefd12ee548305880f))
* **eslint:** Fix formatting for the new ESLint 1.8.0 ([dc1bbab](https://github.com/Second-Live/karma-up/commit/dc1bbab071e70227ffaa6230846d86f93ec4b03c))
* **events:** bind emitters with for..in. ([#3059](https://github.com/Second-Live/karma-up/issues/3059)) ([b99f03f](https://github.com/Second-Live/karma-up/commit/b99f03fcb8242dd2fd1ac769642c41314679833b)), closes [#3057](https://github.com/Second-Live/karma-up/issues/3057)
* **events:** resolve async events without any listener ([4e4bba8](https://github.com/Second-Live/karma-up/commit/4e4bba8803d1e4f461e568cc2e2ccf82e369721d))
* **executor:** ensure run_complete is emitted last ([9c894f9](https://github.com/Second-Live/karma-up/commit/9c894f9eab19945b2c4355874d63854eb1c8ede7)), closes [#2210](https://github.com/Second-Live/karma-up/issues/2210)
* few typos ([c6a4271](https://github.com/Second-Live/karma-up/commit/c6a42710b40e81269f1e6c5d5bb55d01188a8872))
* **file_list:** follow symlinks ([ee26748](https://github.com/Second-Live/karma-up/commit/ee2674834bc9d0008e6c2b686f45c9b62e41e3c2))
* **file_list:** Incorrect response after remove and add file ([0dbc020](https://github.com/Second-Live/karma-up/commit/0dbc0201b2d1f7c909f74816cc50bc68013fc70f))
* **file-list:** always use file from first matcher ([74bfdf3](https://github.com/Second-Live/karma-up/commit/74bfdf3f41781e3d77a293b36565a71e879979f9))
* **file-list:** do not define fs.statAsync ([#3467](https://github.com/Second-Live/karma-up/issues/3467)) ([55a59e7](https://github.com/Second-Live/karma-up/commit/55a59e70017af79d6f3c170d87d808acc8e21faf))
* **file-list:** do not preprocess up-to-date files ([#3196](https://github.com/Second-Live/karma-up/issues/3196)) ([5334d1a](https://github.com/Second-Live/karma-up/commit/5334d1a86b46f3c106b5a86f0bee7e4a58c5e4ae)), closes [#2829](https://github.com/Second-Live/karma-up/issues/2829)
* **file-list:** Ensure autowatchDelay is working. ([655599a](https://github.com/Second-Live/karma-up/commit/655599ad295b3d3aa58aaa1ebf8ee5aa7ea9059b)), closes [#1520](https://github.com/Second-Live/karma-up/issues/1520)
* **file-list:** Ensure files are sorted and unique ([9dc5f8b](https://github.com/Second-Live/karma-up/commit/9dc5f8bc431a648ca0e03bc83fbefbf8d3a92c6f)), closes [#1498](https://github.com/Second-Live/karma-up/issues/1498) [#1499](https://github.com/Second-Live/karma-up/issues/1499)
* **file-list:** ensure patterns are comparable ([4d1bf3e](https://github.com/Second-Live/karma-up/commit/4d1bf3e1fa998df5bd08ebfb99f0a5f69a8f023d)), closes [#2194](https://github.com/Second-Live/karma-up/issues/2194)
* **file-list:** Normalize glob patterns ([fb841a7](https://github.com/Second-Live/karma-up/commit/fb841a799d83209a6e0d58722cf6239e4990b946)), closes [#1494](https://github.com/Second-Live/karma-up/issues/1494)
* **file-list:** refresh resolves before 'file_list_modified' event ([65f1eca](https://github.com/Second-Live/karma-up/commit/65f1ecad58782cd832febafabc8e01019402bd33)), closes [#1550](https://github.com/Second-Live/karma-up/issues/1550)
* **file-list:** revert "do not preprocess up-to-date files" ([#3226](https://github.com/Second-Live/karma-up/issues/3226)) ([#3230](https://github.com/Second-Live/karma-up/issues/3230)) ([bb022a7](https://github.com/Second-Live/karma-up/commit/bb022a7fa06042eb0d98ed72c75b74038128d9c0))
* **file-list:** Stop polluting global environment with core-js ([0988022](https://github.com/Second-Live/karma-up/commit/0988022f49e182fc642d6fa8daea1926225bb653))
* **file-list:** Use correct find function ([4cfaae9](https://github.com/Second-Live/karma-up/commit/4cfaae96d829957c8fcda9f51c44eb51ca4c4ab0))
* **file-list:** use lodash find() ([3bd15a7](https://github.com/Second-Live/karma-up/commit/3bd15a7fc467830af107baa3a4a5469cc5ac2daa)), closes [#1533](https://github.com/Second-Live/karma-up/issues/1533)
* **file-list:** Use modified throttle instead of debounce ([cb2aafb](https://github.com/Second-Live/karma-up/commit/cb2aafb3588904b2636e90521179b476301b031c)), closes [#1545](https://github.com/Second-Live/karma-up/issues/1545)
* **filelist:** correct logger name. ([#3262](https://github.com/Second-Live/karma-up/issues/3262)) ([375bb5e](https://github.com/Second-Live/karma-up/commit/375bb5e37c34535e222e019d0b11454f5a2b1593))
* **files:** Ignore included:false pattern ([db42a7f](https://github.com/Second-Live/karma-up/commit/db42a7fb1d37fa1196759b4f6b12e39f612fae5c)), closes [#1530](https://github.com/Second-Live/karma-up/issues/1530)
* filter browser logging by level of LOG ([89a7a1c](https://github.com/Second-Live/karma-up/commit/89a7a1cce68246c620f9959ee31133bfa42be5dc)), closes [#2228](https://github.com/Second-Live/karma-up/issues/2228)
* fix running tests in IE9 ([#3668](https://github.com/Second-Live/karma-up/issues/3668)) ([0055bc5](https://github.com/Second-Live/karma-up/commit/0055bc5cbf75597fa1601661bc4bec8cc701a49a)), closes [/github.com/karma-runner/karma/blob/026fff870913fb6cd2858dd962935dc74c92b725/client/main.js#L14](https://github.com//github.com/karma-runner/karma/blob/026fff870913fb6cd2858dd962935dc74c92b725/client/main.js/issues/L14) [#3665](https://github.com/Second-Live/karma-up/issues/3665)
* **flaky-test:** Add time to beforeEach() to allow plugins to load on first pass. ([#3025](https://github.com/Second-Live/karma-up/issues/3025)) ([31d9a08](https://github.com/Second-Live/karma-up/commit/31d9a08892f51308efbe7c467c379b3f70f1e416))
* global error handler should propagate errors ([dec0c19](https://github.com/Second-Live/karma-up/commit/dec0c19651c251dcbc16c44a57775bcb37f78cf1)), closes [#368](https://github.com/Second-Live/karma-up/issues/368)
* **helper:** Ensure browser detection is handled in the unkown case ([9328f67](https://github.com/Second-Live/karma-up/commit/9328f67e20e4874b6b7cc9b9551cdf4725ce0620))
* **helper:** make mkdirIfNotExists helper resilient to concurrent calls ([d9dade2](https://github.com/Second-Live/karma-up/commit/d9dade2f004a340e49c9a633177576200c286404)), closes [/github.com/karma-runner/karma-coverage/issues/434#issuecomment-1017939333](https://github.com//github.com/karma-runner/karma-coverage/issues/434/issues/issuecomment-1017939333)
* **helper:** Patched replaceWinPath from choking on `null` values ([caa4d21](https://github.com/Second-Live/karma-up/commit/caa4d21abb1a59ffc7d06b663b5165eceda0360e))
* if preprocessor is async function and doesn't return a content then await donePromise ([#3387](https://github.com/Second-Live/karma-up/issues/3387)) ([f91be24](https://github.com/Second-Live/karma-up/commit/f91be246e7607ea628bdc33511366ee0ea539978))
* ignore jsVersion configuration property in Firefox 59+  ([2694d54](https://github.com/Second-Live/karma-up/commit/2694d549e3a1940144cb548d7ad9b1996a103f42)), closes [#2957](https://github.com/Second-Live/karma-up/issues/2957)
* improve error msg when bin is a directory ([#3231](https://github.com/Second-Live/karma-up/issues/3231)) ([584dddc](https://github.com/Second-Live/karma-up/commit/584dddce0d43c7de33a68e161933167f5a4ca209))
* **init:** add "ChromeHeadless" to the browsers' options ([#3096](https://github.com/Second-Live/karma-up/issues/3096)) ([56fda53](https://github.com/Second-Live/karma-up/commit/56fda53ec19a1a691cd80342fef9b23d9f9fe4d2))
* **init:** add missing browsers (Opera, IE) ([f39e564](https://github.com/Second-Live/karma-up/commit/f39e5645ec561c2681d907f7c1611f01911ee8fd))
* **init:** clean the terminal if killed ([e2aa749](https://github.com/Second-Live/karma-up/commit/e2aa74972ce84388a49090533e353b61bd9b16ed))
* **init:** fix for failing "testacular init" on Windows ([0b5b385](https://github.com/Second-Live/karma-up/commit/0b5b385383f13ac8f29fa6e591a8634eefa04ab7))
* **init:** fix logger configuration ([557922d](https://github.com/Second-Live/karma-up/commit/557922d71941e0929f9cdc0d3794424a1f27b311))
* **init:** fix test-main.(js/coffee) generation ([d8521ef](https://github.com/Second-Live/karma-up/commit/d8521ef4adc0d2878a67f076d5d2042d8a05bd5f)), closes [#1120](https://github.com/Second-Live/karma-up/issues/1120) [#896](https://github.com/Second-Live/karma-up/issues/896)
* **init:** fix the logger configuration ([481dc3f](https://github.com/Second-Live/karma-up/commit/481dc3fd75f45a0efa8aabdb1c71e8234b9e8a06)), closes [#340](https://github.com/Second-Live/karma-up/issues/340)
* **init:** Fix type in init text ([e34465b](https://github.com/Second-Live/karma-up/commit/e34465b01cc583cac9645acc98d20acbf471c856)), closes [#954](https://github.com/Second-Live/karma-up/issues/954)
* **init:** generate config with the new syntax ([6b27fee](https://github.com/Second-Live/karma-up/commit/6b27fee5a43a7d02e706355f62fe5105b4966c43))
* **init:** generate correct indentation ([5fc1795](https://github.com/Second-Live/karma-up/commit/5fc17957be761c06f6ae120c5d3ba800dba8d3a4))
* **init:** generate plugins and frameworks config ([17798d5](https://github.com/Second-Live/karma-up/commit/17798d55988d61070f2b9f59574217208f2b497e))
* **init:** install plugin as dev dependency ([46b7a40](https://github.com/Second-Live/karma-up/commit/46b7a402fb8d700b10e2d72908c309d27212b5a0))
* **init:** Make the requirejs config template normalize paths ([54dcce3](https://github.com/Second-Live/karma-up/commit/54dcce31ea59ba8a425ee656be8b507ffe7d8248)), closes [/github.com/karma-runner/karma/issues/513#issuecomment-48616784](https://github.com//github.com/karma-runner/karma/issues/513/issues/issuecomment-48616784)
* **init:** set default filename ([34d49b1](https://github.com/Second-Live/karma-up/commit/34d49b138f3bee8f17e1e9e343012d82887f906b)), closes [#680](https://github.com/Second-Live/karma-up/issues/680) [#681](https://github.com/Second-Live/karma-up/issues/681)
* **init:** Support ChromeHeadless in `validateBrowser` ([#3110](https://github.com/Second-Live/karma-up/issues/3110)) ([eeadcf2](https://github.com/Second-Live/karma-up/commit/eeadcf299d990c3569252b5c15a1088d3846e99d))
* **init:** to not give false warning about missing requirejs ([562607a](https://github.com/Second-Live/karma-up/commit/562607a16221b256c6e92ad2029154aac88eec8d))
* **init:** trim the inputs ([b72355c](https://github.com/Second-Live/karma-up/commit/b72355cbeadc8e907e48bbd7d9a11e6de17343f7)), closes [#663](https://github.com/Second-Live/karma-up/issues/663)
* install semantic-release as a regular dev dependency ([#3455](https://github.com/Second-Live/karma-up/issues/3455)) ([1eaf35e](https://github.com/Second-Live/karma-up/commit/1eaf35e1d616a2ef21dd00d843552f189fbc7c94))
* invalid characters in the headers on Node 5.6.0 ([152337d](https://github.com/Second-Live/karma-up/commit/152337d991392faecb604d124b8546f4b55e9612))
* **karma:** Escape quotes for file names. This fixes issue [#1876](https://github.com/Second-Live/karma-up/issues/1876). ([9dff3f3](https://github.com/Second-Live/karma-up/commit/9dff3f302ce40117f299b24e3e494e5c90c596da))
* keep all sockets in the case an old socket will survive ([a5945eb](https://github.com/Second-Live/karma-up/commit/a5945ebcf11c4b17b99c40b78d7e2946f79c77c2))
* launcher kill method which was throwing an error if no callback was specified ([5439f1c](https://github.com/Second-Live/karma-up/commit/5439f1cbbdce9de0c2193171f75798587221e257))
* **launcher:** Allow dynamic browser launches ([2b7d703](https://github.com/Second-Live/karma-up/commit/2b7d703b083f6467dbb3b3c7933a1086cefb7cd3))
* **launcher:** better errors when loading launchers ([504e848](https://github.com/Second-Live/karma-up/commit/504e848cf66b065380fa72e07f5337ae2d6e35b5))
* **launcher:** cancel kill timeout when process exits cleanly ([bd66274](https://github.com/Second-Live/karma-up/commit/bd662744bfbe353ccb63c7a795f691d12530129c)), closes [#946](https://github.com/Second-Live/karma-up/issues/946)
* **launcher:** compatibility with Node v0.8 ([6a46be9](https://github.com/Second-Live/karma-up/commit/6a46be96499876e9aa0892325d783627bd1c535d))
* **launcher:** compatibility with old launchers ([df557ce](https://github.com/Second-Live/karma-up/commit/df557cec8093de301a8d7dea4ddca8670629c0af))
* **launcher:** compatibility with old launchers ([ffb7480](https://github.com/Second-Live/karma-up/commit/ffb74800638417910f453e108c8a4c6ffabaee29))
* **launcher:** Continue with exit when SIGKILL fails ([1eaccb4](https://github.com/Second-Live/karma-up/commit/1eaccb4cef9c299bac50514fcaa990de2c0f803f))
* **launcher:** Debug Child Processes exit signal ([#3259](https://github.com/Second-Live/karma-up/issues/3259)) ([c277a6b](https://github.com/Second-Live/karma-up/commit/c277a6bd130531702e2529f0410aa441328f187e))
* **launcher:** exclude concurrent browser on launcher restart ([96f8f14](https://github.com/Second-Live/karma-up/commit/96f8f14c99312d6b2a959d0a7ae39ac85fc4d862)), closes [#2280](https://github.com/Second-Live/karma-up/issues/2280)
* **launcher:** handle ENOENT error, do not retry ([7d790b2](https://github.com/Second-Live/karma-up/commit/7d790b29c09c1f3784fe648b7d5ed16add10b4ca)), closes [#452](https://github.com/Second-Live/karma-up/issues/452)
* **launcher:** ignore exit code when killing/timeouting ([1029bf2](https://github.com/Second-Live/karma-up/commit/1029bf2d7d3d22986aa41439d2ce4115770f4dbd)), closes [#444](https://github.com/Second-Live/karma-up/issues/444)
* **launcher:** Log state transitions in debug ([#3294](https://github.com/Second-Live/karma-up/issues/3294)) ([6556ab4](https://github.com/Second-Live/karma-up/commit/6556ab4e0523e6be9f89f80f9b2d075338841a0b)), closes [#3290](https://github.com/Second-Live/karma-up/issues/3290)
* **launcher:** Only markCaptured browsers that are launched. ([#3047](https://github.com/Second-Live/karma-up/issues/3047)) ([f8f3ebc](https://github.com/Second-Live/karma-up/commit/f8f3ebc45751ffba6ec1aa1d1554c7dfe91de85b))
* **launcher:** send sigkill on timeout when force killing ([c615c1f](https://github.com/Second-Live/karma-up/commit/c615c1ff9523b7485fc9552b7e8dbad20f044920))
* **launchers:** Listen to the correct error event. ([45a6922](https://github.com/Second-Live/karma-up/commit/45a69221703bbd043cd71b8b0934c4be5339e111))
* **lint:** exempt built files ([#3024](https://github.com/Second-Live/karma-up/issues/3024)) ([bc9acd3](https://github.com/Second-Live/karma-up/commit/bc9acd355a09eafa76a48dbe03c7c88909285bc9))
* **logger:** configure the logger as soon as possible ([0607d67](https://github.com/Second-Live/karma-up/commit/0607d67c15eab58ce83cce14ada70a1e2a9f17e9))
* **logger:** create parent folders if they are missing ([0d24bd9](https://github.com/Second-Live/karma-up/commit/0d24bd937f7089d1456e2ecf04419d2c268c3144)), closes [#3734](https://github.com/Second-Live/karma-up/issues/3734)
* **logging:** Summarize SKIPPED tests in debug.html. ([a01100f](https://github.com/Second-Live/karma-up/commit/a01100f5c6404366dd4219b9bf6c3161300dc735)), closes [#1111](https://github.com/Second-Live/karma-up/issues/1111)
* **logging:** Upgrade to log4js 2.x API. ([#2868](https://github.com/Second-Live/karma-up/issues/2868)) ([f6f8707](https://github.com/Second-Live/karma-up/commit/f6f8707efaff1fafdf9329501675518ec41f6b82)), closes [#2858](https://github.com/Second-Live/karma-up/issues/2858)
* **logging:** Util inspect for logging the config. ([#3332](https://github.com/Second-Live/karma-up/issues/3332)) ([70b72a9](https://github.com/Second-Live/karma-up/commit/70b72a91834c531adc259b8d88f9907ec8d0d13d))
* make window.parent.karma available in debugged context ([3e7eaeb](https://github.com/Second-Live/karma-up/commit/3e7eaebb5bafa9ff93ff2f2f14e70f54979f8afb))
* Merge config child nodes on config.set() ([65b688a](https://github.com/Second-Live/karma-up/commit/65b688a9f50c289254da8936e870d1e44fe12831)), closes [karma-runner/grunt-karma#165](https://github.com/karma-runner/grunt-karma/issues/165) [karma-runner/grunt-karma#166](https://github.com/karma-runner/grunt-karma/issues/166)
* **middleware/runner:** handle file list rejections ([#3400](https://github.com/Second-Live/karma-up/issues/3400)) ([80febfb](https://github.com/Second-Live/karma-up/commit/80febfb53a7d041bdcbcffef617e53cdc2d8dd66)), closes [#3396](https://github.com/Second-Live/karma-up/issues/3396) [#3396](https://github.com/Second-Live/karma-up/issues/3396)
* **middleware:** Actually serve the favicon. ([f12db63](https://github.com/Second-Live/karma-up/commit/f12db639c9fe8d3f3210cc5868ae150179a06d3a))
* **middleware:** add file type to absolute urls ([bd1f799](https://github.com/Second-Live/karma-up/commit/bd1f799fda6a6eec2c16318cb1d18488fbf680e2))
* **middleware:** avoid using deprecated Buffer API ([018e6be](https://github.com/Second-Live/karma-up/commit/018e6bec1775d4a6442e2554e510a989c8f0d3be)), closes [/nodejs.org/api/deprecations.html#deprecations_dep0005](https://github.com//nodejs.org/api/deprecations.html/issues/deprecations_dep0005)
* **middleware:** catch errors when loading a module ([#3605](https://github.com/Second-Live/karma-up/issues/3605)) ([fec972f](https://github.com/Second-Live/karma-up/commit/fec972ff63760f9606a4cef7673a68c55c880722)), closes [#3572](https://github.com/Second-Live/karma-up/issues/3572)
* **middleware:** change to use vanilla for loop ([ac62cc0](https://github.com/Second-Live/karma-up/commit/ac62cc0f7d8d85a91626d47c006cc70f1cfafe9e)), closes [#2671](https://github.com/Second-Live/karma-up/issues/2671)
* **middleware:** Correct spelling of middleware logger name ([9e9e7e6](https://github.com/Second-Live/karma-up/commit/9e9e7e6d6099963fdb3e13b68570d5bef11e1a45))
* **middleware:** does not work with mootools ([#2591](https://github.com/Second-Live/karma-up/issues/2591)) ([2685e13](https://github.com/Second-Live/karma-up/commit/2685e1357f457757c3fa3f5d84a837ed9a51b646))
* **middleware:** ensure Range headers adhere more closely to RFC 2616 ([8b1b4b1](https://github.com/Second-Live/karma-up/commit/8b1b4b1052925e15770a0d4017a6ebc9ea89c0ed)), closes [#2310](https://github.com/Second-Live/karma-up/issues/2310)
* **middleware:** fix WARN log when passing undefined error handler to promise.then ([20b87de](https://github.com/Second-Live/karma-up/commit/20b87de18854c19373b935c2cfa7ed5fa4e3ec87)), closes [#2227](https://github.com/Second-Live/karma-up/issues/2227)
* **middleware:** Inject `config.urlRoot`. ([569ca0e](https://github.com/Second-Live/karma-up/commit/569ca0e56671ecffbd247268c0a943c6bfd61ea7)), closes [#1516](https://github.com/Second-Live/karma-up/issues/1516)
* **middleware:** log invalid filetype ([#3292](https://github.com/Second-Live/karma-up/issues/3292)) ([7eb48c5](https://github.com/Second-Live/karma-up/commit/7eb48c53c9e591b2f886baacf40468988219c360)), closes [#3291](https://github.com/Second-Live/karma-up/issues/3291)
* **middleware:** Obey the Promise API. ([93ba05a](https://github.com/Second-Live/karma-up/commit/93ba05ad476ed055e3355f7c4cc03eccd7874e74))
* **middleware:** replace %X_UA_COMPATIBLE% marker anywhere in the file ([f1aeaec](https://github.com/Second-Live/karma-up/commit/f1aeaec09e49856747b8f650d06b4dcc61eb637e)), closes [#3711](https://github.com/Second-Live/karma-up/issues/3711)
* **middleware:** simplify stripHost. ([#3115](https://github.com/Second-Live/karma-up/issues/3115)) ([d65e911](https://github.com/Second-Live/karma-up/commit/d65e911c80f0ccb3d6dac5634c89d93ff45e9ca8))
* **middleware:** update `Buffer` usage ([3d94b8c](https://github.com/Second-Live/karma-up/commit/3d94b8cf18c695104ca195334dc75ff054c74eec))
* **package.json:** sinon-chai 2.13 is not compatible with sinon 4.x ([#2977](https://github.com/Second-Live/karma-up/issues/2977)) ([e095b05](https://github.com/Second-Live/karma-up/commit/e095b054b1da153c8557e4637012459eace35959))
* **package:** bump lodash version ([#3203](https://github.com/Second-Live/karma-up/issues/3203)) ([d38f344](https://github.com/Second-Live/karma-up/commit/d38f344dbca9696d88e0f055b2b4c7dd150708a7)), closes [#3177](https://github.com/Second-Live/karma-up/issues/3177)
* pass integrity value ([63d86be](https://github.com/Second-Live/karma-up/commit/63d86befd3431fe8e1500e22f4f115a3762d000a))
* patch karma to allow loading virtual packages ([#3663](https://github.com/Second-Live/karma-up/issues/3663)) ([5bfcf5f](https://github.com/Second-Live/karma-up/commit/5bfcf5f37de6f0a12abcf9914c2fad510395b4d6))
* **plugins:** refactor instantiatePlugin from preproprocessor ([#3628](https://github.com/Second-Live/karma-up/issues/3628)) ([e02858a](https://github.com/Second-Live/karma-up/commit/e02858ae0d0de3f05add976b10e4b6b935cc3dd7))
* prefer IPv4 addresses when resolving domains ([e17698f](https://github.com/Second-Live/karma-up/commit/e17698f950af83bf2b3edc540d2a3e1fb73cba59)), closes [#3730](https://github.com/Second-Live/karma-up/issues/3730)
* **preprocessor:** better errors when loading preprocessors ([3390a00](https://github.com/Second-Live/karma-up/commit/3390a00b49c513a6da60f48044462118436130f8))
* **preprocessor:** calculate sha1 on content returned from a preprocessor ([6cf7955](https://github.com/Second-Live/karma-up/commit/6cf795576bd6d77decac68ecc4838871b6df4836)), closes [#1204](https://github.com/Second-Live/karma-up/issues/1204)
* **preprocessor:** consider SVG files as text files, not binary files ([ff28803](https://github.com/Second-Live/karma-up/commit/ff2880369f0c4e8b78d95bb20365cead340f8fc9)), closes [#1026](https://github.com/Second-Live/karma-up/issues/1026)
* **preprocessor:** Directory names with dots ([4b5e094](https://github.com/Second-Live/karma-up/commit/4b5e09403680ca3bf15a6f92da7e03335cfaaad8))
* **preprocessor:** do not show duplicate warnings ([47c641f](https://github.com/Second-Live/karma-up/commit/47c641f7560d28e0d9eac7ae010566d296d5b628))
* **preprocessor:** Improve handling of failed preprocessors ([e726d1c](https://github.com/Second-Live/karma-up/commit/e726d1c4e177a54729f22d91f3d8a5dc04694781)), closes [#1521](https://github.com/Second-Live/karma-up/issues/1521)
* **preprocessor:** Lookup patterns once invoked ([00a2781](https://github.com/Second-Live/karma-up/commit/00a278133964e70904f6e9bdec9a488a4902b28c)), closes [#1340](https://github.com/Second-Live/karma-up/issues/1340)
* **preprocessor:** remove ts from binary extensions ([8269852](https://github.com/Second-Live/karma-up/commit/8269852304d2d420bb25a0e4bb13bba58a339f39))
* **preprocessor:** renamed handeFile to readFileCallback ([92a8c81](https://github.com/Second-Live/karma-up/commit/92a8c81fbed0cae423fbd84d3e64bc4086fd30af))
* **preprocessor:** resolve relative patterns to basePath ([c608a9e](https://github.com/Second-Live/karma-up/commit/c608a9e5a34a49da2971add8759a9422b74fa6fd)), closes [#382](https://github.com/Second-Live/karma-up/issues/382)
* **preprocessor:** retry if fs.readFile fails ([4b60513](https://github.com/Second-Live/karma-up/commit/4b605137796f275f4aff3cd0481c78ca153aaf51))
* **preprocessor:** serve NaCl binaries ([1cc6a1e](https://github.com/Second-Live/karma-up/commit/1cc6a1e34b24768bffdaf47fb5e36559f5dc5135))
* **preprocessor:** Throw error if can't open file ([bb4edde](https://github.com/Second-Live/karma-up/commit/bb4edde9f15a07e6dac0d4dc01731f1e277d34a4))
* **preprocessor:** throw if retry fails ([2789bf5](https://github.com/Second-Live/karma-up/commit/2789bf57abd977def5caf22609eef74acbad292e))
* **preprocessor:** treat *.gz files as binary ([1b56932](https://github.com/Second-Live/karma-up/commit/1b56932fb49e0f3793f00599e11c24f6254236f4))
* **preprocessor:** treat *.swf files as binary ([62d7d38](https://github.com/Second-Live/karma-up/commit/62d7d3873ed3e046ab24530cb20297ddad51cf85))
* **preprocessor:** treat *.tgz, *.tbz2, *.txz & *.xz as binary ([7b64244](https://github.com/Second-Live/karma-up/commit/7b642449811b0c0af63147f74159c6dbb8900563))
* **preprocessor:** use graceful-fs to prevent EACCESS errors ([279bcab](https://github.com/Second-Live/karma-up/commit/279bcab54019a0f0af72c7c08017cf4cdefebe46)), closes [#566](https://github.com/Second-Live/karma-up/issues/566)
* **preprocess:** set correct extension for the preprocessed path ([c9a64d2](https://github.com/Second-Live/karma-up/commit/c9a64d2f1a94c0a7dab2fcde79696c139d958c57)), closes [#843](https://github.com/Second-Live/karma-up/issues/843)
* **proxy:** fix crashing proxy when browser hangs connection ([1c78a01](https://github.com/Second-Live/karma-up/commit/1c78a01a19411accb86f0bde9e040e5088752575))
* **proxy:** handle proxied socket.io websocket transport upgrade ([fcc2a98](https://github.com/Second-Live/karma-up/commit/fcc2a98f6af5f71a929130825b18db56557f29f7))
* **proxy:** More useful proxyError log message ([96640a7](https://github.com/Second-Live/karma-up/commit/96640a75dab089255c0619733ca9d5f9fe80127d))
* **proxy:** Pass protocol in target object to enable https requests ([142db90](https://github.com/Second-Live/karma-up/commit/142db90d33026710e92158e0e48abd7b30c5973e))
* **proxy:** Port mixup and infinite loop ([05616a2](https://github.com/Second-Live/karma-up/commit/05616a2f4ceca7e86f35a921ab26fe571db33cc9)), closes [#1987](https://github.com/Second-Live/karma-up/issues/1987)
* **proxy:** proxy to correct port ([a483636](https://github.com/Second-Live/karma-up/commit/a483636efd440c13e6db36f6b661861558464089))
* remove broken link from docs - 06-angularjs.md ([#3555](https://github.com/Second-Live/karma-up/issues/3555)) ([da2f307](https://github.com/Second-Live/karma-up/commit/da2f307603dbdeb9b49e30ebdbbe9ce68ccc2e9e))
* remove circular reference in Browser ([518cb11](https://github.com/Second-Live/karma-up/commit/518cb118d8f90b2a64846a109a974b1b5873aabf)), closes [#3075](https://github.com/Second-Live/karma-up/issues/3075)
* remove depreciation warning from log4js ([41bed33](https://github.com/Second-Live/karma-up/commit/41bed33bf4b88c7e0787ca3a5ec15f2913b936fd))
* Remove inadvertently added dependency to mock-fs ([ad5f6b5](https://github.com/Second-Live/karma-up/commit/ad5f6b55da5984caa9a5365a43cdd66d5ecd196f))
* remove string template from client code ([91d5acd](https://github.com/Second-Live/karma-up/commit/91d5acda6325caf91685da465d688527bd412b47))
* remove support of jsVersion configuration property ([#3002](https://github.com/Second-Live/karma-up/issues/3002)) ([2bb4e36](https://github.com/Second-Live/karma-up/commit/2bb4e3691cc79ea7d46096c6cf154e5f3acc82af)), closes [#2911](https://github.com/Second-Live/karma-up/issues/2911)
* remove unused JSON utilities and flatted dependency ([#3550](https://github.com/Second-Live/karma-up/issues/3550)) ([beed255](https://github.com/Second-Live/karma-up/commit/beed255698c2efb3b7139f2145123829578345f6))
* remove vulnerable dependency combine-lists ([#3273](https://github.com/Second-Live/karma-up/issues/3273)) ([c43f584](https://github.com/Second-Live/karma-up/commit/c43f58427227e6a7fbaa95420a72ca9018839b87)), closes [#3265](https://github.com/Second-Live/karma-up/issues/3265)
* remove vulnerable dependency expand-braces ([#3270](https://github.com/Second-Live/karma-up/issues/3270)) ([4ec4f6f](https://github.com/Second-Live/karma-up/commit/4ec4f6f26b175e3f759dfae9c1ba6a41654185da)), closes [#3268](https://github.com/Second-Live/karma-up/issues/3268) [#3269](https://github.com/Second-Live/karma-up/issues/3269)
* report launcher process error when exit event is not emitted ([#3647](https://github.com/Second-Live/karma-up/issues/3647)) ([7ab86be](https://github.com/Second-Live/karma-up/commit/7ab86be25c334b07747632b0a6bdb1d650d881bc))
* **reporter.junit:** Add browser log output to JUnit.xml ([f108799](https://github.com/Second-Live/karma-up/commit/f108799a4d8fd95b8c0250ee83c23ada25d026b9)), closes [#302](https://github.com/Second-Live/karma-up/issues/302)
* **reporter:** better errors when loading reporters ([c645c06](https://github.com/Second-Live/karma-up/commit/c645c060c4f381902c2005eefe5b3a7bfa63cdcc))
* **reporter:** Better handling of non string error ([82f1c12](https://github.com/Second-Live/karma-up/commit/82f1c1207b34955602b7590a34f8bf50b1a5ba6a)), closes [#1969](https://github.com/Second-Live/karma-up/issues/1969) [#1988](https://github.com/Second-Live/karma-up/issues/1988)
* **reporter:** Disable source maps for URLs without line number ([2080221](https://github.com/Second-Live/karma-up/commit/2080221e6bac3ef6dbff0e4aab7784385034d227)), closes [#1274](https://github.com/Second-Live/karma-up/issues/1274)
* **reporter:** do not allow URL domains to span new lines ([2c13404](https://github.com/Second-Live/karma-up/commit/2c1340437171778961ba333fd7ccd311c84377a8))
* **reporter:** Enable sourcemaps for errors that without column # ([086a542](https://github.com/Second-Live/karma-up/commit/086a5427142f161c288f3b7daccc0e43cd223ddd))
* **reporter:** Ensure errors use the source map. ([0407a22](https://github.com/Second-Live/karma-up/commit/0407a2280b01972ebcebe9ad341cff87c788975e)), closes [#1495](https://github.com/Second-Live/karma-up/issues/1495)
* **reporter:** Fix issue causing error stack not to be parsed correctly ([ac4e1a9](https://github.com/Second-Live/karma-up/commit/ac4e1a9f01d671c71ccbf15a34c59e2be19da98a)), closes [#2930](https://github.com/Second-Live/karma-up/issues/2930)
* **reporter:** format stack with 1-based column ([#3325](https://github.com/Second-Live/karma-up/issues/3325)) ([182c04d](https://github.com/Second-Live/karma-up/commit/182c04d4617ed173d9445e0d83581829ba704b65)), closes [#3324](https://github.com/Second-Live/karma-up/issues/3324)
* **reporter:** inject correct config option ([80bd726](https://github.com/Second-Live/karma-up/commit/80bd726807cbc509fb73720df50366c54d779ba1))
* **reporter:** keep users exact formatError result ([17c2c43](https://github.com/Second-Live/karma-up/commit/17c2c43a7ce3f6346ddffdeb2b283f286e9e4bb8))
* **reporter:** preserve base/absolute word in error ([b3798df](https://github.com/Second-Live/karma-up/commit/b3798dfd77adbcb0a3ab05579a0d277d7178776f))
* **reporter:** prevent throwing exception when null is sent to formatter ([3b49c38](https://github.com/Second-Live/karma-up/commit/3b49c385fcc8ef96e72be390df058bd278b40c17))
* **reporter:** print browser stats immediately after it finishes ([65202d8](https://github.com/Second-Live/karma-up/commit/65202d870fa602e70483aeebbf87d0e11d6c1017))
* **reporter:** remove console.log ([b4e3694](https://github.com/Second-Live/karma-up/commit/b4e3694435de80c97976f1a368303528ab85f0d9))
* **reporter:** remove newline from base reporter browser dump ([dfae18b](https://github.com/Second-Live/karma-up/commit/dfae18b63b413a1e6240d00b9dc0521ac0386ec5)), closes [#297](https://github.com/Second-Live/karma-up/issues/297)
* **reporter:** remove SHAs from stack traces ([d7c31f9](https://github.com/Second-Live/karma-up/commit/d7c31f97be654f08d484563282a68d59638c5693))
* **reporters:**  cannot read property map of undefined  ([305df2c](https://github.com/Second-Live/karma-up/commit/305df2cafd25421042a74bf076f6e24f58b75c6f)), closes [#1662](https://github.com/Second-Live/karma-up/issues/1662)
* **reporters:** Fix results not being reported ([6303566](https://github.com/Second-Live/karma-up/commit/63035662cf3484b189270d3b4d15762331012577))
* **reporters:** format fix for console log ([d2d1377](https://github.com/Second-Live/karma-up/commit/d2d1377d1be0da17196a1c82bf5584997d502b68)), closes [#934](https://github.com/Second-Live/karma-up/issues/934)
* **reporter:** show file path correctly when urlRoot specified ([34dc7d3](https://github.com/Second-Live/karma-up/commit/34dc7d3a7d3aac1adf88ff020ee910e59bed5aea)), closes [#2897](https://github.com/Second-Live/karma-up/issues/2897)
* **reporter:** sourcemap not working in windows ([a9516af](https://github.com/Second-Live/karma-up/commit/a9516af2af87953154e81b6080214798a9b64da5)), closes [#1200](https://github.com/Second-Live/karma-up/issues/1200)
* **reporters:** Revert the backwards-incompatible log priority order changes ([316b944](https://github.com/Second-Live/karma-up/commit/316b944d2ee7b1c9d011472dc41f149f92e88f26)), closes [#2582](https://github.com/Second-Live/karma-up/issues/2582)
* **reporters:** Throwing error without loosing stack trace ([8a515ae](https://github.com/Second-Live/karma-up/commit/8a515ae43af0dfb95f56351d2888b3d648fdf93b))
* **reporter:** strip only hostname/port ([fbbeccf](https://github.com/Second-Live/karma-up/commit/fbbeccf936a08e5296ffbe41e02c82c4a014c80e)), closes [#2209](https://github.com/Second-Live/karma-up/issues/2209)
* **reporter:** warning if stack trace contains generated code invocation ([4f23b14](https://github.com/Second-Live/karma-up/commit/4f23b14d3e774c0401f2c9eecb188b37aed020eb))
* restarted browsers not running tests ([#3233](https://github.com/Second-Live/karma-up/issues/3233)) ([cc2eff2](https://github.com/Second-Live/karma-up/commit/cc2eff27deb680f789afb34577fd337d2ad5dcac))
* restartOnFileChange option not restarting the test run ([92ffe60](https://github.com/Second-Live/karma-up/commit/92ffe6018451f6144e8bc7726d304057b5ac9d0a)), closes [#27](https://github.com/Second-Live/karma-up/issues/27) [#3724](https://github.com/Second-Live/karma-up/issues/3724)
* restore `customFileHandlers` provider ([#3624](https://github.com/Second-Live/karma-up/issues/3624)) ([25d9abb](https://github.com/Second-Live/karma-up/commit/25d9abb76929b6ea8abe1cf040ba6db2f269d50e))
* restore backward compatibility for karma@0.13 ([648b357](https://github.com/Second-Live/karma-up/commit/648b357a0061b62448428eed379276836f92dbe5))
* reuse browser instance when restarting disconnected browser ([1f1a8eb](https://github.com/Second-Live/karma-up/commit/1f1a8ebf38827fe772c631de200fdfa4a705a40b))
* revert source-map update ([#3559](https://github.com/Second-Live/karma-up/issues/3559)) ([d9ba284](https://github.com/Second-Live/karma-up/commit/d9ba2849ced403a2ff2574d8e3a14deee21f1cc4)), closes [#3557](https://github.com/Second-Live/karma-up/issues/3557)
* **runner:** do not confuse client args with the config file ([6f158ab](https://github.com/Second-Live/karma-up/commit/6f158abaf923dad6878a64da2d8a3c2c56ae604f))
* **runner:** Do not persist grep option across runs ([#3121](https://github.com/Second-Live/karma-up/issues/3121)) ([c91cb81](https://github.com/Second-Live/karma-up/commit/c91cb81e496c2e8c758304d77e7c3b7a7c29f073))
* **runner:** Fix typo in CSS class name for .idle ([fc5a7ce](https://github.com/Second-Live/karma-up/commit/fc5a7ce0904a78ece6a9cfa29215b17bd5c1929d))
* **runner:** Karma hangs when file paths have \u in them [#924](https://github.com/Second-Live/karma-up/issues/924) ([1199fc4](https://github.com/Second-Live/karma-up/commit/1199fc4d7ee7be2d48a707876ddb857544cf2fb4))
* **runner:** Make exit code configurable when tests are failing ([#3116](https://github.com/Second-Live/karma-up/issues/3116)) ([74da748](https://github.com/Second-Live/karma-up/commit/74da748908bde520a53c3cbc22dd891d7f2d170a)), closes [#1300](https://github.com/Second-Live/karma-up/issues/1300)
* **runner:** Make process kill timeout configurable ([ffaa054](https://github.com/Second-Live/karma-up/commit/ffaa054a299a1abd68ab99769394b70ee5d08a19)), closes [#2447](https://github.com/Second-Live/karma-up/issues/2447)
* **runner:** Make process kill timeout configurable - Fix Build ([a128e5c](https://github.com/Second-Live/karma-up/commit/a128e5cf64d744ae648a0885c4151c877cf5eff9)), closes [#2447](https://github.com/Second-Live/karma-up/issues/2447)
* **runner:** Merge config.client.args with client.args provided by run ([91de383](https://github.com/Second-Live/karma-up/commit/91de383826d16add153292f38c0426ef7c44da17)), closes [#1746](https://github.com/Second-Live/karma-up/issues/1746)
* **runner:** remove explicit error on all tests failed ([#3369](https://github.com/Second-Live/karma-up/issues/3369)) ([f8005c6](https://github.com/Second-Live/karma-up/commit/f8005c6307d530c703f3db266f31e40d55049fb6)), closes [#3367](https://github.com/Second-Live/…
github-actions bot pushed a commit to Second-Live/karma-up that referenced this issue Sep 19, 2023
# 1.0.0-alpha.1 (2023-09-19)

### Bug Fixes

* a missed argument in a debug message ([#3009](https://github.com/Second-Live/karma-up/issues/3009)) ([af8c6e4](https://github.com/Second-Live/karma-up/commit/af8c6e407fa88de1b8ee034cf41a4c83ad832877))
* **adapter.requirejs:** do not configure baseUrl automatically ([63f3f40](https://github.com/Second-Live/karma-up/commit/63f3f409ae85a5137396a7ed6537bedfe4437cb3)), closes [#291](https://github.com/Second-Live/karma-up/issues/291) [#292](https://github.com/Second-Live/karma-up/issues/292) [#291](https://github.com/Second-Live/karma-up/issues/291)
* **adapter.requirejs:** show error if no timestamp defined for a file ([59dbdbd](https://github.com/Second-Live/karma-up/commit/59dbdbd136baa87467b9b9a4cb6ce226ae87bbef))
* Add crossorigin attribute to script HTML tags ([5690ffe](https://github.com/Second-Live/karma-up/commit/5690ffe82bb7ff195576f6f43dd8c281e51aa833))
* add emscripten memory image as binary suffix ([f6b2b56](https://github.com/Second-Live/karma-up/commit/f6b2b561c5d5e083cd204df9564024cac163b611))
* add missing dep flatted ([#3223](https://github.com/Second-Live/karma-up/issues/3223)) ([655d4d2](https://github.com/Second-Live/karma-up/commit/655d4d27e93a2011a00ea6ef3caf12a583ed4589))
* avoid ES6+ syntax in client scripts ([#3629](https://github.com/Second-Live/karma-up/issues/3629)) ([6629e96](https://github.com/Second-Live/karma-up/commit/6629e96901dbeae24fbaa4d0bfa009618fb8ee75)), closes [#3630](https://github.com/Second-Live/karma-up/issues/3630)
* **BaseReporter:** log message correctly with just one browser ([#3045](https://github.com/Second-Live/karma-up/issues/3045)) ([c1eb236](https://github.com/Second-Live/karma-up/commit/c1eb236523f8dab7e5f7dc70f4ee016b8061f0ba))
* better error reporting when loading plugins ([d9078a8](https://github.com/Second-Live/karma-up/commit/d9078a8eca41df15f26b53e2375f722a48d0992d))
* better serialization in dump/console.log ([fd46365](https://github.com/Second-Live/karma-up/commit/fd46365d1fd3a9bea15c04abeb7df33a3a2d96a4)), closes [#640](https://github.com/Second-Live/karma-up/issues/640)
* **browser:** allow updating total specs count ([#3264](https://github.com/Second-Live/karma-up/issues/3264)) ([d5df723](https://github.com/Second-Live/karma-up/commit/d5df723f97d1b48133416109276feebb0c6fa82d))
* **browser:** don't add already active socket again on reconnect ([37a7958](https://github.com/Second-Live/karma-up/commit/37a7958ae5517b8bf16e36cc90fe0b1cf0c09afd))
* **browser:** emit 'browsers_change' in collection ([#3183](https://github.com/Second-Live/karma-up/issues/3183)) ([7634e71](https://github.com/Second-Live/karma-up/commit/7634e7145b4220123f317d652b3dd13bd12c32ec))
* **browser:** ensure browser state is EXECUTING when tests start ([#3074](https://github.com/Second-Live/karma-up/issues/3074)) ([dc7265b](https://github.com/Second-Live/karma-up/commit/dc7265bbb5e92b3b9fd48ce85dbdc0d776772cf5)), closes [#1640](https://github.com/Second-Live/karma-up/issues/1640)
* **browser:** filter browser logging by level  ([35965d9](https://github.com/Second-Live/karma-up/commit/35965d9e996d462e471044b338ac038d2787c26d)), closes [#2228](https://github.com/Second-Live/karma-up/issues/2228)
* **browser:** make sure that empty results array is still recognized ([#3486](https://github.com/Second-Live/karma-up/issues/3486)) ([fa95fa3](https://github.com/Second-Live/karma-up/commit/fa95fa3c917470fa4b9ad736287379d1e9ebb350))
* **browser:** nicer "disconnect" - no more "Disconnectedundefined" ([a987d63](https://github.com/Second-Live/karma-up/commit/a987d6366f9bfc9514c73f85a94c2c31a0019924))
* **browser:** reply "start" event ([4fde43d](https://github.com/Second-Live/karma-up/commit/4fde43deee22b53fcca52132c51c27f4012d2933))
* **browser:** report errors to console during singleRun=false ([#3209](https://github.com/Second-Live/karma-up/issues/3209)) ([30ff73b](https://github.com/Second-Live/karma-up/commit/30ff73b35816dad727dd04487f809497f952add5)), closes [#3131](https://github.com/Second-Live/karma-up/issues/3131)
* browsers_change event always has collection as arg ([42bf787](https://github.com/Second-Live/karma-up/commit/42bf787f87304e6be23dd3dac893b3c3f77d6764))
* **build:** pin npm version in appveyor to v3, compat with node 4 ([#2983](https://github.com/Second-Live/karma-up/issues/2983)) ([bc1453e](https://github.com/Second-Live/karma-up/commit/bc1453e3198faa53dd6b02a23b1d3b3911d6b467))
* **build:** switch from yarn to package-lock.json ([#3351](https://github.com/Second-Live/karma-up/issues/3351)) ([6c5add2](https://github.com/Second-Live/karma-up/commit/6c5add2449a5a0ef33e1907f6711309a13e429d1))
* bump production dependencies within SemVer ranges ([#3682](https://github.com/Second-Live/karma-up/issues/3682)) ([36467a8](https://github.com/Second-Live/karma-up/commit/36467a8ac357108343dde4131ef34099004711e5)), closes [#3680](https://github.com/Second-Live/karma-up/issues/3680)
* bump vulnerable ua-parser-js version ([6f2b2ec](https://github.com/Second-Live/karma-up/commit/6f2b2ec6ed0218980eabf2cbf44e0c8f16fee661)), closes [#3713](https://github.com/Second-Live/karma-up/issues/3713)
* call .resume to prevent browser output streams filling up ([107cd02](https://github.com/Second-Live/karma-up/commit/107cd02f5f9e42010628facdd12636f65774ecf7))
* capturing console.log on IE ([fa4b686](https://github.com/Second-Live/karma-up/commit/fa4b686a81ad826f256a4ca63c772af7ad6e411e)), closes [#329](https://github.com/Second-Live/karma-up/issues/329)
* catch exceptions from SourceMapConsumer ([5d42e64](https://github.com/Second-Live/karma-up/commit/5d42e64373345f1beed95218983861f77352c16c))
* Change timing on test ([0cb6204](https://github.com/Second-Live/karma-up/commit/0cb6204f157c4ec1078aeb622ea33bbde930da4a))
* **changelog:** remove release which does not exist ([#3214](https://github.com/Second-Live/karma-up/issues/3214)) ([4e87902](https://github.com/Second-Live/karma-up/commit/4e8790212d3ea712be3184349ff5041d20473baa))
* **ci:** abandon browserstack tests for Safari and IE ([#3615](https://github.com/Second-Live/karma-up/issues/3615)) ([04a811d](https://github.com/Second-Live/karma-up/commit/04a811dc7a4b37aa56c0405880f03cb2493bf820))
* **ci:** echo travis env that gates release after_success ([#3446](https://github.com/Second-Live/karma-up/issues/3446)) ([b8b2ed8](https://github.com/Second-Live/karma-up/commit/b8b2ed81e595baf0337c9628a736494b9f2c91c1))
* **ci:** poll every 10s to avoid rate limit. ([#3388](https://github.com/Second-Live/karma-up/issues/3388)) ([91e7e00](https://github.com/Second-Live/karma-up/commit/91e7e00b29db95ea7209f60c07431b10ab597b02))
* **ci:** Repaired AppVeyor for Node.js@0.12 ([cbfd98c](https://github.com/Second-Live/karma-up/commit/cbfd98ccb4e48de51b604e8148f3279a25a6edc6))
* **ci:** stop the proxy before killing the child, handle errors ([#3472](https://github.com/Second-Live/karma-up/issues/3472)) ([abe9af6](https://github.com/Second-Live/karma-up/commit/abe9af616f7a08f3c64cc06f6a68bd5f9c941133)), closes [#3464](https://github.com/Second-Live/karma-up/issues/3464)
* **cli:** Always pass an instance of fs to processArgs. ([06532b7](https://github.com/Second-Live/karma-up/commit/06532b7042371f270c227a1a7f859f2dab5afac1)), closes [#677](https://github.com/Second-Live/karma-up/issues/677)
* **client.html:** always open debug.html in a new browser process ([d176bcf](https://github.com/Second-Live/karma-up/commit/d176bcf47e9b3a7df8c6ae691f767f1012214c53))
* **client:** add ES5 shim ([14c30b7](https://github.com/Second-Live/karma-up/commit/14c30b734fc14057b51f17c543431711c6ad57e9)), closes [#1529](https://github.com/Second-Live/karma-up/issues/1529)
* **client:** add proxy support to stringify ([be10116](https://github.com/Second-Live/karma-up/commit/be10116dde92f3c5f87a09cec93f19665b95c129))
* **client:** avoid race between execute and clearContext ([#3452](https://github.com/Second-Live/karma-up/issues/3452)) ([8bc5b46](https://github.com/Second-Live/karma-up/commit/8bc5b468393bb90c0cac8f400d61e3434596c05a)), closes [#3424](https://github.com/Second-Live/karma-up/issues/3424)
* **client:** check in bundled client code into version control ([#3524](https://github.com/Second-Live/karma-up/issues/3524)) ([6cd5a3b](https://github.com/Second-Live/karma-up/commit/6cd5a3b091490ad1c621710456f359213f0c161e)), closes [/github.com/karma-runner/karma/commit/f5521df7df5cd1201b5dce28dc4e326b1ffc41fd#commitcomment-38967493](https://github.com//github.com/karma-runner/karma/commit/f5521df7df5cd1201b5dce28dc4e326b1ffc41fd/issues/commitcomment-38967493)
* **client:** clearContext after complete sent ([#3657](https://github.com/Second-Live/karma-up/issues/3657)) ([c0962e3](https://github.com/Second-Live/karma-up/commit/c0962e34fb2c0a7a43bead8d600ad4a6dbb29c3d))
* **client:** do not reset karmaNavigating in unload handler ([#3591](https://github.com/Second-Live/karma-up/issues/3591)) ([4a8178f](https://github.com/Second-Live/karma-up/commit/4a8178f3a0504ef007b23ef0fd8f5ca128f0c5c6)), closes [#3482](https://github.com/Second-Live/karma-up/issues/3482)
* **client:** does not throws an error for non DOM object that has `tagName` property ([ba55afb](https://github.com/Second-Live/karma-up/commit/ba55afb30e402e0e930f8c0d025fa6bec1d052e1)), closes [#2139](https://github.com/Second-Live/karma-up/issues/2139)
* **client:** don't crash if receive array-like results ([e095411](https://github.com/Second-Live/karma-up/commit/e095411f3f7684b2ad96f31abb5eba3cd7fd54da)), closes [#2061](https://github.com/Second-Live/karma-up/issues/2061)
* **client:** dynamic protocol for socket.io ([c986eef](https://github.com/Second-Live/karma-up/commit/c986eefeba01ef46a8bb7595a8285ff24986126c)), closes [#1400](https://github.com/Second-Live/karma-up/issues/1400)
* **client:** Enable loading different file types when running in parent mode without iframe ([#3289](https://github.com/Second-Live/karma-up/issues/3289)) ([7968db6](https://github.com/Second-Live/karma-up/commit/7968db63eb9899961dec19655904502334043735))
* **client:** error out when opening a new tab fails ([099b85e](https://github.com/Second-Live/karma-up/commit/099b85ed0a46e37dd7cb14fc1596cbb1b3eabce9))
* **client:** fix a false positive page reload error in Safari ([#3643](https://github.com/Second-Live/karma-up/issues/3643)) ([2a57b23](https://github.com/Second-Live/karma-up/commit/2a57b230cd6b27e1a6e903ca6557c5a6b3e31bf6))
* **client:** fix issue with loaded on safari 10 ([#3252](https://github.com/Second-Live/karma-up/issues/3252)) ([571191c](https://github.com/Second-Live/karma-up/commit/571191cfbe41010c6fa4283bd7d8447d5fcbb4ba)), closes [#3198](https://github.com/Second-Live/karma-up/issues/3198)
* **client:** Fix stringify serializing objects ([0d0972a](https://github.com/Second-Live/karma-up/commit/0d0972a59e6e0354033c9fdfec72d5ddfbfe8e1e))
* **client:** flush resultsBuffer on engine upgrade ([#3212](https://github.com/Second-Live/karma-up/issues/3212)) ([e44ca94](https://github.com/Second-Live/karma-up/commit/e44ca944fe94ae455cd6dc45d9985a6d9fb94754)), closes [#3211](https://github.com/Second-Live/karma-up/issues/3211)
* **client:** Only create the funky object if message is not a string ([#3298](https://github.com/Second-Live/karma-up/issues/3298)) ([ce6825f](https://github.com/Second-Live/karma-up/commit/ce6825f4c88c2737fd6bd943e006c6ab5a0fe485)), closes [#3296](https://github.com/Second-Live/karma-up/issues/3296)
* **client:** prevent socket.io from hanging due to mocked clocks ([#3695](https://github.com/Second-Live/karma-up/issues/3695)) ([105da90](https://github.com/Second-Live/karma-up/commit/105da90a9975c1050f96cda966bd30a3c677494e))
* **client:** redirect to redirect_url after all messages are sent ([4d05602](https://github.com/Second-Live/karma-up/commit/4d05602c803a6645d6c0e9404a60ed380f0329ee))
* **client:** Revert back to old reloading detection ([f1c22d6](https://github.com/Second-Live/karma-up/commit/f1c22d66de8fe4109f903e8e3cfe4190baa36877)), closes [#1656](https://github.com/Second-Live/karma-up/issues/1656)
* **client:** serialise DOM objects ([1f73be4](https://github.com/Second-Live/karma-up/commit/1f73be4f94415947b286dadd068920bd8fa2b142)), closes [#1106](https://github.com/Second-Live/karma-up/issues/1106)
* **client:** show error if an adapter is removed ([a8b250c](https://github.com/Second-Live/karma-up/commit/a8b250cf6a89cf064f67ecb1e2c040cc224d91e9))
* **client:** Update location detection for socket.io ([7a23fa5](https://github.com/Second-Live/karma-up/commit/7a23fa571854fa6c1e7e7dc7fdfddeafa9759d58))
* **client:** Use supported shim path. ([184f12e](https://github.com/Second-Live/karma-up/commit/184f12e415fa970b3d14b70a41e2336d1fa73eb4))
* **client:** Wait for childwindow to load ([c1bb15a](https://github.com/Second-Live/karma-up/commit/c1bb15a2a48586165af4e08b737d0bfb9252dcdd))
* **client:** Wait for iframe to be loaded ([1631474](https://github.com/Second-Live/karma-up/commit/1631474e7484a89523eabdbc5eb98e431c286c2e)), closes [#1652](https://github.com/Second-Live/karma-up/issues/1652)
* **cli:** override if an arg is defined multiple times ([31eb2c2](https://github.com/Second-Live/karma-up/commit/31eb2c2c3ca1663eff94f0398768a9b582332a93)), closes [#1192](https://github.com/Second-Live/karma-up/issues/1192)
* **cli:** print UserAgent string verbatim if from an unknown browser ([9d97226](https://github.com/Second-Live/karma-up/commit/9d972263dd80920813500dd04c53b754cda81696))
* **cli:** restore command line help contents ([#3502](https://github.com/Second-Live/karma-up/issues/3502)) ([e99da31](https://github.com/Second-Live/karma-up/commit/e99da316a2d3f875f45baf4e985e521a2fcc755f)), closes [#3474](https://github.com/Second-Live/karma-up/issues/3474)
* **cli:** restore shell completion in the npm package ([f56b5a5](https://github.com/Second-Live/karma-up/commit/f56b5a507623d98c299aafe3cc1fc0fb9c431010)), closes [#2351](https://github.com/Second-Live/karma-up/issues/2351)
* **cli:** temporarily disable strict parameters validation ([#3641](https://github.com/Second-Live/karma-up/issues/3641)) ([9c755e0](https://github.com/Second-Live/karma-up/commit/9c755e0d61f1e8fb0fed1281fc8a331d5f1734be)), closes [#3625](https://github.com/Second-Live/karma-up/issues/3625)
* **cli:** Use `bin` field in package.json ([6823926](https://github.com/Second-Live/karma-up/commit/6823926f0588f4a219705eb648fbb36a933a32d5)), closes [#1351](https://github.com/Second-Live/karma-up/issues/1351)
* **commitlint:** skip task on master ([#3650](https://github.com/Second-Live/karma-up/issues/3650)) ([3fc6fda](https://github.com/Second-Live/karma-up/commit/3fc6fdadd6b0ed6838de048c15485b1bd815fe23))
* **common:** fix AppVeyor build ([6c5e7d0](https://github.com/Second-Live/karma-up/commit/6c5e7d00758f964a13473c44cd8370a07a6ad07d))
* **common:** more detailed info about error ([424aacc](https://github.com/Second-Live/karma-up/commit/424aacc4669697bd8032276cdac2339ccad1181b))
* **common:** Proxy function toString does not contain Proxy. ([4fb3484](https://github.com/Second-Live/karma-up/commit/4fb3484285d174ac23a1da4432af4de5a87928ba))
* **common:** stringify error on 'Cannot convert a Symbol value to a string' ([#2990](https://github.com/Second-Live/karma-up/issues/2990)) ([65b658a](https://github.com/Second-Live/karma-up/commit/65b658a8ba33831c1cf22e56bf484f42da232617)), closes [#2856](https://github.com/Second-Live/karma-up/issues/2856)
* **completion:** add missin --log-level for karma init ([1e79eb5](https://github.com/Second-Live/karma-up/commit/1e79eb553e40530adef36b30b35a79f7a8026ddf))
* **config:** [#1113](https://github.com/Second-Live/karma-up/issues/1113) Watching is not working properly on linux ([c91ffbc](https://github.com/Second-Live/karma-up/commit/c91ffbc05f78f2c17dcc43039300cdf045e64ccc))
* **config:** add crossOriginAttribute config option ([1e465b1](https://github.com/Second-Live/karma-up/commit/1e465b1f473212c208a34b81ad56e1b454deb7f7))
* **config:** add test:unit npm script ([#3242](https://github.com/Second-Live/karma-up/issues/3242)) ([02f071d](https://github.com/Second-Live/karma-up/commit/02f071d5c9f55e853a5178f02b8dc58f0c3a103c))
* **config:** allow CoffeeScript 1.7 to be used ([a1583de](https://github.com/Second-Live/karma-up/commit/a1583decd97438a241f99287159da2948eb3a95f))
* **config:** allow parsing the config multiple times ([78a7094](https://github.com/Second-Live/karma-up/commit/78a7094e0f262c431e904f99cf356be53eee3510))
* **config:** apply CLI logger options as soon as we can ([16179b0](https://github.com/Second-Live/karma-up/commit/16179b08021334cfab02a9dcba8d7f4bd219bc5e))
* **config:** better errors if file invalid or does not exist ([74b533b](https://github.com/Second-Live/karma-up/commit/74b533beb34c115f5080d412a03573d269d540aa))
* **config:** Call debug log methods after setting the loglevel based upon config/cli-options. ([99fd3f0](https://github.com/Second-Live/karma-up/commit/99fd3f03a67d5141ceb3d44d1bf0bf6717a0255a))
* **config:** Call debug log methods after setting the loglevel based upon config/cli-options. ([a340dae](https://github.com/Second-Live/karma-up/commit/a340dae52cd1955ff6d6a6a3dd6799cb23bd8e32))
* **config:** check extension before ts-node register ([#3651](https://github.com/Second-Live/karma-up/issues/3651)) ([474f4e1](https://github.com/Second-Live/karma-up/commit/474f4e1caff469cce87f19a11d9179e4e05552f9)), closes [#3329](https://github.com/Second-Live/karma-up/issues/3329)
* **config:** Check if configFilePath is a string. ([98724b6](https://github.com/Second-Live/karma-up/commit/98724b6ef5a6ba60d487e7b774056832c6ca9d8c)), closes [#447](https://github.com/Second-Live/karma-up/issues/447)
* **config:** corrects spelling in example config template ([9fafc60](https://github.com/Second-Live/karma-up/commit/9fafc60f24d61f3072de35c89ec566db5ca21bff))
* **config:** Default remaining client options if any are set ([632dd5e](https://github.com/Second-Live/karma-up/commit/632dd5e329191bff0bc85d9bcf58657143315adc)), closes [#961](https://github.com/Second-Live/karma-up/issues/961)
* **config:** do not change urlRoot even if proxied ([8c138b5](https://github.com/Second-Live/karma-up/commit/8c138b504046a3aeb230b71e1049aa60ee46905d))
* **config:** ensure basePath is always resolved ([2e5c5aa](https://github.com/Second-Live/karma-up/commit/2e5c5aaaddc4ad4e1ee9c8fa0388d3916827f403))
* **config:** Error when browers option isn't array ([b695460](https://github.com/Second-Live/karma-up/commit/b6954608a97c349c99205f25f9f677447a9a0b7a))
* **config:** fail if client.args is set to a non array ([fe4eaec](https://github.com/Second-Live/karma-up/commit/fe4eaec09f1b7d34270dec7f948cd9441ef6fe48))
* **config:** fix the warning when using old syntax ([5e55d79](https://github.com/Second-Live/karma-up/commit/5e55d797f7544a45c3042e301bbf71e8b830daf3))
* **config:** frameworks spelling ([9259740](https://github.com/Second-Live/karma-up/commit/9259740a81ef39a64656af800cee24091ce2d97e))
* **config:** ignore empty string patterns ([66c86a6](https://github.com/Second-Live/karma-up/commit/66c86a6689aaac82006fa47762bd86496ad76bf7))
* **config:** Log the final config just before use. ([#3041](https://github.com/Second-Live/karma-up/issues/3041)) ([05dd09a](https://github.com/Second-Live/karma-up/commit/05dd09a73232c31545d713b90dcaad260da00ff8))
* **config:** make the config changes backwards compatible ([593ad85](https://github.com/Second-Live/karma-up/commit/593ad853c330a7856f2112db2bfb288f67948fa6))
* **config:** move puppeteer from dependency to dev-dependency ([#3193](https://github.com/Second-Live/karma-up/issues/3193)) ([f0d52ad](https://github.com/Second-Live/karma-up/commit/f0d52ad6427c467b9482e3a80889bb3feccf053c)), closes [#3191](https://github.com/Second-Live/karma-up/issues/3191)
* **config:** not append empty module if no custom launcher/rep/prep ([ee15a4e](https://github.com/Second-Live/karma-up/commit/ee15a4e446e9f35949a2fdde7cbdbecdd7ca0750))
* **config:** remove phantomjs in favor of chrome headless ([#3175](https://github.com/Second-Live/karma-up/issues/3175)) ([0f8b2b1](https://github.com/Second-Live/karma-up/commit/0f8b2b17e8fb4aab101ed9acfc65a3090b3298ca))
* **config:** Retry install with appveyor-retry.   ([17d5791](https://github.com/Second-Live/karma-up/commit/17d57914b7b8d91ef3f8b3eb3f9a646a9e67fdd6))
* **config:** Separate ENOENT error handler from others ([e49dabe](https://github.com/Second-Live/karma-up/commit/e49dabe783d6cfb2ee97b70ac01953e82f70f831))
* **config:** Simpilfy error proceesing. ([#3345](https://github.com/Second-Live/karma-up/issues/3345)) ([582a406](https://github.com/Second-Live/karma-up/commit/582a406aa124a39ed57fc54673b73ca9cf808ae7)), closes [#3339](https://github.com/Second-Live/karma-up/issues/3339)
* **config:** use polling by default ([53978c4](https://github.com/Second-Live/karma-up/commit/53978c42f10088fb29d09597817c5dde58aeb32b))
* **config:** wait 20s for browser activity. ([#3087](https://github.com/Second-Live/karma-up/issues/3087)) ([88b977f](https://github.com/Second-Live/karma-up/commit/88b977fcada5d08ae8d5bba9bc8eefc8404eff82))
* **config:** Wait 30s for browser activity per Travis. ([#3091](https://github.com/Second-Live/karma-up/issues/3091)) ([f6d2f0e](https://github.com/Second-Live/karma-up/commit/f6d2f0ea5a3323c5e359e26fe5be9fbf68db819f))
* **config:** Workaround npm 5.4 windows bug ([ec47d81](https://github.com/Second-Live/karma-up/commit/ec47d8115e48680cc8b9cf253bd92dbb4106e162))
* **context:** do not error when karma is navigating ([#3565](https://github.com/Second-Live/karma-up/issues/3565)) ([05dc288](https://github.com/Second-Live/karma-up/commit/05dc28801627e3ce7054ae548046714dc2cf7a5e)), closes [#3560](https://github.com/Second-Live/karma-up/issues/3560)
* **context:** Updated postMessage listener to stop validating non-Karma messages ([306e565](https://github.com/Second-Live/karma-up/commit/306e5651c9ffdcc1a187b2d4c50cac654375f4db))
* **coverage:** always send a result object ([62c3c67](https://github.com/Second-Live/karma-up/commit/62c3c6790659f8f82f8a2ca5646aa424eeb28842)), closes [#365](https://github.com/Second-Live/karma-up/issues/365)
* **cve:** update ua-parser-js to 0.7.23 to fix CVE-2020-7793 ([#3584](https://github.com/Second-Live/karma-up/issues/3584)) ([f819fa8](https://github.com/Second-Live/karma-up/commit/f819fa843fa0633edbe2af6ac2889e25ea2cb639))
* **cve:** update yargs to 16.1.1 to fix cve-2020-7774 in y18n ([#3578](https://github.com/Second-Live/karma-up/issues/3578)) ([3fed0bc](https://github.com/Second-Live/karma-up/commit/3fed0bc7dd042a09c8aec55c059654781a4584ec)), closes [#3577](https://github.com/Second-Live/karma-up/issues/3577)
* **debug-runner:** support asynchronous tests in the debug runner ([a36f3eb](https://github.com/Second-Live/karma-up/commit/a36f3eb47408316686d1eeae4c54b6ca8edc54bd)), closes [#2811](https://github.com/Second-Live/karma-up/issues/2811)
* **debug.html:** Added whitespace after 'SKIPPED' ([218ee85](https://github.com/Second-Live/karma-up/commit/218ee859d8c8f1c7d2f47435548030f367f1e05d))
* **dep:** Bump useragent to fix HeadlessChrome version ([#3201](https://github.com/Second-Live/karma-up/issues/3201)) ([240209f](https://github.com/Second-Live/karma-up/commit/240209f738df69a9e382e04d8c59f020b34c3267)), closes [#2762](https://github.com/Second-Live/karma-up/issues/2762)
* **dependencies:** update and unlock socket.io dependency ([#3513](https://github.com/Second-Live/karma-up/issues/3513)) ([b60391f](https://github.com/Second-Live/karma-up/commit/b60391fbddcfa5f8c50b6ac6e3c8d8d845258a56))
* **dependencies:** update dependencies ([#3543](https://github.com/Second-Live/karma-up/issues/3543)) ([5db46b7](https://github.com/Second-Live/karma-up/commit/5db46b799b84a3d29157edfdbb8d0d0bc57f8fbc))
* **dependencies:** update production dependencies ([#3512](https://github.com/Second-Live/karma-up/issues/3512)) ([0cd696f](https://github.com/Second-Live/karma-up/commit/0cd696fe91f2616f6646ea5c67cc44b49d7e941a))
* **dependencies:** update to latest log4js major ([#3514](https://github.com/Second-Live/karma-up/issues/3514)) ([47f1cb2](https://github.com/Second-Live/karma-up/commit/47f1cb222ee0921defbe313b694da3288a894fec))
* **dependencies:** update to safe version of http-proxy ([#3519](https://github.com/Second-Live/karma-up/issues/3519)) ([00347bb](https://github.com/Second-Live/karma-up/commit/00347bb204c8c87e1096679af4634032d6600b67)), closes [#3510](https://github.com/Second-Live/karma-up/issues/3510)
* **deps:** back to karma-browserstack-launcher 1.4 ([#3361](https://github.com/Second-Live/karma-up/issues/3361)) ([1cd87ad](https://github.com/Second-Live/karma-up/commit/1cd87ad04e11d6a79ba6f0a0bba42371be8e55bd))
* **deps:** bump log4js to resolve security issue ([5bf2df3](https://github.com/Second-Live/karma-up/commit/5bf2df304453c8f71ebc725653fd174ddb1dd28b)), closes [#3751](https://github.com/Second-Live/karma-up/issues/3751)
* **deps:** bump socket-io to v3 ([#3586](https://github.com/Second-Live/karma-up/issues/3586)) ([1b9e1de](https://github.com/Second-Live/karma-up/commit/1b9e1de7d081e1c205debff27c6b5e1fe0585dee)), closes [#3569](https://github.com/Second-Live/karma-up/issues/3569)
* **deps:** freeze socket.io version ([73e300d](https://github.com/Second-Live/karma-up/commit/73e300da116540a0b63b4f34a4f9dfb74606b0a7))
* **deps:** freeze useragent version ([a8c8530](https://github.com/Second-Live/karma-up/commit/a8c8530f0f8d8715a3e75bed1961a0c14d821d6b))
* **deps:** lodash update. ([#3341](https://github.com/Second-Live/karma-up/issues/3341)) ([5614c04](https://github.com/Second-Live/karma-up/commit/5614c040f2e84d74ec95227c23d634356fbf5b60))
* **deps:** pin colors package to 1.4.0 due to security vulnerability ([a5219c5](https://github.com/Second-Live/karma-up/commit/a5219c52e2515248eefae4fe1863ac8ad3fdd43b))
* **deps:** remove babel-core and babel call in wallaby. ([#3044](https://github.com/Second-Live/karma-up/issues/3044)) ([7da8ca0](https://github.com/Second-Live/karma-up/commit/7da8ca058b3868669e4e57ae614c1bea4de9e2fd))
* **deps:** update colors to maintained version ([#3763](https://github.com/Second-Live/karma-up/issues/3763)) ([fca1884](https://github.com/Second-Live/karma-up/commit/fca18843e7a04eeb67b86cb3cfc3db794d66f445))
* **deps:** Update dependencies ([b9a4ce9](https://github.com/Second-Live/karma-up/commit/b9a4ce989436b7213178becb37c635476c8c11a1)), closes [#1410](https://github.com/Second-Live/karma-up/issues/1410)
* **deps:** Update log4js in package.json ([#2996](https://github.com/Second-Live/karma-up/issues/2996)) ([667b47e](https://github.com/Second-Live/karma-up/commit/667b47efbe42800189efc9ba697f07c2671a7845))
* **deps:** update socket.io to version 2.0.3. ([3b7b019](https://github.com/Second-Live/karma-up/commit/3b7b0196e407687b9c1704c34a70f59ebf03b6a2)), closes [#2821](https://github.com/Second-Live/karma-up/issues/2821) [#2777](https://github.com/Second-Live/karma-up/issues/2777)
* **deps:** Upgrade connect 3. ([b490985](https://github.com/Second-Live/karma-up/commit/b490985c6e165ba978d3f80078a45b44e18728fc)), closes [#1410](https://github.com/Second-Live/karma-up/issues/1410)
* **deps:** upgrade sinon-chai 2.x -> 3.x ([#3207](https://github.com/Second-Live/karma-up/issues/3207)) ([dc5f5de](https://github.com/Second-Live/karma-up/commit/dc5f5de537903087afbcfea3d550601f5b380f56))
* **deps:** upgrade socket.io to v4.4.1 ([52a30bb](https://github.com/Second-Live/karma-up/commit/52a30bbc6e168333a8592c26c9f40678d6ab74ea))
* detect a full page reload, show error and recover ([15d80f4](https://github.com/Second-Live/karma-up/commit/15d80f47a227839e9b0d54aeddf49b9aa9afe8aa)), closes [#27](https://github.com/Second-Live/karma-up/issues/27)
* detect type for URLs with query parameter or fragment identifier ([#3509](https://github.com/Second-Live/karma-up/issues/3509)) ([f399063](https://github.com/Second-Live/karma-up/commit/f399063d1bc8954dba74166ea3dabef2fe376ae4)), closes [#3497](https://github.com/Second-Live/karma-up/issues/3497)
* do not execute already executing browsers ([00136cf](https://github.com/Second-Live/karma-up/commit/00136cf6d818b9bc6e4d77504e3ce1ed3d23d611))
* **doc:** Document release steps for admins ([#3063](https://github.com/Second-Live/karma-up/issues/3063)) ([a701732](https://github.com/Second-Live/karma-up/commit/a70173273aed9774f078ce3d2f1071f760dfbbaa))
* **docs:** fix stopper.stop wrong variable name. closes [#2244](https://github.com/Second-Live/karma-up/issues/2244) ([0745a00](https://github.com/Second-Live/karma-up/commit/0745a008f934f646bf38eadbbe9c18cd48f45c98))
* **docs:** Remove mention of pre 1.0.0 version ([#3010](https://github.com/Second-Live/karma-up/issues/3010)) ([6847ca0](https://github.com/Second-Live/karma-up/commit/6847ca04df4eecfc413bb75807b0146ba0d157a5))
* **docs:** Update 03-how-it-works.md ([#3539](https://github.com/Second-Live/karma-up/issues/3539)) ([e7cf7b1](https://github.com/Second-Live/karma-up/commit/e7cf7b11ca3f70a6401c0499376f78984b18e1cc))
* don't crash/terminate upon errors within chokidar ([2c38931](https://github.com/Second-Live/karma-up/commit/2c389311ce683646675adccf5a7b7b3160335148)), closes [#959](https://github.com/Second-Live/karma-up/issues/959)
* don't mark a browser captured if already being killed/timeouted ([2123097](https://github.com/Second-Live/karma-up/commit/212309795861cf599dbcc0ed60fff612ccf25cf5)), closes [#88](https://github.com/Second-Live/karma-up/issues/88)
* ensure that Karma supports running tests on IE 11 ([#3642](https://github.com/Second-Live/karma-up/issues/3642)) ([dbd1943](https://github.com/Second-Live/karma-up/commit/dbd1943e6901c4cb86280db7663afde32f9ab86c))
* eslint rules ([afb466d](https://github.com/Second-Live/karma-up/commit/afb466dfd6c7f6a269dbf4eefd12ee548305880f))
* **eslint:** Fix formatting for the new ESLint 1.8.0 ([dc1bbab](https://github.com/Second-Live/karma-up/commit/dc1bbab071e70227ffaa6230846d86f93ec4b03c))
* **events:** bind emitters with for..in. ([#3059](https://github.com/Second-Live/karma-up/issues/3059)) ([b99f03f](https://github.com/Second-Live/karma-up/commit/b99f03fcb8242dd2fd1ac769642c41314679833b)), closes [#3057](https://github.com/Second-Live/karma-up/issues/3057)
* **events:** resolve async events without any listener ([4e4bba8](https://github.com/Second-Live/karma-up/commit/4e4bba8803d1e4f461e568cc2e2ccf82e369721d))
* **executor:** ensure run_complete is emitted last ([9c894f9](https://github.com/Second-Live/karma-up/commit/9c894f9eab19945b2c4355874d63854eb1c8ede7)), closes [#2210](https://github.com/Second-Live/karma-up/issues/2210)
* few typos ([c6a4271](https://github.com/Second-Live/karma-up/commit/c6a42710b40e81269f1e6c5d5bb55d01188a8872))
* **file_list:** follow symlinks ([ee26748](https://github.com/Second-Live/karma-up/commit/ee2674834bc9d0008e6c2b686f45c9b62e41e3c2))
* **file_list:** Incorrect response after remove and add file ([0dbc020](https://github.com/Second-Live/karma-up/commit/0dbc0201b2d1f7c909f74816cc50bc68013fc70f))
* **file-list:** always use file from first matcher ([74bfdf3](https://github.com/Second-Live/karma-up/commit/74bfdf3f41781e3d77a293b36565a71e879979f9))
* **file-list:** do not define fs.statAsync ([#3467](https://github.com/Second-Live/karma-up/issues/3467)) ([55a59e7](https://github.com/Second-Live/karma-up/commit/55a59e70017af79d6f3c170d87d808acc8e21faf))
* **file-list:** do not preprocess up-to-date files ([#3196](https://github.com/Second-Live/karma-up/issues/3196)) ([5334d1a](https://github.com/Second-Live/karma-up/commit/5334d1a86b46f3c106b5a86f0bee7e4a58c5e4ae)), closes [#2829](https://github.com/Second-Live/karma-up/issues/2829)
* **file-list:** Ensure autowatchDelay is working. ([655599a](https://github.com/Second-Live/karma-up/commit/655599ad295b3d3aa58aaa1ebf8ee5aa7ea9059b)), closes [#1520](https://github.com/Second-Live/karma-up/issues/1520)
* **file-list:** Ensure files are sorted and unique ([9dc5f8b](https://github.com/Second-Live/karma-up/commit/9dc5f8bc431a648ca0e03bc83fbefbf8d3a92c6f)), closes [#1498](https://github.com/Second-Live/karma-up/issues/1498) [#1499](https://github.com/Second-Live/karma-up/issues/1499)
* **file-list:** ensure patterns are comparable ([4d1bf3e](https://github.com/Second-Live/karma-up/commit/4d1bf3e1fa998df5bd08ebfb99f0a5f69a8f023d)), closes [#2194](https://github.com/Second-Live/karma-up/issues/2194)
* **file-list:** Normalize glob patterns ([fb841a7](https://github.com/Second-Live/karma-up/commit/fb841a799d83209a6e0d58722cf6239e4990b946)), closes [#1494](https://github.com/Second-Live/karma-up/issues/1494)
* **file-list:** refresh resolves before 'file_list_modified' event ([65f1eca](https://github.com/Second-Live/karma-up/commit/65f1ecad58782cd832febafabc8e01019402bd33)), closes [#1550](https://github.com/Second-Live/karma-up/issues/1550)
* **file-list:** revert "do not preprocess up-to-date files" ([#3226](https://github.com/Second-Live/karma-up/issues/3226)) ([#3230](https://github.com/Second-Live/karma-up/issues/3230)) ([bb022a7](https://github.com/Second-Live/karma-up/commit/bb022a7fa06042eb0d98ed72c75b74038128d9c0))
* **file-list:** Stop polluting global environment with core-js ([0988022](https://github.com/Second-Live/karma-up/commit/0988022f49e182fc642d6fa8daea1926225bb653))
* **file-list:** Use correct find function ([4cfaae9](https://github.com/Second-Live/karma-up/commit/4cfaae96d829957c8fcda9f51c44eb51ca4c4ab0))
* **file-list:** use lodash find() ([3bd15a7](https://github.com/Second-Live/karma-up/commit/3bd15a7fc467830af107baa3a4a5469cc5ac2daa)), closes [#1533](https://github.com/Second-Live/karma-up/issues/1533)
* **file-list:** Use modified throttle instead of debounce ([cb2aafb](https://github.com/Second-Live/karma-up/commit/cb2aafb3588904b2636e90521179b476301b031c)), closes [#1545](https://github.com/Second-Live/karma-up/issues/1545)
* **filelist:** correct logger name. ([#3262](https://github.com/Second-Live/karma-up/issues/3262)) ([375bb5e](https://github.com/Second-Live/karma-up/commit/375bb5e37c34535e222e019d0b11454f5a2b1593))
* **files:** Ignore included:false pattern ([db42a7f](https://github.com/Second-Live/karma-up/commit/db42a7fb1d37fa1196759b4f6b12e39f612fae5c)), closes [#1530](https://github.com/Second-Live/karma-up/issues/1530)
* filter browser logging by level of LOG ([89a7a1c](https://github.com/Second-Live/karma-up/commit/89a7a1cce68246c620f9959ee31133bfa42be5dc)), closes [#2228](https://github.com/Second-Live/karma-up/issues/2228)
* fix running tests in IE9 ([#3668](https://github.com/Second-Live/karma-up/issues/3668)) ([0055bc5](https://github.com/Second-Live/karma-up/commit/0055bc5cbf75597fa1601661bc4bec8cc701a49a)), closes [/github.com/karma-runner/karma/blob/026fff870913fb6cd2858dd962935dc74c92b725/client/main.js#L14](https://github.com//github.com/karma-runner/karma/blob/026fff870913fb6cd2858dd962935dc74c92b725/client/main.js/issues/L14) [#3665](https://github.com/Second-Live/karma-up/issues/3665)
* **flaky-test:** Add time to beforeEach() to allow plugins to load on first pass. ([#3025](https://github.com/Second-Live/karma-up/issues/3025)) ([31d9a08](https://github.com/Second-Live/karma-up/commit/31d9a08892f51308efbe7c467c379b3f70f1e416))
* global error handler should propagate errors ([dec0c19](https://github.com/Second-Live/karma-up/commit/dec0c19651c251dcbc16c44a57775bcb37f78cf1)), closes [#368](https://github.com/Second-Live/karma-up/issues/368)
* **helper:** Ensure browser detection is handled in the unkown case ([9328f67](https://github.com/Second-Live/karma-up/commit/9328f67e20e4874b6b7cc9b9551cdf4725ce0620))
* **helper:** make mkdirIfNotExists helper resilient to concurrent calls ([d9dade2](https://github.com/Second-Live/karma-up/commit/d9dade2f004a340e49c9a633177576200c286404)), closes [/github.com/karma-runner/karma-coverage/issues/434#issuecomment-1017939333](https://github.com//github.com/karma-runner/karma-coverage/issues/434/issues/issuecomment-1017939333)
* **helper:** Patched replaceWinPath from choking on `null` values ([caa4d21](https://github.com/Second-Live/karma-up/commit/caa4d21abb1a59ffc7d06b663b5165eceda0360e))
* if preprocessor is async function and doesn't return a content then await donePromise ([#3387](https://github.com/Second-Live/karma-up/issues/3387)) ([f91be24](https://github.com/Second-Live/karma-up/commit/f91be246e7607ea628bdc33511366ee0ea539978))
* ignore jsVersion configuration property in Firefox 59+  ([2694d54](https://github.com/Second-Live/karma-up/commit/2694d549e3a1940144cb548d7ad9b1996a103f42)), closes [#2957](https://github.com/Second-Live/karma-up/issues/2957)
* improve error msg when bin is a directory ([#3231](https://github.com/Second-Live/karma-up/issues/3231)) ([584dddc](https://github.com/Second-Live/karma-up/commit/584dddce0d43c7de33a68e161933167f5a4ca209))
* **init:** add "ChromeHeadless" to the browsers' options ([#3096](https://github.com/Second-Live/karma-up/issues/3096)) ([56fda53](https://github.com/Second-Live/karma-up/commit/56fda53ec19a1a691cd80342fef9b23d9f9fe4d2))
* **init:** add missing browsers (Opera, IE) ([f39e564](https://github.com/Second-Live/karma-up/commit/f39e5645ec561c2681d907f7c1611f01911ee8fd))
* **init:** clean the terminal if killed ([e2aa749](https://github.com/Second-Live/karma-up/commit/e2aa74972ce84388a49090533e353b61bd9b16ed))
* **init:** fix for failing "testacular init" on Windows ([0b5b385](https://github.com/Second-Live/karma-up/commit/0b5b385383f13ac8f29fa6e591a8634eefa04ab7))
* **init:** fix logger configuration ([557922d](https://github.com/Second-Live/karma-up/commit/557922d71941e0929f9cdc0d3794424a1f27b311))
* **init:** fix test-main.(js/coffee) generation ([d8521ef](https://github.com/Second-Live/karma-up/commit/d8521ef4adc0d2878a67f076d5d2042d8a05bd5f)), closes [#1120](https://github.com/Second-Live/karma-up/issues/1120) [#896](https://github.com/Second-Live/karma-up/issues/896)
* **init:** fix the logger configuration ([481dc3f](https://github.com/Second-Live/karma-up/commit/481dc3fd75f45a0efa8aabdb1c71e8234b9e8a06)), closes [#340](https://github.com/Second-Live/karma-up/issues/340)
* **init:** Fix type in init text ([e34465b](https://github.com/Second-Live/karma-up/commit/e34465b01cc583cac9645acc98d20acbf471c856)), closes [#954](https://github.com/Second-Live/karma-up/issues/954)
* **init:** generate config with the new syntax ([6b27fee](https://github.com/Second-Live/karma-up/commit/6b27fee5a43a7d02e706355f62fe5105b4966c43))
* **init:** generate correct indentation ([5fc1795](https://github.com/Second-Live/karma-up/commit/5fc17957be761c06f6ae120c5d3ba800dba8d3a4))
* **init:** generate plugins and frameworks config ([17798d5](https://github.com/Second-Live/karma-up/commit/17798d55988d61070f2b9f59574217208f2b497e))
* **init:** install plugin as dev dependency ([46b7a40](https://github.com/Second-Live/karma-up/commit/46b7a402fb8d700b10e2d72908c309d27212b5a0))
* **init:** Make the requirejs config template normalize paths ([54dcce3](https://github.com/Second-Live/karma-up/commit/54dcce31ea59ba8a425ee656be8b507ffe7d8248)), closes [/github.com/karma-runner/karma/issues/513#issuecomment-48616784](https://github.com//github.com/karma-runner/karma/issues/513/issues/issuecomment-48616784)
* **init:** set default filename ([34d49b1](https://github.com/Second-Live/karma-up/commit/34d49b138f3bee8f17e1e9e343012d82887f906b)), closes [#680](https://github.com/Second-Live/karma-up/issues/680) [#681](https://github.com/Second-Live/karma-up/issues/681)
* **init:** Support ChromeHeadless in `validateBrowser` ([#3110](https://github.com/Second-Live/karma-up/issues/3110)) ([eeadcf2](https://github.com/Second-Live/karma-up/commit/eeadcf299d990c3569252b5c15a1088d3846e99d))
* **init:** to not give false warning about missing requirejs ([562607a](https://github.com/Second-Live/karma-up/commit/562607a16221b256c6e92ad2029154aac88eec8d))
* **init:** trim the inputs ([b72355c](https://github.com/Second-Live/karma-up/commit/b72355cbeadc8e907e48bbd7d9a11e6de17343f7)), closes [#663](https://github.com/Second-Live/karma-up/issues/663)
* install semantic-release as a regular dev dependency ([#3455](https://github.com/Second-Live/karma-up/issues/3455)) ([1eaf35e](https://github.com/Second-Live/karma-up/commit/1eaf35e1d616a2ef21dd00d843552f189fbc7c94))
* invalid characters in the headers on Node 5.6.0 ([152337d](https://github.com/Second-Live/karma-up/commit/152337d991392faecb604d124b8546f4b55e9612))
* **karma:** Escape quotes for file names. This fixes issue [#1876](https://github.com/Second-Live/karma-up/issues/1876). ([9dff3f3](https://github.com/Second-Live/karma-up/commit/9dff3f302ce40117f299b24e3e494e5c90c596da))
* keep all sockets in the case an old socket will survive ([a5945eb](https://github.com/Second-Live/karma-up/commit/a5945ebcf11c4b17b99c40b78d7e2946f79c77c2))
* launcher kill method which was throwing an error if no callback was specified ([5439f1c](https://github.com/Second-Live/karma-up/commit/5439f1cbbdce9de0c2193171f75798587221e257))
* **launcher:** Allow dynamic browser launches ([2b7d703](https://github.com/Second-Live/karma-up/commit/2b7d703b083f6467dbb3b3c7933a1086cefb7cd3))
* **launcher:** better errors when loading launchers ([504e848](https://github.com/Second-Live/karma-up/commit/504e848cf66b065380fa72e07f5337ae2d6e35b5))
* **launcher:** cancel kill timeout when process exits cleanly ([bd66274](https://github.com/Second-Live/karma-up/commit/bd662744bfbe353ccb63c7a795f691d12530129c)), closes [#946](https://github.com/Second-Live/karma-up/issues/946)
* **launcher:** compatibility with Node v0.8 ([6a46be9](https://github.com/Second-Live/karma-up/commit/6a46be96499876e9aa0892325d783627bd1c535d))
* **launcher:** compatibility with old launchers ([df557ce](https://github.com/Second-Live/karma-up/commit/df557cec8093de301a8d7dea4ddca8670629c0af))
* **launcher:** compatibility with old launchers ([ffb7480](https://github.com/Second-Live/karma-up/commit/ffb74800638417910f453e108c8a4c6ffabaee29))
* **launcher:** Continue with exit when SIGKILL fails ([1eaccb4](https://github.com/Second-Live/karma-up/commit/1eaccb4cef9c299bac50514fcaa990de2c0f803f))
* **launcher:** Debug Child Processes exit signal ([#3259](https://github.com/Second-Live/karma-up/issues/3259)) ([c277a6b](https://github.com/Second-Live/karma-up/commit/c277a6bd130531702e2529f0410aa441328f187e))
* **launcher:** exclude concurrent browser on launcher restart ([96f8f14](https://github.com/Second-Live/karma-up/commit/96f8f14c99312d6b2a959d0a7ae39ac85fc4d862)), closes [#2280](https://github.com/Second-Live/karma-up/issues/2280)
* **launcher:** handle ENOENT error, do not retry ([7d790b2](https://github.com/Second-Live/karma-up/commit/7d790b29c09c1f3784fe648b7d5ed16add10b4ca)), closes [#452](https://github.com/Second-Live/karma-up/issues/452)
* **launcher:** ignore exit code when killing/timeouting ([1029bf2](https://github.com/Second-Live/karma-up/commit/1029bf2d7d3d22986aa41439d2ce4115770f4dbd)), closes [#444](https://github.com/Second-Live/karma-up/issues/444)
* **launcher:** Log state transitions in debug ([#3294](https://github.com/Second-Live/karma-up/issues/3294)) ([6556ab4](https://github.com/Second-Live/karma-up/commit/6556ab4e0523e6be9f89f80f9b2d075338841a0b)), closes [#3290](https://github.com/Second-Live/karma-up/issues/3290)
* **launcher:** Only markCaptured browsers that are launched. ([#3047](https://github.com/Second-Live/karma-up/issues/3047)) ([f8f3ebc](https://github.com/Second-Live/karma-up/commit/f8f3ebc45751ffba6ec1aa1d1554c7dfe91de85b))
* **launcher:** send sigkill on timeout when force killing ([c615c1f](https://github.com/Second-Live/karma-up/commit/c615c1ff9523b7485fc9552b7e8dbad20f044920))
* **launchers:** Listen to the correct error event. ([45a6922](https://github.com/Second-Live/karma-up/commit/45a69221703bbd043cd71b8b0934c4be5339e111))
* **lint:** exempt built files ([#3024](https://github.com/Second-Live/karma-up/issues/3024)) ([bc9acd3](https://github.com/Second-Live/karma-up/commit/bc9acd355a09eafa76a48dbe03c7c88909285bc9))
* **logger:** configure the logger as soon as possible ([0607d67](https://github.com/Second-Live/karma-up/commit/0607d67c15eab58ce83cce14ada70a1e2a9f17e9))
* **logger:** create parent folders if they are missing ([0d24bd9](https://github.com/Second-Live/karma-up/commit/0d24bd937f7089d1456e2ecf04419d2c268c3144)), closes [#3734](https://github.com/Second-Live/karma-up/issues/3734)
* **logging:** Summarize SKIPPED tests in debug.html. ([a01100f](https://github.com/Second-Live/karma-up/commit/a01100f5c6404366dd4219b9bf6c3161300dc735)), closes [#1111](https://github.com/Second-Live/karma-up/issues/1111)
* **logging:** Upgrade to log4js 2.x API. ([#2868](https://github.com/Second-Live/karma-up/issues/2868)) ([f6f8707](https://github.com/Second-Live/karma-up/commit/f6f8707efaff1fafdf9329501675518ec41f6b82)), closes [#2858](https://github.com/Second-Live/karma-up/issues/2858)
* **logging:** Util inspect for logging the config. ([#3332](https://github.com/Second-Live/karma-up/issues/3332)) ([70b72a9](https://github.com/Second-Live/karma-up/commit/70b72a91834c531adc259b8d88f9907ec8d0d13d))
* make window.parent.karma available in debugged context ([3e7eaeb](https://github.com/Second-Live/karma-up/commit/3e7eaebb5bafa9ff93ff2f2f14e70f54979f8afb))
* Merge config child nodes on config.set() ([65b688a](https://github.com/Second-Live/karma-up/commit/65b688a9f50c289254da8936e870d1e44fe12831)), closes [karma-runner/grunt-karma#165](https://github.com/karma-runner/grunt-karma/issues/165) [karma-runner/grunt-karma#166](https://github.com/karma-runner/grunt-karma/issues/166)
* **middleware/runner:** handle file list rejections ([#3400](https://github.com/Second-Live/karma-up/issues/3400)) ([80febfb](https://github.com/Second-Live/karma-up/commit/80febfb53a7d041bdcbcffef617e53cdc2d8dd66)), closes [#3396](https://github.com/Second-Live/karma-up/issues/3396) [#3396](https://github.com/Second-Live/karma-up/issues/3396)
* **middleware:** Actually serve the favicon. ([f12db63](https://github.com/Second-Live/karma-up/commit/f12db639c9fe8d3f3210cc5868ae150179a06d3a))
* **middleware:** add file type to absolute urls ([bd1f799](https://github.com/Second-Live/karma-up/commit/bd1f799fda6a6eec2c16318cb1d18488fbf680e2))
* **middleware:** avoid using deprecated Buffer API ([018e6be](https://github.com/Second-Live/karma-up/commit/018e6bec1775d4a6442e2554e510a989c8f0d3be)), closes [/nodejs.org/api/deprecations.html#deprecations_dep0005](https://github.com//nodejs.org/api/deprecations.html/issues/deprecations_dep0005)
* **middleware:** catch errors when loading a module ([#3605](https://github.com/Second-Live/karma-up/issues/3605)) ([fec972f](https://github.com/Second-Live/karma-up/commit/fec972ff63760f9606a4cef7673a68c55c880722)), closes [#3572](https://github.com/Second-Live/karma-up/issues/3572)
* **middleware:** change to use vanilla for loop ([ac62cc0](https://github.com/Second-Live/karma-up/commit/ac62cc0f7d8d85a91626d47c006cc70f1cfafe9e)), closes [#2671](https://github.com/Second-Live/karma-up/issues/2671)
* **middleware:** Correct spelling of middleware logger name ([9e9e7e6](https://github.com/Second-Live/karma-up/commit/9e9e7e6d6099963fdb3e13b68570d5bef11e1a45))
* **middleware:** does not work with mootools ([#2591](https://github.com/Second-Live/karma-up/issues/2591)) ([2685e13](https://github.com/Second-Live/karma-up/commit/2685e1357f457757c3fa3f5d84a837ed9a51b646))
* **middleware:** ensure Range headers adhere more closely to RFC 2616 ([8b1b4b1](https://github.com/Second-Live/karma-up/commit/8b1b4b1052925e15770a0d4017a6ebc9ea89c0ed)), closes [#2310](https://github.com/Second-Live/karma-up/issues/2310)
* **middleware:** fix WARN log when passing undefined error handler to promise.then ([20b87de](https://github.com/Second-Live/karma-up/commit/20b87de18854c19373b935c2cfa7ed5fa4e3ec87)), closes [#2227](https://github.com/Second-Live/karma-up/issues/2227)
* **middleware:** Inject `config.urlRoot`. ([569ca0e](https://github.com/Second-Live/karma-up/commit/569ca0e56671ecffbd247268c0a943c6bfd61ea7)), closes [#1516](https://github.com/Second-Live/karma-up/issues/1516)
* **middleware:** log invalid filetype ([#3292](https://github.com/Second-Live/karma-up/issues/3292)) ([7eb48c5](https://github.com/Second-Live/karma-up/commit/7eb48c53c9e591b2f886baacf40468988219c360)), closes [#3291](https://github.com/Second-Live/karma-up/issues/3291)
* **middleware:** Obey the Promise API. ([93ba05a](https://github.com/Second-Live/karma-up/commit/93ba05ad476ed055e3355f7c4cc03eccd7874e74))
* **middleware:** replace %X_UA_COMPATIBLE% marker anywhere in the file ([f1aeaec](https://github.com/Second-Live/karma-up/commit/f1aeaec09e49856747b8f650d06b4dcc61eb637e)), closes [#3711](https://github.com/Second-Live/karma-up/issues/3711)
* **middleware:** simplify stripHost. ([#3115](https://github.com/Second-Live/karma-up/issues/3115)) ([d65e911](https://github.com/Second-Live/karma-up/commit/d65e911c80f0ccb3d6dac5634c89d93ff45e9ca8))
* **middleware:** update `Buffer` usage ([3d94b8c](https://github.com/Second-Live/karma-up/commit/3d94b8cf18c695104ca195334dc75ff054c74eec))
* **package.json:** sinon-chai 2.13 is not compatible with sinon 4.x ([#2977](https://github.com/Second-Live/karma-up/issues/2977)) ([e095b05](https://github.com/Second-Live/karma-up/commit/e095b054b1da153c8557e4637012459eace35959))
* **package:** bump lodash version ([#3203](https://github.com/Second-Live/karma-up/issues/3203)) ([d38f344](https://github.com/Second-Live/karma-up/commit/d38f344dbca9696d88e0f055b2b4c7dd150708a7)), closes [#3177](https://github.com/Second-Live/karma-up/issues/3177)
* pass integrity value ([63d86be](https://github.com/Second-Live/karma-up/commit/63d86befd3431fe8e1500e22f4f115a3762d000a))
* patch karma to allow loading virtual packages ([#3663](https://github.com/Second-Live/karma-up/issues/3663)) ([5bfcf5f](https://github.com/Second-Live/karma-up/commit/5bfcf5f37de6f0a12abcf9914c2fad510395b4d6))
* **plugins:** refactor instantiatePlugin from preproprocessor ([#3628](https://github.com/Second-Live/karma-up/issues/3628)) ([e02858a](https://github.com/Second-Live/karma-up/commit/e02858ae0d0de3f05add976b10e4b6b935cc3dd7))
* prefer IPv4 addresses when resolving domains ([e17698f](https://github.com/Second-Live/karma-up/commit/e17698f950af83bf2b3edc540d2a3e1fb73cba59)), closes [#3730](https://github.com/Second-Live/karma-up/issues/3730)
* **preprocessor:** better errors when loading preprocessors ([3390a00](https://github.com/Second-Live/karma-up/commit/3390a00b49c513a6da60f48044462118436130f8))
* **preprocessor:** calculate sha1 on content returned from a preprocessor ([6cf7955](https://github.com/Second-Live/karma-up/commit/6cf795576bd6d77decac68ecc4838871b6df4836)), closes [#1204](https://github.com/Second-Live/karma-up/issues/1204)
* **preprocessor:** consider SVG files as text files, not binary files ([ff28803](https://github.com/Second-Live/karma-up/commit/ff2880369f0c4e8b78d95bb20365cead340f8fc9)), closes [#1026](https://github.com/Second-Live/karma-up/issues/1026)
* **preprocessor:** Directory names with dots ([4b5e094](https://github.com/Second-Live/karma-up/commit/4b5e09403680ca3bf15a6f92da7e03335cfaaad8))
* **preprocessor:** do not show duplicate warnings ([47c641f](https://github.com/Second-Live/karma-up/commit/47c641f7560d28e0d9eac7ae010566d296d5b628))
* **preprocessor:** Improve handling of failed preprocessors ([e726d1c](https://github.com/Second-Live/karma-up/commit/e726d1c4e177a54729f22d91f3d8a5dc04694781)), closes [#1521](https://github.com/Second-Live/karma-up/issues/1521)
* **preprocessor:** Lookup patterns once invoked ([00a2781](https://github.com/Second-Live/karma-up/commit/00a278133964e70904f6e9bdec9a488a4902b28c)), closes [#1340](https://github.com/Second-Live/karma-up/issues/1340)
* **preprocessor:** remove ts from binary extensions ([8269852](https://github.com/Second-Live/karma-up/commit/8269852304d2d420bb25a0e4bb13bba58a339f39))
* **preprocessor:** renamed handeFile to readFileCallback ([92a8c81](https://github.com/Second-Live/karma-up/commit/92a8c81fbed0cae423fbd84d3e64bc4086fd30af))
* **preprocessor:** resolve relative patterns to basePath ([c608a9e](https://github.com/Second-Live/karma-up/commit/c608a9e5a34a49da2971add8759a9422b74fa6fd)), closes [#382](https://github.com/Second-Live/karma-up/issues/382)
* **preprocessor:** retry if fs.readFile fails ([4b60513](https://github.com/Second-Live/karma-up/commit/4b605137796f275f4aff3cd0481c78ca153aaf51))
* **preprocessor:** serve NaCl binaries ([1cc6a1e](https://github.com/Second-Live/karma-up/commit/1cc6a1e34b24768bffdaf47fb5e36559f5dc5135))
* **preprocessor:** Throw error if can't open file ([bb4edde](https://github.com/Second-Live/karma-up/commit/bb4edde9f15a07e6dac0d4dc01731f1e277d34a4))
* **preprocessor:** throw if retry fails ([2789bf5](https://github.com/Second-Live/karma-up/commit/2789bf57abd977def5caf22609eef74acbad292e))
* **preprocessor:** treat *.gz files as binary ([1b56932](https://github.com/Second-Live/karma-up/commit/1b56932fb49e0f3793f00599e11c24f6254236f4))
* **preprocessor:** treat *.swf files as binary ([62d7d38](https://github.com/Second-Live/karma-up/commit/62d7d3873ed3e046ab24530cb20297ddad51cf85))
* **preprocessor:** treat *.tgz, *.tbz2, *.txz & *.xz as binary ([7b64244](https://github.com/Second-Live/karma-up/commit/7b642449811b0c0af63147f74159c6dbb8900563))
* **preprocessor:** use graceful-fs to prevent EACCESS errors ([279bcab](https://github.com/Second-Live/karma-up/commit/279bcab54019a0f0af72c7c08017cf4cdefebe46)), closes [#566](https://github.com/Second-Live/karma-up/issues/566)
* **preprocess:** set correct extension for the preprocessed path ([c9a64d2](https://github.com/Second-Live/karma-up/commit/c9a64d2f1a94c0a7dab2fcde79696c139d958c57)), closes [#843](https://github.com/Second-Live/karma-up/issues/843)
* **proxy:** fix crashing proxy when browser hangs connection ([1c78a01](https://github.com/Second-Live/karma-up/commit/1c78a01a19411accb86f0bde9e040e5088752575))
* **proxy:** handle proxied socket.io websocket transport upgrade ([fcc2a98](https://github.com/Second-Live/karma-up/commit/fcc2a98f6af5f71a929130825b18db56557f29f7))
* **proxy:** More useful proxyError log message ([96640a7](https://github.com/Second-Live/karma-up/commit/96640a75dab089255c0619733ca9d5f9fe80127d))
* **proxy:** Pass protocol in target object to enable https requests ([142db90](https://github.com/Second-Live/karma-up/commit/142db90d33026710e92158e0e48abd7b30c5973e))
* **proxy:** Port mixup and infinite loop ([05616a2](https://github.com/Second-Live/karma-up/commit/05616a2f4ceca7e86f35a921ab26fe571db33cc9)), closes [#1987](https://github.com/Second-Live/karma-up/issues/1987)
* **proxy:** proxy to correct port ([a483636](https://github.com/Second-Live/karma-up/commit/a483636efd440c13e6db36f6b661861558464089))
* remove broken link from docs - 06-angularjs.md ([#3555](https://github.com/Second-Live/karma-up/issues/3555)) ([da2f307](https://github.com/Second-Live/karma-up/commit/da2f307603dbdeb9b49e30ebdbbe9ce68ccc2e9e))
* remove circular reference in Browser ([518cb11](https://github.com/Second-Live/karma-up/commit/518cb118d8f90b2a64846a109a974b1b5873aabf)), closes [#3075](https://github.com/Second-Live/karma-up/issues/3075)
* remove depreciation warning from log4js ([41bed33](https://github.com/Second-Live/karma-up/commit/41bed33bf4b88c7e0787ca3a5ec15f2913b936fd))
* Remove inadvertently added dependency to mock-fs ([ad5f6b5](https://github.com/Second-Live/karma-up/commit/ad5f6b55da5984caa9a5365a43cdd66d5ecd196f))
* remove string template from client code ([91d5acd](https://github.com/Second-Live/karma-up/commit/91d5acda6325caf91685da465d688527bd412b47))
* remove support of jsVersion configuration property ([#3002](https://github.com/Second-Live/karma-up/issues/3002)) ([2bb4e36](https://github.com/Second-Live/karma-up/commit/2bb4e3691cc79ea7d46096c6cf154e5f3acc82af)), closes [#2911](https://github.com/Second-Live/karma-up/issues/2911)
* remove unused JSON utilities and flatted dependency ([#3550](https://github.com/Second-Live/karma-up/issues/3550)) ([beed255](https://github.com/Second-Live/karma-up/commit/beed255698c2efb3b7139f2145123829578345f6))
* remove vulnerable dependency combine-lists ([#3273](https://github.com/Second-Live/karma-up/issues/3273)) ([c43f584](https://github.com/Second-Live/karma-up/commit/c43f58427227e6a7fbaa95420a72ca9018839b87)), closes [#3265](https://github.com/Second-Live/karma-up/issues/3265)
* remove vulnerable dependency expand-braces ([#3270](https://github.com/Second-Live/karma-up/issues/3270)) ([4ec4f6f](https://github.com/Second-Live/karma-up/commit/4ec4f6f26b175e3f759dfae9c1ba6a41654185da)), closes [#3268](https://github.com/Second-Live/karma-up/issues/3268) [#3269](https://github.com/Second-Live/karma-up/issues/3269)
* report launcher process error when exit event is not emitted ([#3647](https://github.com/Second-Live/karma-up/issues/3647)) ([7ab86be](https://github.com/Second-Live/karma-up/commit/7ab86be25c334b07747632b0a6bdb1d650d881bc))
* **reporter.junit:** Add browser log output to JUnit.xml ([f108799](https://github.com/Second-Live/karma-up/commit/f108799a4d8fd95b8c0250ee83c23ada25d026b9)), closes [#302](https://github.com/Second-Live/karma-up/issues/302)
* **reporter:** better errors when loading reporters ([c645c06](https://github.com/Second-Live/karma-up/commit/c645c060c4f381902c2005eefe5b3a7bfa63cdcc))
* **reporter:** Better handling of non string error ([82f1c12](https://github.com/Second-Live/karma-up/commit/82f1c1207b34955602b7590a34f8bf50b1a5ba6a)), closes [#1969](https://github.com/Second-Live/karma-up/issues/1969) [#1988](https://github.com/Second-Live/karma-up/issues/1988)
* **reporter:** Disable source maps for URLs without line number ([2080221](https://github.com/Second-Live/karma-up/commit/2080221e6bac3ef6dbff0e4aab7784385034d227)), closes [#1274](https://github.com/Second-Live/karma-up/issues/1274)
* **reporter:** do not allow URL domains to span new lines ([2c13404](https://github.com/Second-Live/karma-up/commit/2c1340437171778961ba333fd7ccd311c84377a8))
* **reporter:** Enable sourcemaps for errors that without column # ([086a542](https://github.com/Second-Live/karma-up/commit/086a5427142f161c288f3b7daccc0e43cd223ddd))
* **reporter:** Ensure errors use the source map. ([0407a22](https://github.com/Second-Live/karma-up/commit/0407a2280b01972ebcebe9ad341cff87c788975e)), closes [#1495](https://github.com/Second-Live/karma-up/issues/1495)
* **reporter:** Fix issue causing error stack not to be parsed correctly ([ac4e1a9](https://github.com/Second-Live/karma-up/commit/ac4e1a9f01d671c71ccbf15a34c59e2be19da98a)), closes [#2930](https://github.com/Second-Live/karma-up/issues/2930)
* **reporter:** format stack with 1-based column ([#3325](https://github.com/Second-Live/karma-up/issues/3325)) ([182c04d](https://github.com/Second-Live/karma-up/commit/182c04d4617ed173d9445e0d83581829ba704b65)), closes [#3324](https://github.com/Second-Live/karma-up/issues/3324)
* **reporter:** inject correct config option ([80bd726](https://github.com/Second-Live/karma-up/commit/80bd726807cbc509fb73720df50366c54d779ba1))
* **reporter:** keep users exact formatError result ([17c2c43](https://github.com/Second-Live/karma-up/commit/17c2c43a7ce3f6346ddffdeb2b283f286e9e4bb8))
* **reporter:** preserve base/absolute word in error ([b3798df](https://github.com/Second-Live/karma-up/commit/b3798dfd77adbcb0a3ab05579a0d277d7178776f))
* **reporter:** prevent throwing exception when null is sent to formatter ([3b49c38](https://github.com/Second-Live/karma-up/commit/3b49c385fcc8ef96e72be390df058bd278b40c17))
* **reporter:** print browser stats immediately after it finishes ([65202d8](https://github.com/Second-Live/karma-up/commit/65202d870fa602e70483aeebbf87d0e11d6c1017))
* **reporter:** remove console.log ([b4e3694](https://github.com/Second-Live/karma-up/commit/b4e3694435de80c97976f1a368303528ab85f0d9))
* **reporter:** remove newline from base reporter browser dump ([dfae18b](https://github.com/Second-Live/karma-up/commit/dfae18b63b413a1e6240d00b9dc0521ac0386ec5)), closes [#297](https://github.com/Second-Live/karma-up/issues/297)
* **reporter:** remove SHAs from stack traces ([d7c31f9](https://github.com/Second-Live/karma-up/commit/d7c31f97be654f08d484563282a68d59638c5693))
* **reporters:**  cannot read property map of undefined  ([305df2c](https://github.com/Second-Live/karma-up/commit/305df2cafd25421042a74bf076f6e24f58b75c6f)), closes [#1662](https://github.com/Second-Live/karma-up/issues/1662)
* **reporters:** Fix results not being reported ([6303566](https://github.com/Second-Live/karma-up/commit/63035662cf3484b189270d3b4d15762331012577))
* **reporters:** format fix for console log ([d2d1377](https://github.com/Second-Live/karma-up/commit/d2d1377d1be0da17196a1c82bf5584997d502b68)), closes [#934](https://github.com/Second-Live/karma-up/issues/934)
* **reporter:** show file path correctly when urlRoot specified ([34dc7d3](https://github.com/Second-Live/karma-up/commit/34dc7d3a7d3aac1adf88ff020ee910e59bed5aea)), closes [#2897](https://github.com/Second-Live/karma-up/issues/2897)
* **reporter:** sourcemap not working in windows ([a9516af](https://github.com/Second-Live/karma-up/commit/a9516af2af87953154e81b6080214798a9b64da5)), closes [#1200](https://github.com/Second-Live/karma-up/issues/1200)
* **reporters:** Revert the backwards-incompatible log priority order changes ([316b944](https://github.com/Second-Live/karma-up/commit/316b944d2ee7b1c9d011472dc41f149f92e88f26)), closes [#2582](https://github.com/Second-Live/karma-up/issues/2582)
* **reporters:** Throwing error without loosing stack trace ([8a515ae](https://github.com/Second-Live/karma-up/commit/8a515ae43af0dfb95f56351d2888b3d648fdf93b))
* **reporter:** strip only hostname/port ([fbbeccf](https://github.com/Second-Live/karma-up/commit/fbbeccf936a08e5296ffbe41e02c82c4a014c80e)), closes [#2209](https://github.com/Second-Live/karma-up/issues/2209)
* **reporter:** warning if stack trace contains generated code invocation ([4f23b14](https://github.com/Second-Live/karma-up/commit/4f23b14d3e774c0401f2c9eecb188b37aed020eb))
* restarted browsers not running tests ([#3233](https://github.com/Second-Live/karma-up/issues/3233)) ([cc2eff2](https://github.com/Second-Live/karma-up/commit/cc2eff27deb680f789afb34577fd337d2ad5dcac))
* restartOnFileChange option not restarting the test run ([92ffe60](https://github.com/Second-Live/karma-up/commit/92ffe6018451f6144e8bc7726d304057b5ac9d0a)), closes [#27](https://github.com/Second-Live/karma-up/issues/27) [#3724](https://github.com/Second-Live/karma-up/issues/3724)
* restore `customFileHandlers` provider ([#3624](https://github.com/Second-Live/karma-up/issues/3624)) ([25d9abb](https://github.com/Second-Live/karma-up/commit/25d9abb76929b6ea8abe1cf040ba6db2f269d50e))
* restore backward compatibility for karma@0.13 ([648b357](https://github.com/Second-Live/karma-up/commit/648b357a0061b62448428eed379276836f92dbe5))
* reuse browser instance when restarting disconnected browser ([1f1a8eb](https://github.com/Second-Live/karma-up/commit/1f1a8ebf38827fe772c631de200fdfa4a705a40b))
* revert source-map update ([#3559](https://github.com/Second-Live/karma-up/issues/3559)) ([d9ba284](https://github.com/Second-Live/karma-up/commit/d9ba2849ced403a2ff2574d8e3a14deee21f1cc4)), closes [#3557](https://github.com/Second-Live/karma-up/issues/3557)
* **runner:** do not confuse client args with the config file ([6f158ab](https://github.com/Second-Live/karma-up/commit/6f158abaf923dad6878a64da2d8a3c2c56ae604f))
* **runner:** Do not persist grep option across runs ([#3121](https://github.com/Second-Live/karma-up/issues/3121)) ([c91cb81](https://github.com/Second-Live/karma-up/commit/c91cb81e496c2e8c758304d77e7c3b7a7c29f073))
* **runner:** Fix typo in CSS class name for .idle ([fc5a7ce](https://github.com/Second-Live/karma-up/commit/fc5a7ce0904a78ece6a9cfa29215b17bd5c1929d))
* **runner:** Karma hangs when file paths have \u in them [#924](https://github.com/Second-Live/karma-up/issues/924) ([1199fc4](https://github.com/Second-Live/karma-up/commit/1199fc4d7ee7be2d48a707876ddb857544cf2fb4))
* **runner:** Make exit code configurable when tests are failing ([#3116](https://github.com/Second-Live/karma-up/issues/3116)) ([74da748](https://github.com/Second-Live/karma-up/commit/74da748908bde520a53c3cbc22dd891d7f2d170a)), closes [#1300](https://github.com/Second-Live/karma-up/issues/1300)
* **runner:** Make process kill timeout configurable ([ffaa054](https://github.com/Second-Live/karma-up/commit/ffaa054a299a1abd68ab99769394b70ee5d08a19)), closes [#2447](https://github.com/Second-Live/karma-up/issues/2447)
* **runner:** Make process kill timeout configurable - Fix Build ([a128e5c](https://github.com/Second-Live/karma-up/commit/a128e5cf64d744ae648a0885c4151c877cf5eff9)), closes [#2447](https://github.com/Second-Live/karma-up/issues/2447)
* **runner:** Merge config.client.args with client.args provided by run ([91de383](https://github.com/Second-Live/karma-up/commit/91de383826d16add153292f38c0426ef7c44da17)), closes [#1746](https://github.com/Second-Live/karma-up/issues/1746)
* **runner:** remove explicit error on all tests failed ([#3369](https://github.com/Second-Live/karma-up/issues/3369)) ([f8005c6](https://github.com/Second-Live/karma-up/commit/f8005c6307d530c703f3db266f31e40d55049fb6)), closes [#3367](https://github.com/Second-Live/…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants