- Support debug build configuration for K/N #189
- Improve the warning message on incompatible host for a registered native target #231
- Take into consideration
jvmToolchain
when running benchmarks #176 - Hide unintentionally public API with an opt-in annotation #211
- Use locale-insensitive decimal and thousands separators in reports formatting
- Don't add
experimental-wasm-gc
flag for NodeJs >= 22 #212 - Allow having benchmark classes in the root package in non-JVM platforms #215
- Improve error messages for invalid use of annotations
- Use
Classpath
normalization for classpath inputs of source generator tasks
- Support Kotlin 1.9.21
- Validate values of benchmark configuration options #124, #125
- Improve Kotlin/Native implementation of Blockhole #114
- Fix parsing of
@Measurement
annotation that misbehaved in non-JVM platforms - Improve error messages when a target is not supported
- Support nodejs() environment for Kotlin/Wasm target
- Support Kotlin 1.9.0
- Support registering multiplatform source sets as benchmark targets
- Support all native targets in accordance with the official Kotlin strategy
- Align the default values of configuration options with JMH #75
- Drop legacy JS support
- Support building large JARs #95
- Support Kotlin 1.8.20
- Fix JVM and Native configuration cache warnings
- Support Kotlin 1.8.0
- Support Gradle 8.0
- Sign kotlinx-benchmark-plugin artifacts with the Signing Plugin
- Upgrade Kotlin version to 1.7.20
- Upgrade Gradle version to 7.4.2
- Remove redundant jmh-core dependency from plugin
- Require the minimum Kotlin version of 1.7.0
- Require the minimum Kotlin version of 1.6.20
- Support JS IR backend
- Support Gradle 7.0 and newer #67
- Make
mode
configuration parameter work with values considered valid in README.MD - Support benchmark @Param values containing spaces #62
- Require the minimum Kotlin version of 1.6.0
- Require the minimum Kotlin version of 1.5.30
- Add support for other Apple Kotlin/Native targets
- Improve Kotlin/Native support #24
- Benchmark each method in its own process, previously all methods where benchmarked in the same process
- Introduce
nativeFork
advanced configuration option with the following values:- "perBenchmark" (default) – executes all iterations of a benchmark in the same process (one binary execution)
- "perIteration" – executes each iteration of a benchmark in a separate process, measures in cold Kotlin/Native runtime environment
- Introduce
nativeGCAfterIteration
advanced configuration option that when set totrue
, additionally collects garbage after each measuring iteration (default isfalse
)
- Rename "forks" configuration option to "jvmForks" and provide an option to not override fork value defined in
@Fork
- Fix a failure due to the strict DuplicatesStrategy #39
- Support report format selection: json(default), csv/scsv or text #34
- Fix Gradle configuration cache problems
- Require the minimum Kotlin version of 1.4.30
- Require the minimum Gradle version of 6.8
- Change runtime artifact id from
kotlinx.benchmark.runtime
tokotlinx-benchmark-runtime
- Publish runtime to Maven Central instead of Bintray #33
- Change plugin id from
kotlinx.benchmark
toorg.jetbrains.kotlinx.benchmark
- Change plugin artifact id from
kotlinx.benchmark.gradle
tokotlinx-benchmark-plugin
- Publish plugin to Gradle Plugin Portal instead of Bintray