Skip to content

Releases: JetBrains/lincheck

Liincheck 2.25

09 Feb 14:39
Compare
Choose a tag to compare

Bug Fixes:

  • Do not call Thread.stop() in FixedActiveThreadsExecutor on Java 20+ (#271)
  • Allow passing null-s to System.identityHashCode(..) in the model checking mode (#266)
  • Fix ExpandingRangeGeneratorTest failing on JDK 19+

Improvements:

  • Bump Kotlin, Gradle, Kotlin Coroutines, and ASM versions (#268)
  • Do not filter Lincheck events when printing a thread dump if the thread has hung in the Lincheck internals

Lincheck 2.24

30 Jan 21:38
Compare
Choose a tag to compare

Bug fixes:

  • Fix hashCode() support (#263, #131)
  • Fix representation of anonymous objects in interleaving traces (#245)

Improvements:

  • Enable validation function tracing (#240)
  • Allow at most one validation function (#243)
  • Execute init and post parts via the same mechanism as for the parallel one. (#238)
  • Call validation functions only at the end of the scenario (#237)
  • Cache instrumented classes (#229)

Lincheck 2.23

31 Jul 21:16
Compare
Choose a tag to compare

Bug fixes:

  • Interleaving replay after a spin cycle is added to avoid side effects (#224)
  • Fix an infinite loop in TraceCollector and analyze only the first spin lock cycle when detecting one (#216)
  • Allow removing all operations in the parallel part during minimization (#217)

Lincheck 2.22

17 Jul 14:51
Compare
Choose a tag to compare

Bug Fixes:

  • Validation functions are now running in ignored section (#213)
  • Do not transform DebugKt to avoid ExceptionInInitializerError (#212)
  • Show operation calls in the execution trace even when no events occur in them (#205)

Lincheck 2.21

03 Jul 21:47
Compare
Choose a tag to compare

Improvements:

  • Shorten spin locks in traces (#191)
  • Optimize synchronization when the number of threads exceeds the number of cores (#204)

Lincheck 2.20

30 Jun 18:37
Compare
Choose a tag to compare

New Features:

  • Add a parameter generator for enum classes (#187)

Bug Fixes:

  • Fix a race in FixedActiveThreadsExecutor (#202)
  • Bugfix for wait/notify support with lock re-entrance (#145)

Improvements:

  • Run init/post parts of the scenario in the 1st thread, changing the scenario and trace output formats correspondingly (#146)
  • Consider all exceptions as possible execution results (#181)
  • Validation exception stack trace shortened (#198)
  • Print operation results in interleaving traces (#197)

Thanks to @eupp and @avpotapov00 for your effort in significantly improving Lincheck in this release!

Lincheck-2.19

18 Jun 21:25
Compare
Choose a tag to compare

With this release, Lincheck tests are now up to 2x (!) faster on some machines (#173)

Improvements:

  • Cleanup the user guide (#144)
  • Fix a typo in ObstructionFreedomViolationTest.kt file name (#147)
  • Add a link to the KotlinConf 2023 talk on Lincheck (#182)

lincheck-2.18.1

31 May 09:30
Compare
Choose a tag to compare

In the previous release, we accidentally changed the package of parameter generators. This release fixes the issue.

lincheck 2.18

30 May 10:17
Compare
Choose a tag to compare

License change!

Lincheck is now licensed under MPL-2.0 instead of LGPL-3.0 πŸŽ‰

Bug fixes

  • Reset parameter generator expanding ranges for each scenario (#180)
  • Fixed String generator (#172)
  • Correct the name and missing package line in CustomScenarioDSLTest.kt. (#183), thanks to @lowasser

Lincheck 2.17

13 Apr 09:54
Compare
Choose a tag to compare

Improvements

  • Parameter generation has been improved (#149)
  • The verboseTrace configuration option has been removed, now both shortened and detailed traces are always printed (#148)
  • Lincheck does not ask for equals/hashCode anymore (#135)
  • Bumped Java, Kotlin, AtomicFU, and Gradle versions (#161)
  • Deprecate @Operation.group and @OpGroupConfig and introduce @Operation.nonParallelGroup as a replacement (#163)

Bug Fixes

  • Biasing in parameter generation has been fixed (#120)
  • Fixed a memory leak in the verifier (#128)