Skip to content

Releases: google/blockly

Q1 2021

25 Mar 20:29
a61109c
Compare
Choose a tag to compare

In this release (Q1 2021)

This is a major release. Notable changes:

  • Keyboard navigation has been removed from core and moved to blockly-samples
  • Changes to scroll to support single-direction scrollbars

For a full list of pull requests in this release, see #4735

API Changes

  • Removal of keyboard navigation from core (#4593)
  • Changes to Metrics definitions (#4652)

Issues closed:

  • Events documentation references old event names (#4728)
  • Shortcuts do not work in advanced compilation (#4723)
  • [Blockly Playground][RTL] When flyout is zoomed in at its maximum then it gets difficult to zoom out and the playground does not show up (#4716)
  • Events documentation does not include Workspace Comment Events (#4528)
  • Mutator has flyout (#4698)
  • Flyout scrollbar does not reposition properly on zoom (#4692)
  • Flyout contains little top padding (#4655)
  • setScale causes unexpected scroll (#4654)
  • Can I get a copy event listener and get the copied target block (#4640)
  • Block moves erratically when dragged a small amount (#4636)
  • can`t change the style of label by using the demo and guide (#4621)
  • Blockly.setLocale do not translate all block (#4617)
  • Clarify type checking in statement stacks (#4609)
  • How to dynamically generate dropdown options? (#4606)
  • Use registry to instantiate flyout from workspace svg (#4589)
  • Update Blockly.inject type for JSON toolbox in (#4587)
  • create generator (#4579)
  • Block.interpolate_ calls the FieldLabel constructor directly instead of through the registry (#4575)
  • Fix .gcloudignore file (#4565)
  • goog.inherits in custom fields documentation (#4559)
  • Children of collapsed block are not enabled correctly (#4536)
  • Update jsdom version (#4535)
  • Events documentation does not include Workspace Comment Events (#4528)
  • Script to release beta version (#4507)
  • CVE-2018-16487 (#4473)
  • CVE-2020-8203 (#4472)
  • CVE-2019-10744 (#4471)
  • Workspace constructor expects plugin option to exist (#4429)
  • Add link to new keyboard nav demo (#4420)
  • Dynamic dropdown "forgets" option keys when reloaded (#2135)
  • Enable scrolling in only one direction (#1292)
  • Zoom-center is wrong with an always-open flyout (#989)
  • zoomToFit is broken when workspace has no scrollbars and blocks have negative coordinates (#944)
  • Flyout contentTop should not be zero (#349)

Q4 2020

17 Dec 22:26
fd239e4
Compare
Choose a tag to compare

In this release (Q4 2020)

This is a major release.

  • UI Events refactor. Forum Post.
  • Keyboard shortcuts (documentation to come)
  • Deletion of previously deprecated functions

This release had 155 PRs. For a full list of pull requests in this issue, see #4548.

API Changes

  • Remove deprecated functions in comment.js (4496)
  • Remove deprecated field functions (4489)
  • Keyboard shortcuts (4421)
  • Refactoring Ui events in core (4418)
  • Update access level of methods in FieldTextInput (4359)
  • Remove ORDER_COMMA from PHP generator. (4357)
  • Delete some deprecated functions (4330)
  • factor out getX and getY methods for flyout (4463)

Issues closed in this release

  • Feature: block for create list from range (4539)
  • Obtain function inside domToMutation not recognized and giving a "Blockly.Block.obtain is not a function" error (4516)
  • Blockly playground doesn't work in iOS 12 (4510)
  • Demos > Custom Fields > Pitch Field: textAreaChange is not defined (4509)
  • Break/continue block does not react to movements of the parent block (4500)
  • Function mutator flyouts to not update (new events?) (4499)
  • Remove all December 2020 deprecated functions (4481)
  • More bugs in full screen mode (4476)
  • Text and input field fills are black when painting the SVG to a canvas (4474)
  • Update the language dropdown on documentation (devsite) (4462)
  • Mutator regressions (4448)
  • field image click event not work (4446)
  • The link of closure-compiler-vxxxxxxxx.jar for download is broken (4442)
  • Ability to make block with infinite / unlimited inputs (4435)
  • Wrong path separators in uncompressed build on Windows (4433)
  • Custom note field can't be edited on mobile (4430)
  • Is it possible to copy a block to another tab in the browser? (4424)
  • Block ID not available on its SVG Group in IE (4419)
  • Blocks unexpectedly scrolled up or down (4414)
  • both mouse and rat should appear in a rodents list (4411)
  • Dropdown broken in Graph demo (4403)
  • Rebuild error (4402)
  • Refactor Flyout.position to allow for easy override (4396)
  • Cannot drag blocks or interact with fields (4381)
  • Dynamic arguments and type check (4374)
  • Document the multiline input field (4367)
  • many warnings when blockly is loaded after document ready state is set to complete (4358)
  • Text fields are red sometimes on valid input (4345)
  • how to Remove horizontal scrollbar in the workspace in blockly (4343)
  • Blockly Developer Tools - No Preview Displayed (4339)
  • [2020Q3]Repeated switch toolbar grouping causes the workspace position to jump (4338)
  • Can't set some css classes for categories defined in xml (4335)
  • updateGithubPages script sometimes fails due to merge conflicts (4322)
  • Library blocks call bumpNeighbors in headless mode which triggers warning (4312)
  • Punctuation marks not displayed appropriately for the tooltip text while hovering the blocks _RTL all toolboxPositions (4305)
  • Add documentation for new context menu registry (4283)
  • Change in Geras rendering for bottom notch in statement input (4282)
  • The undo feature + Blockly.Events.disableOrphans = strange behaviour (4261)
  • Refactor field tests in core (4260)
  • Add a makeFlyoutOptions method (4247)
  • Field calls calls the deprecated method classValidator (4197)
  • Comment calls deprecated getText method (4186)
  • Insertion Marker Serialization Tests failing (4116)
  • Workspace is not always disposed in mocha tests (4080)
  • Update type checks page to describe the connection checker (4076)
  • Deprecation warning util (4049)
  • Look into toolbox code performance (3985)
  • Trashcan Fires Workspace Click Event (3975)
  • Inconsistent default name set in init for procedure_callnoreturn and procedure_callreturn (3948)
  • Configuring the used locale (for Blockly Web at least) is largely undocumented (3801)
  • Textarea of comment missing scrollbars (3596)
  • Toolbox suffers from code bloat (3056)
  • Comments Access Warning Members They Probably Shouldn't (2943)
  • TypedVariables category is not in StandardCategories.categoryMap. (2408)
  • Insertion markers affect mutators (2354)
  • Default text in comment should probably get selected when the comment is created for easy editing (1863)
  • Feature request: Support css classnames for blocks (1850)
  • Events for viewport changes (1052)

Q3 2020 Patch 4

30 Oct 23:36
85874cd
Compare
Choose a tag to compare

Patch release containing #4422

Q3 2020 Patch 3

13 Oct 00:29
31ee4ea
Compare
Choose a tag to compare

Patch release containing #4360 and #4366

Q3 2020 Patch 2

30 Sep 21:25
11987dc
Compare
Choose a tag to compare

Patch release containing #4334, #4336, #4340

Q3 2020 Patch 1

28 Sep 18:47
23c28a0
Compare
Choose a tag to compare

Patch release containing #4327.

Q3 2020

24 Sep 21:13
8d5d2be
Compare
Choose a tag to compare

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 #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)

Q2 2020 Patch 2

06 Jul 18:23
Compare
Choose a tag to compare

Patch release containing #4016.

Q2 2020 Patch 1

26 Jun 22:24
2874ceb
Compare
Choose a tag to compare

Patch release containing #4004.

Q2 2020

26 Jun 00:34
93b5be4
Compare
Choose a tag to compare

In this release (Q2 2020)

Some wonderful new tests
Support for flyout free mutators

**It is worth noting that there was some work done on being able to create a toolbox using JSON, but due to performance concerns we are not recommending or supporting this feature for the current release.

This release had 153 PRs. For a full list of pull requests in this issue, see #4002.

API Changes

  • Register themes (3932)
  • Simplify Closure-sourced code for menus (3880)
  • Clean out the date field (3876)

Issues closed in this release

  • Multiline text field generator broken on IE11 (3981)
  • Is it possible to generate code on the server side? (3981)
  • Is it possible to generate code on the server side? (3981)
  • A quietable version of Input.removeField() (3967)
  • Input.removeField(name) throws unsubstituted Error message (3966)
  • Value missing while performing undo option in multi playground_Edge browser (3962)
  • Disposing of a workspace while a mutator is open causes a crash (3957)
  • Mutators without flyout blocks breaks with NPE on render (3955)
  • Add Event to Support Closing Mutator On Click (3947)
  • Add a function "workspace.refresh()" (3941)
  • Error while using workspace.removeBlockById() (3940)
  • "TextArea" that can input multiple lines (3939)
  • Navigating toolbox using keyboard causes problem for custom flyouts (3936)
  • [Help] Is possible the workspace canbe scrolled while the scrollbars set to false? (3921)
  • Mutator Documentation Update (3919)
  • How to use Blockly with VUE (3917)
  • npm failed (3916)
  • Drag a single block from a stack using ctrl-key (healstack) and put it back on top can result in error (3898)
  • Mocha tests should use deepEqual for array equality (3897)
  • Avoid handling navigation if we are currently dragging (3888)
  • Add Blockly.Theme.register (3887)
  • Questions RE commentIcon (3885)
  • removeBlockById() won't remove blocks from my workspace! (3881)
  • Shadows are darker (instead of lighter) when using default theme with zelos (3870)
  • Add 'renderer' config property documentation (3869)
  • Clarify Dropdown validator documentation (3866)
  • Close the Mutator dialog bug (3865)
  • Shadow blocks lose the mutationToDom (3860)
  • Block instant search bar (3851)
  • Update Theme Documentation (3839)
  • remainingCapacityOfType does not respect maxInstance[type]=0 (3837)
  • remainingCapacityOfType does not account for max block limit (3836)
  • Field Dropdown and Field Variable options opening mispositioned when inside a compose/decompose mutator (3834)
  • xml_test test case throws error after test run (3819)
  • Create a metrics interface for the workspace getMetrics object (3817)
  • Add properties to the Blockly.blockRendering.IPathObject interface (3816)
  • Make Blockly.Variables.nameUsedWithAnyType_ public (3815)
  • Blockly dropdown repeact options (3807)
  • Make block.removeInput return a boolean (3803)
  • Cannot read property 'svgPath' of undefined (3794)
  • [Keyboard nav] keyboard press is captured by browser (3792)
  • Collapsed blocks do not update when modified (3784)
  • Extra padding on some dropdown fields on ios (3782)
  • Keyboard Nav demo instructions out of date (3779)
  • Flyout labels don't respect font size (3778)
  • Unable to include new categories (3760)
  • Input fields unresponsive in fullscreen mode (3758)
  • Update Themes Documentation (3733)
  • Row block in plane demo incorrect location after connecting (3639)
  • Collapsed block text not updating (3619)
  • Lua codegen of lists_getIndex block has problems with list literals (3566)
  • Keyboard Nav: Basic Documentation (3531)
  • Deleting the first of a chained input may error out if checks do not match (3392)
  • Proposal: Download block image (3238)
  • Expose Connection canConnectWithReason_ as public method (3218)
  • Update documentation with how to configure a renderer (3012)
  • onchange no more in Block definition ? (have to use this.setOnChange in init:) (2925)
  • Download screenshot option (2914)
  • Convert all JSunit tests to mocha (2870)
  • Image Field Creation Doc Updates (2717)
  • Document setOnClickHandler Function for Image Fields (2704)
  • Update getPreviousBlock and getParent Documentation (2648)
  • real time code generation incorrect while dragging? (2646)
  • Speed up populating the dynamic procedure category (2579)
  • Variables Page Documentation Updates (2502)
  • Firefox 67.0 when block drag from toolbox, block not centred to mouse (2482)
  • Document that statementToCode Should Only be Used Inside Generators (mostly) (2339)
  • WorkspaceToDOM Includes Insertion Markers (2322)
  • Add separate block shape curves for connectors (2258)
  • Blockly interpretation of variables as global does not match runtime execution (1898)
  • Typed variable documentation doesn't mention default types (1882)
  • Add demo with +/- alternative mutator extensions for if/else, text_join, lists_create_empty, lists_repeat (1845)
  • Document how to replace the mutator UI (1747)
  • Typed variable creation modal (1606)
  • Missing documentation for custom context menus (1358)
  • Add Blockly.defineBlocksWithJsonArray to developer guides (1333)
  • Publish developer tutorial (984)
  • extract_json_blocks.py script to extract JSON from .js files (854)
  • Documentation for creating a new generator (774)
  • RFE: Add method to search blocks (766)
  • Look at performance issues in mobile browsers (240)
  • UX feature: Faster accessing of needed blocks (225)
  • Keep the operator precedence when collapse a block (57)