Skip to content

Releases: JetBrains/lincheck

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

Lincheck 2.27

16 Mar 11:52
Compare
Choose a tag to compare

Bug Fixes:

  • LoopDetector must reset the spin-lock detection counters when the current operation finishes by @eupp in #281
  • Fix potential IndexOutOfBoundsException in curActorIsBlocking and concurrentActorCausesBlocking by @eupp in #277
  • Fix number of iterations in spin-loops in case if #cpus < #threads by @eupp in #284

Lincheck 2.26

19 Feb 22:23
Compare
Choose a tag to compare

Bug Fixes

  • Fix non-determinism in the model checker and support recent changes in the Kotlin coroutines API (#273)