This release is our second major version bump. After this we are returning the regularly scheduled minor bumps.
In this release (Q3 2019)
- Keyboard navigation APIs
- New rendering pipeline
- Removal of the Closure UI library
- Improvements in developer workflow
- Continuing cleanup in fields
- Many bugfixes
This was a big release with 650+ PRs. For a full list of pull requests in this issue, see #3165.
Issues closed in this release
Issues closed:
- Object.assign (ES6) in codebase (#3153)
- Visibility of bumpNeighbours breaks compiler (#3152)
- Base renderer issues (#3132)
- Uncaught typeError in workspaceCommentRenderSvg (#3106)
- Inline image dropdown too low. (#3098)
- Remove render debug and non-default renderers from default build (#3089)
- +/- buttons for dynamically extending value input list (#3078)
- Keyboard Nav: Interaction Between Mouse and Keyboard (#3071)
- Add the ability to make a read-only workspace writable (#3049)
- npm: new blocks instances appear below menuFlyout while dragging (#3032)
- Keyboard Nav: Cursor not showing correct location (#3028)
- Compile test is broken (#3027)
- Keyboard Nav: Cursor in RTL not working (#3024)
- Link in
ReadME
points to an invalid URL (#3021) - Have a way to choose which renderers are included in your bundle (#3018)
- Unable to scroll the trash flyout without a mouse scroll (#3008)
- Drag in trash flyout causes error (#3007)
- Object.values not available in IE (#2999)
- Missing hideChaff in custom field demo? (#2998)
- block.dispose(/* healStack */ true) does not properly handle rows (#2991)
- Endmost value connections are not considered available (#2989)
- how to build package published on NPM (#2987)
- [zelos] Dynamic output shapes (#2977)
- How to compile project with local closure compiler? (#2975)
- Define a BlockRenderer object that Geras, Thrasos, and Zelos extend (#2966)
- Spacer calculation (#2964)
- Move DARK_PATH_OFFSET into Geras (#2956)
- Rendering highlights in RTL are broken (#2954)
- Slight difference in statement input connection location (#2952)
- Type checking for Measurables (#2946)
- topRow.populate and bottomRow.populate belong in info (#2945)
- Zelos bottom connection point not positioned correctly. (#2941)
- During domToWorkspace() child block with FieldDropdown is in workspace's topblock (#2926)
- Value or dummy after statement is broken. (#2921)
- Debug rendering isn't easy to turn on and off (#2904)
- Alignment issues (#2894)
- StartY and overhangY in top and bottom rows (#2866)
- Custom Fields demo is broken (#2862)
- Old Syntax transformation (#2859)
- Stop filtering subdirectories in the compile test script (#2838)
- Blocks with outputs misaligned in flyout (#2828)
- Block + children bounding boxes aren't always right (#2821)
- Text fields re-sizing is broken after the workspace regains visibility (#2811)
- blocks with hats zoom out of the toolbar (#2800)
- build function with typed arguments (#2797)
- Create and Delete Events Generate Lots of Detached Nodes (#2795)
- Text field editing in RTL resizes and positions incorrectly (#2777)
- Undo is broken with Ctrl + Z (#2765)
- Exception on doing pinch zoom over blocklyDiv (#2752)
- Compiler is broken (9 errors) (#2748)
- The DropDownDiv Should Respect Toolboxes (#2744)
- Replace closure toolbox categories with a custom implementation (#2735)
- Remove remaining closure ui components (#2734)
- Themes: Background Colour (#2733)
- Flyout Scrollbars Don't Scroll when you Drag the Flyout (#2728)
- Standardize Field Configuration (#2722)
- Field.text_: Documentation vs use (#2720)
- Decide how developers will choose their renderer (#2702)
- Custom Fields Not Working in Firefox (#2696)
- Block jittering on small workspaces (#2681)
- where XML id get confusing id="4H=DIk|U}:}a(%z9!(t:" x="112" y="113" (#2677)
- Toolbox buttons on the playground don't work in IE11 (#2672)
- Text is mismeasured on IE11 and Edge (#2671)
- Here is a live example of generator (#2665)
- Undoing a midstack delete hides blocks (#2660)
- Editing a number field on Android breaks dragging (#2659)
- blocks with relational joint setting (#2650)
- DOM html appoint you svga rights to render events not DOM (#2649)
- real time code generation incorrect while dragging? (#2646)
- Angle Field Doesn't Handle Touch Input Correctly (#2642)
- Color inputs are not filtered (security vulnerability for server-side blockly code evaluation) (#2637)
- Attaching Collapsed blocks to input containing existing block (#2632)
- Dropdown with long list does not scroll to selected item when re-opened (#2613)
- Procedures Don't Properly Handle Changing the Case of a Parameter (#2592)
- Procedures Don't Properly Handle Having No Name (#2591)
- Proposal: Wait to Set Field Value Until SourceBlock is Set (#2586)
- Insertion Marker Rendering Error (#2556)
- Document Move Options (#2524)
- Change Access Level of Field.updateWidth (#2428)
- Can't click "Done" on android phone keyboard (#2340)
- FieldAngle CLOCKWISE and OFFSET apply to all angle pickers simultaneously (#2315)
- Document Mutator's saveConnections (#2198)
- Node.js Tracking bug (#2082)
- New variable should default setter to that variable. (#2050)
- Comments not recorded in delete event (#1960)
- Remove goog library calls from generators/ files. (#1923)
- audio play() called before user interaction (#1902)
- image dropdown documentation improvement (#1750)
- Extract common Field support methods into new field_util.js (#1624)
- Document the process of creating a custom field. (#1623)
- RTL Render error on block with icon and no fields/inputs (#1608)
- Allow a block to restrict the maximum number of instances allowed in the workspace. (#1435)
- Function arguments: Disallow duplicate var names (#1377)
- Align first row of fields/inputs for connected blocks (#1346)
- FieldImage: Support "flip_rtl", like scratch-blocks (#1339)
- Make Closure dependency alert send devs to the link (#1313)
- Blockly.FieldNumber does not support HEX (#1306)
- Remove goog.dom.createDom(..) and .setProperties(..) usages (#1231)
- Block Factory tooltip and help url not escaping specific characters (#1192)
- Possible missing module.exports in compressed file (#955)
- Demo & docs for generated dropdown menu items in JSON + extension (#889)
- Use setText instead of setValue in fieldTextInput (#860)
- Block Factory injection vulnerability (#756)
- Pseudo version for npm (package.json) (#367)
- The play() request was interrupted by a call to pause() (#299)
- Can't configure field_colour in JSON (#286)
- Translate Github Wiki (#278)
- Dragging on touch IE (#254)
- add a new wiki page to showcase extensions blockly (#246)
- Highlight all possible connection places for a piece ! (#188)
- npm package name (#177)