July 2019
rachel-fenichel
released this
22 Jul 18:32
·
4938 commits
to master
since this release
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 > blockAnimation (#2617)
- Adds fill to svg dark path (#2611)
- Fixes spacing problem in procedure name (#2610)
- Update github templates (#2609)
- Create bug and feature templates (#2608)
- Adds type to FieldNumber editor (#2607)
- Rename Blockly.Xml.utils to Blockly.utils.xml (#2606)
- Fixes theme error for headless workspaces (#2605)
- Remove sudo tag in travis (#2602)
- Use Blockly.utils.Paths functions for some constants; fix a test (#2601)
- Rebase on develop (#2599)
- Fix IE not unhighlighting (#2598)
- Create svg_utils file (#2597)
- Rename block_render_* files (#2596)
- Added custom fields demo. (#2594)
- Build script updates (#2589)
- Removed Class Option Check from Text Input fromJson (#2588)
- Fixed Rendering of Images & Text Dropdown (#2587)
- Removed textToDom Needing Documents (#2585)
- upgrade gulp to v4 (#2583)
- Pull Request: Split showContextMenu_ (#2581)
- Fixed bug block is not unhighlighted (#2580)
- Fixed setTooltip Not Working Before appendField() (#2578)
- Added Sending the Bad Value to doValueInvalid (#2577)
- Added Procedure Tests (#2576)
- Remove last Closure from Block Factory. (#2573)
- Refactor workspace.connectionDBList (#2572)
- Resolve 13 warnings (#2571)
- Added Colour and Date Editor Auto-Close on Selection (#2570)
- Adds option for testing external and internal inputs (#2569)
- Added Trashcan Tests (#2568)
- Add a row after a dummy input. (#2567)
- Add simple page for comparing rendered blocks directly (#2564)
- Adds screenshot test script (#2563)
- Change alignment on previous and next connections (#2560)
- Fix regular expressions. (#2559)
- Fixed Fields Still Being Editable on Non-Editable Blocks (#2558)
- Render/bottom inline highlight (#2554)
- Remove a bunch more Closure (#2552)
- Fixed Field Disposal, and Reorganized Editor Creation (#2551)
- Clean up inline and external value input highlighting (#2550)
- Fix tree traversal to work for multiple stacks (#2549)
- Render/rtl top right (#2548)
- Extract connection placement into separate functions (#2547)
- Remove goog.color (#2546)
- Fixed how the Trashcan Handles Shadow Blocks (#2545)
- Add test case for stacked blocks (#2543)
- Add tests with external and inline inputs; set shadow colour (#2542)
- Account for shadow in block size. (#2541)
- Fix text y location on statement inputs (#2539)
- Block min width; notch offsets (#2537)
- Removed Extra DropDownDiv Calls (#2532)
- Add new test cases (#2529)
- Fixed Dropdown Arrow Missing Padding (#2528)
- Moved Serializing the Field's Name up to xml.js (#2526)
- Fix 19 warnings in theme-related code. (#2523)
- Adds minimum block height (#2522)
- Fix checkbox rendering (#2521)
- Call getSize in getCorrectedSize (#2520)
- Remove empty tests; clean up logs; open based on OS (#2519)
- Render insertion markers (#2518)
- Moved the Date Field to the Dropdown Div, and Restyled It (#2517)
- Draws highlight on the bottom of a statement input (#2516)
- Make tests pass by setting up requires/provides correctly (#2515)
- Set node version explicitly for travis on master (#2514)
- Adds alignment padding to dummy inputs (#2512)
- Reorganized Field View Initialization (#2509)
- Added getSourceBlock Function to Field (#2508)
- Readded Reevaluating Values when Constraints are Set (#2507)
- Replace Element constants with Node constants. (#2503)
- Angle Field Fixes (#2501)
- Fixed How Fields Handle Size (#2500)
- Added More setValue Test Coverage (#2498)
- Changed Colour Field Class Validator to Accept all Documented Values (#2497)
- Dependencies and tests (#2495)
- Fixes highlight for bottom row (#2494)
- Fix colour and image fields (#2492)
- More pixel pushing (#2491)
- Use constants for width and height of empty inline inputs. (#2489)
- Fix style matching in Firefox 67 (master cherrypick) (#2487)
- Restricts bottom row length after a statement input (#2486)
- Fix style matching in Firefox 67 (#2485)
- Make the test reporter function when tests pass (#2479)
- Refactors bottom row to be a row instead of measurable (#2478)
- Rendering tweaks (#2477)
- Handle empty filter argument, in an ugly way (#2476)
- Filter tests based on command line argument (#2475)
- Add single-block test cases (#2473)
- Refactor top row (#2472)
- Clear debug rectangles before rerendering (#2471)
- Add a checkbox to toggle rendering debug visualizations in the playground (#2470)
- Load a list of tests to run from a file; connect test output to dif-viewer (#2469)
- Fixes a dozen compiler warnings (#2468)
- Fix bug with in bounds bumping (#2467)
- Accessibility demo (#2466)
- Basic screenshot diffing (#2465)
- Prefix, suffix, window, global, requires, getViewportSize, oh my... (#2464)
- Fraser suffix2 (#2463)
- Moves navigation logic to cursor (#2460)
- Added Field Value Tests (#2459)
- Add STATEMENT_SUFFIX (#2458)
- Remove goog.userAgent dependency. (#2457)
- Maybe fix mocha tests (#2456)
- Use modify when inserting from the flyout (#2455)
- TDD: tests for navigation insert/modify, currently skipped (#2453)
- Changes the cursor look for a stack (#2452)
- Develop (#2450)
- Fixes case where we do not have a toolbox (#2449)
- Add wrapper functions so developers can override warning and error handling (#2448)
- Add basic tests for insert functions (#2447)
- Disconnect blocks with X (#2446)
- Make the marker blue on both blocks and input/output connections. (#2445)
- Mark the cursor location when opening the toolbox; cleanup (#2444)
- typo fix in createVariable documentation in variable.js (#2443)
- Small bug fixes and cleanup (#2442)
- Refactored Field Validation. (#2441)
- Get rid of insertionNode (#2439)
- Helper to check whether an ast node points to a connection (#2438)
- Handle escape in the toolbox/flyout. (#2437)
- Cleanup for previous (#2436)
- Run mocha tests in the browser on travis (#2434)
- Testing/webdriverio upgrade (#2433)
- Next cleanup (#2431)
- Reduce ID collisions. (#2429)
- Refactored field.init into field.initView and field.initModel (#2427)
- Add mocha tests to npm test (#2426)
- Removed Explicitly Setting Variable Type to Two Single Quotes (#2425)
- Update to webdriverio v5; fix resulting test breakages (#2424)
- Cleanup for in functionality (#2423)
- Out cleanup (#2421)
- Strip MIT’s licence out of compiled code. (#2420)
- Add a marker that shows where the user has marked on the workspace (#2419)
- Resolve field angle overlap render problem (#2418)
- Add a border to angle picker field, to fix rendering problem (#2417)
- Position correctly when inserting before another block (from the flyout) (#2415)
- Added updateColour to Field (#2413)
- Delete two unused i18n scripts (#2411)
- Fixed Buttons Being Rendered as Labels if They Come After a Label (#2410)
- Cursor ast update (#2409)
- Added fromXml and toXml to Fields (#2407)
- Removed setVisible (fields, inputs) from the Public API (#2406)
- Add tests for keyboard handling in the toolbox (#2405)
- Warnings fix (#2404)
- Set node version explicitly for travis; update dependencies (#2403)
- When moving from a stack to the workspace, place the cursor just above the recently selected stack. (#2402)
- Add release and milestone information to Readme (#2401)
- Update comment body size in resizeBubble (#2400)
- Added field_label_serializable (#2399)
- Kb exit toolbox (#2398)
- Moved RTL Demo Blocks so They Aren't Behind the Toolbox (#2397)
- Changed Buttons and Labels to Respect Elements in Toolbox (#2395)
- Update version number to 1.20190419.0-develop (#2394)
- Add sauce labs to readme (#2393)
- Validate newValue parameter in setValue (#2392)
- Keyboard nav ast node (#2391)
- Reorganize conditionals for block context menu (#2390)
- Added isSerializable and SERIALIZABLE to Field (#2389)
- Add Block.setEnabled (#2386)
- Added isDirty_ Property to Fields (#2382)
- #1142 Replace tests/generator/*.xml with .js (#2375)
- April 2019 release candidate (#2373)
- Documentation update (#2366)
- Change the cursor to a pointer if there is a click handler on the image (#1437)
- Add option to disable keyboard shortcuts (#171)
- Implement tree structure for blocks (#112)
Cherrypicks
- Fix colour injection vulnerability (#2645)
- Remove @packages annotation from public methods (#2653)
- Revert "Adds type to FieldNumber editor" (#2664)
- Rename Blockly.utils.Paths -> Blockly.utils.svgPath (#2658)
- Link to custom fields demo from demos/index.html (#2673)
- Revert changes related to #2003 (#2676)