Skip to content

Releases: RaspberryPiFoundation/blockly

blockly-v13.3.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 19:48

What's Changed

New features ✨

Bug fixes πŸ›

  • fix: Fix bug that could cause renders to clobber the undo stack by @gonfunko in #10227
  • fix: Improve performance of WorkspaceSvg.getNestedTrees() by @gonfunko in #10236
  • fix: keep tall field corners inside round caps with zelos by @mikeharv in #10214
  • fix: wrong css prop by @SimonShiki in #10257
  • fix: restore focus on toast dismiss by @mikeharv in #10260
  • fix: Clamp transforms to sensible levels of precision by @gonfunko in #10268
  • fix: drop IFocusableNode from trash and zoom by @mikeharv in #10272
  • fix: add comma to block labels except on Apple devices by @mikeharv in #10279
  • fix: Make IDs of comment bar buttons consistent by @gonfunko in #10280
  • fix: Fix bug that could cause dragged blocks to connect to and delete others by @gonfunko in #10285
  • fix: Fix a bug that could cause unexpected block movement when inserting blocks from the toolbox by @gonfunko in #10289
  • fix: Make reverting block drags from the flyout delete the dragged block by @gonfunko in #10290
  • fix: Do not re-announce moves that stay on the same connection target by @mikeharv in #10308
  • fix: Improve block placement when inserting from flyout via keyboard by @gonfunko in #10318
  • fix: Fix bug that made some keyboard shortcuts non-idempotent by @gonfunko in #10286
  • fix: Prevent registering a keyboard shortcut under the same key combo multiple times by @gonfunko in #10386
  • fix: scroll field into view after window resize instead of bumping block by @mikeharv in #10373
  • fix: Fix exception when disposing blocks with focused connections by @gonfunko in #10387

Documentation updates πŸ“„

Other changes

New Contributors

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

blockly-v13.2.2-beta.2

Pre-release

Choose a tag to compare

blockly-v13.2.2-beta.1

Pre-release

Choose a tag to compare

blockly-v13.2.2-beta.0

Pre-release

Choose a tag to compare

What's Changed

Bug fixes πŸ›

Documentation updates πŸ“„

Other changes

Full Changelog: blockly-v13.2.1...blockly-v13.2.2-beta.0

blockly-v13.2.1

Choose a tag to compare

@github-actions github-actions released this 04 Aug 18:55

What's Changed

Bug fixes πŸ›

Other changes

New Contributors

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

blockly-v13.2.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 16:59

What's Changed

New features ✨

  • feat: Indicate the Blockly version number on the playground by @gonfunko in #10127
  • feat: make cacheAllConnectionPairs public by @mikeharv in #10149
  • feat: Rewrite insertion markers to improve performance and fix memory leaks by @gonfunko in #10156
  • feat: add setAriaTypeName method for Fields by @mikeharv in #10154
  • feat: allow translated field labels, add docs by @maribethb in #10174

Bug fixes πŸ›

  • fix: Add visual invalid input handling beyond color by @lizschwab in #10101
  • fix: Fix regression in trashcan lid behavior by @gonfunko in #10130
  • fix: transform svgPathSelected when using RTL and Zelos by @mikeharv in #10152
  • fix: exclude toolbox separators from accessibility tree by @mikeharv in #10153
  • fix: Fix bug that caused getInitialCandidate() to be called on every drag step by @gonfunko in #10157
  • fix: throw on invalid XML connections by @jianchang56 in #10162
  • fix: Improve performance of large connection DB updates by @gonfunko in #10163
  • fix: Fix bug that caused some connections to refuse to connect when dragging from the toolbox by @gonfunko in #10171
  • fix: Consolidate select events by @gonfunko in #10129
  • fix: export JSON block definition type by @yuanran32 in #10102
  • fix: Improve performance of variable name comparisons by @gonfunko in #10175
  • fix: Improve performance of BlockSvg.getRelativeToSurfaceXY() by @gonfunko in #10177

Documentation updates πŸ“„

  • docs: fix typos, broken links, and license by @zspriggs in #10111
  • docs: refactor getting-started codelab to be based on sample app by @zspriggs in #10074
  • docs: make generators, renderers, and getting-started consistent with other codelabs by @zspriggs in #10126
  • docs: refactor css codelab to use sample app by @zspriggs in #10124
  • docs: refactor validation and warnings codelab to use sample app by @zspriggs in #10122
  • docs: refactor context menu codelab to use sample app by @zspriggs in #10119
  • docs: refactor themes codelab to use sample app by @zspriggs in #10118
  • docs: refactor toolbox codelab to use sample app by @zspriggs in #10115

New Contributors

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

blockly-v13.1.1

Choose a tag to compare

@github-actions github-actions released this 06 Jul 16:11

What's Changed

Bug fixes πŸ›

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

blockly-v13.1.0

Choose a tag to compare

@github-actions github-actions released this 29 Jun 21:14

What's Changed

New features ✨

  • feat: Add a new FOCUSABLE capability to IComponent by @gonfunko in #10038
  • feat: Add relevant things to full-block field labels by @mikeharv in #10037
  • feat: ctrl/cmd+v pastes near focused block by @mikeharv in #10061
  • feat: add optional new shortcuts for block/workspace navigation by @maribethb in #10090

Bug fixes πŸ›

Documentation updates πŸ“„

New Contributors

Full Changelog: blockly-v13.0.0...blockly-v13.1.0

blockly-v13.0.0

Choose a tag to compare

@github-actions github-actions released this 15 Jun 17:13

Hello Block Builders! We have a very exciting release for you with v13.0.0! Highlights:

  • Blockly is now both keyboard-navigable and screenreader-accessible by default! You can read more about our approach here. If you have custom blocks and/or fields, you'll want to update the aria roles and labels for those as described here. See below for more resources.
  • If you were using the @blockly/keyboard-navigation plugin, you should uninstall it at the same time that you update to v13! Keyboard navigation is enabled by default.
  • As usual, each of the breaking changes PRs linked below contains instructions for how to know if a change affects you and what to do if it does. Many of these breaking changes are quite niche so for many of you it should not be a huge lift to update. A big category of these is the addition of new keyboard navigation shortcuts. If these conflict with your existing shortcuts, you'll need to update one or the other. We recommend you keep our default keyboard navigation shortcuts if at all possible, to maintain parity with other block-based applications. Get in touch on the forum if you have questions!
  • We updated the default renderer to thrasos. If you explicitly specify your renderer (as you probably should) then this does not affect you, but if not you may notice your blocks look very slightly different. Thrasos is more performant than geras so we recommend you keep using it if possible.
  • We've added a new sound for when a block is dropped on the workspace. Our user testing validated that the new sound helped users understand when a new block is placed, in addition to the existing sound effect for when blocks are connected or disconnected. We know new sounds can be jarring but give it a chance :)
  • We also updated the default location of sounds to blockly.com/media. Best practice is to host the sounds yourself, so if you're doing that be sure to also host the new sound. Or you can replace it with your own file if you prefer.
  • The oldest browser we now support is Safari 15.4. This version is already no longer receiving security updates from Apple so we believe most applications should already have a minimum supported version newer than this. If this is an issue for you, you can polyfill the css :has selector and continue supporting older versions.
  • Plugins are coming soon - we'll send another email when they're released. New this cycle is that all plugins will receive the v13.0.0 version number so it will be easy to tell how to update your plugins when required.

More accessibility resources:

  • Be on the lookout for our Blockly Summit 2026 talks on YouTube which had tons of relevant talks! We'll post an update on the forum when these are live.
  • Best practices for creating accessible applications
  • How to audit your block-based app for conformance with accessibility requirements

What's Changed

Breaking changes πŸ› 

  • fix!: Make ISelectable.workspace an instance of WorkspaceSvg by @gonfunko in #9534
  • fix!: Remove event dependencies on XML by @gonfunko in #9536
  • feat!: Use box-sizing: border-box by default by @gonfunko in #9556
  • fix!: Use SVG icon assets by @gonfunko in #9569
  • refactor!: Deprecate Block.getVars() by @gonfunko in #9574
  • fix!: Normalize Zelos connection indicators by @gonfunko in #9565
  • feat!: Allow moving blocks, comments and bubbles using the keyboard by @gonfunko in #9593
  • refactor!: Move responsibility for block creation out of flyouts by @gonfunko in #9610
  • feat!: Allow using Blockly in web components/shadow DOM by @gonfunko in #9611
  • feat!: Add support for keyboard navigation by @gonfunko in #9634
  • fix!: Fix types on BlockSvg connections by @gonfunko in #9669
  • feat!: announce toasts via shared ARIA live region by @mikeharv in #9672
  • fix!: Improve keyboard navigation of icons and bubbles by @gonfunko in #9737
  • feat: Add a sound effect when dropping top-level items on the workspace by @gonfunko in #9784
  • feat!: Added additional keyboard shortcuts for context menu by @lizschwab in #9845
  • fix!: set full block field status explicitly by @maribethb in #9840
  • fix!: Flyout follows toolbox in DOM by @mikeharv in #9849
  • feat!: Improve context announcement keyboard shortcuts by @gonfunko in #9863
  • fix!: update default media location by @maribethb in #9870
  • feat!: Add keyboard shortcut to toggle screenreader mode by @gonfunko in #9869
  • feat!: add shortcuts to navigate between headings in the flyout by @maribethb in #9874
  • fix!: remove deprecated APIs by @maribethb in #9938
  • feat!: update the default renderer to thrasos by @maribethb in #9976

New features ✨

  • feat: Add a method to play beep tones by @gonfunko in #9612
  • feat: Add keyboard shortcut to focus the workspace by @gonfunko in #9615
  • feat: Move mode for stacks of blocks by @mikeharv in #9630
  • feat: Beep when attempting constrained move on top-level block by @gonfunko in #9635
  • feat: Add keyboard shortcut for disconnecting the selected block by @gonfunko in #9650
  • feat: Stop on workspace during constrained move by @mikeharv in #9649
  • feat: aria live region for announcements by @mikeharv in #9653
  • feat: Update CSS for keyboard navigation by @gonfunko in #9674
  • feat: Add a JSON Block definition interface by @heliacer in #9613
  • feat: Add keyboard shortcuts to navigate between stacks by @gonfunko in #9678
  • feat: i shortcut on workspace gives overview by @mikeharv in #9677
  • feat: Add aria APIs to Field base class by @mikeharv in #9683
  • feat: aria utility additions / improvements by @mikeharv in #9690
  • feat: Add keyboard shortcut to perform an action on the currently focused element by @gonfunko in #9673
  • feat: Add keyboard shortcut to clean up the workspace by @gonfunko in #9728
  • feat: Add keyboard shortcut for duplicating blocks and workspace comments by @gonfunko in #9727
  • feat: Add basic support for generating ARIA labels and roles for blocks by @gonfunko in #9696
  • feat: Screenreader announcements for move mode by @mikeharv in #9731
  • feat: Update zelos path object to allowlist attributes by @lizschwab in #9742
  • feat: add display text to shortcuts by @maribethb in #9743
  • feat: FieldInput ARIA by @mikeharv in #9744
  • feat: Added keyboard shortcut for displaying tooltip by @lizschwab in #9755
  • feat: FieldDropdown ARIA by @mikeharv in #9766
  • feat: ARIA for other field classes by @mikeharv in #9772
  • feat: make flyouts and workspace labels properly accessible by @maribethb in #9774
  • feat: Play delete sound when workspace comments are deleted by @gonfunko in #9776
  • feat: allow setting custom role description for blocks by @maribethb in #9777
  • feat: Bubble ARIA methods by @mikeharv in #9783
  • feat: Added support for custom input ARIA labels by @lizschwab in #9789
  • feat: ...
Read more

blockly-v13.0.0-beta.9

Pre-release

Choose a tag to compare

What's Changed

New features ✨

  • feat: add docs as conventional commit option by @zspriggs in #9970
  • feat: Reduce build size by enabling assume_function_wrapper build flag by @gonfunko in #9921
  • feat: add block role description to verbose block labels by @mikeharv in #9960

Bug fixes πŸ›

Full Changelog: blockly-v13.0.0-beta.8...blockly-v13.0.0-beta.9