github google/blockly 7.20211209.0-beta.0
Q3 2021 Beta Release

latest releases: blockly-v11.2.0-beta.1, blockly-v11.2.0-beta.0, blockly-v11.1.1...
pre-release3 years ago

This quarter the team migrated most of the core library to Closure modules. This is a significant step on our way to migrating fully to TypeScript and leaving Closure behind. The migration touched every file in core, but left our external-facing APIs mostly unchanged. There are some known issues documented in the release post.

API Changes:

  • feat: add support for defining toolboxes using pure json (#5392)
  • Migrate core/events/block_events.js to goog.module syntax (#5320)
  • Migrate core/procedures.js to goog.module syntax (#5265)
  • Migrate core/renderers/common/marker_svg.js to goog.module syntax (#5255)

Issues closed:

  • Problem loading source maps in blockly-webpack sample (#5507)
  • Simplify globalThis export (#5506)
  • how can i change the category arrow color? (#5481)
  • How to limit the workspace can only be extended to the bottom right corner? (#5477)
  • getFastTextWidthWithSizeString says canvasContext is null when called from keyboard nav tests (#5473)
  • For loop error (#5431)
  • Run Generated Code in a Server-side Docker Container (#5411)
  • Empty English strings localized into "" in French (#5399)
  • Blockly field_colour widget changes block color - only in Zelos renderer (#5377)
  • Blocks connected to blocks with multiple connections overlap with each other in Minimalist renderer (#5371)
  • Mocha and generator tests hang (#5345)
  • Bad link to block styles script in guide (#5341)
  • Update Tag module cleanup workflow to add instead of set labels (#5298)
  • Custom generator codelab. Expecting valid order from member and lists_create_with block. (#5291)
  • STATEMENT_PREFIX / STATEMENT_SUFFIX inconsistent (#5268)
  • iOS messages (#5260)
  • Support injecting Blockly into the shadowDom/Web Component (#5230)
  • Could not find "storage.js" (#5215)
  • Build Blockly problem (#5214)
  • Review contents of blockly.js (#5208)
  • Stacks with no next connection overlap statement input in Zelos (#5170)
  • Remove or deprecate exported names ending in _ (#5135)
  • Update exports style in goog.module-migrated files (#5133)
  • Uncaught Error: Language "JavaScript" does not know how to generate code for block type "string_length". (#5113)
  • Closure base.js should not request (non-existent) closure/goog/deps.js (#5103)
  • Change python -> python3 when invoking scripts (#5080)
  • Remove rewrite_polyfills=false (#5039)
  • Mocha tests fail when loading goog.modules (#5030)
  • WARNING: definition of COLOUR_RGB_TOOLTIP in msg/json/sv.json contained a newline character. (#5017)
  • Zoom in/out with CMD on Mac (#4993)
  • Values of fields defined in the toolbox should use the message localization system (#4992)
  • Calling a.setParent(b) without connecting blocks a and b can cause major rendering issues and errors (#4989)
  • Remove themes from core (#4987)
  • Create Github Action to calculate release bundle size delta (#4977)
  • Error to generate blocks on complex input (#4964)
  • Empty comments not saved during serialization (#4960)
  • Scrolling has no effect in the workspace in Safari (#4957)
  • Add a 'Help' button to devsite (#4935)
  • Disabling only one field on a block (#4932)
  • Non autoclosing flyouts do not update zoom level correctly (#4931)
  • Buttons in horiz flyouts are missing vertical padding (#4914)
  • Getters for copy information (#4600)
  • Insertion marker throws unclear error when mutations are badly defined (#4485)
  • Enable stricterMissingRequire in build_tasks (#4457)
  • Fields don't group edits (#4189)
  • Ability to force a line break when inputs are inline (#3804)
  • Highlighted/disabled input statements look overlapped in zelos (#3802)
  • Make a single field uneditable without making the whole block uneditable (#2763)
  • Minimap demo is broken (#2729)
  • Make travis test errors easier to read (#2595)
  • I reference a function without return value (#2033)
  • Hidden statement inputs seem broken (#1967)
  • Code Demo on iOS: Double execution upon tapping run (#1949)
  • Reconsider ordinals in translation (#1657)
  • Typeahead Support for Blockly (#1583)
  • Finalize API for developer variables (#1535)
  • Decide how validators work on variable fields (#1529)
  • Icons aren't visible when the window size is less than 688px. (#1479)
  • Workspace comments (#1476)
  • Permissions framework (#1415)
  • Comment is not works in latest Chrome (#1382)
  • Make horizontal spacing between fields/inputs more consistent (#1347)
  • Allow newlines in field labels (multi-line fields) (#1159)
  • Two ways to create vars mean user can create the same var with different casing (#1115)
  • RFE: Delete variables without creating a new variable field block (#1105)
  • Consider moving all interactions with the block drag surface into the BlockDragger class (#1090)
  • Minimap demo (#924)

Pull Requests:

  • fix: JSDoc generation for modules without classes (#5519)
  • Keyboard nav names (#5517)
  • chore: update dev tools dev dependency (#5516)
  • Merge develop into goog_module (#5514)
  • Remove legacy keyboard nav (#5513)
  • chore: named exports for block* files (#5512)
  • chore: Remove declareLegacyNamespace from block-related files (#5511)
  • fix: enable missingRequire in build_tasks (#5510)
  • chore: remove deprecated functions (#5509)
  • refactor: Remove remaining references to Blockly.* from goog.modules (#5505)
  • Fix goog module jsdoc (#5504)
  • Project cereal goog 2 (#5502)
  • fix: Prevent request of (non-existent) closure/goog/deps.js (#5499)
  • chore: disables caching when running the playground (#5498)
  • chore: remove support for node 10 (#5496)
  • Migrate core/blockly.js to goog.module syntax (#5494)
  • Bump mocha from 8.4.0 to 9.1.1 (#5493)
  • Bump http-server from 0.12.3 to 13.0.2 (#5492)
  • Bump @blockly/dev-tools from 2.6.0 to 2.6.1 (#5490)
  • Migrate selected from Blockly to Blockly.common (#5489)
  • Clean up get/set accessor definitions (#5488)
  • feat: add JSON serialization - goog version (#5487)
  • refactor: Move Blockly.svgResize to Blockly.common (#5485)
  • refactor: move Blockly.deleteBlock out of blockly.js (#5483)
  • refactor: remove unused Blockly.onContextMenu_ (#5480)
  • Make several exported private fields/methods TEST_ONLY (#5479)
  • Bump @blockly/theme-modern from 2.1.22 to 2.1.24 (#5478)
  • refactor: Migrate Blockly.onKeyDown out of blockly.js (#5476)
  • Note Blockly.alert/confirm/prompt/hueToHex/hideChaff migrations in renamings.js (#5475)
  • Remove unused require of Blockly in Blockly.ToolboxCategory (#5474)
  • fix: adds a fix for npm install failing (#5471)
  • Reinstall to update package-lock.json (#5469)
  • test: Changes mocha tests to use node_modules instead of unpkg (#5467)
  • Re-export Blockly.utils.* submodules from Blockly.utils (#5465)
  • Move browser event utils from utils.js to browser_events.js (#5464)
  • Migrate Blockly.hueToHex to Blockly.utils.colour.hueToHex (#5462)
  • Don't monkey-patch Blocky.utils.xml.document in node module (#5461)
  • Migrate hideChaff() from Blockly to WorkspaceSvg (#5460)
  • Migrate core/utils/xml.js to goog.module syntax (#5459)
  • feat: add JSON serialization - goog version (#5458)
  • Move alert/confirm/prompt to a new file, dialog.js (#5457)
  • Migrate core/inject.js to goog_module syntax (#5456)
  • chore: sets polyfill flag to true (#5454)
  • Move bump objects function into a separate module (#5453)
  • Revert inadvertently reverted change to test/deps.js (#5452)
  • Migrate core/global.js to named exports (#5451)
  • Migrate core/touch_gesture.js to goog.module syntax (#5449)
  • Migrate core/msg.js to goog.module syntax (#5448)
  • Bump @blockly/dev-tools from 2.5.4 to 2.6.0 (#5447)
  • Migrate core/utils.js to goog.module syntax (#5446)
  • fix: update code demo to include JSON (#5444)
  • Note behavior of centerOnBlock when block is part of a stack in the JSDoc (#5442)
  • Rename Blockly.utils.IdGenerator to idGenerator and move Blockly.utils.genUid to there (#5441)
  • Migrate tests goog module (#5440)
  • Migrate core/utils/useragent.js to goog.module syntax (#5435)
  • fix: dragging variables from flyout (#5434)
  • fix: loading blocks in RTL (#5433)
  • maxInstance fix (#5430)
  • fix: add missing requires for Blockly.util.object and Blockly.util.Size (#5427)
  • Create scripts/migration/renamings.js to collect information about renamed API entries (#5426)
  • fix: create and delete events, and the trashcan (#5425)
  • fix: serializing edited shadows (#5424)
  • fix: copy paste with json system (#5423)
  • fix: dragging blocks from the flyout that only have XML hooks (#5422)
  • fix: cereal backwards compatibility (#5421)
  • Use Blockly.utils.arrayRemove (#5420)
  • Allow command key zoom on mac devices (#5419)
  • Bump @blockly/dev-tools from 2.5.4 to 2.5.6 (#5417)
  • Bump webdriverio from 7.11.0 to 7.11.1 (#5416)
  • Bump @wdio/selenium-standalone-service from 6.12.1 to 7.10.1 (#5413)
  • Bump webdriverio from 7.6.0 to 7.11.0 (#5412)
  • fix: copy paste w/ JSO hooks (#5410)
  • fix: not being able to specifying variable names in toolbox (#5408)
  • fix: redo disconnect from shadow bug (#5405)
  • Bump webdriverio from 7.6.0 to 7.10.0 (#5403)
  • Renamed Blockly.connectionTypes to Blockly.ConnectionType for consistency (#5402)
  • Renamed Blockly.connectionTypes to Blockly.ConnectionType for consistency. (#5401)
  • fix: project cereal cleanup (#5398)
  • Migrate core/utils/useragent.js to goog.module syntax (#5396)
  • Migrate core/utils/svg.js to goog.module syntax (#5395)
  • Migrate core/utils/global.js to goog.module syntax (#5394)
  • Migrate core/touch.js to goog.module syntax (#5393)
  • feat: add support for defining toolboxes using pure json (#5392)
  • Migrate core/theme/zelos.js to goog.module syntax (#5391)
  • Migrate core/theme/classic.js to goog.module syntax (#5390)
  • Migrate core/renderers/zelos/measurables/row_elements.js to goog.module syntax (#5389)
  • Migrate core/renderers/zelos/measurables/inputs.js to goog.module syntax (#5388)
  • Migrate core/renderers/zelos/renderer.js to goog.module syntax (#5387)
  • Migrate core/renderers/zelos/path_object.js to goog.module syntax (#5386)
  • Migrate core/metrics_manager.js to goog.module syntax (#5385)
  • Migrate core/renderers/zelos/measurables/rows.js to goog.module syntax (#5384)
  • Migrate core/renderers/measurables/rows.js to goog.module syntax (#5383)
  • Migrate core/renderers/measurables/connections.js to goog.module syntax (#5382)
  • Migrate core/renderers/measurables/row_elements.js to goog.module syntax (#5381)
  • Migrate core/events/ws_comment_events.js to goog.module syntax (#5380)
  • fix: insertion markers and change events to work with JSO hooks (#5378)
  • Bump yargs from 16.2.0 to 17.1.1 (#5373)
  • Fix blocks with no next connections overlapping statement input in Zelos (#5369)
  • Migrate core/renderers/thrasos/renderer.js to goog.module syntax (#5368)
  • Migrate core/renderers/thrasos/info.js to goog.module syntax (#5367)
  • Migrate core/renderers/zelos/marker_svg.js to goog.module syntax (#5366)
  • Migrate core/renderers/minimalist/renderer.js to goog.module syntax (#5365)
  • Migrate core/renderers/minimalist/info.js to goog.module syntax (#5364)
  • Migrate core/renderers/minimalist/constants.js to goog.module syntax (#5363)
  • Quiet the typings script unless you tell it to be verbose. (#5362)
  • Migrate core/renderes/zelos/info.js to goog.module syntax (#5361)
  • Quiet the typings script unless you tell it to be verbose. (#5359)
  • Migrate core/renderers/zelos/drawer.js to goog.module syntax (#5358)
  • Migrate core/renderers/zelos/constants.js to goog.module syntax (#5357)
  • fix: remove some attributes from the JSO system (#5356)
  • Bump @blockly/dev-tools from 2.5.3 to 2.5.4 (#5355)
  • Bump concurrently from 6.2.0 to 6.2.1 (#5354)
  • Bump google-closure-compiler from 20210601.0.0 to 20210808.0.0 (#5353)
  • Bump path-parse from 1.0.6 to 1.0.7 (#5352)
  • Bump normalize-url from 4.5.0 to 4.5.1 (#5351)
  • Add missing requireType (#5350)
  • Migrate core/renderers/minimalist/drawer.js to goog.module syntax (#5349)
  • Migrate core/renderers/measurables/inputs.js to goog.module (#5348)
  • Migrate core/renderers/geras/measurables/input.js to goog.module syntax (#5347)
  • Fix issue that prevented Mocha and generator tests from running on certain configurations (#5344)
  • Use goog.requireType when importing interfaces (etc.) (#5343)
  • Pull in translatewiki changes (#5342)
  • Update optional requires (#5340)
  • Add missing eslint disable line for required interface (#5339)
  • Migrate core/renderers/common/renderer.js to goog.module syntax (#5338)
  • Migrate core/renderers/common/debugger.js to goog.module syntax (#5337)
  • Migrate core/renderers/common/block_rendering.js to goog.module syntax (#5335)
  • Migrate core/workspace_svg.js to goog.module syntax (#5334)
  • Update script to use python3 command (#5333)
  • Migrate core/workspace.js to goog.module syntax (#5332)
  • Migrate core/widgetdiv.js to goog.module syntax (#5331)
  • feat: add throwing errors for bad shadows (#5330)
  • feat: upgrade block defs to have JSO serialization hooks (#5329)
  • Bump webdriverio from 7.6.0 to 7.9.1 (#5328)
  • Bump yargs from 16.2.0 to 17.1.0 (#5327)
  • Migrate core/events/variable_events.js to goog.module syntax (#5325)
  • Add labels instead of setting in github action (#5324)
  • Migrate core/block_svg.js to goog.module syntax (#5323)
  • Migrate core/block.js to goog.module syntax (#5322)
  • Migrate core/variables.js to goog.module syntax (#5321)
  • Migrate core/events/block_events.js to goog.module syntax (#5320)
  • Migrate core/xml.js to goog.module syntax (#5319)
  • Revert "fix: update tag module workflow to add labels instead of setting one label" (#5318)
  • Migrate core/toolbox/toolbox.js to goog.module syntax (#5317)
  • Add goog.module.get calls for WorkspaceComment and WorkspaceCommentSvg (#5316)
  • fix: update tag module workflow to add labels instead of setting one label (#5315)
  • Migrate core/names.js to goog.module syntax (#5314)
  • cleanup: Change type defs for state types to records (#5313)
  • Migrate core/input_types.js to goog.module syntax (#5312)
  • Migrate core/events/events_abstract.js to goog.module syntax (#5311)
  • Migrate core/renderers/measurables/types.js to goog.module syntax (#5309)
  • Migrate core/renderers/measurables/base.js to goog.module syntax (#5308)
  • Migrate core/renderers/geras/renderer.js to goog.module syntax (#5307)
  • Migrate core/renderers/geras/path_object.js to goog.module syntax (#5306)
  • Migrate core/renderers/geras/info.js to goog.module syntax (#5305)
  • Migrate core/renderers/geras/highlighter.js to goog.module syntax (#5304)
  • Migrate core/renderers/geras/highlight_constants.js to goog.module syntax (#5303)
  • Migrate core/events/events.js to goog.module syntax (#5302)
  • Bump @blockly/theme-modern from 2.1.21 to 2.1.22 (#5301)
  • Migrate core/renderers/geras/drawer.js to goog.module syntax (#5300)
  • Migrate core/events/ui_events.js to goog.module syntax (#5299)
  • Migrate core/toolbox/category.js to goog.module syntax (#5297)
  • Migrate core/contextmenu.js to goog.module syntax (#5296)
  • Remove extra output from generator and mocha tests (#5196) (#5295)
  • Remove require destructuring (#5294)
  • Migrate core/renderers/geras/constants.js to goog.module syntax (#5293)
  • Add supressPrefixSuffix to if/else block (#5290)
  • Migrate core/insertion_marker_manager.js to goog.module syntax (#5288)
  • Migrate core/options.js to goog.module syntax (#5287)
  • Migrate core/events/events_block_drag.js to goog.module syntax (#5286)
  • Migrate core/events/events_bubble_open.js to goog.module syntax (#5285)
  • Migrate core/events/events_click.js to goog.module syntax (#5284)
  • Migrate core/shortcut_items.js to goog.module syntax (#5283)
  • Migrate core/events/events_marker_move.js to goog.module syntax (#5282)
  • Migrate core/events/events_selected.js to goog.module syntax (#5281)
  • Migrate core/events/events_toolbox_item_select.js to goog.module syntax (#5280)
  • Migrate core/events/events_theme_change.js to goog.module syntax (#5279)
  • Update build artifact sizes in check_metadata.sh (#5278)
  • Migrate core/events/events_trashcan_open.js to goog.module syntax (#5277)
  • feat: adds hooks for serializing plugins (#5276)
  • Migrate core/events/events_viewport.js to goog.module syntax (#5275)
  • Migrate core/events/workspace_events.js to goog.module syntax (#5274)
  • Bump @blockly/block-test from 1.1.2 to 1.1.3 (#5271)
  • Bump eslint from 7.31.0 to 7.32.0 (#5270)
  • Bump webdriverio from 7.6.0 to 7.9.0 (#5269)
  • Remove some deprecated functions (#5267)
  • Remove extra eslint disable from core/gesture.js (#5266)
  • Migrate core/procedures.js to goog.module syntax (#5265)
  • Add missing eslint disable to core/renderers/common/i_path_object.js (#5264)
  • Migrate core/workspace_drag_surface_svg.js to goog.module syntax (#5263)
  • More cleanup of blockly.js (#5262)
  • Migrate core/variables_dynamic.js to goog.module syntax (#5261)
  • Translation updates (specifically Ok/Cancel) (#5259)
  • Migrate core/trashcan.js to goog.module syntax (#5257)
  • Fix eslint warning in core/utils/dom.js (#5256)
  • Migrate core/renderers/common/marker_svg.js to goog.module syntax (#5255)
  • Migrate core/renderers/common/i_path_object.js to goog.module syntax (#5254)
  • Migrate core/workspace_dragger.js to goog.module syntax (#5253)
  • Migrate core/scrollbar.js to goog.module syntax (#5252)
  • Add regex lookarounds to check for require overlaps (#5251)
  • Migrate core/positionable_helpers.js to goog.module syntax (#5250)
  • Migrate core/browser_events.js to goog.module syntax (#5249)
  • Migrate core/variable_model.js to goog.module syntax (#5248)
  • Migrate core/variable_map.js to goog.module syntax (#5247)
  • Add serializing shadows as JSON for the JSON system (#5246)
  • Migrate core/toolbox/toolbox_item.js to goog.module syntax (#5245)
  • Move main workspace to a new file, common.js (#5244)
  • Move Ok/Cancel messages into Blockly. (#5243)
  • Migrate core/toolbox/separator.js to goog.module syntax (#5242)
  • Add handling for converting modules that are not leaf nodes (#5241)
  • Fix issue where the trashcan flyout would remain an active delete region even when closed with the continuous toolbox plugin (#5240)
  • Fix usage instructions for convert-file.sh (#5239)
  • Move clipboard functions to a separate namespace (#5237)
  • Migrate core/toolbox/collapsible_category.js to goog.module syntax (#5236)
  • Fix lint (#5235)
  • Migrate core/bubble.js to goog.module syntax (#5234)
  • Migrate core/workspace_comment_svg.js and core/workspace_comment_svg_render.js to goog.module syntax (#5233)
  • Migrate core/renderers/common/path_object.js to goog.module syntax (#5232)
  • Migrate core/workspace_comment.js to goog.module syntax (#5229)
  • Migrate core/workspace_audio.js to goog.module syntax (#5228)
  • Migrate core/warning.js to goog.module syntax (#5227)
  • Bump @blockly/block-test from 1.1.1 to 1.1.2 (#5226)
  • Migrate core/events/events_abstract.js to goog.module syntax (#5225)
  • Migrate core/zoom_controls.js to goog.module syntax (#5224)
  • Add comment to top of convert-file script for reference to syntax used (#5223)
  • Migrate core/tooltip.js to goog.module syntax (#5222)
  • Migrate core/theme_manager.js to goog.module syntax (#5221)
  • Migrate core/theme.js to goog.module syntax (#5220)
  • Migrate core/shortcut_registry.js to goog.module syntax (#5219)
  • Migrate core/rendered_connection.js to goog.module syntax (#5218)
  • Migrate core/registry.js to goog.module syntax (#5217)
  • feat: add serialization and deserialization of comments (#5216)
  • Bump @blockly/dev-tools from 2.5.2 to 2.5.3 (#5213)
  • Bump @blockly/theme-modern from 2.1.20 to 2.1.21 (#5212)
  • Fix Mutator editor block positions sometimes being out of place for an instant (#5210)
  • Migrate core/gesture.js to goog.module syntax (#5209)
  • Migrate dropdown to goog.module syntax (#5207)
  • Apply fixes for convert-file script (#5206)
  • Migrate core/renderers/common/constants.js to goog.module syntax (#5204)
  • Migrate core/mutator.js to goog.module syntax (#5203)
  • Remove deconstructing properties and update logic (#5202)
  • Migrate core/marker_manager.js to goog.module syntax (#5201)
  • Add throwing exceptions during deserialization (#5200)
  • Migrate core/utils/size.js to goog.module syntax (#5197)
  • Remove extra output from generator and mocha tests (#5196)
  • Migrate core/input.js to goog.module syntax (#5195)
  • Migrate core/icon.js to goog.module syntax (#5194)
  • Migrate core/grid.js to goog.module syntax (#5193)
  • Migrate core/generator.js to goog.module syntax (#5192)
  • Migrate core/flyout_vertical.js to goog.module syntax (#5191)
  • Migrate core/flyout_horizontal.js to goog.module syntax (#5190)
  • Migrate core/interfaces/i_metrics_manager.js to goog.module syntax (#5188)
  • Bump @wdio/selenium-standalone-service from 6.12.1 to 7.8.0 (#5187)
  • Bump webdriverio from 7.6.0 to 7.8.0 (#5186)
  • Update package-lock to try to unstick dependabot (#5184)
  • Migrate core/flyout_button.js to goog.module syntax (#5182)
  • fix: touch up some deserialization behavior (#5181)
  • Migrate core/flyout_base.js to goog.module syntax (#5180)
  • Silences unused variable warnings for requires used in JSDoc. (#5179)
  • Migrate core/field_variable.js to goog.module syntax (#5178)
  • Migrate core/field_textinput.js to goog.module syntax (#5177)
  • Migrate core/menuitem.js to goog.module syntax (#5176)
  • Fix bug in convert-file script with processing arguments (#5175)
  • Migrate core/menu.js to goog.module syntax (#5174)
  • Migrate menu (#5173)
  • Migrate core/field_registry.js to goog.module syntax (#5172)
  • Migrate core/block_dragger.js to goog.module syntax (#5171)
  • Prompt before destructuring properties for a require (#5169)
  • Convert files script cleanup (#5168)
  • Migrate core/field_multilineinput.js to goog.module syntax (#5167)
  • feat: add initialization of blocks and event firing (#5166)
  • Migrate core/field_label_serializable.js to goog.module syntax (#5165)
  • Migrate core/field_label.js to goog.module syntax (#5164)
  • Migrate core/field_image.js to goog.module syntax (#5163)
  • Migrate core/field_dropdown.js to goog.module syntax (#5162)
  • Migrate core/field_colour.js to goog.module syntax (#5159)
  • Remove need for require instead of requireType for Block in ASTNode (#5157)
  • Migrate core/field.js to goog.module syntax (#5154)
  • Fix double execution in Code demo (#5152)
  • Migrate core/drag_target.js to goog.module syntax (#5151)
  • Migrate core/delete_area.js to goog.module syntax (#5150)
  • Migrate core/contextmenu_registry.js to goog.module syntax (#5149)
  • Update goog.module-migrated files to fix style issues (#5148)
  • Migrate core/field_checkbox.js to goog.module syntax (#5147)
  • Migrate core/field_number.js to goog.module syntax (#5145)
  • Migrate core/contextmenu_items.js to goog.module syntax (#5144)
  • Fix edge cases for convert-script (#5143)
  • Migrate core/keyboard_nav/tab_navigate_cursor.js to goog.module syntax (#5142)
  • Migrate core/keyboard_nav/ast_node.js to goog.module syntax (#5141)
  • Make constants.js have no side effects (#5140)
  • Add script for partially automating goog.module conversion steps (#5138)
  • feat: add deserialization of JSON block state (#5137)
  • Merge develop to goog module (#5136)
  • feat: add top level save and load functions for JSO serialization (#5132)
  • feat: add JSO serialization and deserialization of variables (#5131)
  • Only lint once in CI (#5128) (#5130)
  • Migrate core/keyboard_nav/basic_cursor.js to goog.module syntax (#5129)
  • Only lint once in CI (#5128)
  • Migrate core/keyboard_nav/cursor.js to goog.module syntax (#5127)
  • Localization for toolbox XML (#5126)
  • Migrate core/interfaces/i_registrable_field.js to goog.module syntax (#5125)
  • Migrate core/keyboard_nav/marker.js to goog.module syntax (#5123)
  • Migrate core/interfaces/i_toolbox_item.js to goog.module syntax (#5122)
  • Migrate core/connection_db.js to goog.module syntax (#5121)
  • feat: add serialization of child blocks (#5120)
  • Bump webdriverio from 7.6.0 to 7.7.8 (#5119)
  • Always have npm start serve the repository root (#5118)
  • Bump @wdio/selenium-standalone-service from 6.12.1 to 7.7.7 (#5117)
  • Bump eslint from 7.29.0 to 7.31.0 (#5116)
  • Bump @blockly/dev-tools from 2.5.1 to 2.5.2 (#5115)
  • Bump webdriverio from 7.6.0 to 7.7.7 (#5114)
  • Migrate core/interfaces/i_toolbox.js to goog.module syntax (#5111)
  • Migrate core/interfaces/i_styleable.js to goog.module (#5110)
  • Migrate core/interfaces/i_selectable.js to goog.module syntax (#5109)
  • Migrate core/interfaces/i_registrable.js to goog.module (#5108)
  • Migrate core/renderers/common/info.js to goog.module syntax (#5107)
  • Migrate core/connection_checker.js to goog.module (#5106)
  • Migrate core/interfaces/i_positionable.js to goog.module syntax (#5105)
  • Migrate core/interfaces/i_movable.js to goog.module (#5104)
  • Migrate core/connection.js to goog.module syntax (#5102)
  • Migrate core/interfaces/i_flyout.js to goog.module syntax (#5101)
  • Use pull request target trigger for tagging cleanup (#5100)
  • Revert "Auto-tag and add milestones for cleanup PRs" (#5099)
  • Migrate core/comment.js to goog.module syntax (#5098)
  • Migrate core/interfaces/i_draggable.js to goog.module syntax (#5097)
  • Migrate core/interfaces/i_drag_target.js to goog.module syntax (#5096)
  • Migrate core/interfaces/i_delete_area.js to goog.module syntax (#5095)
  • Migrate core/interfaces/i_deletable.js to goog.module (#5094)
  • Migrate core/interfaces/i_copyable.js to goog.module syntax (#5093)
  • Migrate core/interfaces/i_contextmenu.js to goog.module syntax (#5092)
  • Migrate core/interfaces/i_connection_checker.js to goog.module syntax (#5091)
  • Migrate core/interfaces/i_component.js to goog.module syntax (#5090)
  • Migrate core/interfaces/i_bubble.js to goog.module syntax (#5089)
  • Migrate core/interfaces/i_bounded_element.js to goog.module syntax (#5088)
  • Migrate core/interfaces/i_block_dragger.js to goog.module syntax (#5087)
  • Auto-tag and add milestones for cleanup PRs (#5086)
  • Migrate core/interfaces/i_accessibility.js to goog.module syntax (#5085)
  • Migrate core/interfaces/i_autohideable.js to goog.module syntax (#5084)
  • Migrate core/renderers/common/drawer.js to goog.module syntax (#5083)
  • Migrate core/component_manager.js to goog.module syntax (#5082)
  • Migrate core/bubble_dragger.js to goog.module syntax (#5081)
  • Migrate core/block_animations.js to goog.module syntax (#5079)
  • Migrate core/connection_types.js to goog.module syntax (#5078)
  • feat: upgrade fields to use new JSO hooks (#5077)
  • Migrate core/utils/toolbox.js to goog.module syntax (#5076)
  • Migrate core/utils/dom.js to goog.module syntax (#5075)
  • Update dependencies (#5074)
  • Add serialization of field values (#5072)
  • Migrate core/blocks.js to goog.module syntax (#5069)
  • Migrate core/block_drag_surface.js to goog.module syntax (#5068)
  • Migrate core/utils/aria.js to goog.module. (#5067)
  • Migrate core/css.js to goog.module syntax (#5066)
  • Migrate core/extensions.js to goog.module syntax (#5065)
  • Migrate core/utils/metrics.js to goog.module syntax (#5064)
  • Removes eslint rules (#5063)
  • Migrate core/utils/svg_paths.js to goog.module syntax (#5062)
  • Migrate core/utils/rect.js to goog.module syntax (#5061)
  • Migrate core/utils/style.js to goog.module syntax (#5060)
  • Migrate core/utils/string.js to goog.module syntax (#5059)
  • Pull Request template for goog.module PRs (#5058)
  • Migrate object.js to goog.module syntax (#5057)
  • Migrate core/utils/idgenerator.js to goog.module syntax (#5056)
  • Migrate core/utils/math.js to goog.module syntax (#5055)
  • Add serialization of mutators (#5054)
  • Add serialization of basic block attributes to JSOs (#5053)
  • Add JSO hooks for blocks and fields. (#5052)
  • Bump eslint from 7.29.0 to 7.30.0 (#5051)
  • Bump webdriverio from 7.6.0 to 7.7.6 (#5050)
  • Migrate core/utils/keycodes.js to goog.module (#5049)
  • Migrate core/utils/deprecation.js to goog.module syntax (#5048)
  • Migrate core/utils/coordinate.js to goog.module syntax (#5047)
  • Configure eslint and Closure Compiler to accept ES6 (#5046)
  • Migrate core/utils/colour.js to goog.module syntax (#5045)
  • Bump webdriverio from 7.6.0 to 7.7.5 (#5043)
  • Bump @wdio/selenium-standalone-service from 6.12.1 to 7.7.5 (#5042)
  • Remove themes that were moved to blockly samples (#5041)
  • Update package-lock.json to lockfileVersion 2 (#5038)
  • Fix code in code demo executing twice on mobile (#5037)
  • Declare dependencies and use imports in mocha tests (#5036)
  • Add flag to webdriverio options (#5035)
  • Adds a serializer test suite - project cereal (#5034)
  • Added script and workflow to automatically update build artifact sizes in check_metadata.sh (#5033)
  • Remove unused parameters from test helpers (#5032)
  • Add missing whitespace to test files (#5031)
  • Bump @wdio/selenium-standalone-service from 6.12.1 to 7.7.4 (#5028)
  • Bump webdriverio from 7.6.0 to 7.7.4 (#5027)
  • Bump @blockly/theme-modern from 2.1.18 to 2.1.19 (#5024)
  • Bump @blockly/dev-tools from 2.4.0 to 2.5.1 (#5023)
  • Remove undesirable \n from sv.json (#5022)
  • Group field edits together for undo/redo (attempt #2) (#5021)
  • Fix vertical button padding in horizontal flyout (#5020)
  • Preparation for goog.module transition: base.js, deps.js (#5019)
  • Build system changes cleanup (#5018)
  • Move typings output into their own directory under build (#5016)
  • Revert "Get deploy files from the correct directory" (#5014)
  • Revert "Create Github Action to comment on PR while develop is frozen" (#5013)
  • Create develop_freeze.yml (#5012)
  • Update positionable jsdoc (#5011)
  • Get deploy files from the correct directory (#5010)
  • Adds automated release note generation (#5009)
  • Local http server for testing in uncompiled mode (#5008)
  • Create Github Action to comment on PR while develop is frozen (#5006)
  • Appengine deploy workflow on master for testing (#5005)
  • Added @google/blockly-eng as the owner of the entire repo (#5003)
  • Add a github action to generate release forum post content (#5002)
  • Enforce connection preconditions for setParent (#4999)
  • Initial commit for appengine deploy action (#4998)
  • Added script and workflow to automatically update build artifact sizes in check_metadata.sh (#4997)
  • Updates JSDoc in Block and BlockSvg (#4995)
  • Bump mocha from 8.4.0 to 9.0.2 (#4991)
  • Update metadata sizes for Q2 2021 release (#4986)
  • fix doc typo (#4985)
  • Bump typescript from 4.3.2 to 4.3.5 (#4982)
  • Merge master into develop. July 2021 Release (#4981)
  • Bump hosted-git-info from 2.8.4 to 2.8.9 (#4980)
  • Bump lodash from 4.17.19 to 4.17.21 (#4979)
  • Bump ws from 7.4.4 to 7.5.1 (#4978)
  • Rc 2021 7 (#4976)
  • Rebuild (#4975)
  • Allow inheriting of fromJson in fields (#4972)
  • Work around WebKit bug that prevents scrolling/zooming the workspace. (#4969)
  • Build in a temporary directory (#4968)
  • Enable static method inheritance. (#4967)
  • Update turtle mask placement on custom field and remove typo (#4962)
  • Add command to deploy beta version of demos (#4958)
  • Bump google-closure-compiler from 20210505.0.0 to 20210601.0.0 (#4950)
  • Bump mocha from 8.4.0 to 9.0.1 (#4948)
  • Fix serializing non-printable characters to XML (#4945)
  • Permit single field disabling (#4932) (#4941)
  • Reflow flyouts when zoom level changes to keep block zoom level in sync. (#4938)
  • Add check for removing shadow (#4929)
  • Bump postcss from 7.0.35 to 7.0.36 (#4928)
  • Add component abstract class (#4902)
  • Bump normalize-url from 4.5.0 to 4.5.1 (#4900)
  • Toolbox and Flyout as Positionables (#4899)
  • Bump trim-newlines from 3.0.0 to 3.0.1 (#4892)
  • Bump concurrently from 6.1.0 to 6.2.0 (#4867)
  • Bump jsdom from 15.2.1 to 16.6.0 (#4846)
  • Bump yargs from 16.2.0 to 17.0.1 (#4812)
  • issue_3706 (#4776)
  • Fix menu setHighlighted not scrolling to the menuItem (#4750)
  • Keep block drag surface under block (#4639)
  • Migrates the blocks directory to ES6 with goog.module (#4619)
  • Convert workspace.resizesEnabled_ into a counter (#3933)
  • Added optional data property to variable model with storing into/retrieving from XML (#3590)
  • Make XML format extensible (#3222)
  • Implement AI indented value inputs for Blockly (#3219)
  • Remove Dependency on dart:html (#2678)
  • Make XML request in test/generators async (#2451)
  • Adding support for multi-line labels in the toolbox (#1756)
  • Separates hues for variables_get and variables_set. (#688)
  • Namespaces on variables (#454)
  • Namespaces on variables (#452)
  • Shadow blocks morph to regular one on change (see #311), as an optional behavior (#319)
  • Implement typeahead search for blocks with a hotkey (#224)

Don't miss a new blockly release

NewReleases is sending notifications on new releases.