Bug fixes
- Add a check for local vars count before inserting
afterLocalWriteby @dmitrii-artuhov in #881 - Fix performance regression by @eupp in #889
- Fix ignored section constructor instrumentation by @eupp in #912
- Fix unsafe field resolve bug by @eupp in #914
Improvements
- Refactor runner API to avoid creating
testInstance(and other scenario-specific logic) in case of GPMC by @eupp in #529 - Loops instrumentation by @eupp and @dmitrii-artuhov in #847, #851, #855, #864
- Improve trace representation for mangled declarations by @zhelenskiy in #874
- Refactor injection code to make injections unconditional by @eupp in #878
- New Result Intercepting API by @viliamDokov in #908
- Optimize class retransformation by @eupp in #913
Deprecated
- Deprecate
@ModelCheckingCTestand@ModelCheckingCTestannotations by @jetbrains-junie[bot] in #818
Infrastructure
- Various improvements of integration test infrastructure by @zhelenskiy, @ivandev0, @dmitrii-artuhov, and @bbrockbernd in #846, #865, #891, #885, #893, #901
- Add the script to simplify minor release by @ivandev0 in #858
- Simplify Gradle build files by @ivandev0 in #866
- Collect bytecode instrumentation statistics by @eupp in #887
Trace Recorder
- Add features to support loading trace in IDEA plugin by @lev-serebryakov-jetbrains in #834
- Print injection exceptions and hide them from
EventTracker::onThreadRunExceptionby @dmitrii-artuhov in #844 - Fix bug with completing threads with loops by @dmitrii-artuhov in #861
- Pass exception to the
afterLoopExitinjection hook by @dmitrii-artuhov in #862 - Implement "null" output strategy for TR benchmarking by @lev-serebryakov-jetbrains in #869
- Implement background I/O for streaming trace recorder. by @lev-serebryakov-jetbrains in #873
- Track constructor calls for trace recorder by @dmitrii-artuhov in #875
- Fix multiple concurrent calls leading to error by @lev-serebryakov-jetbrains in #882
- Add statistics about trace points count and trace size. by @lev-serebryakov-jetbrains in #890
- Fix trace recorder calling project code by @lev-serebryakov-jetbrains in #894
- Fix invalid code location of the method which is run via button click by @lev-serebryakov-jetbrains in #897
- Fix io.ktor.client.engine.okhttp.OkHttpEngineTests::testRequestAfterRecreate failure by @lev-serebryakov-jetbrains in #896
- Enable eager instrumentation for Trace Recorder by @eupp in #898
- Shadow asm and bytebuddy by @bbrockbernd in #903
- Fix problem with targeting methods where source files are not available by @bbrockbernd in #904
New Contributors
- @viliamDokov made their first contribution in #908
Full Changelog: lincheck-3.3...lincheck-3.4