Releases: google/blockly
blockly-v10.0.2
What's Changed
Bug fixes 🐛
- fix(generators): Changes to exports and access controls for TypeScript compatibility by @cpcallen in #7295
- fix: Correct errors in
HSV_SATURATION
,HSV_VALUE
accessors by @cpcallen in #7297
Full Changelog: blockly-v10.0.1...blockly-v10.0.2
blockly-v10.0.1
What's Changed
Deprecations 🧹 - APIs that may be removed in future releases
Full Changelog: blockly-v10.0.0...blockly-v10.0.1
blockly-v10.0.0
Blockly v10 is here! This quarter we’ve edged closer to 100% TypeScript in the core repo: blocks have been converted and generators are not far behind. We’ve also improved performance in multiple scenarios and added APIs to customize Blockly in new ways.
Here are the highlights for this release:
- Added ability to use custom Icons. This included some refactoring and breaking changes to the old APIs; read more in the PRs below.
- Removed the drag surfaces! This greatly improves performance in Chrome. No action needed unless you were doing something special with the drag surfaces (which is rare)
- Removed the debug renderer, which was previously deprecated and moved to the dev-tools plugin
- Changes to generators. Most of the changes were backwards compatible, but if you use Blockly through script tags, be aware that we've added new global variables under the names
javascript
,python
, etc. which may conflict with global variables already in your app. Read more in the linked PRs below. - Added support for custom inputs
- Improved rendering performance and added hooks for managing the render lifecycle
- Improved types for those using TypeScript
What's Changed
Breaking changes 🛠
- feat!: add abstract icon class by @BeksOmega in #7060
- refactor!: remove deprecated functionality for v10 by @rachel-fenichel in #7077
- refactor!: delete debug renderer by @rachel-fenichel in #7078
- fix!: re-remove block and workspace drag surfaces by @BeksOmega in #7070
- feat!: bubble ownership by @BeksOmega in #7071
- fix!: move destroy earlier in the lifecycle by @BeksOmega in #7117
- fix!: refactor warning icon by @BeksOmega in #7112
- fix!: refactor comment icon by @BeksOmega in #7128
- fix!: refactor mutator icon by @BeksOmega in #7115
- refactor(generators)!:
CodeGenerator
per-block-type generator function dictionary by @cpcallen in #7150 - refactor(generators)!: Pass
this
CodeGenerator
to individual generator functions by @cpcallen in #7168 - refactor(build)!: Provide all generator exports when loaded as script by @cpcallen in #7169
Deprecations 🧹 - APIs that may be removed in future releases
- refactor(generators): Introduce
JavascriptGenerator
class,Order
enum by @cpcallen in #7153 - fix: remove old icon handling code by @BeksOmega in #7141
- refactor(generators): Introduce
DartGenerator
class,Order
enum by @cpcallen in #7160 - refactor(generators): Introduce
PythonGenerator
class,Order
enum by @cpcallen in #7163 - refactor(generators): Introduce
PhpGenerator
class,Order
enum by @cpcallen in #7162 - refactor(generators): Introduce
LuaGenerator
class,Order
enum by @cpcallen in #7161 - fix: input exports by @BeksOmega in #7165
New features ✨
- feat: add after queued renders promises to render management by @BeksOmega in #6981
- feat: add support for appending custom inputs by @BeksOmega in #6990
- feat: Add 'reason' field to move event by @NeilFraser in #6996
- feat: break input types into separate classes by @BeksOmega in #7019
- feat: add IIcon interface, and related interfaces by @BeksOmega in #7054
- feat: Creating structure and providing simple test for Blockly automated functional test by @ericblackmonGoogle in #7076
- feat: add implementations for adding, removing, and getting icons by @BeksOmega in #7059
- feat: text bubble by @BeksOmega in #7080
- feat: add registering and serializing icons by @BeksOmega in #7063
- feat: mini workspace bubble by @BeksOmega in #7096
- feat: text input bubble by @BeksOmega in #7089
- feat: add types for accessing icons. by @BeksOmega in #7132
- feat: use new intermediate block change event for field edits, normal block change event for closing editor. #7105 by @johnnesky in #7151
Bug fixes 🐛
- fix: allow splicing into shadow block stacks by @maribethb in #6939
- fix: remove forced rerender from mutator by @BeksOmega in #6918
- fix: collapsed toolbox categories being expanded by @BeksOmega in #6942
- fix: disposing during dragging by @BeksOmega in #6954
- fix: Fix offset location of connection ripple by @NeilFraser in #6973
- fix: Don't truncate text label fields. by @NeilFraser in #6979
- fix: do not hide chaff when resizing by @maribethb in #6916
- fix: non-printable characters in XML by @BeksOmega in #6952
- fix: block_svg disable/enable ops lead to unsync state and render by @dimaaan21 in #6989
- fix: rtl field alignment by @maribethb in #6991
- fix: insertion markers firing move events by @BeksOmega in #7005
- fix: update applyColour documentation by @maribethb in #6998
- fix: icons not having their locations updated by @BeksOmega in #7012
- fix: Update category.ts to produce valid "aria-level" attributes by @MarkusBordihn in #7033
- fix: switch most remaining render calls to queueRender by @BeksOmega in #7024
- fix: filter undone event groups before moving them to the redo stack by @ewpatton in #7069
- fix: Make props of ConnectionState optional by @m93a in #7093
- fix: bubbles not being dragged by @BeksOmega in #7088
- fix: work on calling icon hooks by @BeksOmega in #7100
- fix: gestures handling icons by @BeksOmega in #7101
- fix: collapsing blocks with children with icons by @BeksOmega in #7111
- fix: updating icon locations by @BeksOmega in #7110
- fix: return annotations by @BeksOmega in #7118
- fix: have inputs construct connections by @BeksOmega in #7116
- fix(build): Fix path issue on Windows by @cpcallen in #7127
- fix: Allow for unattached elements during inject call by @ewpatton in #7149
- fix: remove input type from number field by @maribethb in #7025
- fix: update disabled status after rendering by @maribethb in #7172
- fix: icon exports by @BeksOmega in #7159
- fix(tests): Fix compressed mode loading by @cpcallen in #7178
- fix(build): Fix GitHub pages & deployment task by @cpcallen in #7186
- fix: bubble exports by @BeksOmega in #7189
- fix(blocks): Mark previously-
@private
methods@internal
by @cpcallen in #7194 - fix(build): Correct typos in PR #7169 by @cpcallen in #7197
- fix: properly pass the block to the icon constructor in blockfactory blocks by @BeksOmega in #7202
- fix: Utilize getIcon instead of getCommentIcon in tests by @jibranabsarulislam in #7200
- fix: export the IIcon and related interfaces by @BeksOmega in #7203
- fix(demos): Update BlockFactory generator stub generator by @cpcallen in #7211
- fix(demos): Update code demo to use new script import names for generators by @cpcallen in #7213
Cleanup ♻️
- refactor: Remove some more uses of AnyDuringMigration. by @gonfunko in #6970
- refactor(blocks): Migrate
blocks/lists.js
to TypeScript by @cpcallen in #6902 - refactor(blocks): Migrate
blocks/loops.js
to TypeScript by @rachel-fenichel in #6957 - refactor(blocks): Migrate
blocks/variables.js
andblocks/variables_dynamic.js
to TypeScript by @rachel-fenichel in #7001 - refactor(blocks): Migrate
blocks/text.js
to TypeScript by @rachel-fenichel in #6958 - refactor(test...
v9.3.3
v9.3.2
v9.3.1
What's Changed
Other changes
- fix: allow splicing into shadow block stacks by @maribethb in #6939
Full Changelog: blockly-v9.3.0...blockly-v9.3.1
v9.3.0
Overview
Greetings, Block Builders! This release brings some exciting new features and important bug fixes.
- New procedure blocks that enable sharing procedures between workspaces. The new blocks are being published as a plugin, so the old procedure blocks will continue to work as expected. Learn more here and check out the plugin here.
- The JSON serializer now serializes movable, editable, and deletable properties. If you were previously relying on the serialize-disabled-interactions plugin to do so, see the README for next steps.
- Performance improvements during rendering and collapsing blocks
- Fixes problem with dropdowns on mobile devices (if you're on v9.2.0, this is an important fix!)
What's Changed
Deprecating changes 🚧
These are not breaking changes yet, but deprecate something that will be removed in the next major release
Blockly.Xml.textToDom
has been renamed toBlockly.utils.xml.textToDom
in #6818
New features ✨
- feat: Support for the new shareable procedure blocks plugin
- feat: Add support for centering on a block itself vs its stack. by @gonfunko in #6810
- feat: added
tests/typescript
to test supported TS examples by @btw17 in #6775 - feat: updated flyout button to set border radius via static variable by @btw17 in #6838
- feat(build): Run
tsc
onblocks/
andgenerators/
by @cpcallen in #6836 - feat: add basic render queueing by @BeksOmega in #6851
- feat: make renderer methods public or protected by @maribethb in #6887
Bug fixes 🐛
- fix: undoing and redoing parameter events by @BeksOmega in #6721
- fix: undoing and redoing deleting procedures by @BeksOmega in #6722
- fix: change assertFieldValue in test helpers to use deepEqual by @Samridhi-98 in #6739
- fix: correct docs for flyout metrics by @maribethb in #6751
- fix: replace 'AnyDuringMigration' for
core/field.ts
value functions by @btw17 in #6639 - fix: export Abstract event class directly by @maribethb in #6752
- fix: undoing pasting procedure callers that create defs by @BeksOmega in #6750
- fix: proc json serialization by @BeksOmega in #6746
- fix: CI exits properly after failure by @maribethb in #6763
- fix: copying and pasting procedure definitions by @BeksOmega in #6747
- fix(deps): Don't use global variables for jsdom injection in
scripts/package/node/core.js
andcore/utils/xml.ts
by @cpcallen in #6764 - fix(tests): Have
npm start
run a full build by @cpcallen in #6770 - fix: Increase generator test timeout by @maribethb in #6776
- fix: Make metadata tests more resilient. by @gonfunko in #6771
- fix(build): Fix event tests, improve
buildDeps
by @cpcallen in #6773 - fix: don't splice into unmovable stacks by @maribethb in #6800
- fix(tests): Use
build/msg/en.js
instead ofmsg/messages.js
by @cpcallen in #6825 - fix: Fire deletion events when clearing variables. by @NeilFraser in #6827
- fix: move deprecation warning to correct fromJson by @NeilFraser in #6831
- fix: serializing disabled interactions by @BeksOmega in #6847
- fix: variable events not deserializing properly by @BeksOmega in #6832
- fix: updating connections in the db multiple times by @BeksOmega in #6859
- fix: Don't repeatedly recreate the last marker block during a drag. by @gonfunko in #6875
- fix: export Field-related types from Blockly by @btw17 in #6877
- fix: improve collapse / uncollapse performance by @BeksOmega in #6860
- fix: creating duplicate params via renaming vars by @BeksOmega in #6885
- fix: improve performance of modifying block shape by @BeksOmega in #6884
- fix: empty procedure arrays in serialization by @BeksOmega in #6872
- fix: toString performance by @BeksOmega in #6896
- fix: improve performance of connecting blocks by @BeksOmega in #6876
- fix: dispose performance by @BeksOmega in #6894
- fix: Don't clobber event group when renaming vars by @NeilFraser in #6829
- fix: Fix scrolling of menus on mobile. by @gonfunko in #6911
- fix: scrolling dropdown items into view by @BeksOmega in #6912
- fix: flyouts resizing for blocks by @BeksOmega in #6914
- fix: overwriting flyout def with dynamic categories by @BeksOmega in #6913
- fix(fields): Make
Field.SKIP_SETUP
aSymbol
; removeclass Sentinel
by @cpcallen in #6919 - fix: connection locations not updating by @BeksOmega in #6921
- fix: Make Escape cancel changes in text fields. by @gonfunko in #6923
- fix: mutator not resizing for flyout by @BeksOmega in #6917
Cleanup ♻️
- refactor: Don't use skew_ and translate_ attributes on SVGs to animate blocks. by @gonfunko in #6782
- refactor: Use the field registry to instantiate fields in block definitions. by @gonfunko in #6811
- refactor: Use input type=number for field_number.ts by @gonfunko in #6845
- refactor: Remove more uses of AnyDuringMigration by @gonfunko in #6863
- docs: Fix a few typos by @timgates42 in #6878
- refactor(blocks): Migrate
blocks/colour.js
to TypeScript by @cpcallen in #6901 - refactor(blocks): Migrate
blocks/math.js
to TypeScript by @cpcallen in #6900
New Contributors 👋
- @Samridhi-98 made their first contribution in #6739
Full Changelog: blockly-v9.2.1...blockly-v9.3.0
v9.2.1
What's Changed
Bug fixes 🐛
- fix(deps): Don't use global variables for jsdom injection in scripts/package/node/core.js and core/utils/xml.ts in #6764
Full Changelog: blockly-v9.2.0...blockly-v9.2.1
v9.2.0
What's Changed
New features ✨
- feat: add firing of procedure events. by @BeksOmega in #6604
- feat: refactor event serialization to use static fromJson method by @BeksOmega in #6614
- feat(test): Miscellaneous improvements to
test_tasks.js
by @cpcallen in #6615 - feat: add option to disable modal inputs on mobile by @maribethb in #6625
- feat: add running procedure events by @BeksOmega in #6650
- feat: make
getWorkspace
,getFlyout
, andgetToolbox
public by @NeilFraser in #6666 - feat: make the variable map return early for noops by @BeksOmega in #6674
- feat: add destroy lifecycle hook to blocks by @BeksOmega in #6678
- feat: procedure event serialization by @BeksOmega in #6669
- feat: Display a 'wait' cursor when opening trashcan by @NeilFraser in #6699
Bug fixes 🐛
- fix(renamings): Small correction to renaming of
Blockly.utils.global
by @cpcallen in #6599 - fix: Rename
Mutator#workspace
back toworkspace_
for compatibility with library blocks by @rachel-fenichel in #6634 - fix: Add redirects to old demos. by @NeilFraser in #6657
- fix: Fix the compiler test, and check if it worked. by @NeilFraser in #6638
- fix(deps): update json schema validation by @BeksOmega in #6637
- fix(appengine): Restore build products to previous location by @cpcallen in #6687
- fix: set default field to any and fix validator function return type by @btw17 in #6690
- fix: don't reopen dropdownDiv if it was already open by @maribethb in #6688
- fix: Don't spellcheck number fields. by @NeilFraser in #6698
- fix(tests): Fix bootstrapping of generators in compressed mode by @cpcallen in #6703
- fix: not being able to set field values to empty by @BeksOmega in #6702
Cleanup ♻️
- refactor: Migrate to PointerEvents by @gonfunko in #6598
- docs(messages): Add a msg/json/README.md by @cpcallen in #6635
- docs: Add notice to use unpkg instead of demos. by @NeilFraser in #6667
Other changes
- ci: clang format version bump by @piwysocki in #6640
- release: v9.2.0 by @cpcallen in #6711
New Contributors
- @piwysocki made their first contribution in #6640
Full Changelog: blockly-v9.1.1...blockly-v9.2.0
v9.1.1
What's Changed
Bug fixes
- fix: Rename
Mutator#workspace
back toworkspace_
for compatibility with library blocks (#6634)
Full Changelog: blockly-v9.1.0...blockly-v9.1.1