Releases: google/blockly
Q1 2020 Patch 1
Patch release containing #3797.
Q1 2020
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
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
Patch release containing #3330.
Q3 Patch 3
Patch release containing #3316.
Q3 Patch 2
Patch release containing #3280.
Q3 2019 Patch 1
This is a patch release for the Q3 2019 release.
It fixes a typo in the block factory and a problem with angle fields.
Q3 2019
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 (https://github.com/google/blockl...
July 2019 - Node patch fix
This is a patch release for the July 2019 release.
It fixes the node build of Blockly and adds tests for node.
If you're not using Blockly with Node.js, this won't affect you.
July 2019
This release is our first major version bump. The next release will also be a major version bump, after which we should go back to regularly scheduled minor bumps.
If you're using Blockly plain, with no modifications, you shouldn't notice anything different. If you've made significant changes inside Blockly or are using our more advanced APIs, read on!
In this release (Q2 2019)
-
A major cleanup of the Field APIs (huge thanks to Beka Westberg for this work, on both code and documentation)
- Existing library fields work the same
- And now we have documentation on all library fields, including code samples
- Your custom fields may need to be tweaked--see the Upgrading a Custom Field page
- We have documentation on creating a new custom field!
- Beka also built a custom field demo with annotated code samples
- Existing library fields work the same
-
Renames of a significant number of utility functions.
- For a full list of renamed functions, plus bash scripts to do most of the work for you, check out this gist
- This is part of our push to remove our dependency on the Closure UI library
-
Deletion of the accessibility demo
- We're working on a new approach to accessibility, with a focus on keyboard navigation
- That is on the keyboard-nav branch, and will be in the Q3 release
- The old accessibility demo is now in a separate repo, blockly-experimental
-
An XSD for validating Blockly XML files
-
Assorted bug fixes
Here is a full list of pull requests and issues closed:
Issues closed
- Function argument names not escaped (#2624)
- Functions with return values have lost the no-statement option (#2621)
- Procedures with arguments break (#2620)
- Headless xml -> Javascript in Node.js: Many Problems (#2603)
- Previously partial XML parsing failure becomes absolute failure (#2600)
- run python build.py, but build failed (#2593)
- Procedures Don't Properly Handle Spaces (#2590)
- No longer builds on NodeJS v12+ (#2582)
- Headless Workspaces Require a Theme to Be Defined (#2575)
- Make separate Feature Request and Bug Report templates (#2566)
- Move accessible directory to an experiments repo (#2565)
- text_append block shows all variables in dropdown menu (#2561)
- Dynamic variable getter/setter toolbox error (#2557)
- hideChaff doesn't cancel chaff that's animating open (#2555)
- Blockly.getMainWorkspace returns WorkspaceSvg (#2553)
- Colour picker doesn't close on selection (#2544)
- Accessible Demo is broken (#2540)
- Shadow blocks sent to trash (#2538)
- Uncompressed Mode - Error using dynamics variables (#2536)
- Shadow blocks shouldn't hide blocklyPathDark (#2535)
- Date picker should fire change events (#2534)
- Code: add line numbers (#2533)
- Dropdown arrow missing padding. (#2527)
- Document Move Options (#2524)
- Why does the locally opened window have FieldDate, while the project launched with http://localhost:3000 has no FieldDate alone? (#2511)
- How to regenerate the blockly_compressed.js file after FieldDate unannotates it? (#2510)
- When the variable name can be displayed, the Chinese 姓名 can be displayed, and when it becomes code, is it name? (#2505)
- On the problem of recompiling errors after Uncommenting FildDate (#2504)
- Some Browsers Don't Properly Import XML with Sub-Block Nodes (#2499)
- Blockly.FieldDate is not a constructor (#2488)
- Make Adding Children to a Field's textElement_ Easier (#2484)
- Is there an object concept in Blockly? Or how to develop custom components for objects (#2481)
- How to Redevelop Field_date (#2480)
- Extension Documentation Example Incorrect (#2474)
- Audit fields' behavior when setting invalid values (#2462)
- Feature request: Collapse/expand blocks on double click (#2461)
- Q: Should fields initialize with default values? (#2454)
- Q: How do you want text input validation to look? (#2435)
- Blockly Future (#2432)
- Clarify in docs that variabletype needs to be set in Toolbox XML when using typed variables (#2422)
- what can i do to return the result from the function that use in controls_if block when i try to create a new block (actually i need it return true or false,but nothing return) (#2416)
- getAllBlockStyles Annotation Error? (#2414)
- MIT's licence appearing in compressed file (#2412)
- Buttons and Labels in Toolbox do Not Respect Elements (#2396)
- Comments should be allowed on non-movable/deletable blocks (#2388)
- Blocks Positioned Under Toolbox in RTL Demo (#2387)
- Calling setVisible(false) on a Field Does Not Update the Block Correctly (#2381)
- Angle picker needs border (#2379)
- Mouse clicks/drags are borked in Safari (#2362)
- [Android] Suggest to open number keyboard when edit number field (#2341)
- Documentation: Category XML Attributes (#2333)
- Update webdriverio to 5.4 (#2283)
- Remove enforced delays from generator tests (#2118)
- Update geckodriver to latest (#2117)
- Package name casing inconsistencies (#2102)
- Clicking on document should call Blockly.hideChaff (#2066)
- New variable should default setter to that variable. (#2050)
- XML namespace (#1978)
- Add Field.prototype.toXml() & .fromXml() (#1627)
- Use for field_number editor (#1595)
- Proposal - Block.setDisabled() to Block.setEnabled() (#1593)
- Create DTD for xml format (#1308)
- Remove uses of 'goog' in demos (#1072)
- Code demo is not escaping strings before colourizing them (#1002)
- BlocklyFactory: Remove dependency on closure. (#668)
- realtime not working playground.html (#88)
Pull requests
- Rebuild (#2643)
- Update dependencies (#2638)
- A bunch of XML related issues. (#2635)
- Remove edit handler that is just eating events (#2634)
- Add XSD to validate Blockly’s XML (#2633)
- Replace --dependency_mode=STRICT with PRUNE. (#2631)
- Added setCollapsed to insertion marker block creation. (#2629)
- Define DOMParser and Element in Blockly namespace (#2628)
- Fixed Procedure Argument Escaping (#2626)
- Remove accessibility demo from Blockly repo (#2623)
- Fixed Procedure Decomposition Not Working with >1 Arguments (#2622)
- Fixes bug with using dynamic variable in toolbox (#2618)
- Rename BlockAnimation > blockAnimat...