Releases: MarkUsProject/Markus
Releases · MarkUsProject/Markus
v2.9.0
Release for v2.9.0
Changelog
[v2.9.0]
✨ New features and improvements
- Added touch event support for PDF and image annotations in grading view (#7736)
- Added datetime-based visibility scheduling for assessments with
visible_onandvisible_untilcolumns (#7697) - Added frontend UI for assignment visibility scheduling with three visibility options and section-specific overrides (#7717)
- Added new loading spinner icon for tables (#7602)
- Added functionality to apply bonuses and penalties as a percentage of the student's earned marks to ExtraMark model (#7702)
- Switched to consistent Font Awesome chevrons for expander icons (#7713)
- Install Ruby-LSP to allow development inside different IDEs such as VSCode (#7718)
- Ensure only instructors and admins can link course, as LMS launch MarkUs button made available for all users (#7714)
- Include student number in roster sync from Canvas (#7731)
- Add API endpoint
add_test_runthat allows independent user submissions of test executions to MarkUs (#7730) - Display timeout status for autotest runs in the Test Results table. (#7734)
- Assign extra marks in test definition. (Currently limited to pytest files) (#7728)
- Enable zip downloads of test results (#7733)
- Create rake task to remove orphaned end users (#7741)
- Enable scanned assignments the ability to add inactive students (#7737)
🐛 Bug fixes
- Fix name column search in graders table (#7693)
- Check against mtime instead of atime for clean up of git repo directories in tmp folder (#7706)
- Update Model: Fix level validation checks through use of a custom validator (#7696)
- Fixed test group results table to display
extra_infofield from all test groups (#7710) - Fixed syncing grades with Canvas to not include inactive students (#7759)
🔧 Internal changes
- Updated Github Actions CI to use cache-apt-pkgs to speed up workflow runs (#7645)
- Converted "Create Group" functionality to React modal (#7663)
- Added tests to improve coverage for
AnnotationCategory'sself.to_jsonmethod - Added tests to the Criteria Controller class to achieve full test coverage
- Refactored Criterion subclasses to remove redundant code
- Converted "Rename Group" functionality to React modal (#7673)
- Fixed Rack deprecation warnings by updating HTTP status code symbols (#7675)
- Refactored "Reuse Groups" functionality to use React modal and relocated button to action box row (#7688)
- Updated pre-commit
rubocop-railsversion to 2.33.4 (#7691) - Refactored MarksPanel child components and converted the components into hook-based function components
- Refactored jQuery active marks panel component tracking logic into React
- Updated the course summary table to use
@tanstack/react-tablev8 (#7732) - Refactored
test_run_table.jsxby extracting nested components into separate files (#7739)
v2.8.2
Release for v2.8.2
Changelog
[v2.8.2]
✨ New features and improvements
- Update message and page displaying cannot create new course via external LTI tool (#7669)
- Provide file viewer the option to render Microsoft files (#7676)
- Display late submission selection and add accompanying filter (#7689)
🐛 Bug fixes
- Fixed N+1 query problem in StudentsController by eager loading user association (#7678)
- Resque Host Authorization, removing env condition as this is for all environments (#7671)
- Fixed ordering of assignments in the Assignment dropdown menu and Assignment index page (#7642)
- Updated Section model associations with appropriate dependent options to handle cascade deletion while preventing deletion when students exist (#7681)
- Prevent grade change in the grades table for a Marks Spreadsheet, when scrolling up or down with mouse or keys (#7680)
- Fixed ordering of sections in the Timed Assessment assignments section-specific settings table (#7690)
- Reattach, accidentally removed due date extension modifier (#7703)
v2.8.1
Release for v2.8.1
[v2.8.1]
🐛 Bug fixes
- Fixed group member filtering in assignment summary table (#7644)
- Fixed spacing issue for the remote authentication login button (#7646)
- Fixed API bug when creating binary submission files (#7647)
- Fixed preview of URL submissions (#7661)
- Fixed autogeneration of URL alias in URL submission form (#7661)
🔧 Internal changes
- Updated the assignment summary table to use
@tanstack/react-tablev8 (#7630)
v2.8.0
Release for v2.8.0
Changelog
[v2.8.0]
🚨 Breaking changes
✨ New features and improvements
- Improved layout and labeling in the assignment settings form for both standard and timed assessments. (#7531)
- Design improvement of tables when the data is empty. (#7557)
- Improved Assignment view for students (#7533)
- Added average annotations section in Assignment Summary (#7559)
- Maintain font size in grading view (#7525)
- Replaced assignment summary statistics in the "Status" column on the instructor Assignments page with a link to the grades page. (#7560)
- Renamed the "Summary" sub-tab label to "Grades" in the Assignment interface. (#7560)
- Replaced "Edit" and "Delete" action text links with Font Awesome icons across all tables. (#7595)
- Create User class method to retrieve orphaned users (#7633)
🐛 Bug fixes
- Added host authorization setting for Resque (#7562)
🔧 Internal changes
- Updated
test_ci.yml, making GitHub Actions run rspec and jest tests in parallel. (#7634) - Remove
activerecord-session_storegem (#7517) - Upgrade to Rails 8 (#7504)
- Add tests for
#newand#createactions inCriteriaController(#7521) - Add tests for
#editand#updatewhen user is trying to change criteria inCriteriaController(#7527) - Remove the placeholder "..." text under the "Proposed changes" section in
PULL_REQUEST_TEMPLATE.md. (#7524) - Update the checklist in
PULL_REQUEST_TEMPLATE.mdto make the text "list of contributors" a link to the file in the repository. (#7524) - Enabled
erb_lintlinter for erb files (#7561) - Refactored the loading method of
javascripts/Results/context_menu.js. (#7563) - Added test metadata examples to seed data for R autotesting (#7564)
- Refactored the method of loading
javascripts/Results/keybinding.jsinsubmission_selector.jsx(#7566) - Moved QR scanning to external python package markus_exam_matcher (#7567)
- Updated the instructor table to use
@tanstack/react-tablev8 (#7589) - Refactor
DropDownMenuclass to a new React component (#7592) - Updated the tag table and "one time only annotations" table to use
@tanstack/react-tablev8 (#7596) - Updated Python autotest script file to include example of using
pytest.markto customize test marks (#7597) - Refactor
Gradertable inUsersto use@tanstack/react-tablev8 (#7598) - Updated
dependabot.ymlto add React dependency group and increase, remove old webpack ignored versions, and remove open PR limits (#7627) - Improved performance of PDF splitting for scanned assessments (#7632)
v2.7.1
v2.7.0
Release for v2.7.0
[v2.7.0]
🚨 Breaking changes
✨ New features and improvements
- Fix front-end content shift when an input element is focused (#7384)
- Tooltip text for Package requirements file for Python autotester settings (#7383)
- Pass back tags and overall comments from Autotester to MarkUs (#7387)
- Render download test result button on assignment summary page only if the assignment has automated testing (#7417)
- Group test results by Test Groups id (#7422)
- Display HTML previews of RMarkdown files (#7394)
- Allow instructors to assign scans to inactive students (#7482)
- Added members parameter to add_group_api to support explicit member assignment during group creation (#7481)
- Modified add_group_api to use username as group name for individual assignments (#7481)
- Improved styling of markdown previews in
MarkdownPreviewcomponent and annotation displays (#7487) - Allow creating image annotations from a test run's outputs (#7486)
- Added an API that collects a single submission (#7494)
- Enable removal of a student from a course (#7480)
🐛 Bug fixes
- Ensures row selection for peer reviewer unassigning has the same validation checks as individual selections (#7274)
- Ensures mark levels on a rubric criterion are properly scaled when its max mark is updated (#7311)
- Refactor contributors list in About section to read from markus-contributors.txt (#7374)
- Optimized the querying of submissions when assigning graders (#7381)
- Update remote_autotest_settings_id validation to be unique to an autotester (#7393)
- Fix tag creation failing in tags table (#7426)
- Ensure tag names are unique within an assignment (#7430)
- Update flash style to "notice" for "setting up test env" message (#7445)
- Fixed bug in
ImageViewerwhere image width was set to 0 on initial load (#7485) - Fixed bug in
ImageViewerwhere annotations did not disappear when moving the mouse out of the image (#7485) - Ensured annotations appear in results view when in fullscreen mode (#7487)
- Fixed bug in
ImageViewerwhere annotations did not always appear on initial image load (#7487)
🔧 Internal changes
- Reorganize Javascript files to separate Sprockets and Webpack compilation (#7345)
- Replace moment.js dependency with much smaller dayjs (#7346)
- Refactor
FileViewer,TextViewer,BinaryViewerandImageViewercomponents (#7270) - Pin
mistunePython dependency to preserve compatibility withnbconvert(#7371) - Cache playwright's chromium installation on GitHub Actions (#7372)
- Fix broken link to the Vagrant installation guide in
README.md(#7349) - Fix
extra_hostsconfiguration incompose.yaml(#7375) - Add unit tests for
marks_graders_controller(#7382) - Convert front-end tests from enzyme to react testing library; add
@testing-library/user-event(#7379) - Refactor the
Resultcomponent and its children to use React context API (#7380) - Implement
contain_messageandhave_messagecustom Rspec matchers to check for flash message content (#7386) - Update Python version to 3.13 in seed autotest schemas (#7388)
- Rename jupyter notebook content functions and files to generalize to html content (#7391)
- Update to React v18 (#7392)
- Remove unused Javascript files (#7442)
- Refactor scanned test generation and test splitting from polling to websockets (#7428)
- Move Docker dependency updates into separate service (#7451)
- Fixed flaky test due to daylight savings time issue (#7452)
- Updated Python autotest seed file to illustrate pytest metadata custom markers (#7457)
- Updated to react-flatpickr v4.0.0 (#7478)
- Remove
mistunePython explicit dependency (#7483) - Applied pre-commit (specifically Rubocop) changes to use it_behaves_like over include_examples (#7492)
- Added explicit permissions to GitHub Actions workflow configuration (#7495)
v2.6.1
v2.6.0
Release for v2.6.0
[v2.6.0]
✨ New features and improvements
- Prevent instructors from unassigning peer reviewers who have existing peer review data (#7263)
- Add visual indicator on a per-assignment basis for used grace credits (#7226)
- Change default disabled text area colour to ligher grey on light mode (#7269)
- Implement a limit on the file size rendered by the submission viewer (#7273)
- Add an option to retain old grading data when recollecting graded submissions (#7256)
🐛 Bug fixes
- Fix incorrect calculation of token penalties when submissions are on time (#7216)
- Ensured submissions that have been released cannot be recollected from the repo browser (#7254)
- Fix bug where renaming a group to an existing group in a different assignment resulted in incorrect repository mapping (#7224)
- Disable editable fields in assignment criterion when criterion is released (#7264)
- Fixed Download One Time Annotation 'Not Found' error (#7302)
🔧 Internal changes
- Fix test coverage for ExamTemplate.create_with_file method (#7213)
- Upgrade Docker environment to use Ruby v3.3 (#7185)
- Upgrade to Rails v7.2 (#7185)
- Move Exception message in student model to a localization file (#7218)
- Add test cases for the student model to cover Group or Grouping save method failure (#7218)
- Create tests for overtime messages of the submission rule classes (#7216)
- Fix flaky
check_repo_permissionstest (#7223) - Move model validation error messages to respective localization files (#7229)
- Replace time-warp gem with newer, maintained timecop gem (#7234)
- Update pre-commit-hooks to v5.0 and add checks
check-illegal-windows-names,check-json, andcheck-merge-conflict(#7259) - Merge result.js and result_main.css build files into application.js/application.css (#7260)
- Simplify pdf.js configuration (#7260)
- Improve descriptions of the Group and Grouping models (#7262)
- Disable Rubocop Style/SafeNavigationChainLength check (#7301)
- Ignore faker translations in i18n-js compilation (#7305)
v2.5.3
v2.5.2
Release for v2.5.2
Changelog
[v2.5.2]
✨ New features and improvements
- Improve textviewer rendering speed (#7211)
- Add periodic roster syncing via LTI (#7178)
- Allow instructors to assign graders by section (#7179)
🐛 Bug fixes
- Fix JSON/CSV summary of test results to always be inline with latest test run (#7214)
- Allow annotations to be added to results with released peer reviews (#7222)
🔧 Internal changes
- Manually specify chromedriver port number in Github actions (#7209)