Showing results for 
Show  only  | Search instead for 
Did you mean: 

Canvas Deploy Notes (2020-02-26)

Canvas Deploy Notes (2020-02-26)

Canvas deploys contain code changes that are intended to fix bugs, improve performance, and prepare for new features, but they do not affect customer workflows. These deploys take place every two weeks and can be tested in the beta environment before the production deploy date indicated in the title of this document. Intended changes in workflow are noted in the Canvas Release Notes published monthly.

Deploy notes include notable fixed bugs and additional updates that do not affect existing user functionality.

Deploy Notes Change Log

Fixed Bugs



External Apps

The Placement icon in the External Apps page retains focus and closes the window appropriately.


Re-Upload Submissions Delay Error

The status of re-uploaded assignment files is managed in the background, no longer requiring the uploader to wait for the files confirmation page. 

Explanation: When a ZIP file of student submissions was re-uploaded for an assignment, if the tile took longer than one minute to upload, the page generated an error. Canvas code has been updated to add a status page for re-uploaded submissions. This correction will be implemented as part of the 2020-03-21 Canvas release (notes published 2020-02-18).


Roll Call Assignment Deletion

When a roll call attendance assignment is deleted, a new assignment is generated when attendance is taken.

Explanation: When the roll call attendance assignment was deleted, a new assignment was not generated when attendance was taken again. Additionally, when the deleted assignment was restored, it would not update scores when attendance was taken. Canvas code has been updated to refresh the assignment cache for existing assignments to update the Attendance assignment.


Due Date Arrangement

When the Gradebook is arranged by due date, the page does not change after refreshing the page.

Explanation: When the Gradebook was arranged by due date, and some assignments did not include an Everyone Else assignment, the sort order was changed after the page was refreshed. Canvas code has been updated to always order by due dates regardless of assignment type in sorting.

Zero Points Possible Warning

Entering a zero as points possible when creating or editing an assignment with a Letter Grade/GPA Scale/Percentage display grade displays a warning message.

Explanation: When a zero was entered as points possible in a new or edited assignment, and the assignment grade display was set to Letter Grade/GPA Scale/Percentage, the warning message was not displayed notifying the user that points possible must be more than zero for the selected grading type. This behavior specifically affected Letter Grade assignments as zero point assignments cannot be displayed properly. Canvas code has been updated to require a positive number (greater than zero) for the total points possible.


Direct Share Options

Students do not see Direct share options in student groups.

Explanation: When the Direct Share feature option was enabled, students without the correct permissions saw the Direct Share options for content in student groups. Trying to access these options created an error. Canvas code has been updated to only show Direct Share options in course discussions.

New Rich Content Editor

Quicktime Audio Files

The New Rich Content Editor embeds quicktime audio and x-m4a files.

Explanation: When quicktime audio files were uploaded to the New Rich Content Editor, the files were unsupported. Canvas code has been updated to support .m4a files in the New Rich Content Editor.

Whitelist Elements

The New Rich Content Editor aligns HTML elements with Canvas TinyMCE-supported elements.

Explanation: When a user added an HTML element supported in the Canvas TinyMCE that was not supported in the New Rich Content Editor, the New Rich Content Editor stripped the element. Canvas code has been updated to match the New Rich Content Editor whitelist with the Canvas TinyMCE-supported whitelist. To align elements, H7 and H8 have been removed. The following elements have been added: address, acronym, map, area, bdo, dfn, kbd, legend, samp, tt, var, big, article, aside, details, footer, header, nav, section, summary, and time.


Chrome Browser Back Button and Canvas Errors

Using the Back button to return to SpeedGrader from an assignment does not affect the interface.

Explanation: When a user navigated to an assignment page from SpeedGrader and then used the Back button in Chrome to return to SpeedGrader, Canvas generated multiple error messages. Canvas code has been updated to support using the back button in the Chrome browser.

Deploy Notes Change Log



Added—Fixed Bugs

  • Attendance: Roll Call Assignment Deletion
  • New Rich Content Editor: Whitelist Elements
2020-02-14Deploy Notes Published
Labels (1)
Was this article helpful? Yes No

Hi erinhallmark, are the planned API changes for 2/26, listed in , also available in Beta now?

Hi erinhallmark, what is the reasoning behind now forcing points to an even larger extent for Letter Grade? A long time request from many universities have been to be able to grade without points at all. This is a move in the opposite direction, since using 0 points was a possible "solution" for many teachers when trying to convey the information that "do not care about the points value in this assignment". Any chance this can be changed to a feature option? Or even better: fix the problem of not being able to grade without points.


I imagine it has something to do with the inability to determine different letter grades if the points possible is 0. The letter grades are determined by a percentage and all percentages of 0 are 0. That means that it will never be able to determine/recover a grade from a score unless the points possible is greater than 0. If you type 0 for a grade, what grade should it assign? 100%, 50%, or 0%? Division by 0 is mathematically undefined. That's fine for points-based grades, but not for letter grades or when you have to do some math.

Instead, you should use the "do not count towards final" option in conjunction with a positive point value if you want to use letter grades. Alternatively, you could put the assignments into an assignment group that is worth 0% of the grade to indicate that they do not count. Canvas has several solutions

Canvas tries to design things so that it makes sense and works for the majority of the users (those of us in the math and sciences often feel neglected); assigning 0 points for doing something is not the way that most people would expect a letter grade to work. Writing a system that used the grade and ignored the score is a much larger task.


It has nothing to do with being able to determine the grade from a score. The letter grade itself is saved in the database. Assigning letter grades with 0 as max points has been working fine up until now. Sure, you loose the statistics because of the way Instructure haven chosen to handle grading schemes but that is another problem.

Indicating that an assignment does not count is not what we try to accomplish with the 0 point value. Grading without points is simply grading without points. I've taught maths, physics and programming for a couple of years and believe me, I'm all about points. But not everyone is. Just setting a grade from a grading scheme (without correlated points) should be an option!

The fact that Instructure and parts of the community seems to believe that it is necessary to DISPLAY points just because some calculations needs to made is beyond me. It should have been solved ages ago either by simply hiding the points value or with the option to include percentage ranges or not for grading schemes. When they are included things work well as they are now, then the forced positive value for points makes sense. But when one chooses to not include the ranges the points value shouldn't be displayed at all but Canvas can still assign the same amount of points as levels in the grading scheme, behind the curtains. That way points doesn't have to be displayed but the calculations and stats can be kept.

European customers have been asking for this for a long time and now, instead we get a step in the opposite direction.

Hi, Todd,

Yes anything posted in the notes are available in beta for testing. Smiley Happy



 @martinlarsson ,

Thank you for the feedback and insights into how other countries treat education.

I don't work for Instructure and wasn't privy to any discussion they had about it. I can only guess based on the evidence presented in the situation. A clear reason (the math is undefined) for making the change exists. I could be wrong, but I don't imagine they made this change without someone first complaining about the way it currently worked. When they looked at it, they decided that it letter grades weren't the right tool to use when there were no possible points.

However, they have some unit tests in the source code from a couple of years ago about entering a B with a letter_grade assignment and not having any points possible and having the entered grade be a B. That suggests that you should be able to enter a letter grade and it would keep the letter grade -- although that may be one of the things changing in this update. If you want to type "Yes" or "No" into a letter grade assignment (to greatly oversimplify the example), it should keep it. It won't be able to export it with the gradebook because it's not a number and I cannot do any calculations with it.That makes it not as helpful as it could be. However, the B that they wanted to enter was in response to a bug that wouldn't keep the B for a 0 point assignment.

On the other hand, it is about entering points for some people. I don't type the word "Good" when I enter a letter grade, I enter 9 (for a 10 point assignment). Technically, I complete a rubric and then let Canvas automatically assign the points and the letter grade for it. For me, the letter grade is only saved in the database if Canvas can automatically determine the letter grade from the points. On the back-end, Canvas is doing the math to determine the letter grade to use. A letter grade is only allowed when there is a grading scheme and a grading scheme requires numbers.

If you enter "Yes" and "No" and then change your grading scheme to "James" and "Martin", then Canvas has no way of making that transition. The "Yes" and "No" are now nothing more than a comment, not an actual grade. The only way it could do that translation is when there is a score (numeric value) associated with it, otherwise you have orphaned values and Canvas gives a warning in the gradebook because the letter grade is no longer in the grading scheme. That is actually a more likely explanation than someone complaining about invalid math.


There is another group that won't enter the letter grade at all because it automatically assigns the highest point value rather than the median point value, so that A+B+B comes out as an A in some scales (100+90+90)/3=93.3=>A instead of (95+85+85)/3=88.3=>B.

Grading Scheme and Letter Grades are one area where the proper way to do things mathematically give way to user sentiment. Student's will complain if an A is 95 instead of 100. I've had students complain about getting a "low B" on a 10 point assignment when all I did was to take a couple points off for problems with their work. In other words, there are a lot of issues with letter grades in the first place.

I wonder if the main issue for you is that you were relying on an undocumented and undefined feature and Canvas is changing the behavior. Canvas has written their guides like a programmer writes unit tests. It says if A is true then B will happen, but it doesn't document or test what will happen when A is false. I've written a lot of scripts that rely on undocumented behavior and occasionally have to go through and change my process. The Community has several very excited comments from people who were relying on officially undocumented, but widely reported in the Community, behavior regarding jQuery UI and the style guide. They were terribly upset when Canvas deprecated them. More recently, some programmers have relied on being able to use a page=# format when fetching enrollment data, but Canvas is changi ng to a bookmark style later this year. Canvas never said people could use page=# and try to game the system, it's just that people found out they could and now Canvas is changing that. People expressing frustration with changes in undocumented behavior is part of how you can let Canvas know you don't like what they're doing.

Thank you for pushing me to dig into it deeper. While I see it's not directly about recovering the grade (that is saved in the grade field), it may ultimately be about preserving that information if the grading scheme changes. The only way that can happen with the current system for a letter grade is if there is a numeric score and a points possible that is greater than 0. To a lesser extent, it is mathematically necessary to have a point value greater than 0 to create a letter grade from a numeric grade, which is what I would be entering because it's quicker than entering a letter grade (even if the letter grade is a single character).

Thanks for looking into this! You are right, a positive value for points is currently needed when translating from one grading scheme to another. However, on beta right now Canvas still allows 0 point assignments when using Complete/Incomplete which means that a loss of data can still occur when switching from Complete/Incomplete to a letter grade. So the probable reason behind the change in these deploy notes is still an issue? Another way of implementing this (the user error of selecting the wrong grading scheme) would have been to use the points and percentages when points are specified (of course) but if points where not used then the user should be able to map from one scheme to the other. Something like this:


I agree that points really does help with a lot of things and that the points based rubric is a real time saver. But the fact is that for some grading schemes there are no official percentage ranges specified. On any level. Fail/Pass/Pass with distinction can in some cases be described with qualities only. A lot of my users work this way. This means that Canvas forces them to use percentage ranges that are somewhat arbitrary. Using 0 points was a way to bypass that since the ranges then were nullified. As I understand it the users in question would like to be able to simply leave some comments/annotations, use a non-scoring rubric for feedback (works fine already) but then also simply just assign a letter grade and be done.

Changes in undocumented behavior is fine when it comes to small details like stripping a certain HTML tag or making some changes in URLs but this is grading/feedback we are talking about. I cannot imagine a feature that can be considered more core than that in a LMS. Changes here cannot be made lightly.

My overall point is that Instructures assumption of "everyone uses points, some way or another" is a false one. Something of a "loophole" to this seemed to exist with the 0 point assignment, but not anymore. I wouldn't be surprised if some of my users experience this as "breaking" changes.

By the way: The tests you mention is it the QUnit tests from canvas-lms/spec/javascripts/jsx/assignments/GradeSummary/grades at master? I'll have to look into those!

I think I was looking at canvas-lms/submission_spec.rb at master, starting about line 299. I don't know enough about Ruby to know if I'm calling it the right thing, but anytime I see a spec file, I think of them as unit tests (I'm not a programmer by trade, just one who dabbles on the side).

It looks like the proposed changes are available inside the source code, last updated 6 days ago. Here's a link to the update and the comments.

require positive points possible for letter grade · instructure/canvas-lms@b479c42 · GitHub 

It fixes TALLY-479 (I have no idea what that is - perhaps an internal tracking code?) and it affects letter grade, GPA, and percent grading types.

I do not see any explanation of why those changes were made, though. That's probably inside the TALLY-479 bug report.

How will this change affect assignments that have already been created with a zero percentage possible? Will this code eventually affect zero points possible?

I agree with everyone else that the zero points possible deploy should be a production release. In my opinion, this update will directly impact the workflow of our users. If my testing is correct, any assignment with 0 points possible set before the update will no longer be editable without adding a positive value. This includes edits of any kind not just the value. We have been given a very small window to test this feature and inform our faculty. Can we please delay this deploy and add it to March 2020 production release?

Hi, everyone,

Our product team will be reverting the zero points Gradebook change and exploring another way to support grades without points. I'll let you know when that change has been removed from the beta environment.



Thank you Erin! 

I am happy to test any future ideas and provide feedback. Anything I can do to help just let me know. 

Great, thanks!

Hi, all,

This change has been reverted and is no longer present in the beta environment.

Thank you!


Hi, all,

Notes for the next deploy are available here: