5.0.4 (2020-04-30) #
Bug Fixes #
browser: make sure that empty results array is still recognized (#3486 ) (fa95fa3 )
5.0.3 (2020-04-29) #
Bug Fixes #
5.0.2 (2020-04-16) #
Bug Fixes #
ci: stop the proxy before killing the child, handle errors (#3472 ) (abe9af6 ), closes #3464
5.0.1 (2020-04-10) #
Bug Fixes #
5.0.0 (2020-04-09) #
Bug Fixes #
Code Refactoring #
Continuous Integration #
Features #
docs: document DEFAULT_LISTEN_ADDR
constant (#3443 ) (057d527 ), closes #2479
karma-server: added log to the server.js for uncaught exception (#3399 ) (adc6a66 )
preprocessor: obey Pattern.isBinary when set (#3422 ) (708ae13 ), closes #3405
BREAKING CHANGES #
Karma plugins which rely on the fact that Karma uses Bluebird promises may break as Bluebird-specific API is no longer available on Promises returned by the Karma core
server: Deprecated createPreprocessor removed, karma-browserify < 7 version doesn't work
no more testing on node 8.
4.4.1 (2019-10-18) #
Bug Fixes #
deps: back to karma-browserstack-launcher 1.4 (#3361 ) (1cd87ad )
server: Add test coverage for config.singleRun true branch. (#3384 ) (259be0d )
if preprocessor is async function and doesn't return a content then await donePromise (#3387 ) (f91be24 )
4.4.0 (2019-10-17) #
Bug Fixes #
Features #
4.3.0 (2019-08-27) #
Bug Fixes #
Features #
4.2.0 (2019-07-12) #
Bug Fixes #
4.1.0 (2019-04-15) #
Bug Fixes #
client: Enable loading different file types when running in parent mode without iframe (#3289 ) (7968db6 )
client: Only create the funky object if message is not a string (#3298 ) (ce6825f ), closes #3296
launcher: Log state transitions in debug (#3294 ) (6556ab4 ), closes #3290
middleware: log invalid filetype (#3292 ) (7eb48c5 ), closes #3291
4.0.1 (2019-02-28) #
Bug Fixes #
4.0.0 (2019-01-23) #
Bug Fixes #
Chores #
BREAKING CHANGES #
Drop Support for Node 6, to make it possible to use async/await in karma codebase.
3.1.4 (2018-12-17) #
Bug Fixes #
3.1.3 (2018-12-01) #
Bug Fixes #
3.1.2 (2018-12-01) #
Bug Fixes #
Features #
3.1.1 (2018-10-23) #
Bug Fixes #
config: move puppeteer from dependency to dev-dependency (#3193 ) (f0d52ad ), closes #3191
3.1.0 (2018-10-22) #
Bug Fixes #
Features #
config: Add config option for browser socket timeout (#3102 ) (11e3a9d ), closes #2927
config: add support for ES modules (e811adb )
frameworks: report start() errors back to server. (#3126 ) (8257375 )
server: .dom files include HTML tags in page. (#3178 ) (4651524 )
server: Add public API to force a file refresh (dab8a82 )
server: Add stop method (#3153 ) (6d96d8e ), closes #3149
server: Add support for encoded source files (#3123 ) (68b37d3 )
3.0.0 (2018-08-09) #
Bug Fixes #
config: wait 20s for browser activity. (#3087 ) (88b977f )
config: Wait 30s for browser activity per Travis. (#3091 ) (f6d2f0e )
init: add "ChromeHeadless" to the browsers' options (#3096 ) (56fda53 )
server: Exit clean on unhandledRejections. (#3092 ) (02f54c6 ), closes #3064
travis: Up the socket timeout 2->20s. (#3103 ) (732396a ), closes #3102
travis: use the value not the key name. (#3097 ) (90f5546 )
travis: validate TRAVIS_COMMIT if TRAVIS_PULL_REQUEST_SHA is not set. (#3094 ) (fba5d36 )
travis: Validate TRAVIS_PULL_REQUEST_SHA rather than TRAVIS_COMMIT. (#3093 ) (a58fa45 )
BREAKING CHANGES #
Drop Support for Nodejs4 (#3082 )
2.0.5 (2018-07-24) #
Bug Fixes #
remove circular reference in Browser (518cb11 ), closes #3075
browser: ensure browser state is EXECUTING when tests start (#3074 ) (dc7265b ), closes #1640
doc: Document release steps for admins (#3063 ) (a701732 )
middleware: Obey the Promise API. (93ba05a )
server: pass bound port to preventEADDRINUSE
issue. (#3065 ) (850a90b )
Features #
preprocessor: Allow preprocessor to handle binary files (#3054 ) (7b66e18 )
2.0.4 (2018-06-21) #
Bug Fixes #
deps: remove babel-core and babel call in wallaby. (#3044 ) (7da8ca0 )
events: bind emitters with for..in. (#3059 ) (b99f03f ), closes #3057
launcher: Only markCaptured browsers that are launched. (#3047 ) (f8f3ebc )
server: actually call stert(). (#3062 ) (40d836a )
server: Resurrect static function Server.start() lost in 2.0.3 (#3055 ) (c88ebc6 )
2.0.3 (2018-06-15) #
The 2.03. change log was incorrectly created due to an extra pending tag in the repo.
2.0.2 (2018-04-19) #
Bug Fixes #
package.json: sinon-chai 2.13 is not compatible with sinon 4.x (#2977 ) (e095b05 )
2.0.1 (2018-04-19) #
Bug Fixes #
browser: nicer "disconnect" - no more "Disconnectedundefined" (a987d63 )
common: fix AppVeyor build (6c5e7d0 )
common: more detailed info about error (424aacc )
config: Call debug log methods after setting the loglevel based upon config/cli-options. (a340dae )
config: Call debug log methods after setting the loglevel based upon config/cli-options. (99fd3f0 )
config: Retry install with appveyor-retry. (17d5791 )
config: Workaround npm 5.4 windows bug (ec47d81 )
deps: update socket.io to version 2.0.3. (3b7b019 ), closes #2777
logging: Upgrade to log4js 2.x API. (#2868 ) (f6f8707 ), closes #2858
middleware: add file type to absolute urls (bd1f799 )
ignore jsVersion configuration property in Firefox 59+ (2694d54 ), closes #2957
middleware: avoid using deprecated Buffer API (018e6be )
reporter: Fix issue causing error stack not to be parsed correctly (ac4e1a9 ), closes #2930
reporter: show file path correctly when urlRoot specified (34dc7d3 ), closes #2897
server: switch to sync write (6ec74ee )
Features #
cli: Warn on commands with underscores. (0801a7f )
config: allow to use newer versions of CoffeeScript (c1fcf42 )
launcher: trim whitespace in browser name (871d46f )
launcher: trim whitespace in browser name (334f9fb )
middleware: added manual file type option (0330cd1 ), closes #2824
better string representation of errors (c9e1ca9 )
drop core-js and babel where possible (60dfc5c )
update of supported node versions (e79463b )
1.7.1 (2017-08-25) #
Bug Fixes #
debug-runner: support asynchronous tests in the debug runner (a36f3eb ), closes #2811
file-list: Stop polluting global environment with core-js (0988022 )
preprocessor: renamed handeFile to readFileCallback (92a8c81 )
preprocessor: retry if fs.readFile fails (4b60513 )
preprocessor: throw if retry fails (2789bf5 )
Features #
ci: disable testing of node versions below 4 (ec92ea9 )
client: log global error stack trace (523d608 ), closes #2812
config: remove polling usage (b0f41c7 ), closes #2669
deps: add support for node@8 (7feaee3 ), closes #2754
deps: update socket.io to 1.7.4
to avoid issue with ws[@1](https://github.com/1).1.2
(264442b ), closes #2593
watcher: Debounce autoWatchBatchDelay (2f8c049 ), closes #2331
2.0.0 (2017-12-21) #
Bug Fixes #
config: Call debug log methods after setting the loglevel based upon config/cli-options. (99fd3f0 )
config: Call debug log methods after setting the loglevel based upon config/cli-options. (a340dae )
config: Retry install with appveyor-retry. (17d5791 )
config: Workaround npm 5.4 windows bug (ec47d81 )
deps: update socket.io to version 2.0.3. (3b7b019 ), closes #2821 #2777
logging: Upgrade to log4js 2.x API. (#2868 ) (f6f8707 ), closes #2858
reporter: show file path correctly when urlRoot specified (34dc7d3 ), closes #2897
debug-runner: support asynchronous tests in the debug runner (a36f3eb ), closes #2811
file-list: Stop polluting global environment with core-js (0988022 )
preprocessor: renamed handeFile to readFileCallback (92a8c81 )
preprocessor: retry if fs.readFile fails (4b60513 )
preprocessor: throw if retry fails (2789bf5 )
Features #
cli: Warn on commands with underscores. (0801a7f )
config: allow to use newer versions of CoffeeScript (c1fcf42 )
launcher: trim whitespace in browser name (871d46f )
launcher: trim whitespace in browser name (334f9fb )
middleware: added manual file type option (0330cd1 ), closes #2824
better string representation of errors (c9e1ca9 )
n* drop core-js and babel where possible (60dfc5c )
update of supported node versions (e79463b )
ci: disable testing of node versions below 4 (ec92ea9 )
client: log global error stack trace (523d608 ), closes #2812
config: remove polling usage (b0f41c7 ), closes #2669
deps: add support for node@8 (7feaee3 ), closes #2754
deps: update socket.io to 1.7.4
to avoid issue with ws@1.1.2
(264442b ), closes #2593
watcher: Debounce autoWatchBatchDelay (2f8c049 ), closes #2331
1.7.1 (2017-08-30) #
Features #
1.7.0 (2017-05-06) #
Bug Fixes #
middleware: change to use vanilla for loop (ac62cc0 ), closes #2671
reporters: Revert the backwards-incompatible log priority order changes (316b944 ), closes #2582
Features #
runner: Buffer stdout and stderr for output when errors occur (460d423 )
1.6.0 (2017-04-05) #
Bug Fixes #
client: add proxy support to stringify (be10116 )
file-list: always use file from first matcher (74bfdf3 )
middleware: does not work with mootools (#2591 ) (2685e13 )
reporter: keep users exact formatError result (17c2c43 )
Features #
browser: add browser_info event (09ac7d7 ), closes #2192
launcher: output stderr for failing launchers (7d33398 )
proxy: add proxy events to config (f5d99fb )
1.5.0 (2017-02-20) #
Bug Fixes #
filter browser logging by level of LOG (89a7a1c ), closes #2228
make window.parent.karma available in debugged context (3e7eaeb )
client: don't crash if receive array-like results (e095411 ), closes #2061
Features #
add an option to run the tests by dynamically loading test scripts without iframe (aa42c41 )
add support for node@7 (eb407ab ), closes #2559
1.4.1 (2017-01-29) #
Bug Fixes #
runner: Make process kill timeout configurable (ffaa054 ), closes #2447
runner: Make process kill timeout configurable - Fix Build (a128e5c ), closes #2447
runner: Test process kill timeout config (99a1d48 ), closes #2447
Features #
config: allow config to be a default export (9976dce )
1.4.0 (2017-01-14) #
Bug Fixes #
browser: filter browser logging by level (35965d9 ), closes #2228
cli: restore shell completion in the npm package (f56b5a5 ), closes #2351
config: add crossOriginAttribute config option (1e465b1 )
middleware: update Buffer
usage (3d94b8c )
reporter: do not allow URL domains to span new lines (2c13404 )
reporter: strip only hostname/port (fbbeccf ), closes #2209
reporters: cannot read property map of undefined (305df2c ), closes #1662
server: exit with code 1 when failing due to missing browser (86e2ef2 ), closes #2403
Features #
api: add constants to the public api (ee10977 ), closes #2361
api: expose config.parseConfig
on the public api (7d2c1ae )
client: capture confirm & prompt (3a618b3 ), closes #694
server: add listen address option so that IPv6 and loopback interfaces can be used (8e5bee6 ), closes #2477
web-server: allow overriding of default http module (1e7514d ), closes #2424
1.3.0 (2016-09-09) #
Bug Fixes #
launcher: exclude concurrent browser on launcher restart (96f8f14 ), closes #2280
middleware: ensure Range headers adhere more closely to RFC 2616 (8b1b4b1 ), closes #2310
Features #
reporter: add config formatError function (98a4fbf ), closes #2119
upstreamProxy config option to deal with proxies that adjust the base path, etc (55755e4 )
1.2.0 (2016-08-11) #
Bug Fixes #
context: Updated postMessage listener to stop validating non-Karma messages (306e565 )
docs: fix stopper.stop wrong variable name. closes #2244 (0745a00 ), closes #2244
file-list: ensure patterns are comparable (4d1bf3e ), closes #2194
middleware: fix WARN log when passing undefined error handler to promise.then (20b87de ), closes #2227
call .resume to prevent browser output streams filling up (107cd02 )
Merge config child nodes on config.set() (65b688a )
web-server: Allow karma to run in project which path contains HTML URL encoded characters. Karma fails on Jenkins when it checks out branches containing '/' as it converts it to '%2F'. Fixes errors seen on #1751 , #61 . (da1930f ), closes #1751 #61
Features #
web-server: Allow Range headers in web server. (a567b6f ), closes #2140
1.1.2 (2016-07-26) #
Bug Fixes #
Merge config child nodes on config.set() (65b688a )
context: Updated postMessage listener to stop validating non-Karma messages (306e565 )
docs: fix stopper.stop wrong variable name. closes #2244 (0745a00 ), closes #2244
file-list: ensure patterns are comparable (4d1bf3e ), closes #2194
middleware: fix WARN log when passing undefined error handler to promise.then (20b87de ), closes #2227
1.1.1 (2016-07-07) #
Bug Fixes #
executor: ensure run_complete is emitted last (9c894f9 ), closes #2210
reporter: inject correct config option (80bd726 )
reporter: remove console.log (b4e3694 )
Add crossorigin attribute to script HTML tags (5690ffe )
Features #
deprecate helper._ (5c6b151 )
config: add support for TypeScript (6445310 )
1.1.0 (2016-06-26) #
Bug Fixes #
deps: freeze socket.io version (73e300d )
server: log browser messages to the terminal (d1f924c ), closes #2187
Features #
Allow frameworks to inject middleware (d972f3d )
1.0.0 (2016-06-23) #
Bug Fixes #
ci: Repaired AppVeyor for Node.js@0 .12 (cbfd98c )
client: does not throws an error for non DOM object that has tagName
property (ba55afb ), closes #2139
files: Ignore included:false pattern (db42a7f ), closes #1530
helper: Patched replaceWinPath from choking on null
values (caa4d21 )
karma: Escape quotes for file names. This fixes issue #1876 . (9dff3f3 ), closes #1876 #1876
launcher: Allow dynamic browser launches (2b7d703 )
launcher: send sigkill on timeout when force killing (c615c1f )
proxy: Port mixup and infinite loop (05616a2 ), closes #1987
reporter: Better handling of non string error (82f1c12 )
reporter: Disable source maps for URLs without line number (2080221 ), closes #1274
Change timing on test (0cb6204 )
Setting default value for config in runner and stopper (414db89 )
reporters: Fix results not being reported (6303566 )
reporters: Throwing error without loosing stack trace (8a515ae )
runner: Merge config.client.args with client.args provided by run (91de383 ), closes #1746
updater: Fix time unit on screen display from 'ms' to 'seconds'. (f39dd04 )
web-server: Restart disconnected browser in non-singleRun mode. (f6587dc )
web-server: Update config on every request (8ef475f ), closes #1972
Code Refactoring #
context: Future-proofed context.html and debug.html for modularity (43f6a1a )
Features #
browser: Emit a browser error when a disconnect occurs. (e36ba6c )
config: Add configuration for adding javascript version. (0239c75 ), closes #1719
config: Allow custom context and debug files, with feature test and some specs. (225c0e5 )
file-list: Upgrade bluebird to v.3 (f5c252f )
logging: Add colors and log-level options to run-command (9d4e234 )
logging: Add logging-setup function (d14bd62 )
logging: Send color option to server (287d0db )
preprocessors: if a file matches multiple preprocessor patterns, intelligently merge the list of preprocessors, deduping and trying to preserve the order (59642a6 )
reporter: improve source map handling and reporting. (cf0be47 )
reporters: Look for color-reporter (fd9262d )
server: add 'listening' event with port number (82cd0df )
Add stopper
to the public API (3d4fa00 )
Add possibility to stop a karma server (66ae80b )
add support for node 6 (0b8dc2c )
adding support for before middleware (51b4206 )
stopper: Enable programically detached server (f10fd81 )
Fail on launcher-, reporter-, plugin-, or preprocessor-load errors. (fca930e ), closes #855
upgrade dependencies to their latest versions (08242a0 )
BREAKING CHANGES #
context: Our context.html
and debug.html
structures have changed to lean on context.js
and debug.js
.
This is in preparation for deeper context.js
changes in #1984.
As a result, all customContextFile
and customDebugFile
options much update their format
to match this new format.
Reverts #
"Merge pull request #1791 from budde377/feature-adding-no-colors-to-run-command" (96ebdc4 ), closes #1894 #1895
Bug Fixes #
runner: Remove null characters from terminal output (3481500 ), closes #1343
invalid characters in the headers on Node 5.6.0 (152337d )
Remove inadvertently added dependency to mock-fs (ad5f6b5 )
Switch all requires from fs to graceful-fs (1e21aaa )
Upgrade socket.io to 1.4.5 (2f51a9f )
Features #
Allow custom browser names (60ba85f )
Do not fail on empty test suite (8004763 ), closes #926
config: Add forceJSONP
option (8627d67 )
launcher: Enable specification of retry-limit (cc5547c ), closes #1126
logging: Add colors and log-level options to run-command (2d29165 )
logging: Send color option to server (486c4f3 )
web-server: Use isbinaryfile for binary file detection (f938a8e ), closes #1070
Bug Fixes #
server: Handle new socket.io internal format. (3ab78d6 ), closes #1782
Bug Fixes #
preprocessor: Improve handling of failed preprocessors (e726d1c ), closes #1521
Features #
cli: Add .config/karma.conf.js to the default lookup path (49bf1aa ), closes #1387
config: Add a clearContext config to prevent clearing of context. (5fc8ee7 )
config: mime config option support (d562383 ), closes #1735
Bug Fixes #
config: corrects spelling in example config template (9fafc60 )
middleware: Correct spelling of middleware logger name (9e9e7e6 )
preprocessor: Directory names with dots (4b5e094 )
test: locale in Expire header (db04cf0 ), closes #1741
Features #
proxy: Allow proxies configuration to be an object (ad94356 )
proxy: Allow to configure changeOrigin option of http-proxy (ae05ea4 ), closes #1729
Bug Fixes #
eslint: Fix formatting for the new ESLint 1.8.0 (dc1bbab )
Bug Fixes #
client: Revert back to old reloading detection (f1c22d6 )
client: Wait for childwindow to load (c1bb15a )
Bug Fixes #
client: Wait for iframe to be loaded (1631474 ), closes #1652
Bug Fixes #
proxy: Pass protocol in target object to enable https requests (142db90 )
Features #
0.13.11 (2015-10-14) #
Bug Fixes #
reporter: preserve base/absolute word in error (b3798df )
Features #
config: add restartOnFileChange option (1082f35 )
reporter: Replace way-too-big memoizee with a trivial solution. (d926fe3 )
web-server: add support for custom headers in files served (4301bea )
web-server: allow injection of custom middleware. (2e963c3 ), closes #1612
0.13.10 (2015-09-21) #
Bug Fixes #
config: Error when browers option isn't array (b695460 )
Features #
config: Pass CLI arguments to karma.config.js
. (70cf903 ), closes #1561
0.13.9 (2015-08-11) #
Bug Fixes #
file-list: refresh resolves before 'file_list_modified' event (65f1eca ), closes #1550
reporter: Enable sourcemaps for errors that without column # (086a542 )
0.13.8 (2015-08-06) #
Bug Fixes #
Features #
static: Support media queries (94e7b50 )
Add engine support for iojs@3. (eb1c8d2 )
0.13.7 (2015-08-05) #
Bug Fixes #
file-list: Use modified throttle instead of debounce (cb2aafb ), closes #1545
0.13.6 (2015-08-05) #
Bug Fixes #
client: Use supported shim path. (184f12e )
web-server: Ensure filesPromise
is always resolvable (892fa89 ), closes #1544
0.13.5 (2015-08-04) #
Bug Fixes #
file-list: Ensure autowatchDelay is working. (655599a ), closes #1520
file-list: use lodash find() (3bd15a7 ), closes #1533
Features #
web-server: Allow running on https (1696c78 )
0.13.4 (2015-08-04) #
Bug Fixes #
client: add ES5 shim (14c30b7 ), closes #1529
reporter: Ensure errors use the source map. (0407a22 ), closes #1495
runner: Wait for file list refresh to finish before running (94cddc0 )
server: Update timers for limited execution environments (9cfc1cd ), closes #1519
0.13.3 (2015-07-22) #
Bug Fixes #
restore backward compatibility for karma@0.13 (648b357a )
Features #
preprocessor: Capital letters in binary files extenstions (1688689d , closes #1508 )
0.13.2 (2015-07-17) #
Features #
cli: Better CLI args validation (73d31c2c )
preprocessor: Instantiate preprocessors early to avoid race conditions (8a9c8c73 )
server: Add public api to force a file list refresh. (b3c462a5 )
0.13.1 (2015-07-16) #
Bug Fixes #
0.13.0 (2015-07-15) #
Bug Fixes #
upgrade http-proxy module for bug fixes (09c75fe1 )
cli: print UserAgent string verbatim if from an unknown browser (9d972263 )
client:
deps: Upgrade connect 3. (b490985c )
file-list: Use correct find function (4cfaae96 )
helper: Ensure browser detection is handled in the unkown case (9328f67e )
launchers: Listen to the correct error event. (45a69221 )
web-server: Correctly update filesPromise on files updated (32eec8d7 )
Features #
Upgrade to socket.io 1.3 (603872c9 , closes #1220 )
allow frameworks to add preprocessors This changes the order in which things are (f6f5eec3 )
config: add nocache option for file patterns (6ef7e7b1 )
file-list: Use glob.sync for better speed (1b65cde4 )
logger:
Add date/time stamp to log output (a4b5cdde )
reporter: cache SourceMapConsumer (fe6ed7e5 )
runner:
serve context in JSON format for JS-only environments (189feffd )
provide error code on 'ECONNREFUSED' callback (439bddb1 )
server: improve public api (82cbbadd , closes #1037 , #1482 , #1467 )
watcher: Allow using braces in watcher (e046379b , closes #1249 )
web-server: Serve all files under urlRoot (1319b32d )
Breaking Changes #
The public api interface has changed to a constructor form. To upgrade change
var server = require (‘karma’).server
server.start(config, done)
to
var Server = require (‘karma’).Server
var server = new Server(config, done)
server.start()
Closes #1037, #1482, #1467
(82cbbadd )
0.12.37 (2015-06-24) #
Bug Fixes #
file_list: follow symlinks (ee267483 )
init: Make the requirejs config template normalize paths (54dcce31 )
middleware: Actually serve the favicon. (f12db639 )
0.12.36 (2015-06-04) #
Bug Fixes #
launcher: Continue with exit when SIGKILL fails (1eaccb4c )
preprocessor: Lookup patterns once invoked (00a27813 , closes #1340 )
0.12.35 (2015-05-29) #
Bug Fixes #
server: Start webserver and browsers after preprocessing completed (e0d2d239 )
0.12.34 (2015-05-29) #
Bug Fixes #
Features #
runner: Use favicon in static runner pages (6cded4f8 )
0.12.33 (2015-05-26) #
Bug Fixes #
catch exceptions from SourceMapConsumer (5d42e643 )
Safeguard IE against console.log (0b5ff8f6 , closes #1209 )
config: Default remaining client options if any are set (632dd5e3 , closes #961 )
init: fix test-main.(js/coffee) generation (d8521ef4 , closes #1120 , #896 )
0.12.31 (2015-01-02) #
Bug Fixes #
client: Fix stringify serializing objects (0d0972a5 )
0.12.30 (2014-12-30) #
Bug Fixes #
socket.io: Force 0.9.16 which works with Chrome (840ee5f7 )
0.12.29 (2014-12-30) #
Bug Fixes #
proxy: proxy to correct port (a483636e )
watcher: Close file watchers on exit event (71810257 )
0.12.28 (2014-11-25) #
Bug Fixes #
server: complete acknowledgment (f4144b0d )
0.12.27 (2014-11-25) #
Bug Fixes #
browser: don't add already active socket again on reconnect (37a7958a )
reporter: sourcemap not working in windows (a9516af2 )
0.12.26 (2014-11-25) #
Bug Fixes #
cli: override if an arg is defined multiple times (31eb2c2c , closes #1192 )
0.12.25 (2014-11-14) #
Bug Fixes #
add emscripten memory image as binary suffix (f6b2b561 )
Wrap url.parse to always return an object for query property (72452e9f , closes #1182 )
client.html: always open debug.html in a new browser process (d176bcf4 )
preprocessor: calculate sha1 on content returned from a preprocessor (6cf79557 , closes #1204 )
runner: Fix typo in CSS class name for .idle (fc5a7ce0 )
v0.12.24 (2014-09-30) #
Bug Fixes #
Wrap url.parse to always return an object for query property (72452e9f , closes #1182 )
0.12.23 (2014-08-28) #
Bug Fixes #
file_list: Incorrect response after remove and add file (0dbc0201 )
preprocessor: Throw error if can't open file (bb4edde9 )
Features #
init: install coffee-script automatically (e876db63 , closes #1152 )
0.12.22 (2014-08-19) #
Bug Fixes #
preprocessor: treat *.tgz, *.tbz2, *.txz & *.xz as binary (7b642449 )
0.12.21 (2014-08-05) #
Bug Fixes #
web-server: cache static files (eb5bd53f )
0.12.20 (2014-08-05) #
Bug Fixes #
config: #1113 Watching is not working properly on linux (c91ffbc0 , closes #1113 )
preprocessor:
0.12.19 (2014-07-26) #
Bug Fixes #
proxy: More useful proxyError log message (96640a75 )
0.12.18 (2014-07-25) #
Bug Fixes #
watcher: handle paths on Windows (6164d869 )
0.12.17 (2014-07-11) #
Bug Fixes #
logging: Summarize SKIPPED tests in debug.html. Before: hundreds of SKIPPING lines in con (a01100f5 , closes #1111 )
server: Force clients disconnect on Windows (28239f42 , closes #1109 )
travis_ci: converted node versions as string (25ee6fc9 )
Features #
serve ePub as binary files (82ed0c6e )
preprocessor: add 'mp3' and 'ogg' as binary formats to avoid media corruption in the browser. (65a0767e )
v0.12.16 (2014-05-10) #
Bug Fixes #
launcher: cancel kill timeout when process exits cleanly (bd662744 , closes #946 )
v0.12.15 (2014-05-08) #
Bug Fixes #
server: don't wait for socket.io store expiration timeout (cd30a422 )
v0.12.14 (2014-04-27) #
Bug Fixes #
debug.html: Added whitespace after 'SKIPPED' (218ee859 )
v0.12.13 (2014-04-27) #
Bug Fixes #
preprocessor: serve NaCl binaries (1cc6a1e3 )
v0.12.12 (2014-04-25) #
Bug Fixes #
server: properly close flash transport (de89cd33 )
v0.12.11 (2014-04-25) #
Bug Fixes #
preprocessor: remove ts from binary extensions (82698523 )
v0.12.10 (2014-04-23) #
Bug Fixes #
server: clear web server close timeout on clean close (34123fed )
v0.12.9 (2014-04-14) #
Bug Fixes #
web-server: strip scheme, host and port (06a0da09 )
v0.12.8 (2014-04-14) #
Bug Fixes #
web-server: inline the config, when serving debug.html (1eb36430 )
v0.12.7 (2014-04-14) #
Bug Fixes #
don't crash/terminate upon errors within chokidar (2c389311 )
preprocessor: consider SVG files as text files, not binary files (ff288036 , closes #1026 )
v0.12.6 (2014-04-09) #
v0.12.5 (2014-04-08) #
Bug Fixes #
reporters: format fix for console log (d2d1377d , closes #934 )
v0.12.4 (2014-04-06) #
Bug Fixes #
v0.12.3 (2014-04-01) #
Bug Fixes #
web-server: implement a timeout on webServer.close() (fe3dca78 , closes #952 )
Features #
web-server: run karma using multiple emulation modes, #631 (b9a2930a , closes #936 )
v0.12.2 (2014-03-30) #
v0.12.1 (2014-03-16) #
Features #
preprocessor: Adding the dat
file extension as a recognised binary. (be923571 )
v0.12.0 (2014-03-10) #
Bug Fixes #
serving binary files (8a30cf55 , closes #864 , #885 )
config:
fail if client.args is set to a non array (fe4eaec0 )
allow CoffeeScript 1.7 to be used (a1583dec )
runner: Karma hangs when file paths have \u in them #924 (1199fc4d , closes #924 )
web-server:
detach listeners after running (3baa8e19 )
close webserver after running (f9dee468 )
Features #
remove dependency on coffee-script (af2d0e72 )
config: better error when Coffee/Live Script not installed (aca84dc9 )
init: generate test-main.(js/coffee) for RequireJS projects (85900c93 )
v0.11.14 (2014-02-04) #
Features #
preprocessor: allow preprocessor to cancel test run (4d669bf3 , closes #550 )
reporter: use spaces rather than tabs when formatting errors (112becf7 )
web-server: include html files as (03d7b106 )
v0.11.13 (2014-01-19) #
Bug Fixes #
launcher: compatibility with old launchers (df557cec )
Features #
support LiveScript configuration (88deebe7 )
v0.11.12 (2013-12-25) #
Bug Fixes #
client: show error if an adapter is removed (a8b250cf )
Features #
deps: update all deps (355a762c , closes #794 )
reporter: support source maps (rewrite stack traces) (70e4abd9 , closes #594 )
watcher: use polling on Mac (66f50d7e )
v0.11.11 (2013-12-23) #
Bug Fixes #
events: resolve async events without any listener (4e4bba88 )
launcher:
compatibility with Node v0.8 (6a46be96 )
compatibility with old launchers (ffb74800 )
v0.11.10 (2013-12-22) #
Bug Fixes #
completion: add missin --log-level for karma init (1e79eb55 )
init: clean the terminal if killed (e2aa7497 )
Features #
revert default usePolling to false (e88fbc24 )
config:
remove default preprocessors (coffee, html2js) (ada74d55 )
Add the abillity to supress the client console. This adds the client config opti (4734962d , closes #744 )
set default host/port from env vars (0a6a0ee4 )
Allow tests be to run in a new window instead of iframe (471e3a8a )
init:
install karma-coffee-preprocessor (29f5cf2d )
add nodeunit, nunit frameworks (b4da1a08 )
install missing plugins (frameworks, launchers) (1ba70a6f )
launcher: log how long it took each browser to capture (8dd54369 )
Breaking Changes #
Karma does not ship with any plugin. You need to explicitly install all the plugins you need. karma init
can help with this.
Removed plugins that need to be installed explicitly are:
karma-jasmine
karma-requirejs
karma-coffee-preprocessor
karma-html2js-preprocessor
karma-chrome-launcher
karma-firefox-launcher
karma-phantomjs-launcher
karma-script-launcher (e033d561 )
v0.11.9 (2013-12-03) #
Features #
browser: add browserNoActivity configuration (bca8faad )
v0.11.8 (2013-12-03) #
Bug Fixes #
reporter: remove SHAs from stack traces (d7c31f97 )
web-server: correct caching headers for SHAs (bf27e80b )
Features #
web-server: disable gzip compression (5ee886bc )
v0.11.7 (2013-12-02) #
Bug Fixes #
keep all sockets in the case an old socket will survive (a5945ebc )
reuse browser instance when restarting disconnected browser (1f1a8ebf )
client: redirect to redirect_url after all messages are sent (4d05602c )
Features #
plugins: ignore some non-plugins package names (01776030 )
v0.11.6 (2013-12-01) #
Bug Fixes #
config:
ignore empty string patterns (66c86a66 )
apply CLI logger options as soon as we can (16179b08 )
preprocess: set correct extension for the preprocessed path (c9a64d2f , closes #843 )
Features #
add browserDisconnectTolerance
config option (19590e1f )
make autoWatch true by default (8454898c )
browser: improve logging (71b542ad )
client: show error if no adapter is included (7213877f )
web-server:
Breaking Changes #
autoWatch
is true
by default. If you rely on the default value being false
, please set it in karma.conf.js
explicitly to false
.
(8454898c )
v0.11.5 (2013-11-25) #
Bug Fixes #
do not execute already executing browsers (00136cf6 )
Features #
launcher: send SIGKILL if SIGINT does not kill the browser (c0fa49aa )
v0.11.4 (2013-11-21) #
Bug Fixes #
v0.11.3 (2013-11-20) #
Bug Fixes #
config: not append empty module if no custom launcher/rep/prep (ee15a4e4 )
watcher: allow parentheses in a pattern (438eb8dd , closes #728 )
Features #
remove karma
binary in favor of karma-cli (c7d46270 )
config: log if no config file is specified (ce4c5646 )
Breaking Changes #
The karma
module does not export karma
binary anymore. The recommended way is to have local modules (karma and all the plugins that your project needs) stored in your package.json
. You can run that particular Karma by ./node_modules/karma/bin/karma
. Or you can have karma-cli
installed globally on your system, which enables you to use the karma
command.
The global karma
command (installed by karma-cli
) does look for local version of Karma (including parent directories) first and fall backs to a global one.
The bin/karma
binary does not look for any other instances of Karma and just runs the one that it belongs to.
(c7d46270 )
v0.11.2 (2013-11-03) #
Bug Fixes #
config: use polling by default (53978c42 )
proxy: handle proxied socket.io websocket transport upgrade (fcc2a98f )
v0.11.1 (2013-10-25) #
Bug Fixes #
launcher kill method which was throwing an error if no callback was specified bu (5439f1cb )
static: Use full height for the iFrame. Fix based on PR #714. (f95daf3c )
watcher:
Features #
redirect client to "return_url" if specified (6af2c897 )
config: add usePolling config (18514d63 )
watcher: ignore initial "add" events (dde1da4c )
v0.11.0 (2013-08-26) #
Bug Fixes #
support reconnecting for manually captured browsers (a8ac6d2d )
reporter: print browser stats immediately after it finishes (65202d87 )
Features #
don't wait for all browsers and start executing immediately (8647266f , closes #57 )
v0.10.2 (2013-08-21) #
Bug Fixes #
don't mark a browser captured if already being killed/timeouted (21230979 , closes #88 )
Features #
sync page unload (disconnect) (ac9b3f01 )
buffer result messages when polling (c4ad6970 )
allow browser to reconnect during the test run (cbe2851b , closes #82 , #590 )
v0.10.1 (2013-08-06) #
Bug Fixes #
v0.10.0 (2013-08-06) #
v0.9.8 (2013-08-05) #
Bug Fixes #
init: install plugin as dev dependency (46b7a402 )
runner: do not confuse client args with the config file (6f158aba )
Features #
config: default config can be karma.conf.js or karma.conf.coffee (d4a06f29 )
runner:
v0.9.7 (2013-07-31) #
Bug Fixes #
init: trim the inputs (b72355cb , closes #663 )
web-server: correct urlRegex in custom handlers (a641c2c1 )
Features #
basic bash/zsh completion (9dc1cf6a )
runner: allow passing changed/added/removed files (b598106d )
watcher: make the batching delay configurable (fa139312 )
v0.9.6 (2013-07-28) #
Features #
pass command line opts through to browser (00d63d0b )
web-server: compress responses (gzip/deflate) (8e8a2d44 )
Breaking Changes #
runnerPort
is merged with port
if you are using karma run
with custom --runer-port
, please change that to --port
.
(ca4c4d88 )
v0.9.5 (2013-07-21) #
Bug Fixes #
detect a full page reload, show error and recover (15d80f47 , closes #27 )
better serialization in dump/console.log (fd46365d , closes #640 )
browsers_change event always has collection as arg (42bf787f )
init: generate config with the new syntax (6b27fee5 )
reporter: prevent throwing exception when null is sent to formatter (3b49c385 )
watcher: ignore fs.stat errors (74ccc9a8 )
Features #
v0.9.4 (2013-06-28) #
Bug Fixes #
config:
make the config changes backwards compatible (593ad853 )
better errors if file invalid or does not exist (74b533be )
allow parsing the config multiple times (78a7094e )
launcher: better errors when loading launchers (504e848c )
preprocessor:
do not show duplicate warnings (47c641f7 )
better errors when loading preprocessors (3390a00b )
reporter: better errors when loading reporters (c645c060 )
Features #
config: pass the config object rather than a wrapper (d2a3c854 )
Breaking Changes #
please update your karma.conf.js as follows (d2a3c854 ):
module .exports = function (karma ) {
karma.configure({port : 123 });
karma.defineLauncher('x' , 'Chrome' , {
flags : ['--disable-web-security' ]
});
karma.definePreprocessor('y' , 'coffee' , {
bare : false
});
karma.defineReporter('z' , 'coverage' , {
type : 'html'
});
};
module .exports = function (config ) {
config.set({
port : 123 ,
customLaunchers : {
'x' : {
base : 'Chrome' ,
flags : ['--disable-web-security' ]
}
},
customPreprocessors : {
'y' : {
base : 'coffee' ,
bare : false
}
},
customReporters : {
'z' : {
base : 'coverage' ,
type : 'html'
}
}
});
};
v0.9.3 (2013-06-16) #
Bug Fixes #
capturing console.log on IE (fa4b686a , closes #329 )
config: fix the warning when using old syntax (5e55d797 )
init: generate correct indentation (5fc17957 )
launcher:
ignore exit code when killing/timeouting (1029bf2d , closes #444 )
handle ENOENT error, do not retry (7d790b29 , closes #452 )
logger: configure the logger as soon as possible (0607d67c )
preprocessor: use graceful-fs to prevent EACCESS errors (279bcab5 , closes #566 )
watcher: watch files that match watched directory (39401175 , closes #521 )
Features #
simplify loading plugins using patterns like karma-*
(405a5a62 )
client: capture all console.*
log methods (683e6dcb )
config:
make socket.io transports configurable (bbd5eb86 )
allow configurable launchers, preprocessors, reporters (76bdac16 , closes #317 )
add warning if old constants are used (7233c5fb )
require config as a regular module (a37fd6f7 , closes #304 )
helper: improve useragent detection (eb58768e )
init:
proxy: add https proxy support (be878dc5 )
Breaking Changes #
Update your karma.conf.js to export a config function (a37fd6f7 ):
module .exports = function (karma ) {
karma.configure({
autoWatch : true ,
});
};
v0.9.2 (2013-04-16) #
Bug Fixes #
better error reporting when loading plugins (d9078a8e )
config:
Separate ENOENT error handler from others (e49dabe7 )
ensure basePath is always resolved (2e5c5aaa )
Features #
allow inlined plugins (3034bcf9 )
debug: show skipped specs and failure details in the console (42ab936b )
v0.9.1 (2013-04-04) #
Bug Fixes #
init: to not give false warning about missing requirejs (562607a1 )
Features #
ship coffee-preprocessor and requirejs as default plugins (f34e30db )
v0.9.0 (2013-04-03) #
Bug Fixes #
global error handler should propagate errors (dec0c196 , closes #368 )
config:
Check if configFilePath is a string. Fixes #447. (98724b6e )
do not change urlRoot even if proxied (8c138b50 )
coverage: always send a result object (62c3c679 , closes #365 )
init:
generate plugins and frameworks config (17798d55 )
fix for failing "testacular init" on Windows (0b5b3853 )
preprocessor: resolve relative patterns to basePath (c608a9e5 , closes #382 )
runner: send exit code as string (ca75aafd , closes #403 )
Features #
display the version when starting (39617395 , closes #391 )
allow multiple preprocessors (1d17c1aa )
allow plugins (125ab4f8 )
config:
always ignore the config file itself (103bc0f8 )
normalize string preprocessors into an array (4dde1608 )
web-server: allow custom file handlers and mime types (2df88287 )
Breaking Changes #
reporters, launchers, preprocessors, adapters are separate plugins now, in order to use them, you need to install the npm package (probably add it as a devDependency
into your package.json
) and load in the karma.conf.js
with plugins = ['karma-jasmine', ...]
. Karma ships with couple of default plugins (karma-jasmine, karma-chrome-launcher, karma-phantomjs-launcher).
frameworks (such as jasmine, mocha, qunit) are configured using frameworks = ['jasmine'];
instead of prepending JASMINE_ADAPTER
into files.
v0.8.0 (2013-03-18) #
Breaking Changes #
rename the project to "Karma":
whenever you call the "testacular" binary, change it to "karma", eg. testacular start
becomes karma start
.
if you rely on default name of the config file, change it to karma.conf.js
.
if you access __testacular__
object in the client code, change it to __karma__
, eg. window.__testacular__.files
becomes window.__karma__.files
. (026a20f7 )
v0.6.1 (2013-03-18) #
Bug Fixes #
config: do not change urlRoot even if proxied (1be1ae1d )
coverage: always send a result object (2d210aa6 , closes #365 )
reporter.teamcity: report spec names and proper browser name (c8f6f5ea )
v0.6.0 (2013-02-22) #
v0.5.11 (2013-02-21) #
Bug Fixes #
adapter.requirejs: do not configure baseUrl automatically (63f3f409 , closes #291 )
init: add missing browsers (Opera, IE) (f39e5645 )
reporter.junit: Add browser log output to JUnit.xml (f108799a , closes #302 )
Features #
add Teamcity reporter (03e700ae )
adapter.jasmine: remove only last failed specs anti-feature (435bf72c , closes #148 )
config: allow empty config file when called programmatically (f3d77424 , closes #358 )
v0.5.10 (2013-02-14) #
Bug Fixes #
init: fix the logger configuration (481dc3fd , closes #340 )
proxy: fix crashing proxy when browser hangs connection (1c78a01a )
Features #
set urlRoot to /karma / when proxying the root (8b4fd64d )
adapter.requirejs: normalize paths before appending timestamp (94889e7d )
update dependencies to the latest (93f96278 , e34d8834 )
v0.5.9 (2013-02-06) #
Bug Fixes #
adapter.requirejs: show error if no timestamp defined for a file (59dbdbd1 )
init: fix logger configuration (557922d7 )
reporter: remove newline from base reporter browser dump (dfae18b6 , closes #297 )
reporter.dots: only add newline to message when needed (dbe1155c
Features #
add "debug" button to easily open debugging window (da85aab9 )
config: support running on a custom hostname (b8c5fe85 )
reporter.junit: add a 'skipped' tag for skipped testcases (6286406e , closes #321 )
v0.5.8 #
Fix #283
Suppress global leak for istanbul
Fix growl reporter to work with testacular run
Upgrade jasmine to 1.3.1
Fix file sorting
Fix #265
Support for more mime-types on served static files
Fix opening Chrome on Windows
Upgrade growly to 1.1.0
v0.5.7 #
Support code coverage for qunit.
Rename port-runner option in cli to runner-port
Fix proxy handler (when no proxy defined)
Fix #65
v0.5.6 #
Growl reporter !
Batch changes (eg. git checkout
causes only single run now)
Handle uncaught errors and disconnect all browsers
Global binary prefers local versions
v0.5.5 #
Add QUnit adapter
Report console.log()
v0.5.4 #
Fix PhantomJS launcher
Fix html2js preprocessor
NG scenario adapter: show html output
v0.5.3 #
v0.5.2 #
Init: ask about using Require.js
v0.5.1 #
Support for Require.js
Fix testacular init basePath
v0.5.0 #
Add preprocessor for LiveScript
Fix JUnit reporter
Enable process global in config file
Add OS name in the browser name
NG scenario adapter: hide other outputs to make it faster
Allow config to be written in CoffeeScript
Allow espaced characters in served urls
v0.4.0 (stable) #
v0.3.12 #
Allow calling run() pragmatically from JS
v0.3.11 #
Fix runner to wait for stdout, stderr
Make routing proxy always changeOrigin
v0.3.10 #
Fix angular-scenario adapter + junit reporter
Use flash socket if web socket not available
v0.3.9 #
Retry starting a browser if it does not capture
Update mocha to 1.5.0
Handle mocha's xit
v0.3.8 #
Kill browsers that don't capture in captureTimeout ms
Abort build if any browser fails to capture
Allow multiple profiles of Firefox
v0.3.7 #
Remove Travis hack
Fix Safari launcher
v0.3.6 #
Remove custom launcher (constructor)
Launcher - use random id to allow multiple instances of the same browser
Fix Firefox launcher (creating profile)
Fix killing browsers on Linux and Windows
v0.3.5 #
Fix opera launcher to create new prefs with disabling all pop-ups
v0.3.4 #
Change "reporter" config to "reporters"
Allow multiple reporters
Fix angular-scenario adapter to report proper description
Add JUnit xml reporter
Fix loading files from multiple drives on Windows
Fix angular-scenario adapter to report total number of tests
v0.3.3 #
Allow proxying files, not only directories
v0.3.2 #
Disable autoWatch if singleRun
Add custom script browser launcher
Fix cleaning temp folders
v0.3.1 #
Run tests on start (if watching enabled)
Add launcher for IE8, IE9
v0.3.0 #
Change browser binaries on linux to relative
Add report-slower-than to CLI options
Fix PhantomJS binary on Travis CI
v0.2.0 (stable) #
v0.1.3 #
Launch Canary with crankshaft disabled
Make the captured page nicer
v0.1.2 #
Fix jasmine memory leaks
support __filename and __dirname in config files
v0.1.1 #
Report slow tests (add reportSlowerThan
config option)
Report time in minutes if it's over 60 seconds
Mocha adapter: add ability to fail during beforeEach/afterEach hooks
Mocha adapter: add dump()
NG scenario adapter: failure includes step name
Redirect /urlRoot to /urlRoot/
Fix serving with urlRoot
v0.1.0 #
Adapter for AngularJS scenario runner
Allow serving Testacular from a subpath
Fix race condition in testacular run
Make testacular one binary (remove testacular-run
, use testacular run
)
Add support for proxies
Init script for generating config files (testacular init
)
Start Firefox without custom profile if it fails
Preserve order of watched paths for easier debugging
Change default port to 9876
Require node v0.8.4+
v0.0.17 #
Fix race condition in manually triggered run
Fix autoWatch config
v0.0.16 #
Mocha adapter
Fix watching/resolving on Windows
Allow glob patterns
Watch new files
Watch removed files
Remove unused config (autoWatchInterval)
v0.0.15 #
Remove absolute paths from urls (fixes Windows issue with C:\)
Add browser launcher for PhantomJS
Fix some more windows issues
v0.0.14 #
Allow require() inside config file
Allow custom browser launcher
Add browser launcher for Opera, Safari
Ignore signals on windows (not supported yet)
v0.0.13 #
Single run mode (capture browsers, run tests, exit)
Start browser automatically (chrome, canary, firefox)
Allow loading external files (urls)
v0.0.12 #
Allow console in config
Warning if pattern does not match any file
v0.0.11 #
Add timing (total / net - per specs)
Dots reporter - wrap at 80
v0.0.10 #
Add DOTS reporter
Add no-colors option for reporters
Fix web server to expose only specified files
v0.0.9 #
Proper exit code for runner
Dynamic port asigning (if port already in use)
Add log-leve, log-colors cli arguments + better --help
Fix some IE errors (indexOf, forEach fallbacks)
v0.0.8 #
Allow overriding configuration by cli arguments (+ --version, --help)
Persuade IE8 to not cache context.html
Exit runner if no captured browser
Fix delayed execution (streaming to runner)
Complete run if browser disconnects
Ignore results from previous run (after server reconnecting)
Server disconnects - cancel execution, clear browser info
v0.0.7 #
v0.0.6 #
Better debug mode (no caching, no timestamps)
Make dump() a bit better
Disconnect browsers on SIGTERM (kill, killall default)
v0.0.5 #
Fix memory (some :-D) leaks
Add dump support
Add runner.html
v0.0.4 #
Progress bar reporting
Improve error formatting
Add Jasmine lib (with iit, ddescribe)
Reconnect client each 2sec, remove exponential growing
v0.0.3 #
Jasmine adapter: ignore last failed filter in exclusive mode
Jasmine adapter: add build (no global space pollution)
0.0.2 #
Run only last failed tests (jasmine adapter)
0.0.1 #
Initial version with only very basic features