Skip to content

Conversation

cwillisf
Copy link
Contributor

Proposed Changes

Before: scratch-blocks is a heavily modified fork of a very old version of Blockly

After: scratch-blocks lists a very recent official, unmodified version of Blockly (v12 beta) as one of its dependencies

Reason for Changes

We can use new Blockly features!
We can more easily maintain scratch-blocks!
We can keep up to date with new Blockly releases!
We can hang with the cool kids at Blockly-related parties!

Test Coverage

We should really add tests to this repo, but tests in scratch-vm and scratch-gui cover this functionality somewhat.

Thank you!

Big thanks to @BeksOmega, @gonfunko, @mmathrani, @rachel-fenichel, and everyone else who helped make this happen!

gonfunko and others added 30 commits April 12, 2024 09:36
refactor: Bootstrap scratch-blocks based on Blockly 10.
* fix: readd the operator blocks and dependencies

* fix: only import core Blockly blocks_common/math.js

Co-authored-by: Beka Westberg <bwestberg@google.com>

* fix: only import core Blockly in vertical_extensions.js

---------

Co-authored-by: Beka Westberg <bwestberg@google.com>
* fix: readd the motion blocks

* fix: use the colours_motion extension instead of hardcoding colors
* fix: readd the event blocks

* fix: only import core Blockly
* fix: readd the sound blocks

* chore: remove vestigial sound_sounds_menu implementation
* fix: readd the data blocks

* fix: import constants correctly
* fix: load CSS and fix up UI appearance

* fix: fix size of flyout section header labels
* refactor: move procedures.js into src

* fix: add support for Scratch-style procedures

* chore: remove errant logging

* refactor: remove underscore from exported callback attribute
* fix: modernize and reenable the colour slider field

* refactor: clean up FieldColourSlider

* refactor: extend the FieldColour Blockly plugin

* refactor: remove redundant setting of colour on source block
* fix: reenable support for checkboxes in the flyout

* refactor: use a map instead of an object for storing checkboxes

* chore: remove debugging code

* refactor: improve variable names for checkbox position

* chore: fix line wrapping indentation

* refactor: don't store checkbox wrapper objects on blocks
* fix: reenable the vertical separator field

* refactor: clean up field_vertical_separator.js
semantic-release-bot and others added 11 commits December 10, 2024 17:46
# [2.0.0-spork.2](v2.0.0-spork.1...v2.0.0-spork.2) (2024-12-10)

### Bug Fixes

* **deps:** use Blockly 12 beta instead of RC ([92a8a01](92a8a01))
# [2.0.0-spork.3](v2.0.0-spork.2...v2.0.0-spork.3) (2024-12-10)

### Bug Fixes

* rename mouseDownWrapper fields for Blockly v12 compatibility ([adaf531](adaf531))
…oolbox (#226)

* refactor: update codebase for new version of Blockly and continuous toolbox

* chore: update deps to reference new versions of Blockly and continuous toolbox

* chore: rename checkable_continuous_flyout.js to checkable_continuous_flyout.ts

* refactor: convert CheckableContinuousFlyout to typescript

* chore: remove debugging

* fix: fix support for status indicator labels
# [2.0.0-spork.4](v2.0.0-spork.3...v2.0.0-spork.4) (2025-02-11)

### Bug Fixes

* new beta release for better Blockly v12 beta compatibility ([127ac8b](127ac8b))
* refactor: use IDs based on the parent block ID for block comments

* fix: fix bug that prevented comments from duplicated blocks from behaving properly
Copy link

github-actions bot commented Apr 8, 2025


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


0 out of 2 committers have signed the CLA.
@gonfunko
@BeksOmega
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

gonfunko and others added 15 commits June 12, 2025 13:48
* chore: update dependencies

* fix: fix checkbox icon/bubble compatibility

* fix: update comment icon/bubble for v12

* fix: update status indicator label flyout inflater for compatibility

* fix: fix build issue in ScratchFieldVariable

* fix: fix some focus issues

* chore: rename scratch_comment_bubble.js to scratch_comment_bubble.ts

* refactor: convert ScratchCommentBubble to Typescript
* fix: improve rendering of `FieldMatrix` in high contrast mode

* fix: improve rendering of `FieldAngle` in high contrast mode

* fix: improve styling of menus
* fix: fix positioning of block comments in RTL mode

* chore: factor out shared constant
# [2.0.0-spork.5](v2.0.0-spork.4...v2.0.0-spork.5) (2025-08-26)

### Bug Fixes

* **deps:** use blockly 12.3 beta ([76981e1](76981e1))
* fix bug that could cause the wrong toolbox category to appear selected ([#232](#232)) ([ec918e2](ec918e2))
* fix bug that could clear the values of procedure block caller arguments ([#247](#247)) ([611e440](611e440))
* fix bug that prevented moving block comments ([#248](#248)) ([dc17159](dc17159))
* fix deserialization of local/cloud variables ([#245](#245)) ([09bb237](09bb237))
* fix ephemeral focus handling for `FieldAngle` and `FieldNote` ([#244](#244)) ([8b758db](8b758db))
* fix positioning of block comments in RTL mode ([#249](#249)) ([9f1da96](9f1da96))
* improve styling, especially in high contrast mode ([#246](#246)) ([abd9a40](abd9a40))
* make Duplicate context menu item duplicate subsequent blocks ([#250](#250)) ([3a43e6b](3a43e6b))
* make insertion markers reflect the actual size of the block ([#251](#251)) ([c824cc1](c824cc1))
* prevent toolbox categories from becoming unselected ([#233](#233)) ([af66069](af66069))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants