diff --git a/.travis.yml b/.travis.yml
index 45dbde0..cb0ca08 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,9 +3,6 @@ language: node_js
 node_js:
   - 'stable'
 
-before_install:
-  - npm install -g grunt-cli jshint gulp
-
 script:
   - npm run-script test-ci
 
diff --git a/README.md b/README.md
index 269106c..33c98b9 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,12 @@
 # BrowserStack Runner
 
-[![Build Status](https://travis-ci.org/browserstack/browserstack-runner.svg?branch=master)](https://travis-ci.org/browserstack/browserstack-runner)
-
 A command line interface to run browser tests over BrowserStack.
 
+## Hotfixes from [@qunitjs/browserstack-runner](https://github.com/qunitjs/browserstack-runner):
+
+1. Fix Mocha 8+ compat. [#248](https://github.com/browserstack/browserstack-runner/issues/248)
+2. Fix QUnit.todo breakage. [#247](https://github.com/browserstack/browserstack-runner/issues/247)
+
 ## Usage
 
 Install globally:
diff --git a/bin/cli.js b/bin/cli.js
index 5262736..983d762 100755
--- a/bin/cli.js
+++ b/bin/cli.js
@@ -106,7 +106,8 @@ function getTestBrowserInfo(browserString, path) {
 
 function buildTestUrl(test_path, worker_key, browser) {
   var host;
-  if (browser.os.toLowerCase() === 'ios' ){
+  // https://github.com/browserstack/browserstack-runner/issues/263
+  if (browser.os.toLowerCase() === 'ios' || browser.os === 'OS X') {
     host = 'bs-local.com';
   } else {
     host = 'localhost';
diff --git a/lib/server.js b/lib/server.js
index 6058ca1..828a92e 100644
--- a/lib/server.js
+++ b/lib/server.js
@@ -387,17 +387,27 @@ exports.Server = function Server(bsClient, workers, config, callback) {
 
       logger.trace('[%s] _progress', worker.id, CircularJSON.stringify(query));
 
-      if (query && query.test && query.test.errors) {
+      if (query && query.test) {
+        // Include all tests in the report
         var browserReport = getBrowserReport(browserInfo);
         browserReport.tests.push(query.test || {});
 
-        query.test.errors.forEach(function(error) {
-          logger.info('[%s] ' + chalk.red('Error:'), browserInfo, formatTraceback({
-            error: error,
-            testName: query.test.name,
-            suiteName: query.test.suiteName
-          }));
-        });
+        // Only print errors of failed tests
+        // (errors from todo tests are expected and will not be reported as
+        // "failed" to the "_report" handler either, so printing them here
+        // would create a confusing output with error printed but a success
+        // status at the end)
+        // https://github.com/browserstack/browserstack-runner/issues/247
+        if (query.test.errors && query.test.status !== 'todo') {
+          query.test.errors.forEach(function(error) {
+            logger.info('[%s] ' + chalk.red('Error:'), browserInfo, formatTraceback({
+              testName: query.test.name,
+              suiteName: query.test.suiteName,
+              status: query.test.status,
+              error: error
+            }));
+          });
+        }
       }
       response.end();
     },
diff --git a/package-lock.json b/package-lock.json
index ecd9f4e..20e20fa 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
-  "name": "browserstack-runner",
-  "version": "0.9.5",
+  "name": "@qunitjs/browserstack-runner",
+  "version": "0.9.5-qunitjs.2",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
@@ -886,9 +886,9 @@
       "optional": true
     },
     "js-reporters": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/js-reporters/-/js-reporters-1.1.0.tgz",
-      "integrity": "sha1-yDwA/g1Mn2f5RLTt1fOylXSXzWI="
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/js-reporters/-/js-reporters-2.1.0.tgz",
+      "integrity": "sha512-Q4GcEcPSb6ovhqp91claM3WPbSntQxbIn+3JiJgEXturys2ttWgs31VC60Yja+2unpNOH2A2qyjWFU2thCQ8sg=="
     },
     "jsbn": {
       "version": "0.1.1",
diff --git a/package.json b/package.json
index 276f7f2..0740d97 100644
--- a/package.json
+++ b/package.json
@@ -1,17 +1,17 @@
 {
-  "name": "browserstack-runner",
-  "description": "A command line interface to run browser tests over BrowserStack",
-  "version": "0.9.5",
-  "homepage": "https://github.com/browserstack/browserstack-runner",
+  "name": "@qunitjs/browserstack-runner",
+  "description": "[Hotfix] run browser tests over BrowserStack",
+  "version": "0.9.5-qunitjs.2",
+  "homepage": "https://github.com/qunitjs/browserstack-runner",
   "repository": {
     "type": "git",
-    "url": "https://github.com/browserstack/browserstack-runner.git"
+    "url": "https://github.com/qunitjs/browserstack-runner.git"
   },
   "dependencies": {
     "browserstack": "1.3.0",
     "chalk": "0.4.0",
     "circular-json": "0.3.1",
-    "js-reporters": "1.1.0",
+    "js-reporters": "2.1.0",
     "mime": "1.6.0",
     "resolve": "1.1.7",
     "send": "0.16.2",
@@ -26,7 +26,7 @@
   "licenses": [
     {
       "type": "MIT",
-      "url": "https://github.com/browserstack/browserstack-runner/blob/master/MIT-LICENSE.txt"
+      "url": "https://github.com/qunitjs/browserstack-runner/blob/master/MIT-LICENSE.txt"
     }
   ],
   "bin": {
