From 350146726e51b2b942fa64a7a4c89df3c7df5deb Mon Sep 17 00:00:00 2001 From: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com> Date: Wed, 14 Oct 2026 18:33:31 +0000 Subject: [PATCH 1/2] chore: release v6.2.0 --- .changeset/portable-save-data.md | 13 ---- CHANGELOG.md | 17 +++++- catalogs/api.json | 4 +- catalogs/assets.json | 4 +- catalogs/examples.json | 74 +++++++++++------------ compatibility/browser-compatibility.md | 2 +- compatibility/browser-policy.json | 4 +- compatibility/contract.json | 4 +- docs/public/catalogs/api.json | 4 +- docs/public/catalogs/assets.json | 4 +- docs/public/catalogs/examples.json | 74 +++++++++++------------ docs/public/compatibility.json | 4 +- pom.xml | 2 +- src/main/resources/catalogs/api.json | 4 +- src/main/resources/catalogs/assets.json | 4 +- src/main/resources/catalogs/examples.json | 74 +++++++++++------------ 16 files changed, 147 insertions(+), 145 deletions(-) delete mode 100644 .changeset/portable-save-data.md diff --git a/.changeset/portable-save-data.md b/.changeset/portable-save-data.md deleted file mode 100644 index e04dc9d9..00000000 --- a/.changeset/portable-save-data.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -type: minor ---- - -Add `SaveData` for game progress and named save slots. Desktop games store -public data fields as JSON in their user-data directory; the online IDE uses -IndexedDB through the same Java API. Missing slots use caller-supplied defaults, -while corrupt data and failed writes report errors without silently resetting -progress. Writes commit before the game continues. - -The Coin Quest demo uses built-in assets and three slots, with controls to save, -load and start a fresh round. Its score and sprite positions survive a desktop -restart or browser reload. diff --git a/CHANGELOG.md b/CHANGELOG.md index 9955999d..cde616ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,24 @@ --- name: Changelog -index: 81 +index: 82 lang: en --- +## 6.2.0 + + + +Add `SaveData` for game progress and named save slots. Desktop games store +public data fields as JSON in their user-data directory; the online IDE uses +IndexedDB through the same Java API. Missing slots use caller-supplied defaults, +while corrupt data and failed writes report errors without silently resetting +progress. Writes commit before the game continues. + +The Coin Quest demo uses built-in assets and three slots, with controls to save, +load and start a fresh round. Its score and sprite positions survive a desktop +restart or browser reload. + + ## 6.1.3 diff --git a/catalogs/api.json b/catalogs/api.json index 83309c7f..bb12174e 100644 --- a/catalogs/api.json +++ b/catalogs/api.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, - "libraryVersion": "6.1.3", - "browserVersion": "6.1.3-browser.2", + "libraryVersion": "6.2.0", + "browserVersion": "6.2.0-browser.1", "methods": [ { "id": "AnimatedSprite/addAnimation(String,String,int)", diff --git a/catalogs/assets.json b/catalogs/assets.json index 78b8e2f0..9b058365 100644 --- a/catalogs/assets.json +++ b/catalogs/assets.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, - "libraryVersion": "6.1.3", - "browserVersion": "6.1.3-browser.2", + "libraryVersion": "6.2.0", + "browserVersion": "6.2.0-browser.1", "license": "CC0", "images": [ { diff --git a/catalogs/examples.json b/catalogs/examples.json index 15141557..8c8b4378 100644 --- a/catalogs/examples.json +++ b/catalogs/examples.json @@ -1,13 +1,13 @@ { "schemaVersion": 1, - "libraryVersion": "6.1.3", - "browserVersion": "6.1.3-browser.2", + "libraryVersion": "6.2.0", + "browserVersion": "6.2.0-browser.1", "examples": [ { "id": "demo/cat", "kind": "demo", "source": "src/examples/java/demos/cat", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -25,7 +25,7 @@ "id": "demo/catPlatformer", "kind": "demo", "source": "src/examples/java/demos/catPlatformer", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "cat", @@ -75,7 +75,7 @@ "id": "demo/clock", "kind": "demo", "source": "src/examples/java/demos/clock", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -125,7 +125,7 @@ "id": "demo/coinCollector", "kind": "demo", "source": "src/examples/java/demos/coinCollector", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -154,7 +154,7 @@ "id": "demo/donutIO", "kind": "demo", "source": "src/examples/java/demos/donutIO", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -212,7 +212,7 @@ "id": "demo/glide", "kind": "demo", "source": "src/examples/java/demos/glide", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -229,7 +229,7 @@ "id": "demo/pipes", "kind": "demo", "source": "src/examples/java/demos/pipes", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -259,7 +259,7 @@ "id": "demo/quiz", "kind": "demo", "source": "src/examples/java/demos/quiz", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -276,7 +276,7 @@ "id": "demo/rainbowVine", "kind": "demo", "source": "src/examples/java/demos/rainbowVine", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -290,7 +290,7 @@ "id": "demo/randomDot", "kind": "demo", "source": "src/examples/java/demos/randomDot", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -304,7 +304,7 @@ "id": "demo/robot", "kind": "demo", "source": "src/examples/java/demos/robot", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -326,7 +326,7 @@ "id": "demo/saveSlots", "kind": "demo", "source": "src/examples/java/demos/saveSlots", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -355,7 +355,7 @@ "id": "demo/saving", "kind": "demo", "source": "src/examples/java/demos/saving", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -373,7 +373,7 @@ "id": "demo/sensing", "kind": "demo", "source": "src/examples/java/demos/sensing", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -395,7 +395,7 @@ "id": "demo/shader", "kind": "demo", "source": "src/examples/java/demos/shader", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -465,7 +465,7 @@ "id": "demo/shakespeare", "kind": "demo", "source": "src/examples/java/demos/shakespeare", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -491,7 +491,7 @@ "id": "demo/smartRocket", "kind": "demo", "source": "src/examples/java/demos/smartRocket", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -533,7 +533,7 @@ "id": "demo/stressTest", "kind": "demo", "source": "src/examples/java/demos/stressTest", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -931,7 +931,7 @@ "id": "demo/tiled", "kind": "demo", "source": "src/examples/java/demos/tiled", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1041,7 +1041,7 @@ "id": "demo/timedDot", "kind": "demo", "source": "src/examples/java/demos/timedDot", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1055,7 +1055,7 @@ "id": "demo/timer", "kind": "demo", "source": "src/examples/java/demos/timer", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1069,7 +1069,7 @@ "id": "demo/ui", "kind": "demo", "source": "src/examples/java/demos/ui", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1099,7 +1099,7 @@ "id": "demo/volume", "kind": "demo", "source": "src/examples/java/demos/volume", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1116,7 +1116,7 @@ "id": "tutorial/Halloween", "kind": "tutorial", "source": "docs/archives/Halloween", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1218,7 +1218,7 @@ "id": "tutorial/bluej-starter", "kind": "tutorial", "source": "docs/archives/bluej-starter", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1252,7 +1252,7 @@ "id": "tutorial/bouncy-hedgehog", "kind": "tutorial", "source": "docs/archives/bouncy-hedgehog", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1302,7 +1302,7 @@ "id": "tutorial/bouncy-hedgehog-100", "kind": "tutorial", "source": "docs/archives/bouncy-hedgehog-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1352,7 +1352,7 @@ "id": "tutorial/cat", "kind": "tutorial", "source": "docs/archives/cat", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1378,7 +1378,7 @@ "id": "tutorial/catch-the-coins-100", "kind": "tutorial", "source": "docs/archives/catch-the-coins-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1415,7 +1415,7 @@ "id": "tutorial/dodge-the-rocks-100", "kind": "tutorial", "source": "docs/archives/dodge-the-rocks-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1460,7 +1460,7 @@ "id": "tutorial/getting-started-100", "kind": "tutorial", "source": "docs/archives/getting-started-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "jumper", @@ -1493,7 +1493,7 @@ "id": "tutorial/guess-the-number-100", "kind": "tutorial", "source": "docs/archives/guess-the-number-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1522,7 +1522,7 @@ "id": "tutorial/make-it-walk-100", "kind": "tutorial", "source": "docs/archives/make-it-walk-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1555,7 +1555,7 @@ "id": "tutorial/red-light-green-light-100", "kind": "tutorial", "source": "docs/archives/red-light-green-light-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1592,7 +1592,7 @@ "id": "tutorial/vs-code-starter", "kind": "tutorial", "source": "docs/archives/vs-code-starter", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ diff --git a/compatibility/browser-compatibility.md b/compatibility/browser-compatibility.md index 60ad5cca..e2c77206 100644 --- a/compatibility/browser-compatibility.md +++ b/compatibility/browser-compatibility.md @@ -1,6 +1,6 @@ # Browser compatibility -Desktop library: **6.1.3**. Browser implementation: **6.1.3-browser.2**. +Desktop library: **6.2.0**. Browser implementation: **6.2.0-browser.1**. Generated by `scripts/browser-compatibility.py`. Machine-readable: [contract.json](contract.json). diff --git a/compatibility/browser-policy.json b/compatibility/browser-policy.json index 540ffd7f..550d16c5 100644 --- a/compatibility/browser-policy.json +++ b/compatibility/browser-policy.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, - "desktopVersion": "6.1.3", - "browserVersion": "6.1.3-browser.2", + "desktopVersion": "6.2.0", + "browserVersion": "6.2.0-browser.1", "flavors": { "standard": { "libraries": [ diff --git a/compatibility/contract.json b/compatibility/contract.json index 534bb33a..9a1cfdaa 100644 --- a/compatibility/contract.json +++ b/compatibility/contract.json @@ -1,8 +1,8 @@ { "schemaVersion": 1, - "desktopVersion": "6.1.3", + "desktopVersion": "6.2.0", "browser": { - "version": "6.1.3-browser.2", + "version": "6.2.0-browser.1", "flavors": { "standard": { "libraries": [ diff --git a/docs/public/catalogs/api.json b/docs/public/catalogs/api.json index 83309c7f..bb12174e 100644 --- a/docs/public/catalogs/api.json +++ b/docs/public/catalogs/api.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, - "libraryVersion": "6.1.3", - "browserVersion": "6.1.3-browser.2", + "libraryVersion": "6.2.0", + "browserVersion": "6.2.0-browser.1", "methods": [ { "id": "AnimatedSprite/addAnimation(String,String,int)", diff --git a/docs/public/catalogs/assets.json b/docs/public/catalogs/assets.json index 78b8e2f0..9b058365 100644 --- a/docs/public/catalogs/assets.json +++ b/docs/public/catalogs/assets.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, - "libraryVersion": "6.1.3", - "browserVersion": "6.1.3-browser.2", + "libraryVersion": "6.2.0", + "browserVersion": "6.2.0-browser.1", "license": "CC0", "images": [ { diff --git a/docs/public/catalogs/examples.json b/docs/public/catalogs/examples.json index 15141557..8c8b4378 100644 --- a/docs/public/catalogs/examples.json +++ b/docs/public/catalogs/examples.json @@ -1,13 +1,13 @@ { "schemaVersion": 1, - "libraryVersion": "6.1.3", - "browserVersion": "6.1.3-browser.2", + "libraryVersion": "6.2.0", + "browserVersion": "6.2.0-browser.1", "examples": [ { "id": "demo/cat", "kind": "demo", "source": "src/examples/java/demos/cat", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -25,7 +25,7 @@ "id": "demo/catPlatformer", "kind": "demo", "source": "src/examples/java/demos/catPlatformer", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "cat", @@ -75,7 +75,7 @@ "id": "demo/clock", "kind": "demo", "source": "src/examples/java/demos/clock", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -125,7 +125,7 @@ "id": "demo/coinCollector", "kind": "demo", "source": "src/examples/java/demos/coinCollector", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -154,7 +154,7 @@ "id": "demo/donutIO", "kind": "demo", "source": "src/examples/java/demos/donutIO", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -212,7 +212,7 @@ "id": "demo/glide", "kind": "demo", "source": "src/examples/java/demos/glide", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -229,7 +229,7 @@ "id": "demo/pipes", "kind": "demo", "source": "src/examples/java/demos/pipes", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -259,7 +259,7 @@ "id": "demo/quiz", "kind": "demo", "source": "src/examples/java/demos/quiz", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -276,7 +276,7 @@ "id": "demo/rainbowVine", "kind": "demo", "source": "src/examples/java/demos/rainbowVine", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -290,7 +290,7 @@ "id": "demo/randomDot", "kind": "demo", "source": "src/examples/java/demos/randomDot", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -304,7 +304,7 @@ "id": "demo/robot", "kind": "demo", "source": "src/examples/java/demos/robot", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -326,7 +326,7 @@ "id": "demo/saveSlots", "kind": "demo", "source": "src/examples/java/demos/saveSlots", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -355,7 +355,7 @@ "id": "demo/saving", "kind": "demo", "source": "src/examples/java/demos/saving", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -373,7 +373,7 @@ "id": "demo/sensing", "kind": "demo", "source": "src/examples/java/demos/sensing", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -395,7 +395,7 @@ "id": "demo/shader", "kind": "demo", "source": "src/examples/java/demos/shader", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -465,7 +465,7 @@ "id": "demo/shakespeare", "kind": "demo", "source": "src/examples/java/demos/shakespeare", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -491,7 +491,7 @@ "id": "demo/smartRocket", "kind": "demo", "source": "src/examples/java/demos/smartRocket", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -533,7 +533,7 @@ "id": "demo/stressTest", "kind": "demo", "source": "src/examples/java/demos/stressTest", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -931,7 +931,7 @@ "id": "demo/tiled", "kind": "demo", "source": "src/examples/java/demos/tiled", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1041,7 +1041,7 @@ "id": "demo/timedDot", "kind": "demo", "source": "src/examples/java/demos/timedDot", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1055,7 +1055,7 @@ "id": "demo/timer", "kind": "demo", "source": "src/examples/java/demos/timer", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1069,7 +1069,7 @@ "id": "demo/ui", "kind": "demo", "source": "src/examples/java/demos/ui", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1099,7 +1099,7 @@ "id": "demo/volume", "kind": "demo", "source": "src/examples/java/demos/volume", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1116,7 +1116,7 @@ "id": "tutorial/Halloween", "kind": "tutorial", "source": "docs/archives/Halloween", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1218,7 +1218,7 @@ "id": "tutorial/bluej-starter", "kind": "tutorial", "source": "docs/archives/bluej-starter", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1252,7 +1252,7 @@ "id": "tutorial/bouncy-hedgehog", "kind": "tutorial", "source": "docs/archives/bouncy-hedgehog", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1302,7 +1302,7 @@ "id": "tutorial/bouncy-hedgehog-100", "kind": "tutorial", "source": "docs/archives/bouncy-hedgehog-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1352,7 +1352,7 @@ "id": "tutorial/cat", "kind": "tutorial", "source": "docs/archives/cat", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1378,7 +1378,7 @@ "id": "tutorial/catch-the-coins-100", "kind": "tutorial", "source": "docs/archives/catch-the-coins-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1415,7 +1415,7 @@ "id": "tutorial/dodge-the-rocks-100", "kind": "tutorial", "source": "docs/archives/dodge-the-rocks-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1460,7 +1460,7 @@ "id": "tutorial/getting-started-100", "kind": "tutorial", "source": "docs/archives/getting-started-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "jumper", @@ -1493,7 +1493,7 @@ "id": "tutorial/guess-the-number-100", "kind": "tutorial", "source": "docs/archives/guess-the-number-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1522,7 +1522,7 @@ "id": "tutorial/make-it-walk-100", "kind": "tutorial", "source": "docs/archives/make-it-walk-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1555,7 +1555,7 @@ "id": "tutorial/red-light-green-light-100", "kind": "tutorial", "source": "docs/archives/red-light-green-light-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1592,7 +1592,7 @@ "id": "tutorial/vs-code-starter", "kind": "tutorial", "source": "docs/archives/vs-code-starter", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ diff --git a/docs/public/compatibility.json b/docs/public/compatibility.json index 534bb33a..9a1cfdaa 100644 --- a/docs/public/compatibility.json +++ b/docs/public/compatibility.json @@ -1,8 +1,8 @@ { "schemaVersion": 1, - "desktopVersion": "6.1.3", + "desktopVersion": "6.2.0", "browser": { - "version": "6.1.3-browser.2", + "version": "6.2.0-browser.1", "flavors": { "standard": { "libraries": [ diff --git a/pom.xml b/pom.xml index ea506424..e2d6c14a 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.openpatch scratch - 6.1.3 + 6.2.0 jar Scratch for Java diff --git a/src/main/resources/catalogs/api.json b/src/main/resources/catalogs/api.json index 83309c7f..bb12174e 100644 --- a/src/main/resources/catalogs/api.json +++ b/src/main/resources/catalogs/api.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, - "libraryVersion": "6.1.3", - "browserVersion": "6.1.3-browser.2", + "libraryVersion": "6.2.0", + "browserVersion": "6.2.0-browser.1", "methods": [ { "id": "AnimatedSprite/addAnimation(String,String,int)", diff --git a/src/main/resources/catalogs/assets.json b/src/main/resources/catalogs/assets.json index 78b8e2f0..9b058365 100644 --- a/src/main/resources/catalogs/assets.json +++ b/src/main/resources/catalogs/assets.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, - "libraryVersion": "6.1.3", - "browserVersion": "6.1.3-browser.2", + "libraryVersion": "6.2.0", + "browserVersion": "6.2.0-browser.1", "license": "CC0", "images": [ { diff --git a/src/main/resources/catalogs/examples.json b/src/main/resources/catalogs/examples.json index 15141557..8c8b4378 100644 --- a/src/main/resources/catalogs/examples.json +++ b/src/main/resources/catalogs/examples.json @@ -1,13 +1,13 @@ { "schemaVersion": 1, - "libraryVersion": "6.1.3", - "browserVersion": "6.1.3-browser.2", + "libraryVersion": "6.2.0", + "browserVersion": "6.2.0-browser.1", "examples": [ { "id": "demo/cat", "kind": "demo", "source": "src/examples/java/demos/cat", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -25,7 +25,7 @@ "id": "demo/catPlatformer", "kind": "demo", "source": "src/examples/java/demos/catPlatformer", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "cat", @@ -75,7 +75,7 @@ "id": "demo/clock", "kind": "demo", "source": "src/examples/java/demos/clock", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -125,7 +125,7 @@ "id": "demo/coinCollector", "kind": "demo", "source": "src/examples/java/demos/coinCollector", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -154,7 +154,7 @@ "id": "demo/donutIO", "kind": "demo", "source": "src/examples/java/demos/donutIO", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -212,7 +212,7 @@ "id": "demo/glide", "kind": "demo", "source": "src/examples/java/demos/glide", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -229,7 +229,7 @@ "id": "demo/pipes", "kind": "demo", "source": "src/examples/java/demos/pipes", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -259,7 +259,7 @@ "id": "demo/quiz", "kind": "demo", "source": "src/examples/java/demos/quiz", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -276,7 +276,7 @@ "id": "demo/rainbowVine", "kind": "demo", "source": "src/examples/java/demos/rainbowVine", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -290,7 +290,7 @@ "id": "demo/randomDot", "kind": "demo", "source": "src/examples/java/demos/randomDot", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -304,7 +304,7 @@ "id": "demo/robot", "kind": "demo", "source": "src/examples/java/demos/robot", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -326,7 +326,7 @@ "id": "demo/saveSlots", "kind": "demo", "source": "src/examples/java/demos/saveSlots", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -355,7 +355,7 @@ "id": "demo/saving", "kind": "demo", "source": "src/examples/java/demos/saving", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -373,7 +373,7 @@ "id": "demo/sensing", "kind": "demo", "source": "src/examples/java/demos/sensing", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -395,7 +395,7 @@ "id": "demo/shader", "kind": "demo", "source": "src/examples/java/demos/shader", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -465,7 +465,7 @@ "id": "demo/shakespeare", "kind": "demo", "source": "src/examples/java/demos/shakespeare", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -491,7 +491,7 @@ "id": "demo/smartRocket", "kind": "demo", "source": "src/examples/java/demos/smartRocket", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -533,7 +533,7 @@ "id": "demo/stressTest", "kind": "demo", "source": "src/examples/java/demos/stressTest", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -931,7 +931,7 @@ "id": "demo/tiled", "kind": "demo", "source": "src/examples/java/demos/tiled", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1041,7 +1041,7 @@ "id": "demo/timedDot", "kind": "demo", "source": "src/examples/java/demos/timedDot", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1055,7 +1055,7 @@ "id": "demo/timer", "kind": "demo", "source": "src/examples/java/demos/timer", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1069,7 +1069,7 @@ "id": "demo/ui", "kind": "demo", "source": "src/examples/java/demos/ui", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1099,7 +1099,7 @@ "id": "demo/volume", "kind": "demo", "source": "src/examples/java/demos/volume", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1116,7 +1116,7 @@ "id": "tutorial/Halloween", "kind": "tutorial", "source": "docs/archives/Halloween", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1218,7 +1218,7 @@ "id": "tutorial/bluej-starter", "kind": "tutorial", "source": "docs/archives/bluej-starter", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1252,7 +1252,7 @@ "id": "tutorial/bouncy-hedgehog", "kind": "tutorial", "source": "docs/archives/bouncy-hedgehog", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1302,7 +1302,7 @@ "id": "tutorial/bouncy-hedgehog-100", "kind": "tutorial", "source": "docs/archives/bouncy-hedgehog-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1352,7 +1352,7 @@ "id": "tutorial/cat", "kind": "tutorial", "source": "docs/archives/cat", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ @@ -1378,7 +1378,7 @@ "id": "tutorial/catch-the-coins-100", "kind": "tutorial", "source": "docs/archives/catch-the-coins-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1415,7 +1415,7 @@ "id": "tutorial/dodge-the-rocks-100", "kind": "tutorial", "source": "docs/archives/dodge-the-rocks-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1460,7 +1460,7 @@ "id": "tutorial/getting-started-100", "kind": "tutorial", "source": "docs/archives/getting-started-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "jumper", @@ -1493,7 +1493,7 @@ "id": "tutorial/guess-the-number-100", "kind": "tutorial", "source": "docs/archives/guess-the-number-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1522,7 +1522,7 @@ "id": "tutorial/make-it-walk-100", "kind": "tutorial", "source": "docs/archives/make-it-walk-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1555,7 +1555,7 @@ "id": "tutorial/red-light-green-light-100", "kind": "tutorial", "source": "docs/archives/red-light-green-light-100", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [ "platformer", @@ -1592,7 +1592,7 @@ "id": "tutorial/vs-code-starter", "kind": "tutorial", "source": "docs/archives/vs-code-starter", - "libraryVersion": "6.1.3", + "libraryVersion": "6.2.0", "flavour": "standard", "requiredSheets": [], "files": [ From 1a39395c2695bd1eee05dc5c640a88c612384c68 Mon Sep 17 00:00:00 2001 From: Mike Barkmin Date: Wed, 14 Oct 2026 20:36:43 +0200 Subject: [PATCH 2/2] docs: pin SaveData runtime for release 6.2.0 --- CHANGELOG.md | 3 +++ docs/hyperbook.json | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cde616ff..706b9d64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,9 @@ The Coin Quest demo uses built-in assets and three slots, with controls to save, load and start a fresh round. Its score and sprite positions survive a desktop restart or browser reload. +The demo launcher checks compilation before running an example, so newly added +demos work even when older compiled classes are already present. + ## 6.1.3 diff --git a/docs/hyperbook.json b/docs/hyperbook.json index cb88a9d5..da3f1239 100644 --- a/docs/hyperbook.json +++ b/docs/hyperbook.json @@ -43,7 +43,10 @@ } ], "elements": { - "bookmarks": false + "bookmarks": false, + "onlineide": { + "cdn": "https://cdn.openpatch.org/onlineide/v2.2.1-hyperbook.31/" + } }, "license": "CC-BY-NC-SA", "language": "en"