Heads Up! You're viewing the docs for v4.0, an old version of Karma. v6.4 is the newest.

Changelog

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.

0.13.22 (2016-03-08) #

0.13.21 (2016-02-12) #

Reverts #

  • "Merge pull request #1791 from budde377/feature-adding-no-colors-to-run-command" (96ebdc4), closes #1894 #1895

0.13.20 (2016-02-12) #

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

0.13.19 (2016-01-06) #

Bug Fixes #

  • server: Handle new socket.io internal format. (3ab78d6), closes #1782

0.13.18 (2016-01-05) #

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

0.13.17 (2016-01-04) #

0.13.16 (2015-12-24) #

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

0.13.15 (2015-11-03) #

Bug Fixes #

  • eslint: Fix formatting for the new ESLint 1.8.0 (dc1bbab)

0.13.14 (2015-10-22) #

Bug Fixes #

  • client: Revert back to old reloading detection (f1c22d6)
  • client: Wait for childwindow to load (c1bb15a)

0.13.13 (2015-10-22) #

Bug Fixes #

  • client: Wait for iframe to be loaded (1631474), closes #1652

0.13.12 (2015-10-22) #

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 #

  • middleware: Inject config.urlRoot. (569ca0e), closes #1516

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 #

  • browser: reply "start" event (4fde43de)

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):
// before:
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'
  });
};

// after:
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:
    • generate coffee config files (d2173717)
    • improve the questions a bit (baecadb2)
  • 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 #

  • Add code coverage !

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 #

  • Rename to Testacular

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