Releases: jplag/JPlag
v5.1.0
Fill out a quick (<5 min) survey to help us and give feedback: Take me to the survey 🤩
Java Version
JDK 21
What's Changed
- Improved error messages for multiple languages
- Introduced dynamic progress bars in the CLI instead of the old wall of text
- Output files for reports are no longer overridden (if you still want to, use
--overwrite
) - Bug fixes and enhancements
Click to show details...
- Update develop from main by @tsaglam in #1594
- Change development revision to 5.1.0-SNAPSHOT by @tsaglam in #1596
- Adapt deploy action to also trigger when release drafts are published by @tsaglam in #1608
- Fixed a bug, where the cpp listener could throw a null pointer exception by @TwoOfTwelve in #1613
- Fix sonar link of the coverage badge by @tsaglam in #1615
- Avoided null pointer exception in JPlagGoListener. by @TwoOfTwelve in #1614
- Fix ParsingException in cases of null file parameter by @jepst in #1643
- FilePathUtils.joinZipPathSegments error on windows by @TwoOfTwelve in #1609
- Fixed wrong paths in results.zip with multiple root directories. by @TwoOfTwelve in #1645
- Update the location of sortAlgo resources by @emmanuel-ferdman in #1693
- Bump vite from 5.1.1 to 5.1.7 in /report-viewer by @dependabot in #1688
- Feature/cli module refactoring by @TwoOfTwelve in #1607
- Added progress bars for Match Merging and Token String Normalization. by @TwoOfTwelve in #1690
- Cli enum options by @TwoOfTwelve in #1705
- Added generic catch clause in the c language module by @TwoOfTwelve in #1691
- Added missing line separator by @TwoOfTwelve in #1722
- Migrate go language module to new framework by @TwoOfTwelve in #1694
- Added idle bars by @TwoOfTwelve in #1680
- Update python language module by @TwoOfTwelve in #1750
- Avoided overwriting of files by @TwoOfTwelve in #1716
- Increment JPlag revision to v5.1.0 by @tsaglam in #1782
- Merge develop into main by @tsaglam in #1781
- Update develop from main by @Kr0nox in #1696
- Fix Jar Upload by @Kr0nox in #1697
- Add workflow for closing issues on develop merge by @Kr0nox in #1745
- Fix close pr workflow closing wrong issues by @Kr0nox in #1748
- Catch all Exceptions in java by @Kr0nox in #1768
Report Viewer Changes
- Character precise matches: JPlag can now visualize where matches start and end in a single line
- Table of related submissions in the cluster view
- Some fixes and improvements
Click to show details...
- fix broken edge click on cluster chart by @Kr0nox in #1595
- Fix version of report viewer by @Kr0nox in #1630
- Hide local files button in VIEW mode by @Kr0nox in #1628
- Complete system e2e test by @Kr0nox in #1631
- fix unhiding through searchbar by @Kr0nox in #1632
- Reenable search test by @Kr0nox in #1640
- show hover text all the time by @Kr0nox in #1646
- Support unknown languages by @Kr0nox in #1648
- Report viewer/clean console by @Kr0nox in #1647
- bump fontawesome to 6.5.2 by @Kr0nox in #1689
- Added related submission table to cluster view by @Kr0nox in #1692
- Character precise matches by @Kr0nox in #1695
- Add Tool Tip for Bread Crumbs in Comparison View by @Kr0nox in #1717
- Add e2e test for some languages by @Kr0nox in #1721
- Fix superlinear regex by @Kr0nox in #1736
- Better warning for missing files by @Kr0nox in #1747
- Improve flaky e2e tests by @Kr0nox in #1749
Updated Dependencies
As always, we updated some dependencies.
Click to show details...
- Dependency(deps): Bump org.codehaus.mojo:exec-maven-plugin from 1.3.2 to 3.1.1 by @dependabot in #1585
- Dependency(deps): Bump org.scalameta:scalameta_2.13 from 4.8.15 to 4.9.0 by @dependabot in #1584
- Dependency(deps-dev): Bump @types/node from 18.19.15 to 18.19.17 in /report-viewer by @dependabot in #1589
- Dependency(deps-dev): Bump vitest from 1.2.2 to 1.3.1 in /report-viewer by @dependabot in #1588
- Dependency(deps-dev): Bump vite from 5.1.1 to 5.1.4 in /report-viewer by @dependabot in #1599
- Dependency(deps-dev): Bump @playwright/test from 1.41.2 to 1.42.0 in /report-viewer by @dependabot in #1623
- Dependency(deps): Bump vue-router from 4.2.5 to 4.3.0 in /report-viewer by @dependabot in #1624
- Dependency(deps-dev): Bump eslint from 8.56.0 to 8.57.0 in /report-viewer by @dependabot in #1626
- Dependency(deps-dev): Bump eslint-plugin-vue from 9.21.1 to 9.22.0 in /report-viewer by @dependabot in #1627
- Dependency(deps-dev): Bump @types/node from 18.19.17 to 18.19.19 in /report-viewer by @dependabot in #1625
- Dependency(deps): Bump org.codehaus.mojo:exec-maven-plugin from 3.1.1 to 3.2.0 by @dependabot in #1618
- Dependency(deps): Bump org.scala-lang:scala-library from 2.13.12 to 2.13.13 by @dependabot in #1622
- Dependency(deps): Bump org.eclipse.emf:org.eclipse.emf.common from 2.29.0 to 2.30.0 by @dependabot in #1620
- Dependency(deps): Bump org.eclipse.emf:org.eclipse.emf.ecore from 2.35.0 to 2.36.0 by @dependabot in #1621
- Dependency(deps): Bump org.eclipse.emf:org.eclipse.emf.ecore.xmi from 2.36.0 to 2.37.0 by @dependabot in #1619
- Dependency(deps): Bump chart.js from 4.4.1 to 4.4.2 in /report-viewer by @dependabot in #1635
- Dependency(deps-dev): Bump @types/node from 18.19.19 to 18.19.21 in /report-viewer by @dependabot in #1634
- Dependency(deps-dev): Bump @playwright/test from 1.42.0 to 1.42.1 in /report-viewer by @dependabot in #1633
- Dependency(deps-dev): Bump autoprefixer from 10.4.17 to 10.4.18 in /report-viewer by @dependabot in #1637
- Dependency(deps-dev): Bump vue-tsc from 1.8.27 to 2.0.5 in /report-viewer by @dependabot in #1636
- Dependency(deps): Bump org.scalameta:scalameta_2.13 from 4.9.0 to 4.9.1 by @dependabot in #1639
- Dependency(deps-dev): Bump org.mockito:mockito-core from 5.10.0 to 5.11.0 by @dependabot in #1638
- Dependency(deps): Bump softprops/action-gh-release from 1 to 2 by @dependabot in #1658
- Dependency(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 3.2.0 by @dependabot in #1654
- Dependency(deps): Bump org.scalameta:scalameta_2.13 from 4.9.1 to 4.9.2 by @dependabot in #1655
- Dependency(deps): Bump org.apache.maven.plugins:maven-assembly-plugin from 3.6.0 to 3.7.0 by @dependabot in #1656
- Dependency(deps): Bump com.fasterxml.jackson.core:jackson-databind from 2.16.1 to 2.17.0 by @dependabot in #1657
- Dependency(deps-dev): Bump @types/node from 18.19.21 to 18.19.23 in /report-viewer by @dependabot in #1649
- Dependency(deps-dev): Bump vite from 5.1.4 to 5.1.6 in /report-viewer by @dependabot in #1653
- Dependency(deps-dev): Bump prettier-plugin-tailwindcss from 0.5.11 to 0.5.12 in /report-viewer by @dependabot in #1652
- Dependency(deps-dev): Bump @vue/eslint-config-typescript from 12.0.0 to 13.0.0 in /report-viewer by @dependabot in #1650
- Dependency(deps-dev): Bump typescript from 5.3.3 to 5.4.2 in /report-viewer by @dependabot in #1651
- Dependency(deps-dev): Bump @types/node from 18.19.23 to 18.19.26 in /report-viewer by @dependabot in #1665
- Dependency(deps-dev): Bump @vue/test-utils from 2.4.4 to 2.4.5...
v5.0.0
Java Version
JDK 21
What's Changed
- New language modules (Javascript, Typescript, SCXML, LLVM-IR, EMF-model).
- Normalization mechanisms that improve resilience against obfuscation attacks.
- Token sequence normalization to counteract statement insertion & reordering (supported for Java and C++, use
--normalize
). - Subsequence match merging to counteract a wide variety of obfuscation attack (supported for every language, use
--match-merging
).
- Token sequence normalization to counteract statement insertion & reordering (supported for Java and C++, use
- Support for Java 21 (including preview feature support).
- The former C/C++ module is now named
c
, the newcpp2
module now just namedcpp
- Improved tokenization rules for the Java language module.
- Improvements to modeling plagiarism detection (Emfatic view, improved generic model view, normalization via
--normalize
). - Increase the default number of exported comparisons to 500.
- More resilience regarding different file encodings.
- Cleaner log via progress bars.
Click to show details...
- Speed up comparison by @brodmo in #1005
- Prevent changing the Java token sequence via changing if-else statements. by @tsaglam in #1003
- Documentation Workflow by @dfuchss in #1017
- Add token string normalization by @brodmo in #1007
- Feature/file encoding by @TwoOfTwelve in #1026
- Add SCXML language module by @smjonas in #1030
- Add static JPlag::run by @brodmo in #1041
- Print the number of tokens when it’s too little by @jtotht in #1067
- File total tokens added to report output by @jazerix in #1036
- Fix supported C# version in README by @jtotht in #1081
- Extract APPLY token for function calls with literal arguments by @SirYwell in #1080
- Changed the ClusteringFactory to only do something, if there are any … by @TwoOfTwelve in #1070
- Internal MM language module improvement draft by @tsaglam in #1053
- Merge main into develop by @tsaglam in #1088
- Increase development version to 4.4.0-SNAPSHOT. by @tsaglam in #1089
- Prototype for EMF model instance language module by @tsaglam in #856
- Feature/adopt python grammar fixes by @TwoOfTwelve in #1069
- Feature/new test structure for language modules by @TwoOfTwelve in #1100
- Improve log readability and parse error reporting by @tsaglam in #1133
- Implemented new cli, based on a different framework by @TwoOfTwelve in #1064
- Add test coverage to readme by @tsaglam in #1142
- Fix bug in the Java language tests by @tsaglam in #1143
- Improve test result visualization for the view file tests by @tsaglam in #1144
- Adjust JPlag descriptions by @sebinside in #1156
- Feature/antlr language utils by @TwoOfTwelve in #1159
- Prevent random exceptions when Emfatic is unable to provide a textual model view for EMF by @tsaglam in #1175
- Feature/refactor cpp2 language module by @TwoOfTwelve in #1167
- Expanded the language-antlr-utils to allow the extraction of semantic… by @TwoOfTwelve in #1177
- Changed all language class names and added READMEs where they where missing by @TwoOfTwelve in #1122
- Simplified names for map functions in AbstractAntlrListener.java by @TwoOfTwelve in #1180
- Updated the java tests to use the new test framework by @TwoOfTwelve in #1204
- Removed the @tempdir annotation, since it caused some warnings by @TwoOfTwelve in #1221
- Adapt loop tokenization rules of the Java language module by @tsaglam in #1223
- Improve readability of language test results by @tsaglam in #1224
- Run automatic cleanup on source code by @tsaglam in #1225
- Fix the token to line mapping for the EMF language and the Emfatic views by @tsaglam in #1227
- Improves the help output for the cli. by @TwoOfTwelve in #1220
- Added the option to initialize the parser lazily for AbstractAntlrLan… by @TwoOfTwelve in #1222
- Fixed an error when extracting the token length by @TwoOfTwelve in #1236
- Improve error messages for the java language feature test by @tsaglam in #1226
- Match merging against obfuscation by @uuqjz in #1202
- Always run java version test for the CI by @tsaglam in #1246
- Remove unnecessary submission length check in GreedyStringTiling by @uuqjz in #1250
- Adjusted behavior, default values and naming of MergingParameters by @uuqjz in #1251
- Add LLVM IR language module by @NiklasHeneka in #1233
- Re-write/Fix antlr-utils by @brodmo in #1263
- Allow passing multiple options in the "Advanced" group by @olmokramer in #1301
- LLVM IR min token and README adjustments by @NiklasHeneka in #1322
- Feature/rewrite csharp module by @TwoOfTwelve in #1330
- Made the GreedyStringTiling class deterministic in case both submissi… by @TwoOfTwelve in #1351
- Overhauled the end to end tests and added the test code from progpedia by @TwoOfTwelve in #1279
- Add normalization info to cpp tokens by @brodmo in #1371
- Java 21 by @TwoOfTwelve in #1370
- Fix failing develop build by @tsaglam in #1397
- Python tests rewrite by @TwoOfTwelve in #1387
- Increase default number of exported comparisons to 500. by @tsaglam in #1410
- Unify logger & Enforce Logger by Architecture Test by @dfuchss in #1411
- Add universal character names in identifiers to cpp parser by @nheir in #1408
- Deleted Metric record by @TwoOfTwelve in #1415
- cli default values by @TwoOfTwelve in #1434
- Improve performance of the match merging after the matching is done by @tsaglam in #1447
- Implemented csv export. by @TwoOfTwelve in #1385
- Fix logger name to ensure build is passing by @tsaglam in #1478
- Added a better error message, if no valid language was supplied. by @TwoOfTwelve in #1493
- Fix version of intra-project dependency for the kotlin module by @tsaglam in #1511
- Clean up progpedia dataset in the E2E tests by @tsaglam in #1513
- Changed AbstractAntlrParserAdapter to catch all exceptions during par… by @TwoOfTwelve in #1480
- Update develop from main by @tsaglam in #1525
- Merge develop into main by @tsaglam in #1524
- ImmediatlyWriteZip by @TwoOfTwelve in #1416
- Fix Java version badge in readme by @tsaglam in #1527
- Increase development version to 5.0.0-SNAPSHOT. by @tsaglam in #1526
- Renamed the submissions for the demo. by @TwoOfTwelve in #1530
- Changes to MatchMerging as its tests by nils. by @TwoOfTwelve in #1550
- Fixed bug in the end-to-end test, that occurred on mac, due to symbolic links. by @TwoOfTwelve in #1553
- Renamed cpp to c and cpp2 to cpp by @TwoOfTwelve in #1496
- Match merging: Use default values for CLI by @uuqjz in #1563
- Feature/normalization option by @TwoOfTwelve in #1479
- Improvement of the EMF metamodel and model languages by @tsaglam in #1545
- Fix bugs in CLI error handling by @tsaglam in #1570
- Renamed the result-directory option to result-file by @TwoOfTwelve in #1566
- Fixed a bug in the creation of the result due to missing slashes. by @TwoOfTwelve in #1568
- Implemented progress bars for the cli by @TwoOfTwelve in #1433
- Remove some unused code by @tsaglam in #1571
- Improve error handling and logging of the language modules by @tsaglam in #1572
- ...
v4.3.0
Java Version
JDK 17
What's Changed
This release adds an alternative C/C++ language module and includes some other improvements.
If you try out the new language module, feedback would be appreciated!
Click to show details...
- Correctly show matches when the token order is not line index order by @tsaglam in #971
- ANTLR grammar based C++ language module by @SirYwell in #937
- Fix two issues with the Java language module token extraction by @tsaglam in #940
- Clean-up dependencies of the core project by @tsaglam in #938
- Fix broken link in readme by @sebinside in #1035
Report Viewer Update
We also deployed a new report viewer version in parallel with this update.
Check it out at https://jplag.github.io/JPlag/.
Click to show details...
Updated Dependencies
As always, we updated some dependencies.
Click to show details...
- Dependency(deps): Bump antlr4.version from 4.11.1 to 4.12.0 by @dependabot in #942
- Dependency(deps): Bump maven-javadoc-plugin from 3.4.1 to 3.5.0 by @dependabot in #941
- Dependency(deps-dev): Bump lint-staged from 13.1.0 to 13.1.2 in /report-viewer by @dependabot in #948
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.51.0 to 5.53.0 in /report-viewer by @dependabot in #947
- Dependency(deps): Bump core-js from 3.27.2 to 3.28.0 in /report-viewer by @dependabot in #946
- Dependency(deps-dev): Bump @vue/test-utils from 2.2.10 to 2.3.0 in /report-viewer by @dependabot in #944
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.50.0 to 5.53.0 in /report-viewer by @dependabot in #945
- Dependency(deps): Bump maven-assembly-plugin from 3.4.2 to 3.5.0 by @dependabot in #953
- Dependency(deps): Bump org.eclipse.emf.ecore from 2.29.0 to 2.33.0 by @dependabot in #959
- Dependency(deps): Bump org.eclipse.emf.ecore.xmi from 2.17.0 to 2.18.0 by @dependabot in #952
- Dependency(deps): Bump org.eclipse.emf.common from 2.27.0 to 2.28.0 by @dependabot in #956
- Dependency(deps-dev): Bump jest from 29.4.0 to 29.4.3 in /report-viewer by @dependabot in #960
- Dependency(deps-dev): Bump eslint from 8.33.0 to 8.35.0 in /report-viewer by @dependabot in #955
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.53.0 to 5.54.0 in /report-viewer by @dependabot in #961
- Dependency(deps): Bump core-js from 3.28.0 to 3.29.0 in /report-viewer by @dependabot in #958
- Dependency(deps-dev): Bump jest-environment-jsdom from 29.4.2 to 29.4.3 in /report-viewer by @dependabot in #957
- Dependency(deps-dev): Bump jest from 29.4.3 to 29.5.0 in /report-viewer by @dependabot in #970
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.54.0 to 5.54.1 in /report-viewer by @dependabot in #969
- Dependency(deps-dev): Bump @vue/vue3-jest from 29.2.2 to 29.2.3 in /report-viewer by @dependabot in #966
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.53.0 to 5.54.1 in /report-viewer by @dependabot in #968
- Dependency(deps-dev): Bump jest-environment-jsdom from 29.4.3 to 29.5.0 in /report-viewer by @dependabot in #967
- Dependency(deps): Bump spotless-maven-plugin from 2.33.0 to 2.34.0 by @dependabot in #965
- Dependency(deps): Bump scala-maven-plugin from 4.8.0 to 4.8.1 by @dependabot in #964
- Dependency(deps): Bump core-js from 3.29.0 to 3.29.1 in /report-viewer by @dependabot in #975
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.54.1 to 5.55.0 in /report-viewer by @dependabot in #979
- Dependency(deps-dev): Bump @vue/test-utils from 2.3.0 to 2.3.1 in /report-viewer by @dependabot in #977
- Dependency(deps-dev): Bump lint-staged from 13.1.2 to 13.2.0 in /report-viewer by @dependabot in #976
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.54.1 to 5.55.0 in /report-viewer by @dependabot in #978
- Dependency(deps-dev): Bump mockito-core from 5.1.1 to 5.2.0 by @dependabot in #972
- Dependency(deps): Bump spotless-maven-plugin from 2.34.0 to 2.35.0 by @dependabot in #974
- Dependency(deps): Bump maven-surefire-plugin from 3.0.0-M9 to 3.0.0 by @dependabot in #973
- Dependency(deps-dev): Bump prettier from 2.8.4 to 2.8.6 in /report-viewer by @dependabot in #992
- Dependency(deps-dev): Bump typescript from 4.9.5 to 5.0.2 in /report-viewer by @dependabot in #991
- Dependency(deps-dev): Bump @vue/test-utils from 2.3.1 to 2.3.2 in /report-viewer by @dependabot in #990
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.55.0 to 5.56.0 in /report-viewer by @dependabot in #989
- Dependency(deps-dev): Bump @types/jest from 29.4.0 to 29.5.0 in /report-viewer by @dependabot in #988
- Dependency(deps): Bump slf4j.version from 2.0.6 to 2.0.7 by @dependabot in #985
- Dependency(deps): Bump stanford-corenlp from 4.5.2 to 4.5.3 by @dependabot in #984
- Dependency(deps): Bump flatten-maven-plugin from 1.3.0 to 1.4.0 by @dependabot in #987
Full Changelog: v4.2.0...4.3.0
v4.2.0
Java Version
JDK 17
What's Changed
This update greatly improves the detection quality of the Java language module.
Moreover, clustering is now enabled again and will thus be exported via the zipped report.
Lastly, the EMF language module was improved.
Click to show details...
- Prevent extraction of superfluous block tokens by the Java language module by @tsaglam in #911
- Generate Java assign token more often by @mbrdl in #830
- Fix Java token order in special cases (new) by @mbrdl in #854
- Improve the logging of the clusters created by the clustering factory by @tsaglam in #880
- Improve EMF metamodel language modules by @tsaglam in #819
- Adapt clustering default options by @tsaglam in #881
- Fix NPE when calling ParsingException constructors with null reason by @SirYwell in #839
- Change documentation of language usage to constructor invocation by @SirYwell in #890
- Overhaul core test cases by @tsaglam in #834
- Improve the end-to-end tests by adding summary tests by @tsaglam in #926
Report Viewer Update
In parallel with this update, we also deployed new version of the report viewer.
We fixed many bugs, improved performance, and re-enabled clusters.
Check it out at https://jplag.github.io/JPlag/.
Click to show details...
This version includes:
- Report viewer: Allow loading results by URL by @jtotht in #910
- fix bug: representation for name of file and match by @cyfml in #785
- Relative Paths for Viewer by @dfuchss in #833
- Fix IDs being sometimes null in the overview.json by @sebinside in #842
- Fix/match display off-by-one error and reenable clustering display by @cyfml in #816
- Fix/same submission by @cyfml in #829
- Fix/clicking problem on match highlighting by @cyfml in #855
- Enhance/codes selection by @cyfml in #877
- Add jest framework, required configs and examples to the report viewer. by @sebinside in #889
- Enhance/enable collapsing by clicking file header by @cyfml in #879
- Add more supported zip MIME types. by @sebinside in #918
- Enhance/version check by @cyfml in #878
- Enhance/color by @cyfml in #900
- Enhance/warning if some comparisions missing by @cyfml in #899
- Enhance/add jest cases by @cyfml in #924
- Enhance/add error page if overview or comparison missing by @cyfml in #923
- Minor report viewer enhancements by @sebinside in #927
- enchance/solve bad performance when clicking metric button by @cyfml in #925
- Add Version to Report Viewer by @dfuchss in #928
Updated Dependencies:
Click to show details...
- Dependency(deps): Bump slf4j.version from 2.0.3 to 2.0.4 by @dependabot in #811
- Dependency(deps): Bump jackson-databind from 2.14.0 to 2.14.1 by @dependabot in #810
- Dependency(deps-dev): Bump eslint from 8.27.0 to 8.28.0 in /report-viewer by @dependabot in #815
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.43.0 to 5.44.0 in /report-viewer by @dependabot in #814
- Dependency(deps-dev): Bump prettier from 2.7.1 to 2.8.0 in /report-viewer by @dependabot in #813
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.43.0 to 5.44.0 in /report-viewer by @dependabot in #812
- Dependency(deps): Bump slf4j.version from 2.0.4 to 2.0.5 by @dependabot in #821
- Dependency(deps): Bump scala-maven-plugin from 4.7.2 to 4.8.0 by @dependabot in #823
- Dependency(deps): Bump org.eclipse.emf.ecore from 2.28.0 to 2.29.0 by @dependabot in #824
- Dependency(deps): Bump spotless-maven-plugin from 2.27.2 to 2.28.0 by @dependabot in #822
- Dependency(deps): Bump org.eclipse.emf.common from 2.26.0 to 2.27.0 by @dependabot in #820
- Dependency(deps-dev): Bump lint-staged from 13.0.3 to 13.0.4 in /report-viewer by @dependabot in #828
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.44.0 to 5.45.0 in /report-viewer by @dependabot in #827
- Dependency(deps): Bump highlight.js from 11.6.0 to 11.7.0 in /report-viewer by @dependabot in #826
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.44.0 to 5.45.0 in /report-viewer by @dependabot in #825
- Dependency(deps-dev): Bump eslint from 8.28.0 to 8.29.0 in /report-viewer by @dependabot in #838
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.45.0 to 5.45.1 in /report-viewer by @dependabot in #837
- Dependency(deps-dev): Bump lint-staged from 13.0.4 to 13.1.0 in /report-viewer by @dependabot in #835
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.45.0 to 5.45.1 in /report-viewer by @dependabot in #836
- Dependency(deps-dev): Bump prettier from 2.8.0 to 2.8.1 in /report-viewer by @dependabot in #851
- Dependency(deps): Bump chartjs-plugin-datalabels from 2.1.0 to 2.2.0 in /report-viewer by @dependabot in #850
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.45.1 to 5.46.1 in /report-viewer by @dependabot in #848
- Dependency(deps-dev): Bump typescript from 4.9.3 to 4.9.4 in /report-viewer by @dependabot in #849
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.45.1 to 5.46.1 in /report-viewer by @dependabot in #847
- Dependency(deps): Bump slf4j.version from 2.0.5 to 2.0.6 by @dependabot in #846
- Dependency(deps-dev): Bump mockito-core from 4.9.0 to 4.10.0 by @dependabot in #857
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.46.1 to 5.47.0 in /report-viewer by @dependabot in #861
- Dependency(deps-dev): Bump eslint from 8.29.0 to 8.30.0 in /report-viewer by @dependabot in #860
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.46.1 to 5.47.0 in /report-viewer by @dependabot in #859
- Dependency(deps): Bump core-js from 3.26.1 to 3.27.0 in /report-viewer by @dependabot in #864
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.47.0 to 5.47.1 in /report-viewer by @dependabot in #863
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.47.0 to 5.47.1 in /report-viewer by @dependabot in #862
- Dependency(deps): Bump spotless-maven-plugin from 2.28.0 to 2.29.0 by @dependabot in #868
- Dependency(deps-dev): Bump mockito-core from 4.10.0 to 4.11.0 by @dependabot in #867
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.47.1 to 5.48.0 in /report-viewer by @dependabot in #869
- Dependency(deps): Bump core-js from 3.27.0 to 3.27.1 in /report-viewer by @dependabot in #872
- Dependency(deps-dev): Bump eslint from 8.30.0 to 8.31.0 in /report-viewer by @dependabot in #871
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.47.1 to 5.48.0 in /report-viewer by @dependabot in #870
- Dependency(deps-dev): Bump junit.version from 5.9.1 to 5.9.2 by @dependabot in #873
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.48.0 to 5.48.1 in /report-viewer by @dependabot in #876
- Dependency(deps-dev): Bump prettier from 2.8.1 to 2.8.2 in /report-viewer by @dependabot in #874
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.48.0 to 5.48.1 in /report-viewer by @dependabot in #875
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.48.1 to 5.48.2 in /report-viewer by @dependabot in #888
- Dependency(deps-dev): Bump eslint from 8.31.0 to 8.32.0 in /report-viewer by @dependabot in #887
- Dependency(deps-dev): Bump prettier from 2.8.2 to 2.8.3 in /report-viewer by @dependabot in https://...
v4.1.0
Java Version
JDK 17
Breaking Changes:
- Fix an API bug where the similarity distribution of the
JPlagResult
object was reversed (#794) - Hide non-API functionality that was accidentally public (#763 and #716)
What's Changed
- Fix debug mode by @tsaglam in #745
- Fix similarity distribution in JPlagResult by @tsaglam in #794
- Fix logging configuration for CLI by @dfuchss in #767
- Removed C/C++ "scope" token (thus improving detection quality) by @Squamanto in #747
- Refactor End to End Tests by @JanWittler in #731
- Refactor CLI classes to package
de.jplag.cli
by @JanWittler in #716 - Make language identifiers private by @JanWittler in #763
- Flattening of POM.xml by @dfuchss in #801
Updated Dependencies:
Click to show details...
- Dependency(deps): Bump spotless-maven-plugin from 2.27.0 to 2.27.1 by @dependabot in #719
- Dependency(deps): Bump scala-maven-plugin from 4.7.1 to 4.7.2 by @dependabot in #721
- Dependency(deps): Bump scalameta_2.13 from 4.5.13 to 4.6.0 by @dependabot in #722
- Dependency(deps): Bump slf4j.version from 2.0.2 to 2.0.3 by @dependabot in #720
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.38.1 to 5.39.0 in /report-viewer by @dependabot in #725
- Dependency(deps): Bump core-js from 3.25.3 to 3.25.5 in /report-viewer by @dependabot in #723
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.38.1 to 5.39.0 in /report-viewer by @dependabot in #724
- Dependency(deps): Bump spotless-maven-plugin from 2.27.1 to 2.27.2 by @dependabot in #726
- Dependency(deps): Bump scala-library from 2.13.9 to 2.13.10 by @dependabot in #727
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.39.0 to 5.40.0 in /report-viewer by @dependabot in #730
- Dependency(deps-dev): Bump eslint from 8.24.0 to 8.25.0 in /report-viewer by @dependabot in #728
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.39.0 to 5.40.0 in /report-viewer by @dependabot in #729
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.40.0 to 5.40.1 in /report-viewer by @dependabot in #753
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.40.0 to 5.40.1 in /report-viewer by @dependabot in #752
- Dependency(deps): Bump whelk-io/maven-settings-xml-action from 20 to 21 by @dependabot in #751
- Dependency(deps-dev): Bump mockito-core from 4.8.0 to 4.8.1 by @dependabot in #755
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.40.1 to 5.41.0 in /report-viewer by @dependabot in #760
- Dependency(deps): Bump gitart-vue-dialog from 2.4.0 to 2.4.1 in /report-viewer by @dependabot in #759
- Dependency(deps-dev): Bump eslint from 8.25.0 to 8.26.0 in /report-viewer by @dependabot in #758
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.40.1 to 5.41.0 in /report-viewer by @dependabot in #757
- Dependency(deps): Bump core-js from 3.25.5 to 3.26.0 in /report-viewer by @dependabot in #756
- Bump jackson-databind from 2.13.4 to 2.13.4.1 by @dependabot in #750
- Dependency(deps): Bump vue-router from 4.1.5 to 4.1.6 in /report-viewer by @dependabot in #766
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.41.0 to 5.42.0 in /report-viewer by @dependabot in #765
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.41.0 to 5.42.0 in /report-viewer by @dependabot in #764
- Bump loader-utils from 1.4.0 to 1.4.1 in /report-viewer by @dependabot in #769
- Dependency(deps): Bump jackson-databind from 2.13.4 to 2.14.0 by @dependabot in #771
- Dependency(deps): Bump vue from 3.2.40 to 3.2.43 in /report-viewer by @dependabot in #778
- Dependency(deps-dev): Bump eslint from 8.26.0 to 8.27.0 in /report-viewer by @dependabot in #774
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.42.0 to 5.42.1 in /report-viewer by @dependabot in #772
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.42.0 to 5.42.1 in /report-viewer by @dependabot in #775
- Dependency(deps-dev): Bump mockito-core from 4.8.1 to 4.9.0 by @dependabot in #795
- Dependency(deps-dev): Bump @typescript-eslint/eslint-plugin from 5.42.1 to 5.43.0 in /report-viewer by @dependabot in #800
- Dependency(deps): Bump core-js from 3.26.0 to 3.26.1 in /report-viewer by @dependabot in #799
- Dependency(deps-dev): Bump typescript from 4.8.4 to 4.9.3 in /report-viewer by @dependabot in #798
- Dependency(deps-dev): Bump @typescript-eslint/parser from 5.42.1 to 5.43.0 in /report-viewer by @dependabot in #797
- Dependency(deps): Bump vue from 3.2.43 to 3.2.45 in /report-viewer by @dependabot in #796
New Contributors
- @Squamanto made their first contribution in #747
Full Changelog: v4.0.0...v4.1.0
v4.0.0
Java Version: JDK 17
With this version, we release a complete overhaul of JPlag. Note that this includes breaking changes with previous versions!
This update introduces the following features:
- A new and re-designed web-based report viewer (https://jplag.github.io/JPlag/)
- Support for new programming languages: Go, Kotlin, R, Scala, Swift, Rust
- Support for a modeling language: EMF metamodels
- Support for Java files containing new language features (Java 17 support)
- An overhauled language module for natural text
- An overhauled language module for C#
- Support for multiple submission directories (root folders)
- Support for old submission directories, which are only checked against for reference
- Support for cluster calculation
- Improved performance due to effective parallelization
The following features are currently not supported:
- visualizing the clustering results in the report viewer
The following features are permanently discontinued (and removed from the project):
- the character language module (use the text language module instead)
New Contributors
- @GabrielL made their first contribution in #275
- @SimDing made their first contribution in #281
- @cholakov11 made their first contribution in #287
- @nestabentum made their first contribution in #453
- @robinmaisch made their first contribution in #455
- @JanWittler made their first contribution in #554
- @SuyDesignz made their first contribution in #551
- @SirYwell made their first contribution in #622
For development details see the milestone v4.0.0.
Full Changelog: v3.0.0...v4.0.0
v3.0.0
Java Version: Java SE 14
With this version, we release a complete overhaul of JPlag. Note that this includes breaking changes with previous versions!
This update introduces the following features:
- a Java API for third-party integration
- a simplified and improved command-line interface
- support for Java files containing new language features
- improved colors for source codes matches in the report
- a parallel comparison mode, which allows fast comparison of large submission sets
- fixes regarding file encoding (some older language frontends might still have some issues)
- many minor bugfixes and performance optimizations
The following features are currently not supported:
- result clustering
- comparison based on maximum similarity
The following features are permanently discontinued (and removed from the project):
- the comparison modes experimental, external, special, and revision.
- the deprecated web service
- the legacy java frontends
New Contributors:
- @krusche made their first contribution in #89
- @philippbauch made their first contribution in #89
- @JLLeitschuh made their first contribution in #78
- @Alberth289346 made their first contribution in #85
- @tsaglam made their first contribution in #94
- @dfuchss made their first contribution in #93
- @sebinside made their first contribution in #137
- @Strohgelaender made their first contribution in #154
- @dogayalcin made their first contribution in #235
- @dependabot made their first contribution in #90
For development details see the milestone v3.0.0.
Full Changelog: v2.12.1-SNAPSHOT...v3.0.0-SNAPSHOT
v2.12.1-SNAPSHOT
Legacy version of JPlag
v2.12.0-SNAPSHOT
Updated travis.yml: fixed typo
v2.11.9-SNAPSHOT
This release includes the python-3 frontend