Skip to content

v3.5.0

Compare
Choose a tag to compare
@tjvr tjvr released this 10 Jun 16:19
  • 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 matching define 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.

  • Update readme (#317, #323)