From da73a8ae003dcd2e3a198592eec9af74c3aeceb1 Mon Sep 17 00:00:00 2001 From: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com> Date: Wed, 28 Oct 2026 06:57:48 +0000 Subject: [PATCH] chore: release v7.1.0 --- .changeset/web-platform.md | 21 ------ CHANGELOG.md | 25 ++++++- all/pom.xml | 2 +- catalogs/api.json | 4 +- catalogs/assets.json | 4 +- catalogs/examples.json | 72 +++++++++---------- compatibility/browser-compatibility.md | 2 +- compatibility/browser-policy.json | 4 +- compatibility/contract.json | 4 +- core/pom.xml | 2 +- core/src/main/resources/catalogs/api.json | 4 +- core/src/main/resources/catalogs/assets.json | 4 +- .../src/main/resources/catalogs/examples.json | 72 +++++++++---------- desktop/pom.xml | 2 +- docs/public/catalogs/api.json | 4 +- docs/public/catalogs/assets.json | 4 +- docs/public/catalogs/examples.json | 72 +++++++++---------- docs/public/compatibility.json | 4 +- examples/pom.xml | 2 +- extensions/drawing/pom.xml | 2 +- extensions/gamepad/pom.xml | 2 +- extensions/recorder/pom.xml | 2 +- extensions/save/pom.xml | 2 +- extensions/tiled/pom.xml | 2 +- pom.xml | 2 +- web/pom.xml | 2 +- 26 files changed, 162 insertions(+), 160 deletions(-) delete mode 100644 .changeset/web-platform.md diff --git a/.changeset/web-platform.md b/.changeset/web-platform.md deleted file mode 100644 index dd0009e5..00000000 --- a/.changeset/web-platform.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -type: minor ---- - -Games can run in a web page. The core (`scratch`) no longer depends on LWJGL: the window, -OpenGL, sound and image decoding come from a platform module. `scratch-desktop` is the desktop -one (LWJGL, as before) and `scratch-web` the browser one: `org.openpatch.scratch.web.export.WebExport` -compiles a game and the library to WebAssembly with TeaVM and writes a page that runs it. -The fat jar (`scratch--all.jar`) contains the core and `scratch-desktop`, so programs that -use it change nothing. Maven projects that depend on `scratch` alone now also need `scratch-desktop`. -Text is drawn by a Java port of stb_truetype, pixel for pixel as before, on every platform. -Tiled maps work in a web page too: `scratch-tiled` reads .tmx and .tsx files itself and no longer -depends on Jackson (maps load exactly as before; checked on 78 maps and tilesets). `TiledMap.spawn` -takes the sprite classes it may make, `map.spawn("Objects", Player.class, Wall.class)`, instead of -looking classes up by the type names in the map, which a web page cannot do. NRW projects get -their own web jar, `scratch--nrw-web.jar`. -Saving needs no Jackson either: `SaveData` and `File` read and write JSON themselves (the same -rules as before: public fields, unknown or mistyped values are refused by `SaveData`). In a web -page, saves are kept in the browser's storage for that page. `File.saveXML`, `File.loadXML` and -`File.loadXMLOrCreate` are gone: use `File.save` and `File.load` (JSON). The web jar contains every -extension but gamepad. diff --git a/CHANGELOG.md b/CHANGELOG.md index 24481f59..a4f67e98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,32 @@ --- name: Changelog -index: 87 +index: 88 lang: en --- +## 7.1.0 + + + +Games can run in a web page. The core (`scratch`) no longer depends on LWJGL: the window, +OpenGL, sound and image decoding come from a platform module. `scratch-desktop` is the desktop +one (LWJGL, as before) and `scratch-web` the browser one: `org.openpatch.scratch.web.export.WebExport` +compiles a game and the library to WebAssembly with TeaVM and writes a page that runs it. +The fat jar (`scratch--all.jar`) contains the core and `scratch-desktop`, so programs that +use it change nothing. Maven projects that depend on `scratch` alone now also need `scratch-desktop`. +Text is drawn by a Java port of stb_truetype, pixel for pixel as before, on every platform. +Tiled maps work in a web page too: `scratch-tiled` reads .tmx and .tsx files itself and no longer +depends on Jackson (maps load exactly as before; checked on 78 maps and tilesets). `TiledMap.spawn` +takes the sprite classes it may make, `map.spawn("Objects", Player.class, Wall.class)`, instead of +looking classes up by the type names in the map, which a web page cannot do. NRW projects get +their own web jar, `scratch--nrw-web.jar`. +Saving needs no Jackson either: `SaveData` and `File` read and write JSON themselves (the same +rules as before: public fields, unknown or mistyped values are refused by `SaveData`). In a web +page, saves are kept in the browser's storage for that page. `File.saveXML`, `File.loadXML` and +`File.loadXMLOrCreate` are gone: use `File.save` and `File.load` (JSON). The web jar contains every +extension but gamepad. + + ## 7.0.0 diff --git a/all/pom.xml b/all/pom.xml index 619b7c26..cd481e36 100644 --- a/all/pom.xml +++ b/all/pom.xml @@ -6,7 +6,7 @@ org.openpatch scratch-parent - 7.0.0 + 7.1.0 diff --git a/core/src/main/resources/catalogs/api.json b/core/src/main/resources/catalogs/api.json index 39883da6..c1ab26b7 100644 --- a/core/src/main/resources/catalogs/api.json +++ b/core/src/main/resources/catalogs/api.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, - "libraryVersion": "7.0.0", - "browserVersion": "7.0.0-browser.1", + "libraryVersion": "7.1.0", + "browserVersion": "7.1.0-browser.1", "methods": [ { "id": "Camera/changeX(double)", diff --git a/core/src/main/resources/catalogs/assets.json b/core/src/main/resources/catalogs/assets.json index c2888bda..9f4a3345 100644 --- a/core/src/main/resources/catalogs/assets.json +++ b/core/src/main/resources/catalogs/assets.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, - "libraryVersion": "7.0.0", - "browserVersion": "7.0.0-browser.1", + "libraryVersion": "7.1.0", + "browserVersion": "7.1.0-browser.1", "license": "CC0", "images": [ { diff --git a/core/src/main/resources/catalogs/examples.json b/core/src/main/resources/catalogs/examples.json index 97b06ff7..829e96b7 100644 --- a/core/src/main/resources/catalogs/examples.json +++ b/core/src/main/resources/catalogs/examples.json @@ -1,13 +1,13 @@ { "schemaVersion": 1, - "libraryVersion": "7.0.0", - "browserVersion": "7.0.0-browser.1", + "libraryVersion": "7.1.0", + "browserVersion": "7.1.0-browser.1", "examples": [ { "id": "demo/cat", "kind": "demo", "source": "examples/src/main/java/demos/cat", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -25,7 +25,7 @@ "id": "demo/catPlatformer", "kind": "demo", "source": "examples/src/main/java/demos/catPlatformer", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "cat", @@ -75,7 +75,7 @@ "id": "demo/clock", "kind": "demo", "source": "examples/src/main/java/demos/clock", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -125,7 +125,7 @@ "id": "demo/coinCollector", "kind": "demo", "source": "examples/src/main/java/demos/coinCollector", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -154,7 +154,7 @@ "id": "demo/donutIO", "kind": "demo", "source": "examples/src/main/java/demos/donutIO", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -212,7 +212,7 @@ "id": "demo/glide", "kind": "demo", "source": "examples/src/main/java/demos/glide", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -229,7 +229,7 @@ "id": "demo/pipes", "kind": "demo", "source": "examples/src/main/java/demos/pipes", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -259,7 +259,7 @@ "id": "demo/quiz", "kind": "demo", "source": "examples/src/main/java/demos/quiz", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -276,7 +276,7 @@ "id": "demo/rainbowVine", "kind": "demo", "source": "examples/src/main/java/demos/rainbowVine", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -290,7 +290,7 @@ "id": "demo/randomDot", "kind": "demo", "source": "examples/src/main/java/demos/randomDot", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -304,7 +304,7 @@ "id": "demo/robot", "kind": "demo", "source": "examples/src/main/java/demos/robot", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -326,7 +326,7 @@ "id": "demo/saveSlots", "kind": "demo", "source": "examples/src/main/java/demos/saveSlots", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -355,7 +355,7 @@ "id": "demo/saving", "kind": "demo", "source": "examples/src/main/java/demos/saving", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -373,7 +373,7 @@ "id": "demo/sensing", "kind": "demo", "source": "examples/src/main/java/demos/sensing", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -395,7 +395,7 @@ "id": "demo/shader", "kind": "demo", "source": "examples/src/main/java/demos/shader", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -461,7 +461,7 @@ "id": "demo/shakespeare", "kind": "demo", "source": "examples/src/main/java/demos/shakespeare", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -487,7 +487,7 @@ "id": "demo/smartRocket", "kind": "demo", "source": "examples/src/main/java/demos/smartRocket", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -529,7 +529,7 @@ "id": "demo/stressTest", "kind": "demo", "source": "examples/src/main/java/demos/stressTest", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -927,7 +927,7 @@ "id": "demo/tiled", "kind": "demo", "source": "examples/src/main/java/demos/tiled", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1033,7 +1033,7 @@ "id": "demo/timedDot", "kind": "demo", "source": "examples/src/main/java/demos/timedDot", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1047,7 +1047,7 @@ "id": "demo/timer", "kind": "demo", "source": "examples/src/main/java/demos/timer", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1061,7 +1061,7 @@ "id": "demo/ui", "kind": "demo", "source": "examples/src/main/java/demos/ui", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1091,7 +1091,7 @@ "id": "demo/volume", "kind": "demo", "source": "examples/src/main/java/demos/volume", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1108,7 +1108,7 @@ "id": "tutorial/Halloween", "kind": "tutorial", "source": "docs/archives/Halloween", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1206,7 +1206,7 @@ "id": "tutorial/bouncy-hedgehog", "kind": "tutorial", "source": "docs/archives/bouncy-hedgehog", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1252,7 +1252,7 @@ "id": "tutorial/bouncy-hedgehog-100", "kind": "tutorial", "source": "docs/archives/bouncy-hedgehog-100", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1298,7 +1298,7 @@ "id": "tutorial/cat", "kind": "tutorial", "source": "docs/archives/cat", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1320,7 +1320,7 @@ "id": "tutorial/catch-the-coins-100", "kind": "tutorial", "source": "docs/archives/catch-the-coins-100", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1353,7 +1353,7 @@ "id": "tutorial/dodge-the-rocks-100", "kind": "tutorial", "source": "docs/archives/dodge-the-rocks-100", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1394,7 +1394,7 @@ "id": "tutorial/getting-started-100", "kind": "tutorial", "source": "docs/archives/getting-started-100", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "jumper", @@ -1423,7 +1423,7 @@ "id": "tutorial/guess-the-number-100", "kind": "tutorial", "source": "docs/archives/guess-the-number-100", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1448,7 +1448,7 @@ "id": "tutorial/make-it-walk-100", "kind": "tutorial", "source": "docs/archives/make-it-walk-100", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1477,7 +1477,7 @@ "id": "tutorial/red-light-green-light-100", "kind": "tutorial", "source": "docs/archives/red-light-green-light-100", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1510,7 +1510,7 @@ "id": "tutorial/vs-code-starter", "kind": "tutorial", "source": "docs/archives/vs-code-starter", - "libraryVersion": "7.0.0", + "libraryVersion": "7.1.0", "flavour": "standard", "requiredSheets": [], "files": [ diff --git a/desktop/pom.xml b/desktop/pom.xml index da712014..308708a9 100644 --- a/desktop/pom.xml +++ b/desktop/pom.xml @@ -6,7 +6,7 @@ org.openpatch scratch-parent - 7.0.0 + 7.1.0 org.openpatch scratch-parent - 7.0.0 + 7.1.0 pom Scratch for Java (parent) diff --git a/web/pom.xml b/web/pom.xml index db5571b1..8241d46f 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -6,7 +6,7 @@ org.openpatch scratch-parent - 7.0.0 + 7.1.0