Skip to content

Commit 7fa696e

Browse files
authored
Merge pull request #62 from openpatch/changeset
Release v7.1.0
2 parents b115928 + da73a8a commit 7fa696e

26 files changed

Lines changed: 162 additions & 160 deletions

File tree

‎.changeset/web-platform.md‎

Lines changed: 0 additions & 21 deletions
This file was deleted.

‎CHANGELOG.md‎

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,32 @@
11
---
22
name: Changelog
3-
index: 87
3+
index: 88
44
lang: en
55
---
66

7+
## 7.1.0
8+
9+
10+
11+
Games can run in a web page. The core (`scratch`) no longer depends on LWJGL: the window,
12+
OpenGL, sound and image decoding come from a platform module. `scratch-desktop` is the desktop
13+
one (LWJGL, as before) and `scratch-web` the browser one: `org.openpatch.scratch.web.export.WebExport`
14+
compiles a game and the library to WebAssembly with TeaVM and writes a page that runs it.
15+
The fat jar (`scratch-<version>-all.jar`) contains the core and `scratch-desktop`, so programs that
16+
use it change nothing. Maven projects that depend on `scratch` alone now also need `scratch-desktop`.
17+
Text is drawn by a Java port of stb_truetype, pixel for pixel as before, on every platform.
18+
Tiled maps work in a web page too: `scratch-tiled` reads .tmx and .tsx files itself and no longer
19+
depends on Jackson (maps load exactly as before; checked on 78 maps and tilesets). `TiledMap.spawn`
20+
takes the sprite classes it may make, `map.spawn("Objects", Player.class, Wall.class)`, instead of
21+
looking classes up by the type names in the map, which a web page cannot do. NRW projects get
22+
their own web jar, `scratch-<version>-nrw-web.jar`.
23+
Saving needs no Jackson either: `SaveData` and `File` read and write JSON themselves (the same
24+
rules as before: public fields, unknown or mistyped values are refused by `SaveData`). In a web
25+
page, saves are kept in the browser's storage for that page. `File.saveXML`, `File.loadXML` and
26+
`File.loadXMLOrCreate` are gone: use `File.save` and `File.load` (JSON). The web jar contains every
27+
extension but gamepad.
28+
29+
730
## 7.0.0
831

932

‎all/pom.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>org.openpatch</groupId>
88
<artifactId>scratch-parent</artifactId>
9-
<version>7.0.0</version>
9+
<version>7.1.0</version>
1010
</parent>
1111

1212
<!--

‎catalogs/api.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"schemaVersion": 1,
3-
"libraryVersion": "7.0.0",
4-
"browserVersion": "7.0.0-browser.1",
3+
"libraryVersion": "7.1.0",
4+
"browserVersion": "7.1.0-browser.1",
55
"methods": [
66
{
77
"id": "Camera/changeX(double)",

‎catalogs/assets.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"schemaVersion": 1,
3-
"libraryVersion": "7.0.0",
4-
"browserVersion": "7.0.0-browser.1",
3+
"libraryVersion": "7.1.0",
4+
"browserVersion": "7.1.0-browser.1",
55
"license": "CC0",
66
"images": [
77
{

‎catalogs/examples.json‎

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
22
"schemaVersion": 1,
3-
"libraryVersion": "7.0.0",
4-
"browserVersion": "7.0.0-browser.1",
3+
"libraryVersion": "7.1.0",
4+
"browserVersion": "7.1.0-browser.1",
55
"examples": [
66
{
77
"id": "demo/cat",
88
"kind": "demo",
99
"source": "examples/src/main/java/demos/cat",
10-
"libraryVersion": "7.0.0",
10+
"libraryVersion": "7.1.0",
1111
"flavour": "standard",
1212
"requiredSheets": [],
1313
"files": [
@@ -25,7 +25,7 @@
2525
"id": "demo/catPlatformer",
2626
"kind": "demo",
2727
"source": "examples/src/main/java/demos/catPlatformer",
28-
"libraryVersion": "7.0.0",
28+
"libraryVersion": "7.1.0",
2929
"flavour": "standard",
3030
"requiredSheets": [
3131
"cat",
@@ -75,7 +75,7 @@
7575
"id": "demo/clock",
7676
"kind": "demo",
7777
"source": "examples/src/main/java/demos/clock",
78-
"libraryVersion": "7.0.0",
78+
"libraryVersion": "7.1.0",
7979
"flavour": "standard",
8080
"requiredSheets": [],
8181
"files": [
@@ -125,7 +125,7 @@
125125
"id": "demo/coinCollector",
126126
"kind": "demo",
127127
"source": "examples/src/main/java/demos/coinCollector",
128-
"libraryVersion": "7.0.0",
128+
"libraryVersion": "7.1.0",
129129
"flavour": "standard",
130130
"requiredSheets": [
131131
"platformer",
@@ -154,7 +154,7 @@
154154
"id": "demo/donutIO",
155155
"kind": "demo",
156156
"source": "examples/src/main/java/demos/donutIO",
157-
"libraryVersion": "7.0.0",
157+
"libraryVersion": "7.1.0",
158158
"flavour": "standard",
159159
"requiredSheets": [],
160160
"files": [
@@ -212,7 +212,7 @@
212212
"id": "demo/glide",
213213
"kind": "demo",
214214
"source": "examples/src/main/java/demos/glide",
215-
"libraryVersion": "7.0.0",
215+
"libraryVersion": "7.1.0",
216216
"flavour": "standard",
217217
"requiredSheets": [
218218
"platformer",
@@ -229,7 +229,7 @@
229229
"id": "demo/pipes",
230230
"kind": "demo",
231231
"source": "examples/src/main/java/demos/pipes",
232-
"libraryVersion": "7.0.0",
232+
"libraryVersion": "7.1.0",
233233
"flavour": "standard",
234234
"requiredSheets": [],
235235
"files": [
@@ -259,7 +259,7 @@
259259
"id": "demo/quiz",
260260
"kind": "demo",
261261
"source": "examples/src/main/java/demos/quiz",
262-
"libraryVersion": "7.0.0",
262+
"libraryVersion": "7.1.0",
263263
"flavour": "standard",
264264
"requiredSheets": [
265265
"platformer",
@@ -276,7 +276,7 @@
276276
"id": "demo/rainbowVine",
277277
"kind": "demo",
278278
"source": "examples/src/main/java/demos/rainbowVine",
279-
"libraryVersion": "7.0.0",
279+
"libraryVersion": "7.1.0",
280280
"flavour": "standard",
281281
"requiredSheets": [],
282282
"files": [
@@ -290,7 +290,7 @@
290290
"id": "demo/randomDot",
291291
"kind": "demo",
292292
"source": "examples/src/main/java/demos/randomDot",
293-
"libraryVersion": "7.0.0",
293+
"libraryVersion": "7.1.0",
294294
"flavour": "standard",
295295
"requiredSheets": [],
296296
"files": [
@@ -304,7 +304,7 @@
304304
"id": "demo/robot",
305305
"kind": "demo",
306306
"source": "examples/src/main/java/demos/robot",
307-
"libraryVersion": "7.0.0",
307+
"libraryVersion": "7.1.0",
308308
"flavour": "standard",
309309
"requiredSheets": [],
310310
"files": [
@@ -326,7 +326,7 @@
326326
"id": "demo/saveSlots",
327327
"kind": "demo",
328328
"source": "examples/src/main/java/demos/saveSlots",
329-
"libraryVersion": "7.0.0",
329+
"libraryVersion": "7.1.0",
330330
"flavour": "standard",
331331
"requiredSheets": [
332332
"platformer",
@@ -355,7 +355,7 @@
355355
"id": "demo/saving",
356356
"kind": "demo",
357357
"source": "examples/src/main/java/demos/saving",
358-
"libraryVersion": "7.0.0",
358+
"libraryVersion": "7.1.0",
359359
"flavour": "standard",
360360
"requiredSheets": [],
361361
"files": [
@@ -373,7 +373,7 @@
373373
"id": "demo/sensing",
374374
"kind": "demo",
375375
"source": "examples/src/main/java/demos/sensing",
376-
"libraryVersion": "7.0.0",
376+
"libraryVersion": "7.1.0",
377377
"flavour": "standard",
378378
"requiredSheets": [],
379379
"files": [
@@ -395,7 +395,7 @@
395395
"id": "demo/shader",
396396
"kind": "demo",
397397
"source": "examples/src/main/java/demos/shader",
398-
"libraryVersion": "7.0.0",
398+
"libraryVersion": "7.1.0",
399399
"flavour": "standard",
400400
"requiredSheets": [],
401401
"files": [
@@ -461,7 +461,7 @@
461461
"id": "demo/shakespeare",
462462
"kind": "demo",
463463
"source": "examples/src/main/java/demos/shakespeare",
464-
"libraryVersion": "7.0.0",
464+
"libraryVersion": "7.1.0",
465465
"flavour": "standard",
466466
"requiredSheets": [],
467467
"files": [
@@ -487,7 +487,7 @@
487487
"id": "demo/smartRocket",
488488
"kind": "demo",
489489
"source": "examples/src/main/java/demos/smartRocket",
490-
"libraryVersion": "7.0.0",
490+
"libraryVersion": "7.1.0",
491491
"flavour": "standard",
492492
"requiredSheets": [],
493493
"files": [
@@ -529,7 +529,7 @@
529529
"id": "demo/stressTest",
530530
"kind": "demo",
531531
"source": "examples/src/main/java/demos/stressTest",
532-
"libraryVersion": "7.0.0",
532+
"libraryVersion": "7.1.0",
533533
"flavour": "standard",
534534
"requiredSheets": [],
535535
"files": [
@@ -927,7 +927,7 @@
927927
"id": "demo/tiled",
928928
"kind": "demo",
929929
"source": "examples/src/main/java/demos/tiled",
930-
"libraryVersion": "7.0.0",
930+
"libraryVersion": "7.1.0",
931931
"flavour": "standard",
932932
"requiredSheets": [],
933933
"files": [
@@ -1033,7 +1033,7 @@
10331033
"id": "demo/timedDot",
10341034
"kind": "demo",
10351035
"source": "examples/src/main/java/demos/timedDot",
1036-
"libraryVersion": "7.0.0",
1036+
"libraryVersion": "7.1.0",
10371037
"flavour": "standard",
10381038
"requiredSheets": [],
10391039
"files": [
@@ -1047,7 +1047,7 @@
10471047
"id": "demo/timer",
10481048
"kind": "demo",
10491049
"source": "examples/src/main/java/demos/timer",
1050-
"libraryVersion": "7.0.0",
1050+
"libraryVersion": "7.1.0",
10511051
"flavour": "standard",
10521052
"requiredSheets": [],
10531053
"files": [
@@ -1061,7 +1061,7 @@
10611061
"id": "demo/ui",
10621062
"kind": "demo",
10631063
"source": "examples/src/main/java/demos/ui",
1064-
"libraryVersion": "7.0.0",
1064+
"libraryVersion": "7.1.0",
10651065
"flavour": "standard",
10661066
"requiredSheets": [],
10671067
"files": [
@@ -1091,7 +1091,7 @@
10911091
"id": "demo/volume",
10921092
"kind": "demo",
10931093
"source": "examples/src/main/java/demos/volume",
1094-
"libraryVersion": "7.0.0",
1094+
"libraryVersion": "7.1.0",
10951095
"flavour": "standard",
10961096
"requiredSheets": [
10971097
"platformer",
@@ -1108,7 +1108,7 @@
11081108
"id": "tutorial/Halloween",
11091109
"kind": "tutorial",
11101110
"source": "docs/archives/Halloween",
1111-
"libraryVersion": "7.0.0",
1111+
"libraryVersion": "7.1.0",
11121112
"flavour": "standard",
11131113
"requiredSheets": [],
11141114
"files": [
@@ -1206,7 +1206,7 @@
12061206
"id": "tutorial/bouncy-hedgehog",
12071207
"kind": "tutorial",
12081208
"source": "docs/archives/bouncy-hedgehog",
1209-
"libraryVersion": "7.0.0",
1209+
"libraryVersion": "7.1.0",
12101210
"flavour": "standard",
12111211
"requiredSheets": [],
12121212
"files": [
@@ -1252,7 +1252,7 @@
12521252
"id": "tutorial/bouncy-hedgehog-100",
12531253
"kind": "tutorial",
12541254
"source": "docs/archives/bouncy-hedgehog-100",
1255-
"libraryVersion": "7.0.0",
1255+
"libraryVersion": "7.1.0",
12561256
"flavour": "standard",
12571257
"requiredSheets": [],
12581258
"files": [
@@ -1298,7 +1298,7 @@
12981298
"id": "tutorial/cat",
12991299
"kind": "tutorial",
13001300
"source": "docs/archives/cat",
1301-
"libraryVersion": "7.0.0",
1301+
"libraryVersion": "7.1.0",
13021302
"flavour": "standard",
13031303
"requiredSheets": [],
13041304
"files": [
@@ -1320,7 +1320,7 @@
13201320
"id": "tutorial/catch-the-coins-100",
13211321
"kind": "tutorial",
13221322
"source": "docs/archives/catch-the-coins-100",
1323-
"libraryVersion": "7.0.0",
1323+
"libraryVersion": "7.1.0",
13241324
"flavour": "standard",
13251325
"requiredSheets": [
13261326
"platformer",
@@ -1353,7 +1353,7 @@
13531353
"id": "tutorial/dodge-the-rocks-100",
13541354
"kind": "tutorial",
13551355
"source": "docs/archives/dodge-the-rocks-100",
1356-
"libraryVersion": "7.0.0",
1356+
"libraryVersion": "7.1.0",
13571357
"flavour": "standard",
13581358
"requiredSheets": [
13591359
"platformer",
@@ -1394,7 +1394,7 @@
13941394
"id": "tutorial/getting-started-100",
13951395
"kind": "tutorial",
13961396
"source": "docs/archives/getting-started-100",
1397-
"libraryVersion": "7.0.0",
1397+
"libraryVersion": "7.1.0",
13981398
"flavour": "standard",
13991399
"requiredSheets": [
14001400
"jumper",
@@ -1423,7 +1423,7 @@
14231423
"id": "tutorial/guess-the-number-100",
14241424
"kind": "tutorial",
14251425
"source": "docs/archives/guess-the-number-100",
1426-
"libraryVersion": "7.0.0",
1426+
"libraryVersion": "7.1.0",
14271427
"flavour": "standard",
14281428
"requiredSheets": [
14291429
"platformer",
@@ -1448,7 +1448,7 @@
14481448
"id": "tutorial/make-it-walk-100",
14491449
"kind": "tutorial",
14501450
"source": "docs/archives/make-it-walk-100",
1451-
"libraryVersion": "7.0.0",
1451+
"libraryVersion": "7.1.0",
14521452
"flavour": "standard",
14531453
"requiredSheets": [
14541454
"platformer",
@@ -1477,7 +1477,7 @@
14771477
"id": "tutorial/red-light-green-light-100",
14781478
"kind": "tutorial",
14791479
"source": "docs/archives/red-light-green-light-100",
1480-
"libraryVersion": "7.0.0",
1480+
"libraryVersion": "7.1.0",
14811481
"flavour": "standard",
14821482
"requiredSheets": [
14831483
"platformer",
@@ -1510,7 +1510,7 @@
15101510
"id": "tutorial/vs-code-starter",
15111511
"kind": "tutorial",
15121512
"source": "docs/archives/vs-code-starter",
1513-
"libraryVersion": "7.0.0",
1513+
"libraryVersion": "7.1.0",
15141514
"flavour": "standard",
15151515
"requiredSheets": [],
15161516
"files": [

0 commit comments

Comments
 (0)