Releases: dodona-edu/dolos
v2.2.4
v2.2.3
v2.2.2
v2.2.1
Please see the v2.2.0 release notes for a more detailed description what has recently been changed.
π Bug Fixes
- Revert
open
back to v8 since v9 is ESM only (d83dedd)
v2.2.0
Dolos as a service - dolos.ugent.be/server
Note: a bug was found in the CLI shortly after publishing. Please install Dolos v2.2.1 instead of v2.2.0 if you plan on using the CLI.
It is now much easier to run plagiarism detection straight from your browser, without installing anything!
This release includes a new API server (#1119 by @rien ) and extends the Dolos Web UI with a front end for this server (#884, #1111 by @maartenvn). We host our own instance of this API server over at https://dolos.ugent.be/server, which is freely available for anyone to use.
We currently support uploading ZIP-files with an info.csv
file listing the files to be analyzed, but multi-file uploads are planned in the future.
Plagiarism graph improvements
The plagiarism graph has always been one of our most exiting visualizations. We've now rewritten this page to stay responsive on even larger datasets! Meanwhile, we've also improved the code quality and solved some bugs along the way. PR #1079 describes more in depth which changes have been made.
Other improvements and bugfixes contained in this release:
π Features
- Add a name and date to reports and show them in the Web UI (#1076) @rien
- Improve graph performance and code quality (#1079) @rien
- Specialized view when comparing only 2 files (single pair) (#1093) @maartenvn
- Add 'View pair' button to graph when applicable (#1090) @maartenvn
- Add labels to pairwise comparison (#1088) @maartenvn
π Bug Fixes
- Fix some navigation buttons not working (#1123) @rien
- Subtract timestamp offset instead of adding it when running anonymization (#1109) @maartenvn
- Make timestamp formats consistent (#1087) @maartenvn
- Fix submissions ordering on overview page (#1089) @maartenvn
π§° Maintenance
- Refactor/cleanup/bugfixes of D3 components (#1110) @maartenvn
v2.1.0
Dolos v2.1.0 is now 3x faster and uses 10x less memory
With people trying out Dolos in increasingly diverse situations, the CLI was often hitting its limits. In our effort to improve the overall performance #974, we've optimized the underlying algorithm to use less memory and run faster. We're very proud of the results: we're seeing speed-ups of around 3 to 4 times faster and a memory footprint that is an order of magnitude smaller. The specific numbers and details of the improvements are available in the PR: #1011.
This means we can now analyze larger datasets. Currently we can handle datasets of more than 1000 files in 30 seconds, using only around one 1000 MB memory.
Next up: improving the Web UI for a smoother experience showing results of very large datasets.
π Optimizations
π Bug Fixes
- Fix similarity value of NaN when files are empty (#1041) @rien
- Fix --fragment-sort-by not working (#993) @rien
- Fix crash when terminal output is not an interactive console (getColorDepth is not a function ) (#992) @rien
π§° Maintenance
v2.0.2
Our previous release introduced a bug where the Web UI would not show the compare view for languages not bundled with Dolos. We've fixed this with this release and also added support for PHP and C++.
π Features
π Bug Fixes
π§° Maintenance
v2.0.1
Some minor fixes and changes, but a new feature that should improve the user experience of the CLI a bit: you no longer have to specify the programming language if the file extension of the files you are analyzing are common, Dolos will now automatically detect the programming language!
π Features
- Automatic language detection based on file extension (#931) @rien
- Support typescript and tsx as languages (#923) @rien
π Bug Fixes
v2.0.0
Dolos v2
This summer, @maartenvn has been working on a complete UI redesign of Dolos. Instead of having to search through an overwhelming table, we now provide a clear overview page where you can discover the analysis results at a glance. We've added specialized pages for clusters and individual submissions in case you need to inspect the results more closely.
We provide a quick tour of some of the new features below. You can discover them yourself in our newly added classroom demo.
A Quick Tour
In addition to pages that have been redesigned (the plagiarism graph for example), we've added some new pages. We describe them briefly below:
Overview
When opening the Dolos Web UI, you are now greeted with an overview page summarizing the results of the analysis with some key metrics. This page features a similarity distribution graph which should give you a quick impression of the possible presence of plagiarized submissions. We should normally expect a bell curve with little to no similarities at the high end. As you can see in the screenshot above, we see a big spike at 100% similarity, indicating that a lot of the submissions look very similar.
This page also provides two cards at the bottom listing to the most suspicious submissions and clusters. Clicking on one of the items brings you to their detail page to further inspect the suspicious cases.
Cluster detail
Submissions are clustered together if they have a similarity above the similarity threshold. Clicking on a cluster brings you to its detail page where we list the submissions in the cluster and show some visualizations. If metadata is available about the time the submission was handed in, we show a timeline of the submissions. To visualize the internal similarities, this page features a graph and a heatmap of the cluster submissions.
Submission detail
If we click on a submission, we go tho the submission detail page. This page features a list of other submissions that the current subject has the most similarities to. Additionally, we also give some information and visualization about the cluster this submission might possibly be in. On the timeline at the bottom of the screenshot, we notice that the current submission was the first submission in the cluster, so the author of this submission is probably the original author who has shared this submission with others.
Detailed changelog
We've summarized the most important new changes above. Below you find a more complete list of the noteworthy PR's that went into our new release:
π Features
- Show more information on compare view (#865) @maartenvn
- Add breadcrumbs & back button (#864) @maartenvn
- Submission overview and detail page (#861) @maartenvn
- Improve UI (#841) @maartenvn
- Use webworkers for expensive tasks & faster CSV parsing. (#839) @maartenvn
- On demand pseudonymization without refetch/parsing (#823) @maartenvn
- Improve graph view (#822) @maartenvn
- Add global state settings (#868) @maartenvn
- Improve data visualisations (#871) @maartenvn
- Add actionable cards to overview page (#882) @maartenvn
- Disable writing out fragments (#915) @rien
- Add clustering page (#878) @maartenvn
- Allow passing a zip-file as input (#870) @rien
- Improve pair code viewer & add diff viewer (#818) @maartenvn
π Bug Fixes
- Fix issue with tooltip on histogram hover (#883) @maartenvn
- Hide labels table/toggles when dataset contains no labels (#880) @maartenvn
- Fix clustering algorithm on threshold of 100% (#879) @maartenvn
- Fix search in file pairs table (#849) @maartenvn
- Fix multiple overlapping fragments (#819) @rien
π§° Maintenance
- Replace deprecated set-output command with environment file (#917) @rien
- Add classroom dataset to demo (#916) @rien
- Refactor linting rules (#866) @maartenvn
- Upgrade to Vue 2.7 (#809) @maartenvn
- Components auto import & cleanup of d3-tools directory (#877) @maartenvn
π Documentation
v1.7.0
For this release @maartenvn has been working intensely to refactor the Web UI to Vue's composition API. This prepares our codebase to ultimately migrate to Vue 3 (see #754).
π Features
- Display shorter file names (#788) @maartenvn
- Improve performance & fix graph bugs (#786) @maartenvn
π Bug Fixes
- Add missing dependencies of library (#798) @rien
- Fix incorrect background color in code editor (#789) @maartenvn
- Conditionally fetch semantic information, based on the metadata (#787) @rien
- Remove background color on code (#782) @maartenvn
π§° Maintenance
- Bump node versions: perform tests with node 14, 16 and 18 (#793) @rien
- Fix GitHub Actions (#794) @rien
- Improve Github Actions & linter configuration (#783) @maartenvn
- Refactor to the Composition API (#784) @maartenvn
- Cleanup dependencies (#780) @maartenvn