Skip to content

Releases: JetBrains/lincheck

Lincheck 2.36

18 Feb 21:50
Compare
Choose a tag to compare

New Features

Bug Fixes

  • Instantiate testClass taking into account its enclosing class by @ivandev0 in #466
  • Fix instrumentation of newly loaded classes by @eupp in #525
  • fix: broken links to test samples by @danil-pavlov in #527

Improvements

  • Improve default function representation in trace by @bbrockbernd in #523
  • Fix Unit representation in the trace by @eupp in #528
  • Move Intellij plugin related functionality into IdeaPlugin.kt by @eupp in #465
  • Move ideaPluginEnabled into the file scope by @ivandev0 in #471
  • Ignore flaky coroutines multiple suspensions test by @eupp in #509

Lincheck 2.35

03 Feb 09:43
Compare
Choose a tag to compare

Features

Bug Fixes

  • Process kotlin.random.Random similarly to java.util.Random by @ndkoval in #375
  • Fix resumption trace collection and printing logic by @eupp in #361
  • Non-determinism fix: ClassLoaders are now transformed in the Model Checking mode by @avpotapov00 in #413
  • Fix local objects detector by @eupp in #422
  • Fix object creation tracking by @eupp in #426
  • Fix of NoClassDefFoundError due to unintended Lincheck analysis of StackTraceElement methods by @eupp in #423
  • Fix internal Lincheck bug check by @eupp in #417
  • Prevent IllegalArgumentException by @jbonzohln in #421
  • Fix atomicfu instrumentation rules (exclude atomics only) by @eupp in #462

Improvements

Lincheck 2.34

09 Sep 14:46
Compare
Choose a tag to compare

Bug Fixes

  • Fix typo in AtomicMethods.kt by @eupp in #356
  • Fix byte array element type in the bytecode transformation code by @eupp in #357
  • Do not use Kotlin in the bootstrap module by @ndkoval in #351
  • Fix possible ConcurrentModificationException when collection information in FinalFields and MethodIds by @ndkoval in #354
  • Avoid recursive enumeration of class and classloader instances when plugin is enabled by @avpotapov00 in #364
  • Use ClassReader.EXPAND_FRAMES as dictated by the AnalyzerAdapter documentation by @eupp in #368
  • In FieldSearchHelper skip protected or private fields that cannot be read by Unsafe by @eupp in #367
  • Ensure that array elements are transformed by @ndkoval in #372

Lincheck 2.33

01 Aug 21:59
Compare
Choose a tag to compare

What's Changed

  • Bytecode Transformation Refactoring by @eupp in #322
  • Fix Java 11 performance bug by @eupp in #316
  • Strategy run API refactoring by @eupp in #262
  • Coverage bytecode filter by @dmitrii-artuhov in #335
  • Detect atomic primitive method calls dynamically by @eupp in #336
  • Output fixed in case of an incorrect arguments count in custom scenarios by @avpotapov00 in #338
  • Spin locks detection enchancements by @avpotapov00 in #331
  • AllowExtraSuspension parameter deprecated, SUSPENDED prefix removed from the output by @avpotapov00 in #339
  • Make all compilation warnings errors by @ndkoval in #341
  • Do not show clocks when they don't provide any useful information by @ndkoval in #349
  • Minimization improvement: try to remove two operations and move operations to init and post parts by @ndkoval in #350

New Contributors

Full Changelog: lincheck-2.32...lincheck-2.33

Lincheck 2.32

09 May 13:47
Compare
Choose a tag to compare

Improvements

  • Show the field name in the trace when calling a method on the final field by @avpotapov00 in #327

Lincheck 2.31

08 May 21:58
Compare
Choose a tag to compare

Improvements

  • Loop detector refactoring by @eupp in #310
  • Set lincheck version in tests for the plugin compatibility by @zuevmaxim in #312
  • Exception message when no operations defined impoved by @avpotapov00 in #233
  • Improve trace representation: show non-this object instances on method calls and show field names when using VarHandle, AtomicReference, andUnsafe by @avpotapov00 in #325

IntelliJ IDEA Plugin support:

Lincheck 2.30

19 Apr 20:58
Compare
Choose a tag to compare

This is a big release for Lincheck. We changed how Lincheck instruments byte-code, so no more annoying add-opens ... are needed 🎉

Improvements

Full Changelog: lincheck-2.29...lincheck-2.30

Lincheck 2.29

12 Apr 14:20
Compare
Choose a tag to compare

Improvements:

  • Optimize spin loops and fix regression by @eupp in #298
  • Optimize TransformationUtils.isCoroutineStateMachineClass by @ndkoval in #294
  • Optimize Method.isSuspendable implementation by @ndkoval in #293
  • Implement final field detection without Class.forName(..) by @avpotapov00 in #297
  • Improve UX when running *IsolatedTests from IntelliJ IDEA by @ndkoval in #274
  • Display enum values as enum names instead of <className>@<hashCode> by @ndkoval in #300
  • Object numeration representation fix by @avpotapov00 in #302

Lincheck 2.28.1

21 Mar 11:57
Compare
Choose a tag to compare

Bug Fixes

  • Replace AtomicLong.VMSupportsCS8() with a stub by @ndkoval in #290

Lincheck 2.28

20 Mar 09:30
Compare
Choose a tag to compare

Improvements

Refactoring