Thunder Client Support Versions Save

Thunder Client is a lightweight Rest API Client Extension for VS Code.

v2.11.4

8 months ago

New Features

  • The chai module is now included in the extension, no need to download externally - #1313
  • This is an update to the script assertion feature released in v2.10.0
  • Update CLI to v1.5.2

Example Code

var chai = require("chai");
var expect = chai.expect;
var assert = chai.assert;

function testChaiFilter() {

    tc.test("Response code is 200", function () {
        assert.equal(tc.response.status, 200)
    })

    tc.test("Response code expect to be 200", function () {
        expect(tc.response.status).to.equal(200);
    })
}

module.exports = [testChaiFilter]

v2.11.0

8 months ago

New Features

  • Include Request Id in tc object - #1298
  • tc.setParam new function added to tc object to set query parameter #1303
  • Customise the Html Report response display limit in CI/CD #1312
  • removeSpaces new built-in filter added
  • unique built-in filter added
  • Update tc-types.d.ts to version 1.5.0

Collection Runner Limits

  • Collection Runner is a premium feature
  • See limits for all plans on our website
  • Free version limits will be applied from Sept 15th, 2023

v2.10.0

9 months ago

Assertions using Scripting

Today we are releasing a new feature: Test assertions using scripting. Developers can now use scripting to write assertions, based on the use case you can choose a scripting or GUI interface for assertions.

  • New function tc.test() added to tc object useful for assertions #465, #194, #347
  • You can write assertions and use them only in Post Request Filter in Tests tab
  • Update tc-types.d.ts to version 1.4.0
  • Update CLI to version v1.4.6

Assertions without any library


function testFilter() {
    let success = tc.response.status == 200;
    let json = tc.response.json;
    let containsThunder = json.message?.includes("thunder");

    tc.test("Response code is 200", success);
    tc.test("Response contains thunder word", containsThunder);

    // Assertions using function syntax
    tc.test("verifying multiple tests", function () {
            let success = tc.response.status == 200;
            let time = tc.response.time < 1000;
            return success && time;
    });
}

module.exports = [testFilter]

Assertions using Node Assert library

// using built-in node assert module
const assert = require("assert");

function testFilter() {
    console.log("test assertion filter");
    tc.test("Response code is 200", function () {
        assert.equal(tc.response.status, 200);
    })
}

module.exports = [testFilter]

Assertions using Chai library (updated in v2.11.4)

var chai = require("chai");
var expect = chai.expect;
var assert = chai.assert;

function testChaiFilter() {
    tc.test("Response code is 200", function () {
        assert.equal(tc.response.status, 200)
    })

    tc.test("Response code expect to be 200", function () {
        expect(tc.response.status).to.equal(200);
    })
}

module.exports = [testChaiFilter]

CLI

  • Single report for test run with multiple collections #1221
  • Display paths of generated reports #1233
  • --reqlist will accept request name or id #1234
  • Update CLI to version v1.4.6

Bug Fixes

  • response header value changed #1239
  • Cannot detect custom filter #1240

v2.9.2

9 months ago

New Features

  • parseJSON filter added to built in filters #1227
  • readFile filter now supports base64 format #1125
  • Duration report for collection-wide tests #1226
  • New helper function await tc.delay() added to tc object in scripts
  • Update tc-types.d.ts to version 1.3.1
  • Update CLI to version 1.4.5

Bug Fixes

  • subtract built in filter not working correctly #1225
  • Other two typos #1116

v2.9.0

10 months ago

New Features

  • Support for multi-root workspaces #731, #1169, #1139, #574
  • Added new api await tc.runRequest("reqId") to tc object in scripts #1199
  • Run a filter/script after Tests performed #1158
  • Pre-request chaining: more conditions #1043
  • Sync UI Views when file content changes #1201
  • [CLI] Request and response details in Html report in CLI #1126
  • [CLI] Implement --log for "col", "fol" or "reqlist" with TC CLI #1070, #1165
  • [CLI] Auto Update CLI to the latest version
  • [CLI] Added --var-data parameter to pass Env variables data in CLI #1184
  • [CLI] Display debug information using tc --debug

CLI

  • Update CLI to v1.4.2 - npm i -g @thunderclient/cli

Bug Fixes

  • OpenAPI import does not support .yml file extension #1212

Run Request in Scripts

  • Now you can run requests already created from scripts
  • Update types file tc-types.d.ts to v1.3.0
async function testReq(){
   var result = await tc.runRequest("reqId");
   console.log(result);
}

module.exports = [testReq]

Post Request Script

  • You can run a filter as post request script from the Tests tab
  • Useful to do clean-up tasks after request or set environment variables from the response for advanced use cases
Screenshot 2023-07-07 at 15 40 49

Multi-root workspaces

  • Multi-root workspaces are now supported.
  • When you open a multi-root workspace the extension will prompt you to select the workspace to save data.
  • You can load request data from different workspace easily (see below image).
Screenshot 2023-07-07 at 17 38 01

Request Chaining More Conditions

  • The following conditions are supported =, !=, <=, <, >=, >, *=, ^=, $=
  • *= performs contains operation
  • ^= performs startsWith operation
  • $= performs endsWith operation
Screenshot 2023-07-08 at 07 50 23

v2.8.0

10 months ago

New Features

  • Separate Collections & Environments to different files #574, #1035
  • Autocomplete for recent endpoints in URL field #1192
  • Auth: Include origin in refresh request Header #1203
  • VS Code setting renamed Sidebar Hide Date Modified to Sidebar Layout #577

Bug Fixes

  • Array Filter with IP Addresses #1123, #1141
  • Clear Activity button doesn't work #1204
  • JSON body validation error #1198, #1117, #516
  • Collection run stops working after 1 run #1143, #1168

CLI

  • Please update CLI to v1.3.3 - npm i -g @thunderclient/cli

Database Upgrade v3

  • The database design changed from a single file to separate files for each collection and environment.
  • The new db design will reduce merge conflicts with git
  • The old database files moved to _db-backup, in case you need them.

Autocomplete Recent Endpoints

Screenshot 2023-06-25 at 14 35 34

v2.7.7

11 months ago

New Features

  • Allow manual resizing of Test columns #1197
  • Response view syntax highlighting improvements

New VSCode Setting

Screenshot 2023-06-15 at 21 17 44

Test Value Column Width Screenshot 2023-06-15 at 15 16 42

v2.7.4

11 months ago

New Features

  • Support for variables with objects in data file #1154
  • Change default for Auto run curl #1155
  • Run All is writing poor logs to console, makes debugging hard #1162
  • XML Attributes Testing #1113

Bug Fixes

  • Import chrome cURL format request failed #1149
  • Show Import OpenAPI error message #1130
  • Not able to delete the selected file #1148
  • NTLM Auth does not add --ntlm flag to curl request #1186
  • Collection URL import fails if mime type is text/plain #1187
  • Small spelling mistake #1144

CLI

  • Update CLI to version 1.2.3
  • To update npm i -g @thunderclient/cli

v2.7.0

11 months ago

Announcing Subscription Plans

The extension was free for the last 2 years, but to support the development and operational costs, we have to start charging businesses.

We are launching subscription plans for businesses.

  • The free version can be used for personal/individual business use.
  • Businesses have until August 18th, 2023 to purchase a subscription.
  • The pricing is affordable when compared to Insomnia or Postman.

Why subscription plan is needed?

  • A subscription plan is needed to use extension software + team features suitable for business teams.
  • The revenue generated from subscriptions will be useful to cover our development, support costs, and new team hires.

Pricing

  • Free - Use of extension for personal/individual business use
  • Startup Plan - $5 per user/month billed monthly  or $3 per user/month billed yearly
  •  Business Plan - $10 per user/month billed monthly  or $7 per user/month billed yearly
  •  Enterprise Plan - $16 per user/month billed yearly
  • Please visit thunderclient website for more details

Bug Fixes

  • Axios is forced to validate SSL certificate #1124

v2.6.1

1 year ago

New Features

  • Add support for generating types for Golang #1108

Bug Fixes

  • Value of Env Variable updated in Pre Request is not used in "actual" Request #1104
  • Expected value in test does not accept two consecutive spaces #1103
  • Please rename Json as JSON #1101