Skip to content

Releases: google/blockly

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)

Q1 2020 Patch 1

03 Apr 23:58
07762ff
Compare
Choose a tag to compare

Patch release containing #3797.

Q1 2020

03 Apr 00:52
096d1c4
Compare
Choose a tag to compare

In this release (Q4 2019)

  • Theme updates
    • Changing fonts
    • Ability to add start hats to all blocks
    • Support extending a base theme
  • Added ability to override renderer constants in options

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

Issues closed in this release

Extra padding on some dropdown fields on ios (#3782)
Flyout labels don't respect font size (#3778)
Typo at ja.js (#3770)
Unable to include new categories (#3760)
Input fields unresponsive in fullscreen mode (#3758)
Output pop up shown twice on iPad for procedure testing (#3751)
Unable to edit field when keyboard nav cursor is on block (#3744)
Adding shadows to "any" inputs makes that input only accept the shadow output type (#3737)
Variable fail do detect global scope (#3728)
Blockly Developer-guides sidebar (#3726)
Insertion Markers shows wrong when changing "inline" default property (#3718)
Add custom blocks to blockly (npm) (#3717)
Procedure args do not handle casing correctly (#3711)
Display flex breaks measureFontMetrics (#3710)
Rendering RTL collapsed blocks in geras error (#3700)
Is there an official XSD that we can use to verify our blockly workspaces? (#3688)
Zelos multi-line blocks with output connections grow without a limit. (#3684)
Failed to run with Windows WebView API (#3683)
Child SVG remains in DOM when parent is collapsed (#3682)
Field Registration Doc Updates (#3678)
code generators arent working (#3677)
Zelos: Reporter block with statement input (#3676)
Keyboard Nav Cursor reappears when block moves (#3669)
Function to empty trash (#3666)
Self-closing tag in XML will break the resulting 'if' block (#3664)
"Zelos" the List field is not aligned properly (#3662)
path typo. (#3661)
Update custom fields documentation for updateColour->applyColour rename (#3660)
Warning text is hard to read (white-on-lightgreen) (#3657)
Flyouts are on the incorrect side of the screen (#3644)
Row block in plane demo incorrect location after connecting (#3639)
Turtles in turtle demo are black (#3636)
TextInput fields have extra padding in readonly (#3632)
Wrong cursor over text labels on block (#3617)
Filename in compile error message is off-by-one (OBO) (#3613)
Lua codegen of lists_getIndex block has problems with list literals (#3566)
chore(tools): add release-drafter.yml inside .github (#3555)
Deleting the first of a chained input may error out if checks do not match (#3392)
Dropdown are acting weird with screen readers (#3340)
Sizing of text inputs fields in mutator workspaces is broken (#3166)
Workspace drag performance regression (#3094)
Insertion Markers Do Not Properly Handle Typed Statement Connections (#2948)
Flyout Buttons with Different Font Size are Not Rendered Correctly (#2793)
Image Field Creation Doc Updates (#2717)
Document setOnClickHandler Function for Image Fields (#2704)
Add Dark Mode [FEATURE REQUEST] (#2639)
Disabling orphan break blocks breaks undo (#2321)
[Edge]: Field edit widget misaligned when browser page is zoomed. (#2032)
Code Demo: Edge stops responding to touch (#1942)
FieldInput on Win10: Overlay editor does not disappear when the user scrolls (#1685)
Right-click shows browser context menu on top of Blockly context menu (#1516)
Widget div doesn't change size with zoom level (#1335)
Clicking on blank space between toolbox items closes the item tree (#714)
Warning text resizes out of bubble (#510)
Support for custom BlockSvg tabs/notches (#174)

Possible Breaking Changes

CSS styling for renderers now contain additional selector for theme (eg: "classic-theme"). This might require you to update some of your custom CSS styling for Blockly so that it is properly applied.

Q4 2019

23 Jan 23:44
Compare
Choose a tag to compare

The main focus for this release was completing Zelos rendering.

In this release (Q4 2019)

  • Zelos Rendering
  • Finalize Keyboard Navigation APIs

This was rlease had 375+ PRs. For a full list of pull requests in this issue, see #3611.

Issues closed in this release

VariableModel's getVariableTypes returns multiple empty string types. (#3593)
Dragging a collapsed function call block causes a crash if the function has inputs (#3589)
Dropdown option is immediately selected due to order of processing touch events (#3567)
Investigate how fields cache options (#3553)
Bottom horizontal flyout has broken delete areas (#3550)
[zelos] Overlap in block height when a statement block with no next connection is attached into a statement input. (#3546)
Scrolled text input widget div is positioned incorrectly (#3532)
Changing Style/Colour of Inherited disabled block has unexpected behaviour (#3530)
The width of the parent element is not enough, my light belt overflows (#3529)
Custom field, the width of parent element is not enough, overflow, how to solve it? (#3528)
Always use ConstantProvider.shapeFor() for rendering notches (#3522)
method updateToolbox keep the category state (#3520)
blocks_compressed.js generated by Gulp has bugs (#3518)
Calling setMutator programmatically does not rerender the block (#3510)
Mutating and Deleting a block is not updating Cursor properly (#3507)
Allow non-visible grids (#3503)
[zelos rendering] Multi-row reporters (#3494)
use Ctrl + z can delete moveable = false ,deleteable = false block (#3486)
Blocks with a field following a variable field break when a mutator is open (#3458)
the issue about local_build.sh (#3422)
Decide what to do about output shape on the block (#3414)
Keyboard Nav: Shift clicking shouldn't enter accessibility mode (#3412)
AppendDomToWorkspace positioning is wrong in RTL (#3408)
All stock blocks in Blockly Games now black. (#3397)
Multiple modifiers in key_map doesn't work right (#3375)
Keyboard Nav: Basic Cursor with ability to set validNode (#3371)
Statement input rendering: bar below input got longer (#3367)
Clicking workspace after comment resize causes a crash (#3364)
Minimalist renderer doesn't account for input alignment (#3361)
FieldImage cannot be navigated to when opt_clickHandler is passed (#3339)
Allow non-visible grids (#3503)
[zelos rendering] vertical tight nesting (#3495)
[zelos rendering] Multi-row reporters (#3494)
Block width incorrect for nested blocks (#3481)
JetBrains artifacts aren't gitignored (#3475)
Colour field not updated properly (#3473)
Dropdown arrow not coloured properly (#3472)
disable trashcan (and deleting) at runtime (for offline mode) (#3467)
unable to run blockly using npm run test, it keeps giving me this error (#3457)
The xml tag id auto generate should be from a-z 0-9 (#3453)
No longer able to tab out of Blockly (#3452)
Scrollen in Blockly (#3451)
Ask for help (#3450)
Novice question: how do you pass requirejs-based modules the results of running user-generated code (eval() of runJS) (#3449)
Unable to drag a warning bubble if mouse is over text (#3386)
Minimalist renderer doesn't account for input alignment (#3361)
AST should navigate to non editable fields (#3344)
Spacing between a field and input is different whether the field is before or after the input. (#3327)
Connection highlighting during drag always uses puzzle and notch shapes (#3236)
[zelos] Determine what to do with inline inputs. (#2978)
Exception when try to move blocks within blockly div when blocks start shaking (#2929)
Autoload blocks checkbox in playground (#3416)
shift-clicking a block creates some kind of selection marker (#3411)
Add the current theme to the DOM (#3407)
Blockly.Blocks can't be found in Blockly (#3406)
dropdown i18n breaken by space (#3398)
Deleting block throws error on small screens (#3393)
Advanced compilation test is now black and white. (#3382)
Move theme manager out of Blockly.Workspace (#3380)
Move filter and pattern creation into renderer (#3377)
Bad colour in deuteranopia theme (#3372)
Compute canvas is affecting page layout (#3368)
Mutator dialog don't update delete areas when moved. (#3354)
Object representation with Blockly (#3347)
Block.setstyle throws an error when block has no style name (#3343)
Value input before/after dummy input row height inconsistencies (#3341)
Blockly.bindEvent_ is deprecated, remove it's use internally (#3332)
Dummy input aligns only left (#3330)
Npm run build does not recognize a new file (#3328)
[zelos] Dyanmic output shapes aligned incorrectly (#3325)
Shadow blocks in modern theme have highlights (#3319)
How to customize fields with the blockly NPM package? (#3314)
Rendering bug on upgrading to Blockly 3 (#3313)
If statement doesn't update connections after mutation change (#3305)
BlockSvg.positionNewBlock is a dupe of BlockSvg.positionNearConnection (#3299)
Right corners in base renderer (#3296)
how to get new variables (#3291)
Blockly.BlockSvg.START_HAT is broken (#3279)
why? (#3262)
Keyboard Navigation: Dispatch event on cursor change (#3258)
blockly is not able to load after blockly_compressed.js file is updated recently (#3254)

Q3 Patch 4

28 Oct 23:53
ba6dfd8
Compare
Choose a tag to compare

Patch release containing #3330.

Q3 Patch 3

23 Oct 17:41
1a4c321
Compare
Choose a tag to compare

Patch release containing #3316.