Fixed broadcasts created in palette not being accessible via menu
Fixed duplication when dragging media into the backpack
Fixed incorrect caching in primVarSet and primVarChange
Updated procedure spec editor label font to match block label font
Fixed shadow disappearing when a script runs while being dragged
Fixed dragging "when Stage clicked" into a sprite
Added a default implementation for the username block when offline
Fixed not being able to drop block when color picker was under mouse
Fixed rounding costume center coordinates in vector mode

This also doubles the resolution of the bitmap costume center tool so that it lines up with the actual pixels of the image.
Abstracted ExternalInterface

Added abstract methods for ExternalInterface features.
Refactored code to work with callbacks instead of expecting externalCall
to return a value directly.
Note that this change will break both the online and offline editor
until corresponding changes on those repositories.
Made attribute block update when switching sprite

If the sprite you switch to doesn’t have an attribute or variable, it
will set the attribute to the default one for sprites or the stage.
Shortened the code a little
Changed "allowed" to "valid"

I think it makes a little more sense.
Use translated default values
Revert "Use translated default values"

This reverts commit 0c7de21dc3b1092d055b9bf294280a64431f856b.
Merge branch 'master' into abstract_external_interface
Fix hiding the 'say' bubble WRT number formatting

When checking whether to hide the speech bubble, test if this block is the block that originally displayed the bubble rather than testing to see if the text matches. This avoids problems due to differences in text formatting or changes in a reporter's value.
Treat offline extension reporters as requesters

Since StageWebViewBridge calls can't return values directly, extension
reporters must all be treated as requesters. This change adds a
"forcedRequester" flag to do so.
Note that there is at least one case where a block can be duplicated and
the forcedRequester flag will be dropped. This must be fixed if we
continue to use this method.
Merge branch 'bubble_hide_fix' into abstract_external_interface
Use GestureHandler as source for bubbles it creates

Shane explained that it would make more sense to use the GestureHandler
as the source for these particular TalkBubble instances.