From 9ec50278938f997b791c0458fbc0fcc97e204b4e Mon Sep 17 00:00:00 2001 From: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com> Date: Wed, 7 Oct 2026 06:49:35 +0000 Subject: [PATCH] chore: release v5.7.0 --- .changeset/clones.md | 19 -------------- .changeset/game-speed.md | 11 --------- .changeset/headless-costumes.md | 7 ------ .changeset/variable-monitors.md | 9 ------- CHANGELOG.md | 44 ++++++++++++++++++++++++++++++++- pom.xml | 2 +- 6 files changed, 44 insertions(+), 48 deletions(-) delete mode 100644 .changeset/clones.md delete mode 100644 .changeset/game-speed.md delete mode 100644 .changeset/headless-costumes.md delete mode 100644 .changeset/variable-monitors.md diff --git a/.changeset/clones.md b/.changeset/clones.md deleted file mode 100644 index dfd81d38..00000000 --- a/.changeset/clones.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -type: minor ---- - -Clones work like Scratch's. `clone()` makes a clone of the same class (a clone -of a `Cat` is a `Cat`, with a copy of its variables), puts it on the stage right -behind the original and runs its new `whenStartsAsClone()`, "when I start as a -clone". `deleteThisClone()` removes a clone and leaves the original alone, and -`isClone()` tells them apart. - -```java -public void whenStartsAsClone() { - this.goToRandomPosition(); -} -``` - -Before, `clone()` returned a plain `Sprite` that was not on the stage, so it -neither showed up nor ran the class's `run()`. A copy made with `new -Sprite(other)` also drew with the other sprite's pen; it has its own now. diff --git a/.changeset/game-speed.md b/.changeset/game-speed.md deleted file mode 100644 index db071e0e..00000000 --- a/.changeset/game-speed.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -type: minor ---- - -The game can be paused, stepped and slowed down: `Window.getInstance().pause()`, -`resume()`, `isPaused()`, `step()` (one frame while paused) and -`setGameSpeed(0.5)` for half speed. `run()`, timers, gliding, animations and -timed speech bubbles all follow, so the whole game stands still or runs in slow -motion while the window keeps drawing; keys and clicks still arrive, so a key -can resume the game. `Timer.millis()` and `getDeltaTime()` count game time, -which is the real time as long as the game is neither paused nor sped up. diff --git a/.changeset/headless-costumes.md b/.changeset/headless-costumes.md deleted file mode 100644 index b56b3da2..00000000 --- a/.changeset/headless-costumes.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -type: patch ---- - -Sprites load their costumes without a window, so sizes, costume switching, -hitboxes and clones can be checked in plain unit tests. Without a window, -timers stand at 0. diff --git a/.changeset/variable-monitors.md b/.changeset/variable-monitors.md deleted file mode 100644 index 35157773..00000000 --- a/.changeset/variable-monitors.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -type: minor ---- - -Variable monitors, like Scratch's "show variable": `showVariable("score", () -> -score)` on a stage or a sprite shows the name and the current value in the top -left corner of the stage, updated every frame, and `hideVariable("score")` -takes it away. A sprite's monitor says whose variable it is, for example "Cat: -lives". diff --git a/CHANGELOG.md b/CHANGELOG.md index 44d2c51b..82048022 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,51 @@ --- name: Changelog -index: 73 +index: 74 lang: en --- +## 5.7.0 + + + +Sprites load their costumes without a window, so sizes, costume switching, +hitboxes and clones can be checked in plain unit tests. Without a window, +timers stand at 0. + + +Variable monitors, like Scratch's "show variable": `showVariable("score", () -> +score)` on a stage or a sprite shows the name and the current value in the top +left corner of the stage, updated every frame, and `hideVariable("score")` +takes it away. A sprite's monitor says whose variable it is, for example "Cat: +lives". + + +The game can be paused, stepped and slowed down: `Window.getInstance().pause()`, +`resume()`, `isPaused()`, `step()` (one frame while paused) and +`setGameSpeed(0.5)` for half speed. `run()`, timers, gliding, animations and +timed speech bubbles all follow, so the whole game stands still or runs in slow +motion while the window keeps drawing; keys and clicks still arrive, so a key +can resume the game. `Timer.millis()` and `getDeltaTime()` count game time, +which is the real time as long as the game is neither paused nor sped up. + + +Clones work like Scratch's. `clone()` makes a clone of the same class (a clone +of a `Cat` is a `Cat`, with a copy of its variables), puts it on the stage right +behind the original and runs its new `whenStartsAsClone()`, "when I start as a +clone". `deleteThisClone()` removes a clone and leaves the original alone, and +`isClone()` tells them apart. + +```java +public void whenStartsAsClone() { + this.goToRandomPosition(); +} +``` + +Before, `clone()` returned a plain `Sprite` that was not on the stage, so it +neither showed up nor ran the class's `run()`. A copy made with `new +Sprite(other)` also drew with the other sprite's pen; it has its own now. + + ## 5.6.0 diff --git a/pom.xml b/pom.xml index a525b04b..6bbd81ad 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.openpatch scratch - 5.6.0 + 5.7.0 jar Scratch for Java