Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions .changeset/web-platform.md

This file was deleted.

25 changes: 24 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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-<version>-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-<version>-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


Expand Down
2 changes: 1 addition & 1 deletion all/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.openpatch</groupId>
<artifactId>scratch-parent</artifactId>
<version>7.0.0</version>
<version>7.1.0</version>
</parent>

<!--
Expand Down
4 changes: 2 additions & 2 deletions catalogs/api.json
Original file line number Diff line number Diff line change
@@ -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)",
Expand Down
4 changes: 2 additions & 2 deletions catalogs/assets.json
Original file line number Diff line number Diff line change
@@ -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": [
{
Expand Down
72 changes: 36 additions & 36 deletions catalogs/examples.json
Original file line number Diff line number Diff line change
@@ -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": [
Expand All @@ -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",
Expand Down Expand Up @@ -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": [
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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": [
Expand Down Expand Up @@ -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",
Expand All @@ -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": [
Expand Down Expand Up @@ -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",
Expand All @@ -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": [
Expand All @@ -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": [
Expand All @@ -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": [
Expand All @@ -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",
Expand Down Expand Up @@ -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": [
Expand All @@ -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": [
Expand All @@ -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": [
Expand Down Expand Up @@ -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": [
Expand All @@ -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": [
Expand Down Expand Up @@ -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": [
Expand Down Expand Up @@ -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": [
Expand Down Expand Up @@ -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": [
Expand All @@ -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": [
Expand All @@ -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": [
Expand Down Expand Up @@ -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",
Expand All @@ -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": [
Expand Down Expand Up @@ -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": [
Expand Down Expand Up @@ -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": [
Expand Down Expand Up @@ -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": [
Expand All @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand All @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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": [
Expand Down
Loading
Loading