In this release (Q3 2020)

  • Toolbox refactor: Replaces the old closure toolbox with a new toolbox that is easier to extend and work with. Adds the ability to:
    • Define a toolbox with JSON barring some performance issues (more info to come)
    • Register a custom toolbox, flyout, and toolbox item
    • Hide and disable a category
    • Change the classes for the category
  • Workspace click events (WARNING, may change in following release)
  • Ability to register/unregister context menu options for blocks and workspaces via the ContextMenuRegistry

This release had 240 PRs. For a full list of pull requests in this issue, see https://github.com/google/blockly/pull/4319.

API Changes

  • Rename trashcan api calls for open/close lid. (4110)
  • Add option sub types (4096)
  • Move events into the global registry (4053)
  • Remove some old deprecated functions (4029)
  • Update click event handling for workspace and trashcan. (4024)

Issues closed in this release

  • Dragging block from trashcan flyout on mobile is not working (4303)
  • blocks appear on themselves when their count is more than 150 (4297)
  • Custom PHP Function to Blockly Block (4255)
  • Add getter for tooltip (4252)
  • Add Enum for toolbox position (4246)
  • Code demo sized incorrectly when switching to certain languages (4245)
  • QUESTION: this.appendAddSubGroup (4236)
  • Dropdown inputs suddenly getting a 'black' background after value changes (4178)
  • Clicking of "if" block makes the block fly far away (4175)
  • Custom Elements - isTargetInput fails (4157)
  • Toolbox (simple and category) sizes do not get updated properly (4138)
  • Investigate intermittent Travis CI errors (4127)
  • Marked workspace tests failing (4113)
  • FieldNumber does not respect precision for small precision values (4105)
  • Refactor block_test.js Deserialization tests (4101)
  • Add Pinch To Zoom Control Options (4097)
  • Field date documentation should say to use the published package (4094)
  • Error calling dispose on non-injected WorkspaceSvg (4091)
  • Getter for value block output types (4087)
  • Advanced Playground Not Working On Master (4074)
  • Gamepad-based programming (4073)
  • How can we create a treeview toolbox in blockly as in image any sample code or need guide to the docs (4072)
  • This section of JS code how to automatically generate process graphics block (4071)
  • Cleanup for asynchronous calls in Blockly tests (4070)
  • Add cleanup for Events in mocha tests (4064)
  • Add a footer with T&C on blockly-demos site/pages similar to https://developers.google.com/blockly (4063)
  • Trashcan api cleanup (4061)
  • Blockly.JavaScript.variableDB_ is undefined (4060)
  • Disposing of insertion marker causes error in when handling BLOCK_DELETE event (4048)
  • Toolbox categories scale when zooming (4047)
  • Add a build script flag to run the strict type checker (4040)
  • Cannot re-append a field after Input.removeField() (4037)
  • Category UI event is not emitted when block is dragged from flyout (4034)
  • Trashcan should emit UI event when flyout is closed (4033)
  • domToText: Performance issue in large projects (4030)
  • Allows flyout button callbacks to pass a parameter (4027)
  • Moving a mutated block throws errors (4022)
  • External images not working on dropdown input (4015)
  • FieldDate is not included in the master branch (4013)
  • Blockly dropdown causing strange resize problems (4012)
  • Populate previous release metadata (4011)
  • Update Advanced Compilation Documentation (4009)
  • Error in Python Generator for "controls_for" block (4000)
  • Multiline text field generator broken on IE 11 (3998)
  • Update Configuring A Workspace (3990)
  • Variable "propertyValue" of unknown origin (3987)
  • Lua generator's multiline_quote_ produces invalid code (3979)
  • Multiline literals are getting indented (3978)
  • Flyout Fires Workspace Click Event (parent workspace id) (3976)
  • Revert back programatic setShadow after release (3964)
  • Document how to listen to events on all workspaces on the page (3946)
  • Undo'ing a delete of a block with a shadow, loses shadow reference. (3929)
  • Inconsistent behavior passing invalid values to constructor and fromJson (3903)
  • Simple and fancy playgrounds (3882)
  • Probably bad event order in createBlock (3584)
  • When block has mutation, initModel is called before fromXml (3542)
  • Dynamic toolbox category from list of block names (3376)
  • Update or remove screenshot test code (3329)
  • Consider using Greenkeeper (3268)
  • Proposal: Standard dynamic plugin system for Blockly. (3260)
  • Proposal: Pluggable common context menu items for BlockSvg (3237)
  • Script for publishing release candidates to a github.io site (3208)
  • Change Events before Create Event (2627)
  • Add local option to build.py (2245)
  • Add Undo/Redo buttons to playground and multi_playground (1947)
  • Number field: change the value via mouse drag (1701)
  • Add a 'strict' flag on connections (1357)
  • Toolbox as .js files (1144)
  • Unittest warns about prior definition of blocks (999)
  • Warning thrown on some undo (968)
  • Feature request: "Go to function definition" menu point (765)

项目简介

🚀 Github 镜像仓库 🚀

源项目地址

https://github.com/google/blockly

发行版本 28

Q1 2021 Patch 1

全部发行版

贡献者 62

全部贡献者

开发语言

  • JavaScript 93.4 %
  • Python 1.9 %
  • HTML 1.6 %
  • PHP 1.2 %
  • Dart 0.9 %