Skip to content

Releases: google/blockly

v9.3.2

06 Apr 19:16
ec6e951
Compare
Choose a tag to compare

What's Changed

Other changes

  • fix: remove forced rerender from mutator (#6918)
  • fix: disposing during dragging (#6954)

Full Changelog: blockly-v9.3.1...blockly-v9.3.2

v9.3.1

30 Mar 21:13
cf850d5
Compare
Choose a tag to compare

What's Changed

Other changes

Full Changelog: blockly-v9.3.0...blockly-v9.3.1

v9.3.0

29 Mar 18:32
9c9aef1
Compare
Choose a tag to compare

Overview

Greetings, Block Builders! This release brings some exciting new features and important bug fixes.

  • New procedure blocks that enable sharing procedures between workspaces. The new blocks are being published as a plugin, so the old procedure blocks will continue to work as expected. Learn more here and check out the plugin here.
  • The JSON serializer now serializes movable, editable, and deletable properties. If you were previously relying on the serialize-disabled-interactions plugin to do so, see the README for next steps.
  • Performance improvements during rendering and collapsing blocks
  • Fixes problem with dropdowns on mobile devices (if you're on v9.2.0, this is an important fix!)

What's Changed

Deprecating changes 🚧

These are not breaking changes yet, but deprecate something that will be removed in the next major release

  • Blockly.Xml.textToDom has been renamed to Blockly.utils.xml.textToDom in #6818

New features ✨

  • feat: Support for the new shareable procedure blocks plugin
  • feat: Add support for centering on a block itself vs its stack. by @gonfunko in #6810
  • feat: added tests/typescript to test supported TS examples by @btw17 in #6775
  • feat: updated flyout button to set border radius via static variable by @btw17 in #6838
  • feat(build): Run tsc on blocks/ and generators/ by @cpcallen in #6836
  • feat: add basic render queueing by @BeksOmega in #6851
  • feat: make renderer methods public or protected by @maribethb in #6887

Bug fixes 🐛

Cleanup ♻️

  • refactor: Don't use skew_ and translate_ attributes on SVGs to animate blocks. by @gonfunko in #6782
  • refactor: Use the field registry to instantiate fields in block definitions. by @gonfunko in #6811
  • refactor: Use input type=number for field_number.ts by @gonfunko in #6845
  • refactor: Remove more uses of AnyDuringMigration by @gonfunko in #6863
  • docs: Fix a few typos by @timgates42 in #6878
  • refactor(blocks): Migrate blocks/colour.js to TypeScript by @cpcallen in #6901
  • refactor(blocks): Migrate blocks/math.js to TypeScript by @cpcallen in #6900

New Contributors 👋

Full Changelog: blockly-v9.2.1...blockly-v9.3.0

v9.2.1

19 Jan 19:11
4125fd3
Compare
Choose a tag to compare

What's Changed

Bug fixes 🐛

  • fix(deps): Don't use global variables for jsdom injection in scripts/package/node/core.js and core/utils/xml.ts in #6764

Full Changelog: blockly-v9.2.0...blockly-v9.2.1

v9.2.0

15 Dec 18:43
b9e3626
Compare
Choose a tag to compare

What's Changed

New features ✨

Bug fixes 🐛

  • fix(renamings): Small correction to renaming of Blockly.utils.global by @cpcallen in #6599
  • fix: Rename Mutator#workspace back to workspace_ for compatibility with library blocks by @rachel-fenichel in #6634
  • fix: Add redirects to old demos. by @NeilFraser in #6657
  • fix: Fix the compiler test, and check if it worked. by @NeilFraser in #6638
  • fix(deps): update json schema validation by @BeksOmega in #6637
  • fix(appengine): Restore build products to previous location by @cpcallen in #6687
  • fix: set default field to any and fix validator function return type by @btw17 in #6690
  • fix: don't reopen dropdownDiv if it was already open by @maribethb in #6688
  • fix: Don't spellcheck number fields. by @NeilFraser in #6698
  • fix(tests): Fix bootstrapping of generators in compressed mode by @cpcallen in #6703
  • fix: not being able to set field values to empty by @BeksOmega in #6702

Cleanup ♻️

Other changes

New Contributors

Full Changelog: blockly-v9.1.1...blockly-v9.2.0

v9.1.1

21 Nov 19:04
3d5f53e
Compare
Choose a tag to compare

What's Changed

Bug fixes

  • fix: Rename Mutator#workspace back to workspace_ for compatibility with library blocks (#6634)

Full Changelog: blockly-v9.1.0...blockly-v9.1.1

v9.1.0

15 Nov 19:37
4a16495
Compare
Choose a tag to compare

What's Changed

New Features

Bug fixes

Cleanup ♻️

Other Changes

New Contributors

Full Changelog: blockly-v9.0.1...blockly-v9.1.0

Q3 2022 Patch 1

20 Oct 11:33
34634ea
Compare
Choose a tag to compare

What's Changed

Bug fixes

Cleanup ♻️

Other Changes

Full Changelog: blockly-v9.0.0...blockly-v9.0.1

Q3 2022 Release (v9.0.0)

04 Oct 22:11
55cf92a
Compare
Choose a tag to compare

Highlights

  • Blockly core is now in TypeScript! If you use TypeScript, you should notice better type declarations for Blockly. There may still be some rough edges; please tell us about them or submit a fix.
  • Blockly is transpiled to ES2015, no longer ES5. ES2015 is supported by all major browsers.
  • Blockly is no longer guaranteed to be compatible with Internet Explorer, and some IE workarounds have been removed.
  • If you're using modules, the way you import generators has changed. See the generators documentation for more information.

Migration

To help deal with breaking changes from this release:

  1. Run npx @blockly/migrate rename --from <your version> <./path/to/my/files*>
  2. Run npx @blockly/migrate fix-imports --from <your version> <./path/to/my/files*>

These commands will automatically modify your files so that they are compatible with version 9. The first command will automatically rename properties that have been renamed. And the second command will add/fix imports for blocks/generators that have been moved.

Some problems may still exist after running the migration scripts, but the majority of them should be fixed!

What's Changed

⚠ BREAKING CHANGES

Most are removing deprecated, unused, or outdated APIs. Each of the PRs listed below has information about what to do if you are affected by the change.

  • Update deprecations for the new release. (#6470)
  • remove unused functions in style.ts (#6386)
  • Removed backwards compatibility for getDeveloperVars(). (#6385)
  • remove checks for IE and EdgeHTML in core (#6336)
  • allow blocks to receive their own delete events (#6337)
  • build: compile to ES2015 instead of ES5 (#6335)
  • Move backwards-compatibility hacks to main.js (#6260)
  • Remove remaining use of goog.module.declareLegacyNamespace. (#6254)
  • properly add the removal of utils.global to the renamings file. (#6204)
  • fix or silence type errors (#6105)
  • Correctly handle multiple highlighted RenderedConnections (#6416)

Deprecating Changes

These are changes which deprecate an API but do not remove it. APIs in this category will be removed at a future time. Each of the following PRs should provide guidance on an alternative.

  • Fix blocks with mutators (#6440)
  • stop using is3dSupported (#6400)
  • remove some IE-specific code in dom and style (#6396)
  • deprecate functions in object.ts (#6387)
  • remove AnyDuringMigration from the block drag surface (#6302)

Features

Bug Fixes

  • add compose and decompose to block (#6102) (619ee66)
  • add timeouts to delay expensive mutation operations (#6149) (91b570a)
  • adding and removing css classes that contained spaces (#6455) (8530e6d)
  • build: Fix sourcemaps (#6352) (e10bf99)
  • build: Have prepare task signal async completion (#6356) (079699b)
  • Check for empty array in thrasos.RenderInfo.addElemSpacing_ (#6211) (16b5ccd)
  • component id should be on the prototype (#6104) (172a8ce)
  • context menu not working (#6399) (79051a6)
  • Deep copy options used by dropdown fields (#6425) (05b221b)
  • deprecate functions in object.ts (#6387) (9775b51)
  • disposing of a workspace that has overwritten shadows (#6424) (f2e408b)
  • dragging fails for collapsed blocks with Icons, which have been … (#6081) (5240301)
  • field defaults not being defined correctly (#6453) (eb1b786)
  • Fix blocks with mutators. (#6440) (ab03c65)
  • Fix compilation errors under Closure's strict mode (#6073) (edc2a5c)
  • fix message loading from script tags (#6060) (44edbb8)
  • fix or silence type errors (#6105) (daf78af)
  • generator type declarations (#6412) (b2fa356)
  • improve types in touch code (#6099) (7c7cfbe)
  • Increases the speed of deleting blocks (#6128) (71e8356)
  • inject function options dictionary has wrong type definition (#6231) (233cce8)
  • JSON deserialization fails (bug #6091) (collapsed procedure call… (#6103) (45c36f8)
  • json hooks for lists blocks not needing extra state (#6177) (8b69b61)
  • json serialize lists_getIndex with json extraState (#6136) (#6170) (0afff23)
  • loading messages from script tags. (#6184) (2a7d6b0)
  • Made workspace non-nullable. (#6300) (83a3e74)
  • make eventUtils throw if event type not registered (#6381) (60bc01a)
  • Make generator types and BlockDefinition less restrictive (#6185) (2ff4f88)
  • Make message files work in unpackaged mode, and rebuild msg files (4b1bb8c)
  • message types being incorrect ([#641...
Read more

Q1 2022 Patch 5

11 Aug 18:16
55a7076
Compare
Choose a tag to compare

This patch fixes additional message loading problems. Message loading now works as expected in these scenarios:

  • Loading Blockly and messages with a module loader
  • Loading the wrapped message files via a script tag (e.g. the message files published on npm and unpkg)
  • Loading the unwrapped message files via a script tag (e.g. the message files present in Blockly's GitHub repo without additional processing). Note that this approach is not recommended going forward, but this patch does allow this scenario to work as expected.

Included in this release: