v3.5.0
-
Rework define hat recognition (#311, #266)
Previously we were assuming that the
define
keyword was a single word in all languages and that it was always a prefix. We were matchingdefine
hats before matching built-in blocks. In fact, we were using a totally separate parser for define hat contents.I've removed this special parser, and moved
define
matching to a later stage. The result is less clean code, but we can now support languages where the define keyword is a suffix rather than a prefix, and we can match built-in blocks before checking for a define hat (which fixes a bug with Brazilian Portugese). I've also added support for multiple-word prefixes and suffixes.As a side-effect of this change we will now handle certain edge cases differently. For example, previously we would parse
[foo v]
inside a define hat as a string reporter with the label "foo v"; it will now be parsed as a dropdown. I don't think breaking backwards-compatibility is too bad here; the syntax for define hats has never been particularly well-defined in the first place!This also breaks compatibility with old langauge packs (necessitating a new minor version).
-
Add "when stage clicked" block (#333), thanks to @azhou4
Incredibly, this block from Scratch 3 has been missing this whole time! Who knew?
-
Support Japanese "stop" block (#315)
The Japanese "stop" block has no labels, just a dropdown, and a bug in the locale generation meant it was omitted. This is fixed so you can now use it.
Note that dropdown menus are still not translated automatically (see #324).
-
Center label text in small reporters (#331), thanks to @exKAZUu
-
Re-generate all the locales (#334)
The locales have been updated to the latest version of
scratch-l10n
. -
Add cat blocks (#327)
These were temporarily shown in Scratch 3 as part of April Fools' 2020. You can now use these in scratchblocks via a new
:: cat
shape override.