@dwillmore ,
Yes, jQuery UI deprecation will affect some of my scripts, but not in a terrible way. I can add a @require line to require the jQuery UI for the versions that run in the browser. It will break things that people have put in their custom JavaScript unless they add it there or we find a different way to do those.
The scripts affected include the rubric sorter, the dashboard course card sorter, and a few others. The software engineer told me the deprecation was a ways off, but what that means to me is that I should start doing things the recommended way now rather than waiting until it's deprecated. I did not find out what the "right way" is. The user scripts are easy because they load all of the required files ahead of time and store them on the user's hard drive. Putting things into the custom JavaScript is more difficult.
To paraphrase: jQuery is supplied for you, but if you want to use React, then you need to load it yourself. btw - Canvas is moving to React, but there's a lot of code that uses jQuery so you're probably safe but we'd eventually like to do away with that as well, so you may not be safe forever. It's better for you to load your own libraries than depend on ours. For a better user experience, we want to minimize the amount of information sent.
The problem with making my user scripts into global custom JavaScript, as some have done, is that if I start requiring a library, I might depend on React, but someone else is loading Prism, and someone else is loading jQuery, and [you get the idea]. Pretty soon, we've got all these things being loaded and someone else might need React, but they need a different version than the one I have.
So yes, for the most part, I agree that anything that goes into your custom JavaScript should be yours and not a 3rd parties. You also take on the responsibility of making sure it still works every three weeks.
That said ...
At my very first InstructureCon in 2013, I sat down alone at a table, not knowing anyone or anything, and pretty soon Brian Whitmer came over, introduced himself, and provided some guidance and suggestions about who I should talk to. There were two guys from Texas that were very knowledgeable about things and provided some great insight, even though everything they said was over my head because I didn't know JavaScript. Back then, Canvas was pushing 3rd party JavaScript solutions and "you can do that through JavaScript" was the solution to everything. If you didn't like the way something happened, you just wrote some Custom JavaScript to make it act the way you want it to. Now people seem to want it built-in, or they won't use it.
In some ways, I think that's still the idea. Another paraphrase: It doesn't fit in with our big picture of clean and easy to use and we don't think there's enough demand for it, so we're not going to do it. However, we do let you add custom JavaScript so you can do it yourself. Did I mention we're making it harder for you do to that?