Skip to content

Releases: MarkUsProject/Markus

v2.10.0

28 May 22:36
35deb77

Choose a tag to compare

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_dates rake task to backfill start_at/end_at for 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} in download_errors.unrecognized_format locale 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 with visible_on and/or visible_until set (#7944)

🔧 Internal changes

  • Fixed flaky test can bulk assign duplicated TAs to grade entry students in /spec/models/grade_entry_student_spec.rb (#7958)
  • Added tests for GroupsController to fully cover global_actions (#7955)
  • Added tests for graders_controller to fully cover grader_criteria_mapping function (#7949)
  • Added tests for GradersController to fully cover grader_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 GradeEntryFormsController and removed the newly-unused helper file. (#7789)
  • Added tests for GradeEntryFormsController to fully cover update_grade_entry_form_params (#7789)
  • Updated the grade breakdown summary table to use @tanstack/react-table v8 (#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.t calls (#7806)
  • Upgraded to Rails v8.1 (#7815)
  • Updated the student table to use @tanstack/react-table v8 (#7826)
  • Added active_record_doctor development gem (#7861)
  • Added annotaterb development gem and added model and route annotations (#7861)
  • Added pghero gem 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 health when 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 Table component (#7919)
  • Updated GitHub Actions dependencies and added Dependabot config for quarterly GitHub Actions updates (#7920)
  • Updated pdfjs-dist to v5.6.205 (#7942)
  • Switched SCSS files to use @use instead of @import to reduce bundle size (#7943)
  • Fixed flaky git-hooks tests (#7950)
  • Replaced custom HTMLElement class methods with native versions and removed application.js (#7951)
  • Moved annotation-related Javascript to be bundled with webpack (#7953)
  • Upgraded react-jsonschema-form to 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

08 Apr 14:32
19c6fc1

Choose a tag to compare

  • #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

11 Mar 14:52
f47d2da

Choose a tag to compare

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 sandbox attribute to HTMLViewer component (#7841)
  • Removed allow-scripts from sandbox attribute to HTMLViewer component (#7848)

✨ New features and improvements

  • Store start and end date for courses (#7783)

🐛 Bug fixes

  • Add index to results - submission_id column (#7851)

🔧 Internal changes

  • Replaced MathJax with KaTeX (#7848)
  • Refactored TA membership queries to leverage existing role_id index on memberships table (#7858)
  • Bumped dompurify from 3.2.6 to 3.3.2 (#7857)
  • Bumped immutable from 5.0.3 to 5.1.5 (#7856)
  • Bumped minimatch from 3.1.2 to 3.1.5 (#7840)

v2.9.4

27 Feb 17:07
2aa90f8

Choose a tag to compare

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

  • Bumped nokogiri from 1.19.0 to 1.19.1 (#7834)
  • Bumped rack from 3.2.4 to 3.2.5 (#7832)
  • Bumped ajv from 8.17.1 to 8.18.0 (#7835)

v2.9.3

09 Feb 19:58
4dad713

Choose a tag to compare

Merge pull request #7821 from MarkUsProject/v2.9.3

v2.9.3

v2.9.2

03 Feb 17:05
2246c8a

Choose a tag to compare

Merge pull request #7818 from MarkUsProject/v2.9.2

V2.9.2

v2.9.1

29 Jan 17:59
55d74f2

Choose a tag to compare

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

15 Dec 19:11
35935ab

Choose a tag to compare

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_on and visible_until columns (#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_run that 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_info field 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's self.to_json method
  • 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-rails version 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-table v8 (#7732)
  • Refactored test_run_table.jsx by extracting nested components into separate files (#7739)

v2.8.2

15 Oct 03:16
0d3f240

Choose a tag to compare

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

10 Sep 15:56
a840ff4

Choose a tag to compare

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-table v8 (#7630)