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)