Updating jQuery in Canvas



In 2017, Instructure announced that Canvas would be moving away from jQuery. As such, our implementation of jQuery has been stagnant since then. We’ve been moving away a page at a time as we implement our new Instructure UI (instructure.design). 

Due to security concerns with the legacy version of jQuery implemented in Canvas, we recently determined that we would like to update jQuery. As such, we’ve been engaged in a significant effort to upgrade jQuery in Canvas to a modern version.

The first update from jQuery v1.7.2 -> v1.8.3 is being released to production Feb 28. It’s already been on beta for the past 2 weeks. We’ve also released our first major version upgrade (v1.8.3 to v2.2.4) into Canvas beta. This will go into production March 13. We’re targeting the implementation of at least jQuery v3.5 as part of this initiative (though hopefully we’ll get to the latest version v3.7.1). 

Due to these updates, it is expected that some customer’s customJavaScript may be broken / will break as we continue to release updates. Please continue to validate that customizations behave as expected in Canvas beta for the next several releases. As a reminder, your institution is responsible for maintaining your customizations.

Ideally, your custom JavaScript does not leverage jQuery (https://youmightnotneedjquery.com/). For our customers who do use jQuery and rely on features available in a previous version, it is possible to import jQuery as part of your custom JS to remove the dependency on Canvas to provide the correct version support for your customizations. 

We appreciate your understanding as we work towards making Canvas more secure and modern.


Jeremy Perkins