The Q4 2021 Blockly release is here, and it’s a big one. Over the past two quarters we overhauled the core codebase and changed every file in core to use ES6 syntax and Closure modules. The migration touched every file in core but left our external-facing APIs mostly unchanged.
New Contributors
- @hpnrep6 made their first contribution in #5020
- @Apoorvgarg-creator made their first contribution in #5430
- @himanshujaidka made their first contribution in #5407
- @aaimio made their first contribution in #5500
- @Devesh21700Kumar made their first contribution in #5629
- @yyyang1996 made their first contribution in #5649
- @timgates42 made their first contribution in #5655
- @mark-friedman made their first contribution in #5702
What's Changed
Breaking Changes 🛠
- Migrate core/renderers/common/marker_svg.js to goog.module syntax by @moniika in #5255
- Migrate core/events/block_events.js to goog.module syntax by @moniika in #5320
- Migrate core/procedures.js to goog.module syntax by @gonfunko in #5265
- Changes Css.register API to accept string param by @DubeySandeep in #5472
- fix!(blocks): Rename
Blockly.Blocks.*
modules toBlockly.blocks.*
by @cpcallen in #5696 - chore!: Add deprecation notices to values in blockly.js by @maribethb in #5555
Bug fixes
- fix: Fix mutators when compiled with renames. by @NeilFraser in #5644
- fix: isPrime block should cast str as num by @NeilFraser in #5680
- fix: Don't try to set text fields to null on cancel by @NeilFraser in #5690
- fix: Don't try to set text fields to null on cancel (for master) by @NeilFraser in #5692
- fix: Quote Msg prop name to survive compile by @NeilFraser in #5703
- fix: Prevent error when maxTrashcanContents is 0 by @NeilFraser in #5739
- fix: procedure callers now remove inputs properly by @alschmiedt in #5751
- fix: multi-playground should use goog.require to get blocks by @rachel-fenichel in #5797
Cleanup ♻️
- chore: update dependabot messages and labels by @rachel-fenichel in #5618
- chore: create release.yml by @rachel-fenichel in #5588
- chore: auto-fix violations of comma-dangle rule by @rachel-fenichel in #5625
- chore: replace var with const and let in blocks directory by @rachel-fenichel in #5626
- chore: Update deps.js with modified
lang
values by @cpcallen in #5636 - chore: replace more uses of var with const and let by @rachel-fenichel in #5628
- chore: replace var with let and const in mocha tests by @rachel-fenichel in #5638
- chore: update generators/dart.js to const and let by @rachel-fenichel in #5646
- chore: update language generators to const and let by @rachel-fenichel in #5647
- chore: Fix permissions for Assign requested reviewers workflow by @cpcallen in #5666
- chore: Normalize ++x to x++. by @NeilFraser in #5660
- chore: Update dependabot labelling config by @cpcallen in #5664
- fix: Don't crash when unable to post comment to PR by @cpcallen in #5669
- chore: Create separate report_clang_format workflow in master branch by @cpcallen in #5670
- chore: Remove spurious extra
on
clause in report_clang_format.yml by @cpcallen in #5671 - chore: More spelunking in GitHub Action data by @cpcallen in #5673
- chore: applies fixes to clang format by @alschmiedt in #5677
- chore: apply prefer-const rule fixes in mocha tests by @rachel-fenichel in #5682
- chore: remove references to JSON extraction by @rachel-fenichel in #5683
- chore: revert github action by @alschmiedt in #5675
- chore: fix more lint by @rachel-fenichel in #5676
- chore: add command to launch mocha tests by @rachel-fenichel in #5679
- chore: update
deps.js
,deps.mocha.js
by @cpcallen in #5698 - chore: fix more lint by @rachel-fenichel in #5700
- chore: fix dependabot labels by @rachel-fenichel in #5705
- refactor: Update uncompiled-mode dependency loading for playground, tests by @cpcallen in #5715
- chore(build): Use chunked compilation by @cpcallen in #5721
- refactor: Rename
ALIGN
toAlign
and move fromconstants.js
toinput.js
by @cpcallen in #5742 - chore: Migrate
blocks/colour.js
to goog.module syntax by @cpcallen in #5738 - chore(build): Update compiler & linter input language to ES2020 by @cpcallen in #5745
- refactor: Migrate
blocks/procedures.js
to goog.module syntax by @cpcallen in #5736 - refactor: Migrate
blocks/lists.js
togoog.module
syntax by @cpcallen in #5746 - chore: fix missing requires in generators by @rachel-fenichel in #5744
- feat: clarify variable and procedure constants by @rachel-fenichel in #5743
- refactor: Migrate
blocks/logic.js
togoog.module
syntax by @cpcallen in #5748 - refactor: migrate
generators/dart.js
togoog.module
syntax by @rachel-fenichel in #5749 - refactor: convert some js block generators to goog.module by @rachel-fenichel in #5750
- refactor: Migrate
blocks/loops.js
togoog.module
syntax by @cpcallen in #5755 - refactor: convert generators/javascript/procedures.js to goog.module by @rachel-fenichel in #5754
- refactor: convert some js block generators to goog.module by @rachel-fenichel in #5756
- refactor: convert generators/javascript/loops.js to goog.module by @rachel-fenichel in #5758
- refactor: Migrate
blocks/math.js
togoog.module
syntax by @cpcallen in #5765 - refactor: convert some block generators to goog.module by @rachel-fenichel in #5769
- refactor: convert some block generators to goog.module by @rachel-fenichel in #5770
- refactor: convert python block generators to goog.module by @rachel-fenichel in #5771
- refactor: Migrate
blocks/text.js
togoog.module
syntax by @cpcallen in #5766 - refactor:
core/msg.js
: use named export, removedeclareLegacyNamespace
by @cpcallen in #5768 - refactor: Migrate
blocks/variables.js
togoog.module
syntax by @cpcallen in #5774 - chore: Simplify NPM package wrappers, improve chunk wrapper generator by @cpcallen in #5777
- refactor: Migrate
blocks/variables_dynamic.js
togoog.module
syntax by @cpcallen in #5779 - chore: Fix inadvertent block migration inconsistencies by @cpcallen in #5780
- fix(tests): Fix & reenable the advanced compilation test by @cpcallen in #5781
- chore(deps): remove dependency on typescript-closure-tools by @rachel-fenichel in #5776
- chore: Remove
core/requires.js
by @cpcallen in #5718
Other Changes
- Merge master into develop. July 2021 Release by @BeksOmega in #4981
- Reflow flyouts when zoom level changes to keep block zoom level in sync. by @gonfunko in #4938
- Work around WebKit bug that prevents scrolling/zooming the workspace. by @gonfunko in #4969
- Added @google/blockly-eng as the owner of the entire repo by @gonfunko in #5003
- Initial commit for appengine deploy action by @rachel-fenichel in #4998
- Appengine deploy workflow on master for testing by @rachel-fenichel in #5005
- Get deploy files from the correct directory by @rachel-fenichel in #5010
- Create Github Action to comment on PR while develop is frozen by @moniika in #5006
- Revert "Create Github Action to comment on PR while develop is frozen" by @moniika in #5013
- Create develop_freeze.yml by @moniika in #5012
- Local http server for testing in uncompiled mode by @cpcallen in #5008
- Build in a temporary directory by @cpcallen in #4968
- fix doc typo by @maribethb in #4985
- Updates JSDoc in Block and BlockSvg by @BeksOmega in #4995
- Move typings output into their own directory under
build
by @samelhusseini in #5016 - Allow inheriting of fromJson in fields by @NeilFraser in #4972
- Enable static method inheritance. by @NeilFraser in #4967
- Fix vertical button padding in horizontal flyout by @hpnrep6 in #5020
- Update turtle mask placement on custom field and remove typo by @moniika in #4962
- Group field edits together for undo/redo (attempt #2) by @NeilFraser in #5021
- Remove undesirable \n from sv.json by @NeilFraser in #5022
- Revert "Get deploy files from the correct directory" by @rachel-fenichel in #5014
- Add missing whitespace to test files by @moniika in #5031
- Build system changes cleanup by @cpcallen in #5018
- Add flag to webdriverio options by @moniika in #5035
- Update package-lock.json to lockfileVersion 2 by @cpcallen in #5038
- Remove unused parameters from test helpers by @moniika in #5032
- Remove themes that were moved to blockly samples by @alschmiedt in #5041
- Enforce connection preconditions for setParent by @jschanker in #4999
- Preparation for goog.module transition: base.js, deps.js by @cpcallen in #5019
- Configure eslint and Closure Compiler to accept ES6 by @cpcallen in #5046
- Migrate core/utils/keycodes.js to goog.module by @moniika in #5049
- Migrate core/utils/deprecation.js to goog.module syntax by @moniika in #5048
- Migrate object.js to goog.module syntax by @gonfunko in #5057
- Added script and workflow to automatically update build artifact sizes in check_metadata.sh by @gonfunko in #5033
- Migrate core/utils/idgenerator.js to goog.module syntax by @alschmiedt in #5056
- Migrate core/utils/math.js to goog.module syntax by @moniika in #5055
- Removes eslint rules by @alschmiedt in #5063
- Migrate core/utils/svg_paths.js to goog.module syntax by @gonfunko in #5062
- Migrate core/utils/rect.js to goog.module syntax by @moniika in #5061
- Pull Request template for goog.module PRs by @cpcallen in #5058
- Migrate core/utils/colour.js to goog.module syntax by @moniika in #5045
- Migrate core/block_drag_surface.js to goog.module syntax by @moniika in #5068
- Migrate core/utils/metrics.js to goog.module syntax by @moniika in #5064
- Migrate core/blocks.js to goog.module syntax by @moniika in #5069
- Fix code in code demo executing twice on mobile by @hpnrep6 in #5037
- Migrate core/extensions.js to goog.module syntax by @moniika in #5065
- Migrate core/css.js to goog.module syntax by @moniika in #5066
- Migrate core/connection_types.js to goog.module syntax by @moniika in #5078
- Migrate core/block_animations.js to goog.module syntax by @gonfunko in #5079
- Migrate core/component_manager.js to goog.module syntax by @moniika in #5082
- Migrate core/utils/coordinate.js to goog.module syntax by @moniika in #5047
- Migrate core/interfaces/i_block_dragger.js to goog.module syntax by @moniika in #5087
- Migrate core/interfaces/i_bounded_element.js to goog.module syntax by @moniika in #5088
- Migrate core/interfaces/i_component.js to goog.module syntax by @moniika in #5090
- Migrate core/interfaces/i_deletable.js to goog.module by @moniika in #5094
- Migrate core/renderers/common/drawer.js to goog.module syntax by @rachel-fenichel in #5083
- Auto-tag and add milestones for cleanup PRs by @rachel-fenichel in #5086
- Use pull request target trigger for tagging cleanup by @rachel-fenichel in #5100
- Migrate core/interfaces/i_delete_area.js to goog.module syntax by @moniika in #5095
- Migrate core/interfaces/i_draggable.js to goog.module syntax by @moniika in #5097
- Migrate core/interfaces/i_copyable.js to goog.module syntax by @moniika in #5093
- Migrate core/interfaces/i_movable.js to goog.module by @moniika in #5104
- Migrate core/interfaces/i_styleable.js to goog.module by @moniika in #5110
- Migrate core/connection_checker.js to goog.module by @gonfunko in #5106
- Migrate core/interfaces/i_positionable.js to goog.module syntax by @moniika in #5105
- Migrate core/interfaces/i_drag_target.js to goog.module syntax by @moniika in #5096
- Migrate core/bubble_dragger.js to goog.module syntax by @gonfunko in #5081
- Always have npm start serve the repository root by @cpcallen in #5118
- Migrate core/utils/style.js to goog.module syntax by @gonfunko in #5060
- Migrate core/interfaces/i_bubble.js to goog.module syntax by @moniika in #5089
- Migrate core/interfaces/i_selectable.js to goog.module syntax by @moniika in #5109
- Migrate core/interfaces/i_accessibility.js to goog.module syntax by @moniika in #5085
- Migrate core/interfaces/i_contextmenu.js to goog.module syntax by @moniika in #5092
- Migrate core/connection_db.js to goog.module syntax by @gonfunko in #5121
- Migrate core/interfaces/i_flyout.js to goog.module syntax by @moniika in #5101
- Migrate core/interfaces/i_toolbox.js to goog.module syntax by @moniika in #5111
- Migrate core/interfaces/i_autohideable.js to goog.module syntax by @moniika in #5084
- Permit single field disabling (#4932) by @jschanker in #4941
- Only lint once in CI by @maribethb in #5128
- Migrate core/comment.js to goog.module syntax by @gonfunko in #5098
- Migrate core/keyboard_nav/basic_cursor.js to goog.module syntax by @moniika in #5129
- Migrate core/interfaces/i_connection_checker.js to goog.module syntax by @moniika in #5091
- Migrate core/keyboard_nav/cursor.js to goog.module syntax by @moniika in #5127
- Migrate core/connection.js to goog.module syntax by @gonfunko in #5102
- Migrate core/utils/toolbox.js to goog.module syntax by @alschmiedt in #5076
- Add script for partially automating goog.module conversion steps by @moniika in #5138
- Merge develop to goog module by @moniika in #5136
- Migrate core/interfaces/i_registrable.js to goog.module by @moniika in #5108
- Migrate core/interfaces/i_toolbox_item.js to goog.module syntax by @moniika in #5122
- Fix edge cases for convert-script by @moniika in #5143
- Migrate core/keyboard_nav/tab_navigate_cursor.js to goog.module syntax by @moniika in #5142
- Migrate core/renderers/common/info.js to goog.module syntax by @rachel-fenichel in #5107
- Migrate core/interfaces/i_registrable_field.js to goog.module syntax by @moniika in #5125
- Add command to deploy beta version of demos by @moniika in #4958
- Migrate core/drag_target.js to goog.module syntax by @gonfunko in #5151
- Migrate core/field.js to goog.module syntax by @gonfunko in #5154
- Migrate core/field_checkbox.js to goog.module syntax by @gonfunko in #5147
- Make constants.js have no side effects by @rachel-fenichel in #5140
- Remove need for require instead of requireType for Block in ASTNode by @moniika in #5157
- Fix double execution in Code demo by @NeilFraser in #5152
- Migrate core/field_colour.js to goog.module syntax by @gonfunko in #5159
- Migrate core/field_number.js to goog.module syntax by @gonfunko in #5145
- Update goog.module-migrated files to fix style issues by @gonfunko in #5148
- Migrate core/field_dropdown.js to goog.module syntax by @gonfunko in #5162
- Convert files script cleanup by @moniika in #5168
- Fix bug in convert-file script with processing arguments by @moniika in #5175
- Prompt before destructuring properties for a require by @moniika in #5169
- Migrate core/delete_area.js to goog.module syntax by @gonfunko in #5150
- Migrate core/field_variable.js to goog.module syntax by @gonfunko in #5178
- Migrate core/field_registry.js to goog.module syntax by @gonfunko in #5172
- Update package-lock to try to unstick dependabot by @maribethb in #5184
- Migrate core/field_label_serializable.js to goog.module syntax by @moniika in #5165
- Migrate core/field_image.js to goog.module syntax by @moniika in #5163
- Migrate core/field_multilineinput.js to goog.module syntax by @moniika in #5167
- Silences unused variable warnings for requires used in JSDoc. by @gonfunko in #5179
- Migrate core/interfaces/i_metrics_manager.js to goog.module syntax by @moniika in #5188
- Migrate core/menu.js to goog.module syntax by @alschmiedt in #5174
- Migrate core/generator.js to goog.module syntax by @gonfunko in #5192
- Migrate core/block_dragger.js to goog.module syntax by @alschmiedt in #5171
- Migrate core/flyout_horizontal.js to goog.module syntax by @gonfunko in #5190
- Migrate core/grid.js to goog.module syntax by @gonfunko in #5193
- Migrate core/icon.js to goog.module syntax by @gonfunko in #5194
- Remove deconstructing properties and update logic by @moniika in #5202
- Migrate core/input.js to goog.module syntax by @gonfunko in #5195
- Migrate core/field_textinput.js to goog.module syntax by @gonfunko in #5177
- Migrate core/flyout_vertical.js to goog.module syntax by @gonfunko in #5191
- Migrate core/flyout_base.js to goog.module syntax by @gonfunko in #5180
- Migrate core/renderers/common/constants.js to goog.module syntax by @rachel-fenichel in #5204
- Apply fixes for convert-file script by @moniika in #5206
- Migrate core/field_label.js to goog.module syntax by @moniika in #5164
- Migrate core/gesture.js to goog.module syntax by @moniika in #5209
- Migrate core/marker_manager.js to goog.module syntax by @gonfunko in #5201
- Migrate core/utils/size.js to goog.module syntax by @cpcallen in #5197
- Migrate core/theme_manager.js to goog.module syntax by @gonfunko in #5221
- Migrate core/zoom_controls.js to goog.module syntax by @moniika in #5224
- Migrate core/shortcut_registry.js to goog.module syntax by @gonfunko in #5219
- Remove extra output from generator and mocha tests by @alschmiedt in #5196
- Add comment to top of convert-file script for reference to syntax used by @moniika in #5223
- Migrate core/mutator.js to goog.module syntax by @gonfunko in #5203
- Migrate core/rendered_connection.js to goog.module syntax by @gonfunko in #5218
- Migrate core/warning.js to goog.module syntax by @moniika in #5227
- Migrate core/keyboard_nav/ast_node.js to goog.module syntax by @moniika in #5141
- Migrate core/workspace_audio.js to goog.module syntax by @moniika in #5228
- Migrate core/renderers/common/path_object.js to goog.module syntax by @rachel-fenichel in #5232
- Fix lint by @rachel-fenichel in #5235
- Migrate core/keyboard_nav/marker.js to goog.module syntax by @moniika in #5123
- Fix issue where the trashcan flyout would remain an active delete region even when closed with the continuous toolbox plugin by @gonfunko in #5240
- Fix usage instructions for convert-file.sh by @moniika in #5239
- Add handling for converting modules that are not leaf nodes by @moniika in #5241
- Migrate core/registry.js to goog.module syntax by @gonfunko in #5217
- Migrate core/utils/dom.js to goog.module syntax by @gonfunko in #5075
- Add regex lookarounds to check for require overlaps by @moniika in #5251
- Migrate core/toolbox/collapsible_category.js to goog.module syntax by @moniika in #5236
- Migrate core/workspace_comment.js to goog.module syntax by @moniika in #5229
- Migrate core/workspace_comment_svg.js and core/workspace_comment_svg_render.js to goog.module syntax by @moniika in #5233
- Migrate core/flyout_button.js to goog.module syntax by @gonfunko in #5182
- Migrate core/variable_model.js to goog.module syntax by @gonfunko in #5248
- Migrate core/theme.js to goog.module syntax by @gonfunko in #5220
- Fix eslint warning in core/utils/dom.js by @moniika in #5256
- Move clipboard functions to a separate namespace by @rachel-fenichel in #5237
- Move main workspace to a new file, common.js by @rachel-fenichel in #5244
- Migrate core/variable_map.js to goog.module syntax by @gonfunko in #5247
- Migrate core/variables_dynamic.js to goog.module syntax by @gonfunko in #5261
- Migrate core/trashcan.js to goog.module syntax by @gonfunko in #5257
- Migrate core/renderers/common/i_path_object.js to goog.module syntax by @moniika in #5254
- Migrate core/workspace_dragger.js to goog.module syntax by @moniika in #5253
- Migrate core/browser_events.js to goog.module syntax by @moniika in #5249
- Migrate core/contextmenu_items.js to goog.module syntax by @moniika in #5144
- Add missing eslint disable to core/renderers/common/i_path_object.js by @moniika in #5264
- Migrate core/scrollbar.js to goog.module syntax by @moniika in #5252
- Migrate core/toolbox/toolbox_item.js to goog.module syntax by @moniika in #5245
- Remove extra eslint disable from core/gesture.js by @moniika in #5266
- Fix Mutator editor block positions sometimes being out of place for an instant by @hpnrep6 in #5210
- Update build artifact sizes in check_metadata.sh by @gonfunko in #5278
- Migrate core/events/events_marker_move.js to goog.module syntax by @gonfunko in #5282
- Migrate core/events/events_toolbox_item_select.js to goog.module syntax by @gonfunko in #5280
- Migrate core/positionable_helpers.js to goog.module syntax by @moniika in #5250
- Migrate core/shortcut_items.js to goog.module syntax by @moniika in #5283
- Migrate core/events/events_click.js to goog.module syntax by @gonfunko in #5284
- Migrate core/events/events_viewport.js to goog.module syntax by @gonfunko in #5275
- Migrate core/menuitem.js to goog.module syntax by @alschmiedt in #5176
- Migrate core/renderers/geras/constants.js to goog.module syntax by @gonfunko in #5293
- Migrate core/events/events_selected.js to goog.module syntax by @gonfunko in #5281
- Remove require destructuring by @moniika in #5294
- Migrate core/toolbox/separator.js to goog.module syntax by @moniika in #5242
- Migrate core/workspace_drag_surface_svg.js to goog.module syntax by @gonfunko in #5263
- Migrate core/events/events_trashcan_open.js to goog.module syntax by @gonfunko in #5277
- Migrate core/events/events_bubble_open.js to goog.module syntax by @gonfunko in #5285
- Migrate core/contextmenu.js to goog.module syntax by @moniika in #5296
- Add supressPrefixSuffix to if/else block by @NeilFraser in #5290
- Migrate core/renderers/geras/highlighter.js to goog.module syntax by @gonfunko in #5304
- Migrate core/renderers/geras/info.js to goog.module syntax by @gonfunko in #5305
- Migrate core/input_types.js to goog.module syntax by @moniika in #5312
- More cleanup of blockly.js by @rachel-fenichel in #5262
- Migrate core/renderers/geras/highlight_constants.js to goog.module syntax by @gonfunko in #5303
- Translation updates (specifically Ok/Cancel) by @NeilFraser in #5259
- Migrate core/options.js to goog.module syntax by @moniika in #5287
- Migrate core/toolbox/category.js to goog.module syntax by @moniika in #5297
- Migrate core/names.js to goog.module syntax by @moniika in #5314
- fix: update tag module workflow to add labels instead of setting one label by @rachel-fenichel in #5315
- Revert "fix: update tag module workflow to add labels instead of setting one label" by @rachel-fenichel in #5318
- Migrate core/renderers/measurables/types.js to goog.module syntax by @gonfunko in #5309
- Remove extra output from generator and mocha tests (#5196) by @alschmiedt in #5295
- Migrate core/block.js to goog.module syntax by @gonfunko in #5322
- Add labels instead of setting in github action by @moniika in #5324
- Migrate core/events/events_abstract.js to goog.module syntax by @moniika in #5311
- Add goog.module.get calls for WorkspaceComment and WorkspaceCommentSvg by @moniika in #5316
- Migrate core/block_svg.js to goog.module syntax by @gonfunko in #5323
- Migrate core/renderers/geras/path_object.js to goog.module syntax by @gonfunko in #5306
- Migrate core/events/workspace_events.js to goog.module syntax by @gonfunko in #5274
- Migrate core/workspace.js to goog.module syntax by @moniika in #5332
- Migrate core/contextmenu_registry.js to goog.module syntax by @gonfunko in #5149
- Migrate core/renderers/common/block_rendering.js to goog.module syntax by @moniika in #5335
- Migrate core/events/variable_events.js to goog.module syntax by @moniika in #5325
- Migrate core/toolbox/toolbox.js to goog.module syntax by @moniika in #5317
- Migrate core/workspace_svg.js to goog.module syntax by @gonfunko in #5334
- Update optional requires by @moniika in #5340
- Add missing eslint disable line for required interface by @moniika in #5339
- Fix issue that prevented Mocha and generator tests from running on certain configurations by @gonfunko in #5344
- Update script to use python3 command by @moniika in #5333
- Migrate core/renderers/measurables/base.js to goog.module syntax by @gonfunko in #5308
- Migrate core/renderers/geras/drawer.js to goog.module syntax by @gonfunko in #5300
- Migrate core/renderers/geras/renderer.js to goog.module syntax by @gonfunko in #5307
- Migrate core/events/events_theme_change.js to goog.module syntax by @gonfunko in #5279
- Migrate core/events/events_block_drag.js to goog.module syntax by @gonfunko in #5286
- Use
goog.requireType
when importing interfaces (etc.) by @cpcallen in #5343 - Migrate core/renderers/minimalist/drawer.js to goog.module syntax by @moniika in #5349
- Migrate core/renderers/common/renderer.js to goog.module syntax by @moniika in #5338
- Migrate core/renderers/measurables/inputs.js to goog.module by @moniika in #5348
- Migrate core/renderers/geras/measurables/input.js to goog.module syntax by @moniika in #5347
- Migrate core/events/ui_events.js to goog.module syntax by @moniika in #5299
- Migrate core/insertion_marker_manager.js to goog.module syntax by @moniika in #5288
- Migrate core/xml.js to goog.module syntax by @moniika in #5319
- Migrate core/bubble.js to goog.module syntax by @maribethb in #5234
- Migrate core/utils/aria.js to goog.module. by @maribethb in #5067
- Migrate core/renderers/zelos/constants.js to goog.module syntax by @moniika in #5357
- Migrate core/renderers/common/debugger.js to goog.module syntax by @moniika in #5337
- Migrate core/variables.js to goog.module syntax by @gonfunko in #5321
- Quiet the typings script unless you tell it to be verbose. by @maribethb in #5359
- Migrate core/utils/string.js to goog.module syntax by @gonfunko in #5059
- Migrate core/renderers/zelos/drawer.js to goog.module syntax by @moniika in #5358
- Migrate core/renderes/zelos/info.js to goog.module syntax by @moniika in #5361
- Migrate core/renderers/zelos/marker_svg.js to goog.module syntax by @moniika in #5366
- Quiet the typings script unless you tell it to be verbose. by @maribethb in #5362
- Fix blocks with no next connections overlapping statement input in Zelos by @hpnrep6 in #5369
- Migrate core/renderers/minimalist/renderer.js to goog.module syntax by @gonfunko in #5365
- Migrate core/renderers/minimalist/constants.js to goog.module syntax by @gonfunko in #5363
- Migrate core/renderers/minimalist/info.js to goog.module syntax by @gonfunko in #5364
- Migrate core/widgetdiv.js to goog.module syntax by @gonfunko in #5331
- Migrate core/renderers/thrasos/renderer.js to goog.module syntax by @moniika in #5368
- Migrate core/renderers/thrasos/info.js to goog.module syntax by @moniika in #5367
- Migrate core/renderers/measurables/row_elements.js to goog.module syntax by @gonfunko in #5381
- Migrate core/renderers/measurables/rows.js to goog.module syntax by @moniika in #5383
- Migrate core/renderers/zelos/path_object.js to goog.module syntax by @moniika in #5386
- Migrate core/renderers/measurables/connections.js to goog.module syntax by @moniika in #5382
- Migrate core/touch.js to goog.module syntax by @moniika in #5393
- Migrate core/theme/zelos.js to goog.module syntax by @moniika in #5391
- Migrate core/theme/classic.js to goog.module syntax by @moniika in #5390
- Migrate core/renderers/zelos/renderer.js to goog.module syntax by @moniika in #5387
- Migrate core/metrics_manager.js to goog.module syntax by @moniika in #5385
- Migrate core/renderers/zelos/measurables/row_elements.js to goog.module syntax by @moniika in #5389
- Migrate core/renderers/zelos/measurables/rows.js to goog.module syntax by @moniika in #5384
- Migrate core/utils/svg.js to goog.module syntax by @moniika in #5395
- Migrate core/utils/global.js to goog.module syntax by @moniika in #5394
- Migrate core/renderers/zelos/measurables/inputs.js to goog.module syntax by @moniika in #5388
- Migrate core/events/ws_comment_events.js to goog.module syntax by @gonfunko in #5380
- Migrate dropdown to goog.module syntax by @alschmiedt in #5207
- Migrate core/events/events.js to goog.module syntax by @gonfunko in #5302
- Allow command key zoom on mac devices by @hpnrep6 in #5419
- Create
scripts/migration/renamings.js
to collect information about renamed API entries by @cpcallen in #5426 - Use Blockly.utils.arrayRemove by @NeilFraser in #5420
- fix: add missing requires for
Blockly.util.object
andBlockly.util.Size
by @cpcallen in #5427 - Migrate core/utils/useragent.js to goog.module syntax by @cpcallen in #5435
- Note behavior of centerOnBlock when block is part of a stack in the JSDoc by @gonfunko in #5442
- Rename
Blockly.utils.IdGenerator
toidGenerator
and moveBlockly.utils.genUid
to there by @cpcallen in #5441 - Migrate core/utils.js to goog.module syntax by @cpcallen in #5446
- maxInstance fix by @Apoorvgarg-creator in #5430
- Migrate core/tooltip.js to goog.module syntax by @gonfunko in #5222
- Migrate core/touch_gesture.js to goog.module syntax by @gonfunko in #5449
- Migrate core/msg.js to goog.module syntax by @cpcallen in #5448
- Revert inadvertently reverted change to
test/deps.js
by @cpcallen in #5452 - Migrate
core/global.js
to named exports by @cpcallen in #5451 - Migrate core/utils/xml.js to goog.module syntax by @cpcallen in #5459
- Move alert/confirm/prompt to a new file, dialog.js by @gonfunko in #5457
- Move bump objects function into a separate module by @rachel-fenichel in #5453
- Don't monkey-patch
Blocky.utils.xml.document
in node module by @cpcallen in #5461 - Migrate Blockly.hueToHex to Blockly.utils.colour.hueToHex by @gonfunko in #5462
- Migrate core/inject.js to goog_module syntax by @rachel-fenichel in #5456
- test: Changes mocha tests to use node_modules instead of unpkg by @alschmiedt in #5467
- fix: adds a fix for npm install failing by @alschmiedt in #5471
- Migrate hideChaff() from Blockly to WorkspaceSvg by @gonfunko in #5460
- Remove unused require of
Blockly
inBlockly.ToolboxCategory
by @cpcallen in #5474 - Re-export
Blockly.utils.*
submodules fromBlockly.utils
by @cpcallen in #5465 - Migrate tests goog module by @alschmiedt in #5440
- Note Blockly.alert/confirm/prompt/hueToHex/hideChaff migrations in renamings.js by @gonfunko in #5475
- refactor: Migrate Blockly.onKeyDown out of blockly.js by @maribethb in #5476
- refactor: remove unused Blockly.onContextMenu_ by @maribethb in #5480
- refactor: move Blockly.deleteBlock out of blockly.js by @maribethb in #5483
- refactor: Move Blockly.svgResize to Blockly.common by @maribethb in #5485
- chore: sets polyfill flag to true by @alschmiedt in #5454
- Clean up get/set accessor definitions by @cpcallen in #5488
- Migrate selected from Blockly to Blockly.common by @gonfunko in #5489
- chore: remove support for node 10 by @alschmiedt in #5496
- Migrate core/blockly.js to goog.module syntax by @gonfunko in #5494
- Move browser event utils from utils.js to browser_events.js by @BeksOmega in #5464
- chore: disables caching when running the playground by @alschmiedt in #5498
- fix: Prevent request of (non-existent) closure/goog/deps.js by @cpcallen in #5499
- feat: add JSON serialization - goog version by @BeksOmega in #5487
- Make several exported private fields/methods TEST_ONLY by @gonfunko in #5479
- refactor: Remove remaining references to
Blockly.*
fromgoog.module
s by @cpcallen in #5505 - Fix goog module jsdoc by @moniika in #5504
- chore: remove deprecated functions by @rachel-fenichel in #5509
- fix: enable missingRequire in build_tasks by @rachel-fenichel in #5510
- chore: Remove declareLegacyNamespace from block-related files by @gonfunko in #5511
- Remove legacy keyboard nav by @alschmiedt in #5513
- chore: named exports for block* files by @rachel-fenichel in #5512
- refactor: Use named exports for modules in core/keyboard_nav/*.js by @alschmiedt in #5517
- chore: update dev tools dev dependency by @alschmiedt in #5516
- Merge develop into goog_module by @moniika in #5514
- fix: JSDoc generation for modules without classes by @gonfunko in #5519
- fix: Updates the release task to build typings for msgs by @alschmiedt in #5495
- Migrate core/field_angle.js to to goog.module syntax by @NeilFraser in #5521
- chore: Remove declareLegacyNamespace() from toolbox/* files by @moniika in #5523
- fix: Cleanup warnings logged by mocha tests by @moniika in #5520
- chore: Remove declareLegacyNamespace() from field_* files by @gonfunko in #5522
- chore: Remove declareLegacyNamespace() from files in core by @gonfunko in #5525
- chore: Remove declareLegacyNamespace() from Blockly.Themes files by @moniika in #5524
- refactor: Rename Blockly.connectionTypes to Blockly.ConnectionType by @himanshujaidka in #5407
- chore: Remove declareLegacyNamespace from renderers by @gonfunko in #5528
- Fix typo in Blockly.serialization.blocks by @moniika in #5531
- chore: Remove declareLegacyNamespace() from files under interfaces/* by @moniika in #5526
- refactor: Migrate
Blockly.ConnectionType
to named exports by @cpcallen in #5533 - Reexport
global.globalThis
this asBlockly.utils.global
by @cpcallen in #5534 - refactor: Rename
Blockly.Blocks
, migrate to named exports by @cpcallen in #5515 - chore: remove declareLegacyNamespace from events by @alschmiedt in #5532
- Fix typo in alias by @moniika in #5529
- fix: Add hack to copy accessors to global Blockly namespace object by @cpcallen in #5536
- BREAKING CHANGE: Migrate
core/
togoog.module
by @cpcallen in #5544 - fix: blocks dragged from RTL flyout being incorrectly positioned by @BeksOmega in #5548
- fix: infinite loop when using defineProperties by @alschmiedt in #5549
- Add namespace and alias annotations to jsdoc by @moniika in #5550
- Add missing @alias annotations by @moniika in #5559
- Update @Package annotations by @moniika in #5558
- Add JSDoc to theme classes. by @moniika in #5551
- Add missing alias annotations by @moniika in #5561
- chore: Rollup of all Q3 message changes by @NeilFraser in #5565
- chore: Rollup of all Q3 message changes by @NeilFraser in #5564
- Add class annotation by @moniika in #5566
- JSDoc improvments for accessors, etc. by @cpcallen in #5567
- fix: Use
goog.require
instead ofgoog.requireType
for interfaces when necessary by @cpcallen in #5568 - fix: Fix JS Spaghetti button. by @maribethb in #5569
- fix: RTL copy-paste and duplicate by @BeksOmega in #5560
- fix: Fix Block Factory preview workspace by @cpcallen in #5571
- chore: rebuild for release by @alschmiedt in #5573
- fix: Fix errors in injected CSS by @moniika in #5587
- feat: add
Blockly.Extensions.isRegistered
function by @aaimio in #5500 - chore: Run clang-format on core/*.js by @rachel-fenichel in #5589
- fix: Make update_metadata.sh work on macOS by @gonfunko in #5590
- Fix options list being repeated when showEditor is programmatically called repeatedly by @hpnrep6 in #5429
- feat: Add Croatian to Code demo by @NeilFraser in #5583
- chore: Convert == to === and != to !== where possible. by @NeilFraser in #5599
- docs: Remove @author tags by @NeilFraser in #5601
- fix: Don't kludge accessors in compiled mode by @cpcallen in #5591
- fix: group context menu collapse blocks events by @aaimio in #5501
- Add Croatian to Code demo (#5583) by @NeilFraser in #5611
- fix: Positioning of pasted/duplicated blocks in LTR workspaces by @gonfunko in #5613
- refactor: Migrate to named exports by @gonfunko in #5623
- chore: runs clang format on all files by @alschmiedt in #5627
- chore: run eslint --fix for no-var rule in tests/mocha by @rachel-fenichel in #5637
- Clang formatter by @alschmiedt in #5624
- fix: Reexport of
Marker
in blockly.js because the Blockly.Marker module now uses named exports. by @Devesh21700Kumar in #5629 - chore: Add feedback on expiry page. by @NeilFraser in #5648
- chore: update dependabot messages and labels by @rachel-fenichel in #5653
- chore: replace var with const and let in python block generators by @rachel-fenichel in #5650
- chore: update var to const and let in dart block generators by @rachel-fenichel in #5654
- chore: adds initial action to assign reviewers by @alschmiedt in #5642
- fix(zelos): typo by @yyyang1996 in #5649
- docs: Fix a few typos by @timgates42 in #5655
- chore: update javascript block generators to const and let by @rachel-fenichel in #5661
- chore: update php block generators to const and let by @rachel-fenichel in #5663
- chore: update lua block generators to const and let by @rachel-fenichel in #5662
- fix: bad order of checks for setting flyout visibility by @rachel-fenichel in #5681
- chore: Move functions from utils by @rachel-fenichel in #5706
- chore: move remaining functions out of utils.js by @rachel-fenichel in #5714
- chore: fix or ignore remaining lint by @rachel-fenichel in #5709
- chore: move remaining function definitions out of blockly.js by @rachel-fenichel in #5699
- chore: enable eslint-config-google by @rachel-fenichel in #5717
- chore: Record renamings for named exports by @gonfunko in #5719
- chore: make Blockly.common.setSelected package and update docs by @maribethb in #5728
- chore: moves the public loop mixin into its own file by @alschmiedt in #5730
- Enable the creation of concurrent, but not connected, output and previous connectors by @mark-friedman in #5702
- fix: Stop throwing error when PointerEvent.pageX is 0. by @NeilFraser in #5727
- chore: revert #5730 by @alschmiedt in #5740
- refactor: convert some block generators to goog.module by @rachel-fenichel in #5762
- chore: sets the compiled flag to true by @alschmiedt in #5767
- Remove declare legacy serialization by @alschmiedt in #5757
- feat: make checkAndDelete a public API by @alschmiedt in #5772
- Fix advanced playground by @alschmiedt in #5775
- chore: updates the names for parsing by @alschmiedt in #5778
- deprecate!: removes deprecated connection functions by @alschmiedt in #5713
- chore(test): Add playground that uses compressed files by @rachel-fenichel in #5782
- chore(test): add version of multi_playground with compressed files by @rachel-fenichel in #5785
- release: merge master into develop by @rachel-fenichel in #5792
- fix: allow undefined color in toolbox definition by @maribethb in #5801
- fix: don't use fully qualified namespace in aria by @maribethb in #5804
- fix: Upload new TypeScript typings for Q4 release by @maribethb in #5802
- release: rebuild for 7.20211209.0 release by @maribethb in #5806
- release: Rc 2021 12 by @maribethb in #5808
- release: Merge master into develop 7.20211209.0 by @maribethb in #5809
Full Changelog: 6.20210701.0...draft-q4-2021