Skip to content

Releases: CodSpeedHQ/codspeed-node

v5.7.1

Choose a tag to compare

@github-actions github-actions released this 24 Jun 09:55
v5.7.1
56fa9fc

What's Changed

Full Changelog: v5.7.0...v5.7.1

v5.7.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 15:50
v5.7.0
36834e8

Highlights

  • Dump full inlining information for higher optimization tiers in walltime so we can show more functions on the profiler. To test it out, set CODSPEED_WALLTIME_PROFILER=samply env variable in the codspeed action.
  • Added support for tinybench v5 and v6 in @codspeed/tinybench-plugin

What's Changed

  • Add necessary flags to dump optimized inlining info and fix walltime marker placement by @GuillaumeLagrange in #83

Full Changelog: v5.6.0...v5.7.0

v5.6.0

Choose a tag to compare

@github-actions github-actions released this 16 Jun 12:46
v5.6.0
bcd7e64

What's Changed

Full Changelog: v5.5.0...v5.6.0

v5.5.0

Choose a tag to compare

@github-actions github-actions released this 29 May 18:00
v5.5.0
4dae798

Highlights

We are introducing @codspeed/playwright, for walltime benchmarking and profiling of end to end browser applications through playwright.

Here's an example usage, but head to the docs for more information

import { bench, type Page } from "@codspeed/playwright-plugin";
import electronExecutable from "electron";
import path from "node:path";
import { fileURLToPath } from "node:url";

const __dirname = path.dirname(fileURLToPath(import.meta.url));
const appRoot = path.resolve(__dirname, "..");

async function waitUntilSettled(page: Page): Promise<void> {
  await page.waitForFunction(() => {
    const main = document.getElementById("main");
    return !!main && !main.classList.contains("loading");
  });
}

await bench(
  "inbox-search-archive-threads",
  async ({ page }) => {
    await page.fill("#search", "update");
    await waitUntilSettled(page);

    await page.click("#select-visible-btn");
    await page.click("#archive-btn");
    await waitUntilSettled(page);

    await page.click('#sidebar nav button[data-view="threads"]');
    await waitUntilSettled(page);
  },
  {
    target: {
      kind: "electron",
      appPath: path.join(appRoot, "out/main/index.js"),
      cwd: appRoot,
    },
    beforeRound: async ({ page }) => {
      page.setDefaultTimeout(180_000);
      await page.waitForSelector("#main");
      await waitUntilSettled(page);
    },
  },
);

Note: this plugin is only compatible with the walltime instrument.

What's Changed

Full Changelog: v5.4.0...v5.5.0

v5.4.0

Choose a tag to compare

@github-actions github-actions released this 28 Apr 13:21
v5.4.0
aa9d127

What's Changed

This release adds first support for macOS walltime.

Please note that profiling and other instruments are not yet available on macOS and will come in a later update.

Full Changelog: v5.3.0...v5.4.0

v5.3.0

Choose a tag to compare

@github-actions github-actions released this 17 Apr 10:23
v5.3.0
7c97dc2

What's Changed

We now collect buildtime and runtime environment data to warn users about differences in their runtime environment when comparing two runs against one another.

This data includes toolchain metadata like version and build options, as well as a list of dynamically loaded linked libraries.

Full Changelog: v5.2.0...v5.3.0

v5.2.0

Choose a tag to compare

@github-actions github-actions released this 09 Feb 11:58
v5.2.0
1ddf48b

🎉 What's Changed

This release brings support for the memory instrument, which enables you to track memory usage, heap allocations, and memory leaks in your benchmarks.

📚 Details

Full Changelog: v5.1.0...v5.2.0

v5.1.0

Choose a tag to compare

@github-actions github-actions released this 03 Feb 17:43
v5.1.0
4b39225

🎉 What's Changed

This release brings support for Vitest v4, allowing you to use the latest version of
Vitest with CodSpeed. The plugin is backward compatible with Vitest v3.

📚 Details

New Contributors

Full Changelog: v5.0.1...v5.1.0

v5.0.1

Choose a tag to compare

@github-actions github-actions released this 02 Oct 08:40
b1e4a94

What's Changed

Full Changelog: v5.0.0...v5.0.1

v5.0.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 16:12
v5.0.0
f079976

🎉 What's Changed

This major release brings support for our Walltime instrument, allowing you to benchmark larger pieces of code more reliably by making use of CodSpeed's Macro Runners.

Support for newer versions of tinybench and vitest have been added. Feel free to visit our node.js documentation for more details.

Lastly, we now use our common instrument-hooks implementation to interact with our instruments.

💥 Breaking Changes

  • tinybench: Support for versions below v4 has been dropped. You must upgrade to tinybench v4 or above.
    ⚠️ Since tinybench v4 drops support for CJS, ES modules are now required to use the library.

🚀 Migration Path

This is a breaking change because we updated the compatible versions of underlying benchmarking libraries.
For example, support for tinybench v3 and below has been dropped. We recommend upgrading to tinybench v4 or above.

We recommend creating a dedicated PR to update your dependencies, and create a new performance baseline for your code.

📚 Details

Full Changelog: v4.0.1...v5.0.0