Releases: autolab/Autolab
v3.0.1
Notable Changes
- This release includes security fixes and bug fixes
- Minor improvements to LTI and SMTP configuration
Maintenance
- [#2174] Bump rexml from 3.2.8 to 3.3.3 in the bundler group across 1 directory
- [#2215] Remove redundant and outdated shibboleth gem
- [#2237] Bump webrick from 1.8.1 to 1.8.2 in the bundler group across 1 directory
Development
- [#2173] Add v3.0.0 updates to README, update version number
- [#2184] Update LTI documentation to correct URLs for redirect
- [#2207] Update google analytics tag for documentation site
Improvements
- [#2235] Create a way for other LTI providers to discover LTI's public JWKs
- [#2210] Users can now choose none as their preferred Mail Server Authentication method for SMTP
- [#2183] Update description under name in assessments/edit to reflect new naming rules
- [#2205] Assessment display changes
- [#2208] Make annotation UI more compact
- [#2238] Display detailed error message with SMTPFatalError encountered
Security Advisory
Bug Fixes
v3.0.0
Autolab 3.0
With this next set of features, many large scale changes have been implemented to allow Autolab to be deployed and easily managed on an AWS instance. However, existing functionality and backwards compatibility should be maintained for the vast majority of existing Autolab deployments.
Notable Changes
- Table Migrations needed due to schema changes
- Autolab configuration should now be done through the UI instead of through environment variables. For new installs, please use the UI configuration (see #2168 for SMTP configuration). However, changes to Autolab configuration are backwards compatible, and should not affect existing deployments. See (#2028, #2095) and below.
- Google OAuth can now be used as an authentication mechanism (#2028)
- Some features (#2013, #2095) require a Tango update (4249205 is known to be stable), and #2095 requires a feature flag
- Simple File Manager allows for adding and removing files, but does not have the same recovery methods that a full-fledged file system has, so careful usage is recommended as recovery methods are investigated
- Various QoL features have been added, such as improved assessment import, assessment overwriting, problem starring, course access codes, code diff viewer, and release/unrelease button in student submission view, among others. See the full list below.
New Features
Export / Import Course
#2012 #2011 NOTE: The import feature is currently restricted to admins, as course creation is limited to admins. We plan on adding a course overwrite similar to #2018.
Under "Manage Course," there now exists an option to export course data, with the option to include metrics configurations and assessments.
Course creation is now divided into two tabs, with a new option to import a course using a tarball:
Assessment Importing has been significantly overhauled. Multiple assessments can be selectively installed, with feedback on installation with error information (if an install failed).
import-course-flow.mov
New formatted feedback on error:
Docker Image Uploading
#2013 (NOTE: This feature is feature-flagged. To enable this, set config.x.docker_image_upload_enabled = true
in your production.rb
environment file. This change also requires an update to Tango)
Instructors / Admins can now directly upload docker images to Tango to easily add new autograding images. Use the "Upload Docker Image" option in "Manage Course" to upload a new autograding image.
Simple File Manager
#2046 #2147 Allows Instructors / Administrators to manage the files and assessments within a course. This simple interface is meant to provide instructors with direct UI access to managing files in-lieu of file management with AFS. Instructors are limited to viewing only the courses which they are instructors of, and can view the file manager in "Manage Course."
Configuration via UI
#2028 Autolab configuration for integrations with LTI, SMTP, Github, and OAuth can now be done through the Autolab UI. Go to "Configure Autolab" under "Manage Autolab" in order to manage configuration settings. Google OAuth can now also be used as an authentication mechanism. (NOTE: Existing deployments can still use environment variables, in order to switch, administrators must update their production.rb
file)
Course Access Codes
#2065 Add Course Access Codes as a new way to allow for course registration, where students can self-enroll in a course given an access code, a short string of letters and digits unique to the course. Access codes can be generated by checking the "Allow self-enrollment" checkbox on the course settings page, and only work when the option is enabled. Students can then enroll in the course by clicking the "Join Course" button in the user dropdown menu and entering the access code.
Student View: Join a course using the User dropdown and entering the course access code
Add option to explicitly disable network access for autograding containers
#2095 Previously, there was no explicit way to disable network access for autograding containers. Disabling network access prevents student submissions from making any calls to the outside world. Selecting the "Disable Network" option in Autograding settings will now allow instructors to disable access through Autolab. (NOTE: In Tango environments where network access has already been disabled, this option will not re-enable network access).
Code Diff Viewer
#2093 There is now a code diff viewer included as a tab when viewing a student's submission in the golden layout view, allowing instructors and CAs to see differences between submissions. Version switching is also now possible on autograder output. You may need to reset the layout to see the code diff tab.
Improvements
User Interface
#2081 Add a button to release/unrelease grades for a student while viewing a student's submission on golden layout
#2018 Allow overwrite of assessment files on re-import, while maintaining config data and submissions
#2101 Allow instructors to be included on scoreboards
#2103 Prompt instructors to release all grades after a bulk grade import
#2112 Add detection for mismatch in Autograder results and assessment problems
#2108 Visual cues improvements - Add start/due dates on the course index page for current assignments, and option in settings for user to specify whether they would like to hover to see start/due dates of assessments
#2105 Add a button to show students with missing submissions in the assessment gradesheet page
#2089 Allow instructors to select favorite problems to prioritize when annotating assessments and grading. There now is a clickable star icon in "Problems" to denote if a problem is starred.
There is also now a checkbox with problem editing to star a problem as well:
Starred problems will be prioritized in the problem ordering for annotations:
#2120 Improve Assessment Groups UX
#2124 Update new course error message UI
#2122 Add button to disable course on end date in course settings. This option can be used to discourage any AIVs from downloading submissions from past semesters.
#2137 #2149 Allow students to download all of their submitted files by going to their user settings. This allows students to download all of their submissions from non-disabled courses.
#2144 Use slugs for attachment URLs (URL for attachments are now generated from their names), and allow for students to click on the "writeup" badge for assessments with writeups to quickly view / download the writeup from the course page.
#2123 Update Gradebook UI/UX to be more intuitive and user-friendly. Instructors can now auto-expand a column by double-click on the border of a column header. There is also an option to hide, unhide, and force fit columns. These column options are saved in local storage and are sticky.
Maintenance
#2076 Bump github/codeql-action from 2 to 3
#2077 Bump actions/checkout from 3 to 4
#2079 Update ...
v2.12.0: Attachment categories and visual cues
Notable Changes
- Ruby upgraded to 3.2.2
If you are using the docker installation, update thepassenger_ruby
innginx/app.conf
to/usr/bin/ruby3.2
(autolab/docker#63) - Rails upgraded to 6.1.7.6
- Table migrations needed due to schema changes
NOTE This might take a while for existing deployments due to the migration in #2024 dates.grading_deadline
andgeneral.name
no longer need to be specified in assessment.yml
files.dates.visible_at
does not have to be specified since v2.11.1.- [#1983] Attachments now have a "release at" date rather than a released flag. Any existing unreleased attachments will have their "release at" date set to 1 year in the future.
- [#2014] Removal of grading deadline
- [#2023] ActiveStorage is now used for attachments. They are stored within the
storage
subdirectory. - [#1987] Refactor Assessment name rules, remove config file requirement
- This PR changes how assessment configuration files are named and created. Any old config files for existing assessments will be automatically migrated to use the new configuration file rules.
- For instructors: You can now create assessments with folder names that include hyphens, capitalization, and alphanumeric characters as long as the folder name begins with a alphabetical character. Config files no longer need to be included in an assessment folder for a successful import.
- More examples are available at https://docs.autolabproject.com/lab/#assessment-naming-rules
Security Advisories
New Features
Attachment categories
#1983 Attachments now support specifying a category and "release at" date. They will be grouped by category and ordered by the "release at" date.
Students can download an attachment by clicking anywhere in the box.
Instructors can download an attachment by clicking on the attachment's name.
Visual cue for assessments
#2016 Assessment start / end dates are now shown on course homepages.
Improvements
User Interface
#1982 - Handle malformed scoreboard results from autograder, fix error handling for scoreboards
#1988 - Hide irrelevant cud fields for students
#1990 #2004 #2006 - Display Grace Day usage on submission history table, improve management of assessment penalty settings
#1998 - Click into submissions from gradebook score
#1999 - Adds warning when assessment.rb file upload isn't a .rb file
#2005 - Display submission version in gradebook
#2015 - Show all courses for MOSS
#2019 - Show all students on gradesheet
Maintenance
#1957 #1958 #1959 #1960 #1963 #1964 #1966 #1967 #1968 #1969 #1970 #1974 #1977 #1978 #1980 - Linting
#2037 - Rails 6.1.7.6 Migration
#2039 - Bump uri from 0.10.0 to 0.10.3
#2040 #2044 - Update Ruby to 3.2.2
Others
#1956 #2045 - Update the API to allow retrieving group members
#1984 - Passwordless temporary login
#1993 - Removed name from assessment yml
#2014 - Remove grading deadline
#2023 - Use ActiveStorage for attachments, add attachment size limit
#2050 - Remove gradebooks directory
#2055 - Correct Autolab spelling
Development
#1991 - Update link to docs in PR template
#1994 - Add erblint to overcommit and github actions
#2056 - Autolab v2.12.0
Bug Fixes
#1985 - Prevent spoofing the author of an annotation
#1997 - Switch mossnet clean to use rails root instead of tilde expansion
#2001 - Check that handout/writeup exists before checking path
#2003 - Account for hooks in viewFeedback instead of feedback output
#2008 - No line breaks when generating base64 strings
#2009 - Remove element overlapping scrollbar hitbox
#2024 - Move submission version logic to be handled by AUD
#2038 - Address issues from v2.8.0 testing, misc fixes/changes
#2049 - Load enable_starttls_auto as a boolean
v2.11.1
Notable Changes
- [#1908] Metrics no longer consider assessments that are still on-going
- [#1921] Custom error pages are now used for 404 and 500 errors. This might require adding the line
config.exceptions_app = self.routes
to theproduction.rb
environments file. - [#1930, #1947] Important bug fixes pertaining to #1831
- Fixes downloadAll archive
- Fixes race condition for autograding
- Table migrations needed due to schema changes
Improvements
User Interface
#1911 - Add explicit import button for import asmt from tar
#1913 - Improve viewFeedback output parsing, error robustness
#1915 - Remove unused errors column from submission history table
#1916 - Scheduler improvements
- Scheduler actions can now return output
- Visual run now runs in forked context
- Add option to disable an action
- Add option to set an "until date"
#1921 - Use custom error pages
#1925 - Sort scoreboard beyond third column, improve CUD validations
#1931 - Add button to bulk import assessments from file system
#1951 - Hide download handout button if assessement has no handout
Maintenance
#1918 - Lint view/jobs
#1919 - Lint views/home, update wording in views/home/contact, views/home/developer_login
#1922 - Tango error flash: remove dead code and fix newline
#1936 - Make problem names be unique within assessments
#1937 - Update "Bulk Email Instructors" to work with MySQL's ONLY_FULL_GROUP_BY
#1939 - Fix importAsmtFromTar error handling
#1962 - Use unordered Course.assessments to get categories
#1965 - Lint view/groups
Others
#1908 - Exclude current assignments from metrics
#1920 - Eager load course_user_datum for the index submission view
#1932 - Propagate start_at during assessment import, remove unused db columns
#1945 - Prevent failing import from file system from deleting assessment files
Development
#1904 #1909 #1910 - Reviewpad onboarding
#1923 - Bump doorkeeper from 5.5.4 to 5.6.6
#1929 - Lock passenger-ruby27 to v2.5.0
#1934 - Use omniauthv2-shibboleth for omniauth v2 compat
#1976 - Autolab v2.11.1
Bug Fixes
#1912 - Correctly cache speedgrader symbol tree
#1930 - Add student emails to downloadAll archives
#1947 - Send Tango unambiguous filenames for user handins
#1950 - Handle orphaned annotations on view feedback page
v2.11.0: LTI Settings UI, extensions metrics, and simultaneous extension creation
Notable Changes
- Ruby upgraded to 2.7.7
- Table migrations needed due to schema changes (removal of unused columns)
- Changes to Grade Export CSV format
- Reordered total score column to be after email column
- Removed colons from column names
- Appended columns for students' first name, last name, section, and lecture
- Changes to structure of handin directory (backwards compatible)
- Per-user subdirectories are now created under the handin directory, and some filenames have been shortened
- Existing submissions are not affected
- See #1831 for more details
Security Advisories
- Session forgery using secret_key_base
- Tar slip in Install Assessment functionality
- Tar slip in cheat checker functionality
New Features
LTI Settings page
#1769 #1817 The config/lti_settings.yml
config file is no longer used for LTI integration. Instead, settings can be managed through a web interface (Manage Autolab > LTI Configuration)
Github Submissions for a specific commit
#1836 Students making a github submission must now specify a commit, rather than defaulting to the latest commit.
Extension metrics
#1878 Instructors can now use metrics to track students in a course by the number of extensions given.
User interface to upload config files
#1883 #1905 Assessment and course configs can now be directly updated through a web interface. Uploaded configs are automatically reloaded.
Assessment config: Edit Assessment > Basic
Course config: Manage Course > Course settings
Simultaneous extension creation
#1896 The autocomplete dropdown on the manage extensions page is now capable of selecting multiple students at once. This allows the same extension to be created for multiple students at once. If a student has an existing extension, their extension is updated instead.
Improvements
User Interface
#1673 - Revamp Gradebook/Gradesheet to be more UI friendly
#1674 - Revamp getjobs UI
#1682 - Improve attachments interface and error handling
#1683 #1694 - Move "install assessment" button to be with the other course buttons
#1685 - Change overflow-x on .submissions from scroll to auto
#1689 - Input pre-validation on sign-up page
#1701 - Removed deadline warning for non-submittable assignments
#1738 - Make metrics page font size consistent
#1739 - Fix footer on course view page
#1749 - Add Sorting Icons to Instructor Gradebook
#1753 - Change course badge text to correctly reflect course assistant role
#1758 - Changed "Manage Autolab" button from a page redirect to a dropdown
#1778 - Fixed word breaks in course cards
#1779 - Make blue darker to help with contrast
#1780 - Wrap long lines in annotations
#1784 - Gradebook sorting icon & styling
#1785 - Link to submission page for ungraded assignments
#1809 - Add loading spinner to annotations panel when annotations are updating
#1838 #1891 - Fix thead alignment on manage submissions, manage users, missing submissions pages
#1863 - Make moss page for current course only
#1888 - Fix hovering over top navbar to be colored white instead of blue for Metrics page
#1895 - Display submission date on speedgrader
Documentation
#1687 - Adds streaming output explanation into Lab author's guide
#1690 #1774 - Updates to README
#1823 - Update docker compose docs
#1841 - Update MacOS install docs to use Homebrew
#1842 - Update Docs to use bash to run init-letsencrypt.sh instead of sh
#1847 - Add warning to documentation about RAM requirements
Maintenance
#1634 - Add rake task to clean cache
#1691 #1692 #1757 #1828 #1835 #1876 Bump gems
- rack: 2.2.4 to 2.2.6.4
- globalid: 1.0.0 to 1.0.1
- sqlite3: 1.5.0 to 1.5.1
- nokogiri: 1.13.10 to 1.14.3
#1693 - Centralize Sass variables into single file
#1759 - Upgrade ruby to 2.7.7
#1830 - Remove unused "Additional Submission Form" feature code
#1879 - Fix placeholder for DEVISE_SECRET_KEY
#1881 docker#56 - Simplify initialize_secrets.sh, fix dockerfile
#1885 - Delete unused destroy html erb file
Others
#1740 - Redirect instructor to manage submissions page after updating submission
#1750 - Backend throttling for getPartialFeedback
#1760 - Autofill scores for shared comments
#1773 - Configuration for URL generation
#1789 - Improve delete user functionality
#1801 - Button to clear cache (in dropdown)
#1812 - Jump to currently enrolled course
#1822 - Update Export / Import Assessment to support more fields, make importAsmtFromTar and importAssessment more robust
#1829 - Grade Export: Move total column to be after email
#1831 - Create per-user handin subdirectories
#1834 - Course start/end date nil checks
#1840 - Version dropdown: jump to same file if it exists
#1860 - Avoid rounding final score during bulk grade export
#1866 - Adds modifySubmissionScores hook
#1897 - Add student info to Bulk Export Grades
#1900 - Handin improvements
- Handin file no longer cleared when switching to github submission tab
- Github submissions will no longer be accidentally triggered by a normal submission
Development
#1698 #1804 #1816 #1837 #1858 - Improve tests
#1751 #1754 #1755 #1790 #1889 - Set up Gitstream
#1805 - Update workflows to work with merge queue
#1818 - Enable Rubocop Linting within /spec directory
#1871 autolab-website#28 - Use communityinviter for slack invites
#1894 - Setup erb-lint, lint views/admins files
#1899 - Autolab v2.11.0
Bug Fixes
#1682 - Correctly display filename for annotations on first file of an archive
#1747 - Filter error handler scores before rendering view statistics page
#1807 - Annotation scrolling to line UI bug fix
#1820 - Fix bug where course gets created even if there are errors
#1821 - Fix bug in GitHub api rate limit check
#1833 - Fix annotated PDF download when global annotation is present
#1898 - Fix 500 error from going to users/id for non-existent user-id
#1901 - Correctly display PDF annotations on viewFeedback page
#1906 - Fix directory permissions for assessment imports
v2.10.0: LTI Integration, Generalized Feedback, and Streaming Output
Breaking Changes
- Table migrations needed due to schema changes for new features
- Upgrade of old gems
- A new required config file
config/lti_settings.yml
has been added for LTI integration. This is also required to be done manually for the docker-compose installation as well. Please initialize the file by running
cp config/lti_settings.yml.template config/lti_settings.yml
New Features
LTI Integration
#1635, #1649, #1657, #1678
Autolab now supports roster syncing with courses on Canvas and other LTI (Learning Tools Interoperability) services. For full instructions on setup, see the documentation.
Once a course is linked, instructors can go to [Course] > Manage Course > Manage Course Users to refresh the roster:
Instructors can also edit "Linked Course Settings" to configure whether or not to auto-drop students who are not enrolled in a linked course.
Streaming Output
#1622, #1645, #1671, #1679, Tango #223, Tango #225
Updated feedback interface
The feedback interface now features a two-column panel for displaying feedback. The left-hand side features the autograding output as well as a status (Queued, In-Progress, or Completed) badge, and the right-hand side features a results panel, with the student's scores for a submission.
Partial Output
Submissions being graded are now clickable with a clock icon rather than a plaintext dash. Once clicked, partial output from Tango can now be viewed on the feedback page as a submission is being graded. Partial feedback will be updated when the user clicks on the refresh icon.
Assignments that have been added to the autograding queue, but haven't started grading yet will be displayed as such:
Generalized Feedback
#1617, #1629
Instructors and CA's are able to leave "general" feedback on each problem, not tied to any specific line number or file. These can be accessed by pressing the plus button next to a problem header.
Once added, the general feedback comments will be displayed with a badge indicating the number of points. When hovered over, they can be edited or deleted.
Improvements
Grading
#1658 - Correctly display orphaned annotations on the viewFeedback page
#1643 - Don't mark error-initialized scores as graded by autograder
#1639 - API endpoints to create problems and query/update scores for an assessment
#1618 - Positive grading for assessments
#1617 - Filename, line number, better collapsibility for annotations
#1610 - Allow linebreaks in remarks; new UI for remarks in viewFeedback
#1590 - Fix order of annotations on feedback view and file view to be consistent
#1660 - Annotations Improvements:
New features
- Display current max score on edit problem page
- Add problem max score to annotation panel
- Allow multiple annotations per line
Breaking changes
- Make shared comments operate on a per-problem basis
Others
- Optimize performance of updating grades and annotation panes
Metrics
#1655 - Export metrics to CSV
#1651 - Ability For Instructors to Enable Student Metrics for Course Assistants
#1630 - Exclude dropped students from watchlist during refresh and updates
Roster
#1640 - bulk import & assign roles to users from emails
#1637 - Add course number column to roster
#1585 - Standardize roster upload tables
#1580 - Mononym support
UI Improvements
#1633 - Refactor manage course statistics table
#1631 - Remove extraneous span padding on metrics page
#1626 - Rework watchlist top button visibility, allow student names to be copied
#1624 - Make submission summary fill up space
#1615 - Hide view writeup button when no writeup exists
#1609 - Compact submission history, increased visibility of "see all submissions"
#1607 - Make attachment uploads more understandable, indicate if attachment is unreleased
#1606 - Overflow scroll within feedback div instead of flow through entire page
#1602 - Improved formatting of handin history page
#1601 - Updated heading sizes
#1598 - "Beautify" user profile
Other
#1672 - Catch invalid assessment config on import assignment tar
#1662 - Allow admins to edit school and major of users
#1638 - Check for handin file type when uploading file to assignment
#1623 - Show revised due date for manage extensions
#1619 - Extension support for non-english names
#1592 - Update extension functionality
#1587 - Add reset layout button to student view of speedgrader
Bug Fixes
#1647 - Fix codebox highlighting after switching files
#1621 - Fix annotation switching problems not updating score
#1660 - Prevent selection of autograded problems when editing annotation, persist shared comments checkbox for global annotations, preserve newlines in descriptions, add handling for nil
problem max_score
#1620 - Force flatpicker interface for date/datetime picker on mobile
#1616 - Use correct files list for sorting annotations when viewing an archive
#1614 - Show only one download option in assessment submission summary
#1613 - Retry loading file viewer with new header position when render error occurs
#1596 - Make grades section scrollable, delete unnecessary headings in speedgrader
#1595 - Fix enroll student for existing students
#1589 - Remove possibility of having a submission time in the future when bulk importing grades
#1588 - Parameterize category names for metrics allowlist
#1584 - Fix creation of missing submissions
#1579 - Fix remarks for annotations on autograder support
Security Advisories
File disclosure via remote handin feature
RCE via MOSS functionality
v2.9.0: Metrics Excluded Categories and New Speedgrader Interface
Breaking Changes
- #1470 Rails upgrade to 6
- #1552 #1572 Rails 6.0.5 migration
- Upgrade of old gems
- Table migrations needed due to schema changes for new features
New Features
Metrics included/excluded categories
#1507 #1517
We are introducing a method to exclude selected categories of assessments from consideration in watchlist calculations. For example, by excluding optional assessments, false positive rates of students marked as at-risk can be reduced.
Speedgrader Features
Adjustable speedgrader layout
#1486 Using the Golden Layout library, we have introduced a new interface for the speedgrader. Components of the layout are now draggable, expandable, closable, and resizable. Layout changes will persist in all speedgrader pages, but users may also reset the layout back to the default configuration using a "Reset Layout" button.
Autofill comments
#1497
Course Assistants and instructors are now able to optionally add their code annotation comments to the "comment pool." This shared comment pool will appear as "autofill" options in the comment textarea to all graders for an assignment. When a comment is selected from the dropdown, the comment will populate the textarea for the grader to post.
Version dropdown menu and buttons on view submissions page
#1508 #1503 #1574
We introduce an easier way of switching between the different versions of a student's submission. Either 1) Use the dropdown to select a specific version, or 2) use the [
and ]
buttons to switch between the next and previous versions that contain the same file.
Improvements
Shared group improvements
- #1478 #1484 add API endpoints for getting, creating, and deleting groups so that instructors can create groups dynamically. See updated docs here.
- #1493 adds the option to prevent students from being able to edit their group assignments. This setting can be found under [Assignment] > Edit assessment > Advanced > Allow students to create/edit their own groups
Other Improvements
#1561 Improve error messages for file system imports
#1515 Consistent annotations for group submissions
#1535 Standardize CDN includes
#1550 Reconcile home layout with application layout
#1533 Add autocomplete to Sudo feature
#1540 Replace deprecated calls to devise_error_messages!
#1531 Ignore trailing newlines at the end of autograder output
#1522 #1539 #1541 Improved handling of invalid course and assessment configs
#1530 Add UTC offset to assessment due date
#1030 Add helper text for API scopes field
#1511 Add aria-expanded to menus on the Manage Course page
#1509 Expand Admin Course menu by default on the Manage Course page
#1473 Duplicated confirm button at top roster upload confirmation screen
#1476 Stop showing unreleased scores in student gradebook
#1474 Set default dates of new assessment to one day later than the present
#1468 Remove passive updates to watchlist
#1488 Add correct timestamps to contents of zip file
Bug Fixes
#1573 Fix PDF viewer on autograded assessments
#1571 Correctly display autograder output on view submission page
#1569 Update name for group settings function
#1562 Disable user data fields during CUD edit
#1565 Properly indent folders in speedgrader file outline
#1563 Fix exception when CA download all called with no submissions
#1559 Fix exception on statistics page when submission made on problemless assessment
#1560 Fix exception when deleting course
#1557 Fix incorrect Roster format
#1553 Fix incorrect usage of flash
#1526 Fix typos in codebase
#1547 Fix user dropdown not triggering on handin page
#1544 Fix logic for GitHub integration when not configured / misconfigured
#1514 #1548 Hide unreleased attachments from students
#1523 Fix display of infinite extensions on handin page
#1520 #1545 #1532 #1549 Fix XSS vulnerabilities
#1518 Complete renaming of bulkRelease
to bulk_release
#1513 Fix Create Submission feature
#1512 #1519 #1524 #1521 #1525 #1564 Fix CSRF vulnerabilities
#1499 Handle empty course rosters
#1446 Disable the submit button of a disabled assessment
Others
#1556 Update README
#1542 Add code scanning to repository
#1453 #1477 #1494 #1502 #1504 #1506 #1546 #1551 #1554 Improve documentation
#1481 Create security.md
v2.8.0: GitHub Integration and Roster Upload Improvement
Breaking Changes
- Update Ruby to 2.6.8
- Table migrations needed due to new features
- Upgrade of old gems
- New ruby gems that are added due to the new features.
New Features
GitHub Submission
We now introduce GitHub submission for assessments. Instructors can optionally enable GitHub submission for assessments as they see fit. Students can connect their GitHub account with Autolab and submit from a particular repo's particular branch of theirs directly. See instructions here for how to set up. Once you have set it up for your Autolab instance, you can enable GitHub submission by checking the GitHub submissions checkbox in the assessment settings.
Students can then connect with their GitHub account and submit by selecting a repo's particular branch.
Improvements
- #1436 #1414 #1402 Roster upload workflow improvement: The previous roster upload workflow can be confusing and ineffective and we as devs are already forgetting what these were like! Here's a more smooth and human-readable and -navigable roster upload process: select your file, press upload, error banner shows up if there are any errors/table of potential upload is shown, press confirm if there are no errors. Allow us to highlight 1) the specific error message in the error banner and 2) sortable entries of the table of potential upload.
- #1353 Added search bar for student metrics watchlist
- #1371 Added Autograder output to speedgrader
- #1384 #1392 Added support for non-ASCII autograding feedback
- #1387 Added submission note length check
- #1400 Increased limit of gradesheet rows to 1000
- #1408 Added score column to "Manage Submission" sheet
- #1415 Prerendered previous and next submission page in submission view page
- #1420 Prevented dropping CA/instructors
- #1423 Enabled proper customized MIME type check for submission files
Bug Fixes
- #1359 #1377 #1428 Fixed inappropriate date/datetime picker display
- #1366 Added safe navigator to chomp method
- #1370 Properly display annotation decimal numbers
- #1374 Fixed overlapping footer in 500 error page
- #1378 Fixed checkboxes that were not visible due to material design update
- #1386 Refreshed course setting page upon error
- #1425 Checked that at least one problem is defined when submission is handed
v2.7.0: Autolab Docker Compose, Student Metrics, Refreshed Documentation
Breaking Changes
- Table migrations needed due to new features
- New ruby gems that is added due to the new features.
New Features
Autolab Docker Compose
We have finally introduced the new way to install Autolab, using Docker Compose. This is now the preferred way of installing Autolab as it makes installing and maintaining a production ready (i.e. ready for classes!) Autolab. Find the installation instructions here
Student Metrics Feature
Traditional approaches of identifying students who are struggling with class is reactive; course staff wait for students to come to them to provide help, which can often be too late. We are introducing the new student metrics feature that tracks metrics that signify potential risk, which would help us identify students in need of attention early in the course. Read more about it here
Autolab Documentation
After multiple rounds of review, we have the new and improved Autolab Documentation (which is now also part of the main Autolab repo). It should be easier to navigate and use. Of course we finally made it the iconic Autolab red. Located at the same address as before, https://docs.autolabproject.com/.
Improvements
- #1273 Added script to help with first time users initializing
- #1263 Improve accessibility for keyboard users by adding skip to main button
- #1318 Repositions Disabled courses to the bottom of the page
- #1333 #1334 Autolab API improvements
- #1351 Autolab Documentation refresh
Bug Fixes
- #1220 Annotation position bug fixes
- #1291 Fix infinite speedgrader redirects when header_position = 0
- #1292 Hide annotations from viewFeedback if it has not been released
- #1311 Rework Gradebook button logic to allow for both instructor and CA roles
- #1324 Properly display fractional grades in annotations
- #1322 Add exception handler for invalid tar files
- #1335 Show hidden files in speedgrader
- #1347 Mimemagic docker installation fix
v2.6.0: Formatted Feedbacks, Course Dashboard, Accessibility
Breaking Changes
- #1205 Updates Ruby to 2.6.6
- #1120 #1123 Updates Gem Dependencies
- New features introduced table migrations that needs to be done.
New Features
Formatted Feedback
#1185 adds the formatted feedback feature by Jala Alamin. The feature was originally introduced in Washington State University Vancouver's version of Autolab.
Course Dashboard
#1143 adds a course dashboard to the course page as a centralize place for course information and course actions. Allows students to see the total number of late days they have remaining easily.
Bug Fixes
Here are the major bug fixes for this version
- #1138 Check for malformed handins
- #1154 Fixes month selection not showing on the edit assessment handin tab
- #1220 Annotation position bug fixes
- #1180 Radio Button Fix
Improvements
This version in particular, includes various accessibility improvements
- #1215 Improve accessibility of Options button
- #1212 Keyboard access improvement
- #1211 Keyboard Access On Handin Page and PLD/GDU Tooltip
- #1217 Fixed insufficient contrast on footer
- #1122 Create Advanced tab for edit assignments
- #1196 Adds ability to export and import embedded forms
Updates from v2.5.0 has been rolled into this release as well, where Autolab has been upgraded from Rails 4 to Rails 5 after almost a year of effort.