Skip to content

Releases: ESBenchmark/ESBench

v0.8.1

01 Feb 09:56

Choose a tag to compare

add shebang to cli.ts, fix #2

v0.8.0

01 Feb 11:03

Choose a tag to compare

Breaking Changes

  • ProcessExecutor constructor now accept an options object at the 2nd parameter instead of the env variable dict.
- new ProcessExecutor("node", { key: "value" });
+ new ProcessExecutor("node", { env: { key: "value" } });

New Features

  • Expose log functions to suite lifecycle hooks.
  • Add support of specify stdio for ProcessExecutor & NodeExecutor.
  • Add support of automatic open browser for HTML reporter.

Fixes

  • Fix WebextExecutor cannot find the extension ID with Playwright 1.50
  • Fix validator does not inspect the pattern option of the suite.

v0.7.0

17 Sep 13:44
c2b8b50

Choose a tag to compare

Breaking Changes

ExecutionTimeMeasurement.run no longer return the samples, you should use ExecutionTimeMeasurement.values instead.

New Features

  • Introduce open option to WebRemoteExecutor, when set, the client page will be open with browser on execution start and automically closed on finish.
  • Introduce a new ComplexityProfiler, which can calculate asymptotic complexity for benchmark cases.

Fixes

  • Fix set Object prototype method to Content-Type header.
  • Buffer suite results to a temporary file to avoid memory grown.
  • The timing of the iteration hooks will also be included in the timing.iterations time estimate.

v0.6.3

25 Aug 10:54
30835f3

Choose a tag to compare

New Features

  • add assets option to PlaywrightExecutor and WebRemoteExecutor, allow suites to access non-module files.
  • filter out toolchain item if it does not include any file. ESBench now does not check name conflict for unused tools.

v0.6.2

05 Aug 11:01
560502c

Choose a tag to compare

New Features

  • Display all variables in baseline error message.

Fixes

  • Fix missing Content-Type for .wasm files.
  • Fix missing await of es-module-lexer init.
  • Wait for server close in WebRemoteExecutor.close
  • Fix WebRemoteExecutor page script.
  • Ensure reset metric value of baseline for each group in text report.
  • Built-in transformer now does not throw error for unresolvable imports.

v0.6.1

15 Jul 10:51
fe57348

Choose a tag to compare

New Features

  • Introduce --shared CLI argument, used to run suites with multiple machines.

Fixes

  • fix tags cannot be used in baseline.
  • use node: protocol for import built-in modules.
  • disallow leading and tailing spaces in case names.

v0.6.0

14 Jul 04:38
265f2ef

Choose a tag to compare

Breaking Changes

  • CLI: report command now accepts glob patterns instead of file paths.

New Features

  • For baseline value is 0, text reporter will show greater and less instead of N/A if possible.
  • CLI: Introduce --tag argument, which can be used to add custom variables for a run.

Fixes

  • Improve error messages for report command with no matching files.
  • WebRemoteExecutor: fix missing Content-Type header in HTML response.
  • HTML Reporter: Skip string metrics in chart.

v0.5.0

05 Jul 10:01
4b0d2dd

Choose a tag to compare

Breaking Changes

  • ProfilingContext.suite is changed to new type NormalizedSuite, params & timing properties are resolved.
  • runSuite is no longer wrap errors with RunSuiteError.

New Features

Fixes

  • TimeProfiler: fix the time in log message of the pilot stage.
  • TimeProfiler: limit the first estimate grows on pilot stage.
  • TimeProfiler: remove unnecessary rounding of throughput value.
  • TimeProfiler: No longer unroll for async workload.
  • Do not modify baseline object of user suite.

v0.4.0

24 Jun 14:59
f880d18

Choose a tag to compare

  • Refactor Executor API, now built-in executors will run each suite in isolated context (except inProcessExecutor).
  • Change the default path for saving the raw results to "node_modules/.esbench/result.json", avoid creating new folder in the workspace by default.

v0.3.3

14 Jun 12:58
5c1693a

Choose a tag to compare

  • Change constructor signture of NodeExecutor and ProcessExecutor to support set environment variables.
  • Introduce WebRemoteExecutor, which can run suites on remote browser.
  • Refactor HostLogger to `HostContext, provide normalized config to plugins.