Skip to content

Releases: google/blockly

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.

Q3 Patch 2

17 Oct 22:37
0a497a1
Compare
Choose a tag to compare

Patch release containing #3280.

Q3 2019 Patch 1

15 Oct 16:21
921e00b
Compare
Choose a tag to compare

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

14 Oct 20:39
d35bc19
Compare
Choose a tag to compare

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...
Read more

July 2019 - Node patch fix

05 Aug 22:59
325adba
Compare
Choose a tag to compare

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

22 Jul 18:32
d471f51
Compare
Choose a tag to compare

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)

  • 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...
Read more

April 2019

19 Apr 18:49
9c4f9d6
Compare
Choose a tag to compare

Issues closed

  • Small typo in field.js documentation (#2368)
  • Menus change layout while moving highlight (#2351)
  • Blockly math operators error (#2348)
  • Trashcan's flyout badly positioned on X axis (#2345)
  • Dropdown sizing issues (width and height) (#2337)
  • Blocks unplugged during drag can be lost/deleted (#2336)
  • Blockly.setTheme errors out if Blockly.getMainWorkspace() does not return a value (#2331)
  • updateToolbox doesn't correctly remeasure the toolbox size (#2330)
  • Dart math generator contains Python reference (#2329)
  • Context Menus not Receiving Clicks (#2312)
  • Scroll Event Bound in inject.js Doesn't Work for Multiple Workspaces (#2310)
  • involuntary hatless mode (#2302)
  • Add Constant for Scrolling with Non-Pixel Delta Modes (#2301)
  • Recenter algorithm does not adapt to simple toolbox correctly (#2297)
  • Message does not reference all 5 arg(s). (#2293)
  • Multiple workspaces on the same page breaks when using trashcan (#2291)
  • Bumping in RTL can push blocks unexpectedly far away (#2290)
  • Q: Should the absoluteLeft and absoluteTop Metrics be Shifted to Avoid Simple Toolboxes? (#2280)
  • Disable Next Blocks in Toolbox (#2273)
  • Insertion marker flickering (#2255)
  • Local build fails when run from top level (#2172)
  • Test blocks should have common prefix (#2103)
  • Clicking on document should call Blockly.hideChaff (#2066)
  • make list from text block throws uncaught Error (#2061)
  • New variable should default setter to that variable. (#2050)
  • Custom Dialogs does not have an entry/icon in demos/index.html (#1709)
  • FieldImage alt text does not propagate to page markup (#1632)
  • Rename workspaceSvg.getFlyout_ to workspaceSvg.getFlyout (#1101)
  • Underscore naming convention mismatch with jsdoc privacy annotations. (#695)

Pull requests

  • Rebuild (#2372)
  • typo fix in line 134 of field.js for documentation (#2371)
  • typo fix in line 134 of field.js documentation (#2369)
  • Updates function call (#2367)
  • Common prefix for test blocks (#2361)
  • Fixes bumping too much when in RTL (#2360)
  • Hides chaff on document mouseup (#2359)
  • Develop1709 (#2358)
  • Rename WorkspaceSvg.getFlyout_ to WorkspaceSvg.getFlyout (#2357)
  • Fix margins/checkbox in RTL dropdown menus (#2356)
  • Adds check for a targetConnection (#2355)
  • Update selected menu sizing to fix #2351 (#2353)
  • Fix bubble open/close events (#2352)
  • Ignores urls for eslint (#2350)
  • Fixed Trashcan Flyout Positioning (#2349)
  • Random upgrades (#2346)
  • Fix zoom bug while dragging in Mutators (#2344)
  • Remove Python references in Dart math generator (#2343)
  • Set theme fix (#2335)
  • Keyboard nav cleanup (#2334)
  • Fixed updateToolbox Not Properly Updating Flyouts (#2332)
  • Add a playgound for debugging SVG paths (#2328)
  • Reverts changes to fix bug with selecting dropdown (#2327)
  • Fix issue 2061 (make list from text block throws uncaught Error) (#2326)
  • style -> categorystyle change (#2325)
  • Don't try to bump if the object has already been deleted. (#2324)
  • Fixed Scroll Event Binding to Work with Multiple Workspaces (#2323)
  • Added Event Filtering to workspaceChanged in Mutator (#2320)
  • Add click target property to fields, with accessor (#2318)
  • Add dropdowndiv and use it for the colour picker and angle fields (#2313)

February 2019

16 Feb 00:58
82871b3
Compare
Choose a tag to compare

Major features

  • Insertion markers
  • Large workspace performance
  • Trashcan contents
  • Theme API

Issues closed

  • Insertion marker flickering (#2255)
  • Multiple workspaces on the same page breaks when using trashcan (#2291)
  • Disable Next Blocks in Toolbox (#2273)
  • Complete adding Hausa language (ha) (#2264)
  • getTertiaryColour -> getColourTertiary (#2262)
  • request: Auto-generate Create buttons for added variable types (#2256)
  • Should the "FinishedLoading" event be added to Events.fromJson? (#2250)
  • Disabled blocks can't be retrieved from the trash. (#2239)
  • Image dropdowns of disabled blocks don't render properly. (#2238)
  • Trash hotspot wrong when trash is full. (#2237)
  • workspace.getAllBlocks shouldn't return insertion markers by default (#2236)
  • Shadow blocks are positioned wrong when converted to real blocks in DevTools (#2234)
  • I can't get blockly working in Angular (#2232)
  • Blocks disapper when a custom block connects with a defined block (#2231)
  • feature request - Hide not so important "Inputs" (#2229)
  • block.dispose(/healStack/ true) should not attempt to heal shadow block connections (#2227)
  • Maximum Block Limit demo off by one (#2216)
  • Colours on advanced compilation demos are all black (#2215)
  • Exception "Cannot set property 'textContent' of undefined" from a custom block after blockly update (#2214)
  • blockfactory error (#2206)
  • No default jsDelivr CDN file set (#2200)
  • store generated code safely on server (#2199)
  • No Accessor to tell if BlocklyStorage has Anything Stored (#2197)
  • Can Blockly use upload file button? (#2194)
  • Document maxTrashcanContents Option (#2192)
  • Undeletable Blocks Created Through .domToWorkspace can be "Deleted" through Undo (#2191)
  • Display Trashcan Flyout Horizontally when Layout is Horizontal (#2166)
  • uncheckedconversions compilation error: Fix in progress (#2164)
  • text_join argument precedence bug in PHP (#2161)
  • flyout_base's .filterForCapacity Does Not Consider Children When Checking .remainingCapacityOfType (#2154)
  • Document Max Instances Option (#2141)
  • Trashcan Contents (#2136)

Pull requests

  • Rebuild 02 11 19 (#2288)
  • Update dependencies (#2284)
  • Fixed Horizontal Scrolling on Window Resize for Simple Toolboxes (#2282)
  • Fixed Flyout Scrollbars Not Being Repositioned on Window Resize (#2281)
  • Fixed next blocks not being disabled in flyout. (#2278)
  • Check against healing child shadow blocks (#2271)
  • Changes colour names (#2270)
  • Typo fix in code comment (#2269)
  • Pull in pxt-blockly's rendering file and hack until blocks can be created without errors (#2266)
  • Typo in code comment (#2265)
  • Update to latest Closure Template jars, recompile. (#2263)
  • Rebase rendering branch on develop (#2260)
  • Fix event description for theme (#2259)
  • Speed up the connection DB (#2254)
  • Added a Test Block for a Dynamic Dropdown (#2252)
  • Update procedures.js (#2251)
  • Update procedures.js (#2248)
  • Fixed Image Dropdowns on Disabled Blocks not Rendering Correctly. (#2246)
  • Ignore insertion markers in getAllBlocks; add accessors for insertion markers (#2243)
  • Changed Trashcan Lid Opening Direction (#2242)
  • Retrieve Disabled Blocks from the Trashcan (#2241)
  • Fixed Trashcan Hotspot & Changed Positioning (#2240)
  • Added FinishedLoading Event (#2235)
  • Ignore insertion markers when checking remaining capacity (#2233)
  • Access colours using bracket notation (#2226)
  • Block in (#2225)
  • Add support for rendering a vertical input based cursor (#2224)
  • Show the cursor with attached to a statement connection (#2223)
  • Block nav (#2222)
  • Initial cursor rendering, supports coordinate positioning only (#2221)