Releases: JetBrains/lincheck
Releases · JetBrains/lincheck
lincheck-2.7
lincheck-2.6
Features
- Linearizability support additionally to sequential consistency #33
lincheck-2.5
Improvements
- Allow extra suspensions in executions
- Fix starvation on internal spin-loop based synchronizations if the number of available cores is less than the number of scenario threads
lincheck-2.4
Improvements
- The stress strategy now detects hanging, stops the test and prints the thread dump in this case (#25)
- It becomes possible to write a part of the test in a superclass (#24)
Breaking Changes
- We decided to remove quantitative relaxation, it requires too many resources to support it, and we do not use relaxed algorithms in Kotlin (#22)
lincheck-2.3
Features
- Instead of using the testing data structure in a sequential way to specify the behavior of the operations, it is now possible to use a separate simple implementation as a specification. See
sequentialSpecification
parameter in both options and annotations.
Bug Fixes
- There were some bugs fixed with
suspend
functions support
lincheck-2.2
Features
- Lincheck tries to minimize scenarios on which the test fails; thus, it is now easier to investigate found bugs (#13)
Bug Fixes
- Tests do not fail if there is a suspendable operation and the
actorsAfter
parameter is non-zero (#15) - Fixed incorrect exception result representation in logs (#14)
- Fixed wrong alignment in init/post parts in logs (#10)
Improvements
- Empty post and init scenarios parts are omitted in logs if they are empty (added under #10)
lincheck 2.1
Main Change
A suspend
functions support has been introduced, so that it becomes possible to test data structures like channels or mutexes from the Kotlin Coroutines library; see the corresponding README section.