Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
7098 commits
Select commit Hold shift + click to select a range
ba3c328
feat: add scratch-paint#develop as packages/scratch-paint
May 29, 2026
6278111
feat: integrate scratch-paint into monorepo
May 29, 2026
fb6bb67
ci: regenerate workflows after adding scratch-paint
May 29, 2026
fb331a3
chore: add prepublishOnly scrirpt and remove unused devDependency
May 29, 2026
b07db6e
chore: upgrade eslint-config-scratch to v14 in scratch-paint
May 29, 2026
7844858
fix: handle scoped package files for scratch-gui build
May 29, 2026
e560ac3
chore: update jest to version 29.7.0
May 29, 2026
f2b2d1e
fix: add a comment explaining why jest-canvas-environment was necessary
May 29, 2026
09ad693
fix: make Tips cards navigable through keyboard
May 29, 2026
69bc8b1
style(deps): update dependency eslint-config-scratch to v14.1.24
May 30, 2026
048b960
chore(deps): update dependency terser-webpack-plugin to v5.6.1
May 30, 2026
33cd96d
style(deps): update dependency eslint-config-scratch to v14.1.25
May 31, 2026
f3b0c1c
Merge branch 'develop' of github.com:scratchfoundation/scratch-editor…
Jun 1, 2026
36b9029
fix: address review comments
Jun 1, 2026
3acf2ed
Merge branch 'develop' of github.com:scratchfoundation/scratch-editor…
Jun 1, 2026
cdc6365
fix: lint errors
Jun 1, 2026
3572fbd
Merge pull request #598 from adzhindzhi/chore/backmerge-develop-into-…
Jun 1, 2026
194ee63
Merge pull request #595 from adzhindzhi/bugfix/tips-modal-not-fully-n…
Jun 1, 2026
ab22751
feat: bump accessibility release version
Jun 1, 2026
d311d86
Merge pull request #599 from scratchfoundation/release/UEPR-297-acces…
Jun 1, 2026
adf5d87
chore(release): 14.0.0 [skip ci]
Jun 1, 2026
f0f7117
fix(deps): pin dependencies (#564)
Jun 1, 2026
561cb10
chore(deps): update dependency ts-loader to v9.6.0
Jun 1, 2026
36a23a8
chore(deps): update dependency ts-loader to v9.6.0
Jun 1, 2026
79b50ac
Merge pull request #916 from scratchfoundation/renovate/ts-loader-9.x
Jun 2, 2026
20c7f30
Merge pull request #582 from scratchfoundation/feature/sunset-members…
Jun 2, 2026
f981bdf
feat: update media library assets from scratchfoundation/scratch-medi…
Jun 2, 2026
a6e6f13
Merge pull request #600 from scratchfoundation/feat/update-media-libr…
Jun 2, 2026
7c172e4
chore(release): 14.1.0 [skip ci]
Jun 2, 2026
a57639a
fix(deps): update dependency scratch-l10n to v6.1.85
Jun 3, 2026
3f6c927
fix(deps): update dependency scratch-paint to v4.2.4
Jun 4, 2026
3b4f393
chore(deps): update dependency eslint-import-resolver-typescript to v…
Jun 4, 2026
d873eeb
chore(deps): update dependency unplugin-dts to v1.0.2
Jun 4, 2026
717bd9b
chore(deps): update dependency yauzl to v3.3.2 (#602)
Jun 4, 2026
d524b20
chore(deps): update vitest monorepo to v4.1.8
Jun 4, 2026
af983b0
style(deps): update dependency eslint-config-scratch to v14.1.26
Jun 5, 2026
e9b595f
style(deps): update dependency eslint-config-scratch to v14.1.27
Jun 8, 2026
de05fad
style(deps): update dependency eslint-config-scratch to v14.1.28
Jun 8, 2026
acbdbbd
fix(deps): update radix-ui-primitives monorepo to v2.3.0
Jun 9, 2026
8190a22
chore(add-repo): set canonical prepublishOnly on imported workspace
Jun 10, 2026
9a3ee44
Merge pull request #604 from scratchfoundation/chore/add-repo-prepubl…
Jun 10, 2026
b2a64f6
chore(add-repo): refresh LICENSE/TRADEMARK after install, not before
Jun 10, 2026
a8cce26
Merge pull request #605 from scratchfoundation/fix/add-repo-update-le…
Jun 10, 2026
2050c07
feat: add scratch-storage#develop as packages/scratch-storage
Jun 10, 2026
24ffd86
feat: integrate scratch-storage into monorepo
Jun 10, 2026
d1e5ae4
ci: regenerate workflows after adding scratch-storage
Jun 10, 2026
a66ae70
Merge pull request #434 from scratchfoundation/add-scratch-storage
Jun 10, 2026
948ff5e
style(deps): update dependency eslint-config-scratch to v14
Jun 10, 2026
9d5ec9d
docs: update README.md with recent monorepo additions
Jun 10, 2026
88198df
chore: fix lint in scratch-storage
Jun 10, 2026
a9adeaf
Merge pull request #606 from scratchfoundation/renovate/eslint-config…
Jun 10, 2026
a62c721
fix(deps): pin dependencies
Jun 10, 2026
3b01714
chore(deps): update dependency yauzl to v3.4.0
Jun 10, 2026
b686a4b
Merge branch 'develop' into feat/add-scratch-paint-to-monorepo
Jun 11, 2026
083f91e
docs: add scratch-paint to the package list
Jun 11, 2026
faf7f68
Merge pull request #594 from adzhindzhi/feat/add-scratch-paint-to-mon…
Jun 11, 2026
bad1bc7
style(deps): update dependency eslint-config-scratch to v14.1.28
Jun 11, 2026
b803ed4
fix(deps): pin dependencies
Jun 12, 2026
5036f74
style(deps): update dependency eslint-config-scratch to v14.1.29
Jun 12, 2026
b495b6e
fix: report scratch-paint test results
Jun 12, 2026
2394283
chore(deps): update dependency prettier to v3.8.4
Jun 12, 2026
1445fb7
style(deps): update dependency eslint-config-scratch to v14.1.30
Jun 12, 2026
12c88a0
chore(deps): update semantic-release monorepo to v25.0.5
Jun 13, 2026
8d5646c
test: report scratch-storage test results in CI
Jun 15, 2026
dad1084
Merge pull request #611 from scratchfoundation/fix/scratch-storage-te…
Jun 15, 2026
b63f985
chore: add CLAUDE.md bridge so Claude Code loads AGENTS.md
Jun 15, 2026
86c291e
Merge pull request #612 from scratchfoundation/chore/claude-md-agents…
Jun 15, 2026
ba57b5b
chore(deps): update dependency webpack-dev-server to v5.2.5
Jun 16, 2026
ab5f8bb
chore(deps): update scratchfoundation/scratch-agreements digest to 05…
Jun 16, 2026
996dc57
fix(deps): update dependency scratch-l10n to v6.1.86
Jun 17, 2026
bcc3702
fix(deps): update dependency scratch-l10n to v6.1.87
Jun 18, 2026
8399029
chore(deps): update vitest monorepo to v4.1.9
Jun 18, 2026
3e26b19
fix(deps): update radix-ui-primitives monorepo to v2.3.1
Jun 18, 2026
2112eb3
chore(deps): update playwright monorepo to v1.61.0
Jun 19, 2026
ed8ecce
fix(deps): update dependency scratch-l10n to v6.1.88
Jun 19, 2026
3dc7219
style(deps): update dependency eslint-config-scratch to v14.1.31
Jun 19, 2026
553cb86
chore(deps): update dependency ts-loader to v9.6.1
Jun 19, 2026
0b93034
chore(deps): update node.js to v24.17.0
Jun 20, 2026
bd40a71
fix(deps): update dependency scratch-l10n to v6.1.89
Jun 20, 2026
3b1e3a6
Merge pull request #610 from adzhindzhi/fix/report-scratch-paint-test…
Jun 22, 2026
8267901
fix(deps): update dependency papaparse to v5.5.4
Jun 22, 2026
6c01485
fix: do not actually disable the stop button when the project is not …
Jun 23, 2026
4e1dc85
feat: update media library assets from scratchfoundation/scratch-medi…
Jun 23, 2026
d019de0
Merge pull request #617 from adzhindzhi/bugfix/uepr-625-do-not-actual…
Jun 23, 2026
4ae9828
Merge pull request #616 from scratchfoundation/feat/update-media-libr…
Jun 23, 2026
fdaf4a9
fix: make sure focus outline is visible on safari for components with…
Jun 24, 2026
f4e194b
chore(deps): update dependency ts-loader to v9.6.2
Jun 25, 2026
99f0bb0
chore(deps): update dependency eslint-plugin-import-x to v4.17.0
Jun 25, 2026
6ad348d
style(deps): update dependency eslint-config-scratch to v14.1.32
Jun 26, 2026
6133ff4
chore(deps): update node.js to v24.18.0
Jun 26, 2026
519d01e
style(deps): update dependency eslint-config-scratch to v14.1.33
Jun 26, 2026
4cba9a2
style(deps): update dependency eslint-config-scratch to v14.1.34
Jun 26, 2026
5ff39b4
chore(deps): update playwright monorepo to v1.61.1
Jun 26, 2026
5ea88fc
fix(deps): update dependency driver.js to v1.5.0
Jun 27, 2026
d5448df
chore(deps): update dependency unplugin-dts to v1.0.3
Jun 27, 2026
97385aa
chore(deps): update dependency webpack to v5.108.0
Jun 28, 2026
8c965c1
fix(deps): update dependency driver.js to v1.6.0
Jun 28, 2026
38f8c7b
style(deps): update dependency eslint-config-scratch to v14.1.35
Jun 29, 2026
380b679
chore(deps): update dependency prettier to v3.8.5
Jun 29, 2026
3c62db6
style(deps): update dependency eslint-config-scratch to v14.1.36
Jun 30, 2026
78602f9
chore(deps): update dependency webpack to v5.108.1
Jun 30, 2026
26f5b94
chore(deps): update dependency prettier to v3.9.0
Jun 30, 2026
1faa3cd
style(deps): update dependency eslint-config-scratch to v14.1.37
Jun 30, 2026
2d54f08
chore(deps): update dependency prettier to v3.9.1
Jul 1, 2026
627d52d
chore(deps): update scratchfoundation/scratch-agreements digest to 56…
Jul 2, 2026
032a44b
style(deps): update dependency eslint-config-scratch to v14.1.38
Jul 2, 2026
66dabd4
chore(deps): update dependency eslint-plugin-import-x to v4.17.1
Jul 2, 2026
03a22f5
style(deps): update dependency eslint-config-scratch to v14.1.39
Jul 2, 2026
5c9e784
Merge pull request #618 from adzhindzhi/bugfix/uepr-624-fix-missing-f…
Jul 2, 2026
c9eb285
chore(deps): update dependency prettier to v3.9.3
Jul 2, 2026
b0a726d
chore(deps): update dependency webpack to v5.108.2
Jul 2, 2026
3692a9c
style(deps): update dependency eslint-config-scratch to v14.1.40
Jul 2, 2026
50a94d5
chore(deps): update dependency webpack to v5.108.3
Jul 2, 2026
1afecd9
chore(deps): update dependency prettier to v3.9.4
Jul 3, 2026
4d9600a
style(deps): update dependency eslint-config-scratch to v14.1.42
Jul 3, 2026
384613f
fix(deps): update dependency @radix-ui/react-context-menu to v2.3.2
Jul 3, 2026
9c2b6c6
style(deps): update dependency eslint-config-scratch to v14.1.43
Jul 4, 2026
c9b079e
chore(deps): update dependency webpack-dev-server to v5.2.6
Jul 5, 2026
f5edfb9
fix(deps): update dependency scratch-l10n to v6.1.90
Jul 6, 2026
c0616a1
feat!: force major version release
Jul 6, 2026
7a272dd
Merge pull request #628 from adzhindzhi/chore/force-major-version-change
Jul 6, 2026
791124b
Merge branch 'develop' of github.com:scratchfoundation/scratch-editor…
Jul 6, 2026
ee7378c
fix: package-lock.json after merging develop
Jul 6, 2026
acdc3ea
feat: add sandboxing when appending to DOM in importSVG
May 15, 2026
ca144d0
fix(deps): update dependency scratch-l10n to v6.1.91
Jul 6, 2026
1c8fc15
fix: bring back old sanitized snapshot to verify test failures
Jul 7, 2026
f6fd932
test: force snapshots to be regenerated to check if that resolves tes…
Jul 7, 2026
1e7abb1
test: try regenerating snapshot on ubuntu:latest
Jul 7, 2026
5d35241
test: try uploading the snapshots as an artifact
Jul 7, 2026
5126f7e
fix: use snapshots generated from ci/cd job
Jul 7, 2026
22f1b9e
fix: make VM await updateSVGSkin now that it's async
Jul 7, 2026
163aacb
chore(deps): update dependency webpack to v5.108.4
Jul 7, 2026
31300f4
fix(deps): update dependency scratch-l10n to v6.1.92
Jul 8, 2026
d026072
fix: tear down the measurement sandbox on inactivity
Jul 8, 2026
7743061
chore(deps): update vitest monorepo to v4.1.10
Jul 9, 2026
41314ab
style(deps): update dependency eslint-config-scratch to v14.1.44
Jul 9, 2026
68369cb
fix(deps): update dependency @radix-ui/react-context-menu to v2.3.3
Jul 10, 2026
2902974
fix(deps): update dependency scratch-l10n to v6.1.93
Jul 10, 2026
707b5f5
fix(deps): update dependency tslog to v4.11.0
Jul 11, 2026
1c495c4
style(deps): update dependency eslint-config-scratch to v14.1.45
Jul 12, 2026
2f08fda
chore(deps): update dependency prettier to v3.9.5
Jul 12, 2026
802ec26
style(deps): update dependency eslint-config-scratch to v14.1.46
Jul 13, 2026
8177bd6
chore(deps): update dependency eslint to v9.39.5
Jul 13, 2026
19e582a
chore(deps): update dependency semantic-release to v25.0.6
Jul 14, 2026
e4a3149
style(deps): update dependency eslint-config-scratch to v14.1.48
Jul 14, 2026
8c54f60
style(deps): update dependency eslint-config-scratch to v14.1.49
Jul 14, 2026
04a58bc
fix(deps): update dependency scratch-l10n to v6.1.94
Jul 15, 2026
c1fa259
chore(deps): update dependency semantic-release to v25.0.7
Jul 16, 2026
7eeb766
fix(deps): update dependency scratch-l10n to v6.1.95
Jul 16, 2026
cc6e2fa
fix(deps): update dependency scratch-l10n to v6.1.96
Jul 17, 2026
c88904e
style(deps): update dependency eslint-config-scratch to v14.1.50
Jul 17, 2026
bb4337a
fix(deps): update dependency driver.js to v1.7.0
Jul 17, 2026
c478d63
style(deps): update dependency eslint-config-scratch to v14.1.51
Jul 19, 2026
b4444c6
chore(deps): update scratchfoundation/scratch-agreements digest to 05…
Jul 21, 2026
7575227
chore(deps): update dependency semantic-release to v25.0.8
Jul 21, 2026
8a88195
fix(deps): update dependency driver.js to v1.8.0
Jul 21, 2026
75594d1
fix: issues when uploading SVG wrapped raster images and uploading sp…
Jul 21, 2026
382cab8
fix(deps): update dependency scratch-l10n to v6.1.97
Jul 22, 2026
c5e73e7
fix(deps): update dependency @radix-ui/react-context-menu to v2.3.4
Jul 23, 2026
a5c32d0
feat: pre-load the sandbox iframe early to avoid extensive waiting ti…
Jul 23, 2026
08536f0
fix: address review points
Jul 23, 2026
22f1ba9
style(deps): update dependency eslint-config-scratch to v14.1.52
Jul 24, 2026
a73fb6b
chore(deps): update dependency prettier to v3.9.6
Jul 24, 2026
c43cef8
fix: address review points
Jul 24, 2026
938b73d
fix: trim release commit message to avoid E2BIG failures
Jul 24, 2026
b8d2fbe
Merge branch 'develop' of github.com:scratchfoundation/scratch-editor…
Jul 24, 2026
37b4fa1
style(deps): update dependency eslint-config-scratch to v14.1.53
Jul 24, 2026
d21f43c
chore(deps): update dependency ts-jest to v29.4.12
Jul 25, 2026
8666ca2
fix(deps): update dependency @radix-ui/react-context-menu to v2.3.5
Jul 26, 2026
9eca564
chore(deps): update dependency webpack to v5.109.0
Jul 26, 2026
7d4a024
fix(deps): update dependency scratch-l10n to v6.1.98
Jul 27, 2026
29e3778
fix(deps): update dependency @radix-ui/react-context-menu to v2.3.6
Jul 27, 2026
bb2d434
chore(deps): update playwright monorepo to v1.62.0
Jul 27, 2026
24d569c
fix(deps): update dependency @radix-ui/react-context-menu to v2.3.7
Jul 28, 2026
18681df
chore(deps): update dependency html-webpack-plugin to v5.6.8
Jul 28, 2026
21b976b
fix(deps): update dependency scratch-l10n to v6.1.99
Jul 29, 2026
2b247ea
fix: take avatarBadge prop into account
Jul 29, 2026
8108877
chore(deps): update scratchfoundation/scratch-agreements digest to dc…
Jul 29, 2026
6986600
fix: add missing prop declaration
Jul 29, 2026
8ff0075
chore(deps): update scratchfoundation/scratch-agreements digest to e3…
Jul 29, 2026
634a314
style(deps): update dependency eslint-config-scratch to v14.1.54
Jul 30, 2026
524ad8e
Merge pull request #660 from scratchfoundation/fix/read-avatar-badge
Jul 30, 2026
01aa7bd
fix(deps): update dependency scratch-l10n to v6.1.100
Jul 30, 2026
f29ff34
chore(deps): update dependency tap to v21.7.5
Jul 30, 2026
6e1c476
chore(deps): update dependency webpack to v5.109.1
Jul 31, 2026
e031944
chore(deps): update node.js to v24.18.1
Jul 31, 2026
6e47eca
chore(deps): update dependency webpack to v5.109.2
Jul 31, 2026
aeefa7a
chore(deps): update dependency npm to v10.9.9
Aug 1, 2026
6fd95da
fix(deps): update dependency scratch-l10n to v6.1.101
Aug 2, 2026
7124724
chore(deps): update playwright monorepo to v1.62.1
Aug 2, 2026
fcd1062
Merge pull request #567 from scratchfoundation/feature/svgs-iframing
Aug 3, 2026
bb0999f
chore(release): 15.0.0 [skip ci]
Aug 3, 2026
4bd8c8a
style(deps): update dependency eslint-config-scratch to v14.1.55
Aug 3, 2026
25b7c6a
fix: make sure dist/ folder in scratch-storage is packed and only pac…
Aug 3, 2026
f156953
fix(deps): update dependency svgo to v4.0.2
Aug 3, 2026
92d998d
chore(deps): update scratchfoundation/scratch-agreements digest to 96…
Aug 3, 2026
33cef62
chore(deps): update dependency @playwright/test to v1.62.1
Aug 3, 2026
5c49774
Merge pull request #662 from adzhindzhi/fix/make-sure-dist-scratch-st…
Aug 4, 2026
942b4e1
chore(release): 15.0.1 [skip ci]
Aug 4, 2026
ab9a9ab
fix(deps): update dependency scratch-l10n to v6.1.102
Aug 4, 2026
6fdbed8
fix(deps): update dependency scratch-l10n to v6.1.103
Aug 5, 2026
1278f0e
style(deps): update dependency eslint-config-scratch to v14.1.56
Aug 5, 2026
44bf766
chore(deps): update node.js to v24.19.0
Aug 6, 2026
48d36e7
fix(deps): update dependency scratch-l10n to v6.1.104
Aug 6, 2026
c297840
fix(deps): update dependency @testing-library/user-event to v14.6.3
Aug 6, 2026
158ec9e
fix: downgrade @radix-ui/react-context-menu version to a non-breaking…
Aug 7, 2026
af3998a
Merge pull request #667 from adzhindzhi/fix/downgrade-radix-ui-dep-ve…
Aug 7, 2026
1344d46
style(deps): update dependency eslint-config-scratch to v14.1.57
Aug 8, 2026
f8dea79
chore(deps): update dependency semantic-release to v25.0.9 (#669)
Aug 8, 2026
f787b8e
fix(deps): update dependency scratch-l10n to v6.1.105
Aug 8, 2026
6b2b013
fix(deps): update dependency scratch-l10n to v6.1.106
Aug 9, 2026
c60cb90
fix(deps): update dependency scratch-l10n to v6.1.107
Aug 10, 2026
8b5e75a
fix(deps): update dependency scratch-l10n to v6.1.108
Aug 10, 2026
601e6cb
chore(deps): update scratchfoundation/scratch-agreements digest to 36…
Aug 12, 2026
7a427c3
fix(deps): update dependency scratch-parser to v6.0.1
Aug 12, 2026
09e874b
fix(deps): update dependency scratch-sb1-converter to v2.0.280
Aug 13, 2026
129f98a
style(deps): update dependency eslint-config-scratch to v14.1.58
Aug 13, 2026
344a50c
fix(deps): update dependency @testing-library/user-event to v14.6.4
Aug 15, 2026
a021713
style(deps): update dependency eslint-config-scratch to v14.1.59
Aug 15, 2026
fb18bd1
chore(deps): update scratchfoundation/scratch-agreements digest to eb…
Aug 15, 2026
661411f
fix(deps): update dependency scratch-l10n to v6.1.109 (#674)
Aug 15, 2026
efe1b71
style(deps): update dependency eslint-config-scratch to v14.1.60
Aug 15, 2026
b027676
fix(deps): update dependency scratch-l10n to v6.1.110
Aug 16, 2026
2ccfc4d
fix(deps): update dependency papaparse to v5.6.0
Aug 16, 2026
34a4795
fix: always save project thumbnails with a fixed image size
Aug 17, 2026
251ea80
feat: make library asset thumbnails fetch url configurable
Aug 18, 2026
d6bcb74
fix: unstable ref onUpdateProjectThumbnail in case of using it from s…
Aug 19, 2026
9c9e227
style(deps): update dependency eslint-config-scratch to v14.1.61
Aug 20, 2026
101b060
Merge pull request #679 from adzhindzhi/feature/uepr-546-configurable…
Aug 20, 2026
12da85b
Merge pull request #680 from scratchfoundation/fix/on-update-project-…
Aug 20, 2026
847c0b6
chore(release): 15.1.0 [skip ci]
Aug 20, 2026
bb7bf27
fix(deps): update dependency immutable to v3.8.4 (#678)
Aug 20, 2026
01a51c4
fix(deps): update dependency @testing-library/user-event to v14.6.5
Aug 21, 2026
c747596
fix: synchronously scale thumbnails
Aug 21, 2026
24cb9b5
chore(deps): update vitest monorepo to v4.1.11
Aug 21, 2026
98ffed8
fix(deps): update dependency scratch-l10n to v6.1.111 (#681)
Aug 21, 2026
a54b373
fix(deps): update dependency @testing-library/user-event to v14.6.6
Aug 25, 2026
22fcbd0
chore(deps): update scratchfoundation/scratch-agreements digest to 83…
Aug 27, 2026
a2c249b
fix(deps): update dependency papaparse to v5.7.0
Aug 27, 2026
fa30926
fix(deps): update dependency svgo to v4.1.0
Aug 27, 2026
50519ca
chore(deps): update node.js to v24.20.0
Aug 29, 2026
4df5e59
chore(deps): update dependency jest to v30.5.0
Aug 31, 2026
bc10430
fix: remove unnecessary call of requestSnapshot
Sep 1, 2026
99e4c3f
Merge pull request #676 from scratchfoundation/bugfix/UEPR-656-always…
Sep 2, 2026
99bcc17
chore(release): 15.1.1 [skip ci]
Sep 2, 2026
8df54b0
Build: code classroom build and publish set up (#3)
May 21, 2026
6149b0f
fix: get publishing working with --ignore-scripts (#4)
May 22, 2026
9950454
build: publish code-classroom as 15.1.1
Sep 17, 2026
1281d3c
Merge code-classroom into the v15.1.1 rebase
Sep 18, 2026
63d2131
fix: restore the scratch-gui workspace link in the lock file
Sep 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 19 additions & 2 deletions .github/path-filters.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# This file is generated by scripts/update-gha-workflows.ts
#
# To regenerate: npm run refresh-gh-workflow

# The `&global` anchor defines a set of common paths to include by reference in the other filters.
global: &global
- ".github/path-filters.yml"
Expand All @@ -14,24 +18,37 @@ any-workspace:
task-herder:
- *global
- "packages/task-herder/**"
scratch-media-lib-scripts:
scratch-storage:
- *global
- "packages/scratch-media-lib-scripts/**"
- "packages/scratch-storage/**"
- "packages/task-herder/**"
scratch-svg-renderer:
- *global
- "packages/scratch-svg-renderer/**"
scratch-paint:
- *global
- "packages/scratch-paint/**"
- "packages/scratch-svg-renderer/**"
scratch-render:
- *global
- "packages/scratch-render/**"
- "packages/scratch-svg-renderer/**"
scratch-vm:
- *global
- "packages/scratch-render/**"
- "packages/scratch-storage/**"
- "packages/scratch-svg-renderer/**"
- "packages/scratch-vm/**"
- "packages/task-herder/**"
scratch-gui:
- *global
- "packages/scratch-gui/**"
- "packages/scratch-paint/**"
- "packages/scratch-render/**"
- "packages/scratch-storage/**"
- "packages/scratch-svg-renderer/**"
- "packages/scratch-vm/**"
- "packages/task-herder/**"
scratch-media-lib-scripts:
- *global
- "packages/scratch-media-lib-scripts/**"
20 changes: 0 additions & 20 deletions .github/release.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:
env:
NPM_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
RELEASE_VERSION="13.7.3-code-classroom.$(date +'%Y%m%d%H%M%S')"
RELEASE_VERSION="15.1.1-code-classroom.$(date +'%Y%m%d%H%M%S')"
npm version --no-git-tag-version "$RELEASE_VERSION"
npm publish --access public --tag latest --ignore-scripts

Expand Down
7 changes: 3 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# build-monorepo.sh
/monorepo.out
/monorepo.tmp
/monorepo.cache
# add-repo.sh
/add-repo.tmp
/add-repo.errors.log

# Logs
logs
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
24.15.0
24.20.0
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@AGENTS.md
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ This repository is a public fork of [scratchfoundation/scratch-editor](https://g
| | |
|---|---|
| **Upstream anchor branch** | [`code-classroom-base`](https://github.com/RaspberryPiFoundation/scratch-editor/tree/code-classroom-base) — points at a [scratchfoundation/scratch-editor](https://github.com/scratchfoundation/scratch-editor) **release tag** only (no RPF packaging) |
| **Upstream release** | [`v13.7.3`](https://github.com/scratchfoundation/scratch-editor/releases/tag/v13.7.3) (current tag on `code-classroom-base`) |
| **Upstream release** | [`v15.1.1`](https://github.com/scratchfoundation/scratch-editor/releases/tag/v15.1.1) (current tag on `code-classroom-base`) |
| **Integration branch** | [`code-classroom`](https://github.com/RaspberryPiFoundation/scratch-editor/tree/code-classroom) — long-lived branch; RPF packaging, CI, and feature work merge here via PR |
| **RPF changes (diff)** | [Compare `code-classroom` to `code-classroom-base`](https://github.com/RaspberryPiFoundation/scratch-editor/compare/code-classroom-base...code-classroom) — packaging, CI, and fork-only code |
| **Published package** | [`@RaspberryPiFoundation/scratch-gui`](https://github.com/RaspberryPiFoundation/scratch-editor/pkgs/npm/scratch-gui) on GitHub Packages |
Expand Down Expand Up @@ -64,7 +64,7 @@ npm start # http://localhost:8601/
### CI and publishing

- **Pull requests:** CI runs build and tests; **no** package is published to GitHub Packages.
- **Push to `code-classroom`:** CI builds and publishes `@RaspberryPiFoundation/scratch-gui` with a version such as `13.7.3-code-classroom.YYYYMMDDHHMMSS`. Pin an explicit version in consumers (e.g. editor-ui); do not rely on floating `latest` in production.
- **Push to `code-classroom`:** CI builds and publishes `@RaspberryPiFoundation/scratch-gui` with a version such as `15.1.1-code-classroom.YYYYMMDDHHMMSS`. Pin an explicit version in consumers (e.g. editor-ui); do not rely on floating `latest` in production.
- Publishing is configured in [`.github/workflows/ci.yml`](.github/workflows/ci.yml) (inline publish step on the `code-classroom` branch only). Upstream’s npmjs release workflow (`.github/workflows/publish.yml`) is disabled on this fork.

## What's in this repository?
Expand All @@ -73,9 +73,14 @@ The `packages` directory in this repository contains:

- `scratch-gui` provides the buttons, menus, and other elements that you interact with when creating and editing a
project. It's also the "glue" that brings most of the other modules together at runtime.
- `scratch-media-lib-scripts` builds (or rebuilds) media libraries for the editor.
- `scratch-paint` provides a way to draw vector (SVG) or bitmap (PNG) images for costumes and backdrops.
- `scratch-render` draws backdrops, sprites, and clones on the stage.
- `scratch-storage` helps load project assets like images and sounds. It also provides `ScratchFetch`, a customized
wrapper around `fetch`.
- `scratch-svg-renderer` processes SVG (vector) images for use with Scratch projects.
- `scratch-vm` is the virtual machine that runs Scratch projects.
- `task-herder` manages queues of tasks with throttling and concurrency limits.

_Please add to this list as more packages are migrated to the monorepo._

Expand Down
54 changes: 41 additions & 13 deletions Release.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,44 @@

_For maintainers of this monorepo._

All packages in this monorepo will be published to NPM when a new release is created. They'll all share the same
version number. To create a new release:

1. Select "Draft a new release" from [the repository's "Releases"
tab](https://github.com/scratchfoundation/scratch-editor/releases) or "Create a new release" from [the main page of
the repository](https://github.com/scratchfoundation/scratch-editor/).
2. To create a tag for the release, select the **Choose a tag** dropdown menu, type a version number for your release,
then click **Create new tag**. The tag of the release is used to determine and update package versions.
3. In the **Describe this release** field, type a description for your release. If you @mention anyone in the
description, the published release will include a Contributors section with an avatar list of all the mentioned
users. Alternatively, you can automatically generate your release notes by clicking **Generate release notes**.
This provides a list with the **Pull Requests** included in the release and their creators.
4. Clicking **Publish release** triggers the publishing workflow that will publish the monorepo packages to NPM.
All packages in this monorepo are published to npm with a shared version number. Releases are produced by the
**Publish** workflow, triggered manually from the Actions tab. The next version number and the changelog are
both computed from the Conventional Commits on the release branch.

## Releasing

1. Push the commits you want included to the branch you want to release from.
2. Open the [Publish workflow](https://github.com/scratchfoundation/scratch-editor/actions/workflows/publish.yml).
3. Click the **Run workflow** dropdown, choose the branch, and click the **Run workflow** button.
4. Wait for the workflow to finish. On success: the packages are on npm, a tag and GitHub release exist, and
the version-bump commit is on the branch.

If there are no relevant commits since the last release on that branch, the workflow exits cleanly with a
"nothing to publish" notice. Pressing the button on a branch with only `chore:` or `docs:` commits is a no-op.

## Which branches can release

| Branch | Acts as | npm dist-tag | Example version |
|------------------------|------------------------|-------------------|--------------------------|
| `develop` | primary release | `latest` | `13.8.0` |
| `13.x`, `13.7.x`, etc. | maintenance | matching the line | `13.7.5` |
| `release/<topic>` | long-lived prerelease | `<topic>` | `13.8.0-accessibility.3` |
| `hotfix/<topic>` | short-lived prerelease | `<topic>` | `13.7.5-paint-fix.1` |

The dist-tag for `release/*` and `hotfix/*` is the branch name with the prefix stripped. Pick a short, public-
facing branch suffix — it becomes the dist-tag downstream consumers see.

Other branches (`feat/*`, `fix/*`, `chore/*`, `feature/*`, bare names) are not releasable. The workflow run
will fail at the branch-validation step.

## Conventional Commits matter

Version bumps are computed from commit types:

- `fix:` → patch
- `feat:` → minor
- `BREAKING CHANGE:` in the body (or `!:` in the header) → major
- `chore:`, `docs:`, `style:`, `refactor:`, `test:`, `ci:`, `build:` → no release

A wrong commit type means a wrong version bump. The husky hook enforces the format, but it's up to you to categorize
your commit correctly.
Loading