Releases: MarkUsProject/Markus
Releases · MarkUsProject/Markus
v2.10.0
Release for v2.10.0
Changelog
[v2.10.0]
✨ New features and improvements
- Improve admin user list loading time by replacing ActiveRecord instantiation with direct column extraction (#7897)
- Provide suggestions for partial student matching scans (#7760)
- Allow inactive students to join groups (#7757)
- Update autotest settings form UI (#7777)
- Split courses into Current and Past sections for all users (#7801)
- Add an administrator action on the course settings page to refresh autotest schema (#7828)
- Add JS autotester example (#7866)
- Return structured JSON from grade entry forms API show endpoint with optional student filter and CSV export (#7886)
- Added term-based suffixes to course names created via LTI to ensure uniqueness across academic years (#7881)
- Added
db:populate_course_datesrake task to backfillstart_at/end_atfor existing courses, and permit those fields when creating courses through the admin UI (#7925) - Sync due date when creating or updating LTI gradebook line items, and re-sync automatically when an assessment is edited (#7872)
🐛 Bug fixes
- Prevent "No rows found" message from displaying in tables when data is loading (#7790)
- Fixed course card link behavior on the dashboard (#7887)
- Fixed reserved interpolation key
%{format}indownload_errors.unrecognized_formatlocale string, renamed to%{file_format}(#7894) - Fix version mismatch between container client and database server (#7916)
- Fixed filter Canvas Test Student from roster sync (#7926)
- Fix: include original total mark in JSON response for remark requests (#7945)
- Fixed
(hidden)assignment labeling for assignments withvisible_onand/orvisible_untilset (#7944)
🔧 Internal changes
- Fixed flaky test
can bulk assign duplicated TAs to grade entry studentsin/spec/models/grade_entry_student_spec.rb(#7958) - Added tests for
GroupsControllerto fully coverglobal_actions(#7955) - Added tests for
graders_controllerto fully covergrader_criteria_mappingfunction (#7949) - Added tests for
GradersControllerto fully covergrader_groupers_mapping(#7946) - Added seed task to assign TAs to A1 groupings and criteria (#7867)
- Updated autotest seed files to ensure settings follow tester JSON schema (#7775)
- Refactored grade entry form helper logic into
GradeEntryFormsControllerand removed the newly-unused helper file. (#7789) - Added tests for
GradeEntryFormsControllerto fully coverupdate_grade_entry_form_params(#7789) - Updated the grade breakdown summary table to use
@tanstack/react-tablev8 (#7800) - Internationalized custom model validation error messages by replacing hardcoded English strings with i18n symbol keys (#7805)
- Changed model validation errors to use built-in error key resolution instead of inline
I18n.tcalls (#7806) - Upgraded to Rails v8.1 (#7815)
- Updated the student table to use
@tanstack/react-tablev8 (#7826) - Added
active_record_doctordevelopment gem (#7861) - Added
annotaterbdevelopment gem and added model and route annotations (#7861) - Added
pgherogem and added PgHero admin dashboard (#7861) - Add nullable last_updated_by foreign key (to roles) to marks and grades tables to track who assigned which grade (#7878)
- Updates ResultsController#update_mark to set the last_updated_by field when marks are modified (#7885)
- Added pre-commit hook to run
i18n-tasks healthwhen locale files are changed (#7894) - Refactored tables to avoid recreating column definitions on every render (#7910)
- Updated Docker configuration to use Ubuntu 24.04, Ruby 3.4.9, Bundler 4.0.10, Node 24, and Postgres 17 (#7911)
- Update Dockerfile to include the python3.13-dev package which allows building c++ extensions from source (#7912)
- Improved performance of
Tablecomponent (#7919) - Updated GitHub Actions dependencies and added Dependabot config for quarterly GitHub Actions updates (#7920)
- Updated
pdfjs-distto v5.6.205 (#7942) - Switched SCSS files to use
@useinstead of@importto reduce bundle size (#7943) - Fixed flaky git-hooks tests (#7950)
- Replaced custom
HTMLElementclass methods with native versions and removedapplication.js(#7951) - Moved annotation-related Javascript to be bundled with webpack (#7953)
- Upgraded
react-jsonschema-formto v6.5.2 (#7954) - Fixed CSP warnings and updated CSP config. Switched webpack development source map to
eval-source-map. (#7956) - Move all CSS builds into webpack pipeline (#7957)
v2.9.6
- #7870 — build(deps): bump loofah from 2.25.0 to 2.25.1
- #7868 — Improved assignment list loading time
- #7879 — build(deps): bump picomatch
- #7871 — build(deps): bump json from 2.18.1 to 2.19.2
- #7865 — Update user info during roster sync
- #7869 — TICKET-598: Fix localization error
- #7880 — Fix: issue #7822
- #7899 — Improved assignment summary loading time
v2.9.5
Release for v2.9.5
🛡️ Security
- Escape raw HTML syntax in RMarkdown conversion to HTML (#7841)
- Sanitize content when rendering submission files as HTML (#7841)
- Added iframe
sandboxattribute toHTMLViewercomponent (#7841) - Removed
allow-scriptsfromsandboxattribute toHTMLViewercomponent (#7848)
✨ New features and improvements
- Store start and end date for courses (#7783)
🐛 Bug fixes
- Add index to
results-submission_idcolumn (#7851)
🔧 Internal changes
v2.9.4
Release for v2.9.4
🛡️ Security
- Added limit to uploaded YML file size and number of nodes
- Added configuration settings for zip extraction limits
✨ New features and improvements
- Enable test results downloads through the API (#7754)
- Improve assignment loading time on grading page (#7836)
🐛 Bug fixes
- Trigger repository permissions update after LTI roster sync (#7831)
🔧 Internal changes
v2.9.3
v2.9.2
Merge pull request #7818 from MarkUsProject/v2.9.2 V2.9.2
v2.9.1
Release for v2.9.1
Changelog
[v2.9.1]
🛡️ Security
- Removed insecure html_content route
- Verify zip entry names in assignment configuration zip upload
✨ New features and improvements
- Prevent adding duplicate grader group mappings on CSV upload (#7786)
- Update batch test runs table UI (#7790)
🐛 Bug fixes
- Fixed assignment YML export to correctly nest assignment property attributes under
assignment_properties_attributes(#7792) - Hide deactivated/missing students and restore re-enrolled students during roster sync (#7799)
- Fixed the editing form of marking schemes to include newly added assessments (#7788)
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)