Changelog

Updates and improvements to CodeGrade.
View all changes

September 9, 2020

Version Mosaic.1

CodeGrade now has an Exam mode in which students will be able to log in to CodeGrade and only have access to the course of the exam. Other changes include course archiving, importing of hand-in requirements, and including even more information in the AutoTest Unit Test output.

  • Add Sakai support. Full LTI integration with Sakai.
  • Add support for SSO. CodeGrade now supports SSO leveraging the SAML2.0 protocol, allowing even better integration.
  • Add CodeGrade Exam Mode. CodeGrade now has even better support for exams, allowing you to schedule the start of your exam, and making it possible to do exams for LTI courses without LMS access.
  • Add import of hand-in requirements. You can now import the hand-in requirements of other assignments that you have access to.
  • Add course archiving. You can now archive old courses, hiding them from students and cleaning your own homepage.
  • Other improvements

  • Use the same icons from the “Capture Points” AutoTest step for the “Unit Test” step.
  • The “Unit Test” step would always use the green checkmark if the step did not crash, but now the icon depends on the score achieved.
  • Make the peer feedback counters for students more clear. This changes the counters with the number of comments students have given to their peirs to be clearer and give more detailed information.
  • Remove bin size “year” for the “Students submitted on” graph in the analytics dashboard.
  • The years option did not work very nicely because it didn’t use the correct labels, and it is unclear what the start of a bin should be, so it has been removed as it isn’t really useful in a context where an assignment takes less than a year.
  • Add rate limiting to login route. Make it impossible to bruteforce someone’s password by sending infinite requests to the login route.
  • Show more output in the Unit Test step. When a test case contains a <system-out> or <system-err> node its contents will now also be displayed in the output of the step.
  • Renaming courses. It is now possible to rename existing courses.
  • API Deprecations

    • The option to get an entire course when getting an assignment has been deprecated. You should now request the course using the /api/v1/courses/<course_id> route go retrieve this course. The course_id is given when requesting an assignment. If you still use the old behavior you will get a warning, you can already opt-in to the new behavior by providing no_course_in_assignment=true in the request arguments.
    • When requesting a plagiarism case we have deprecated getting the two linked assignments within the plagiarism case object. The case will now contain the two linked assignment ids (under the assignment_ids key), and the plagiarism run contains a lookup from assignment id to an assignment like object. If you still use the old behavior you will get a warning, you can already opt-in to the new behavior by providing no_assignment_in_case=true in the request arguments.
    • When requesting all courses using the /api/v1/courses/ route getting name of the role that the current user has in this course has been deprecated. Please either use the /api/v1/permissions/
    • route to retrieve your own permissions, or the /api/v1/courses/<course_id>/users/ to retrieve the role of a user. If you still use the old behavior you will get a warning, you can already opt-in to the new behavior by providing no_role_name=true in the request arguments.

    Transform your Jupyter Notebooks course today!