quest'n'click 4.5.0 · r1

Built for quest'n'click 4.5.0, revision r1. Whether it is published, and which one is current, is recorded at publication.json.

Upgrade notes: 4.2

Français · Type: reference · Audience: author · Context: created project · Status: ready · Applies from: 4.2.0

What each release of the 4.2 line changed, from 4.1.20 to 4.2.5, kept unchanged. From 4.2.0 the project follows strict SemVer: a 4.2.x only fixes, a minor only adds. None of these releases asks a game to change: the public API, the content format and the save envelope are 4.2.0's (D40). Most notes are for the operator of a hosted Studio (4.2.1 to 4.2.3) and for the rename to quest'n'click (4.2.5, §38).

The upgrade itself is Upgrade. The section numbers are those of the former docs/en/UPGRADING.md, so "§38" still finds its section. Where a note names STUDIO-SERVER or CONTENT_GUIDE, the same content is now in the Team, Clever and Create pages of this wiki.

33. From 4.1.20 to 4.2.0 "Stable World"

Nothing to change: 4.2.0 is 4.1.20's code with the version changed and one Field Kit fix. From 4.2.0 on, strict SemVer: a 4.2.x only fixes, a 4.x minor only adds. The engine still installs from the release's archive (releases/download/v4.2.0/…); npm publishing comes in a later 4.2.x. What 4.2.0 calls stable, limited or experimental is in Stability and support (D38).

34. From 4.2.0 to 4.2.1 "Shared Floor"

Applies from 4.2.1

Nothing to change in a game: the public API, the content format and the save envelope are 4.2.0's (D40). What an author may notice:

The engine installs from releases/download/v4.2.1/…. To put a Studio online for a team, see What runs where (experimental in 4.2.1).

35. From 4.2.1 to 4.2.2 "Playable Workshop"

Applies from 4.2.2

Nothing to change in a game: the public API, the content format and the save envelope are 4.2.0's (D40). The engine installs from releases/download/v4.2.2/…. For a hosted Studio:

36. From 4.2.2 to 4.2.3 "Coordination"

Applies from 4.2.3

Nothing to change in a game: the public API, the content format and the save envelope are 4.2.0's (D40). The engine installs from releases/download/v4.2.3/…. For a hosted Studio:

37. From 4.2.3 to 4.2.4

Applies from 4.2.4

Nothing to change: a game that uses none of the new fields builds, plays and saves as on 4.2.3 (the same fingerprints, golden saves and reference runs). The engine installs from releases/download/v4.2.4/…. The new fields are optional and presentation only (D46: no schema, save envelope or IR change):

A fix to know: a game that wrote { face: 'hero', who: X } saw X turn right wherever the hero stood; X now turns toward the hero. If a scene relied on the old facing, write { face: 'right', who: X }.

38. From 4.2.4 to 4.2.5

Applies from 4.2.5

web-scumm becomes quest'n'click (D47). Nothing to change: a game made for 4.2.4 installs, builds, plays and saves as before, under its old names. The engine installs from releases/download/v4.2.5/…, where the repository is now github.com/wanoo/quest-n-click (the old github.com/wanoo/web-scumm links redirect, release downloads included). The sample game and the Studio's demo moved to https://wanoo.github.io/quest-n-click/: the old address redirects there, but update a bookmark or a link to wanoo.github.io/quest-n-click.

The new names, from 4.2.5:

BeforeFrom 4.2.5
package web-scumm, command web-scummquest-n-click, command quest-n-click
imports web-scumm/content, /player, /minigames, /testing, /realityquest-n-click/content, …
create-web-scummcreate-quest-n-click
web-scumm-bridge (package and command)quest-n-click-bridge
web-scumm-connectors, command web-scumm-connectorquest-n-click-connectors, command quest-n-click-connector
web-scumm-studio-server, web-scumm-studio-workerquest-n-click-studio-server, quest-n-click-studio-worker
release files web-scumm-<version>.tgz, web-scumm-<tag>-…quest-n-click-<version>.tgz, quest-n-click-<tag>-…

The old names keep working through 4.2.x. Each release of the line also publishes web-scumm-<version>.tgz, create-web-scumm-<version>.tgz, web-scumm-bridge-<version>.tgz, web-scumm-connectors-<version>.tgz and web-scumm-studio-server-<version>.tgz: the same files at the same version, only the package's name is the old one. The old commands still run, after a one-line notice ("web-scumm is now quest-n-click; the old name works until 4.3"), and web-scumm/content and the other old imports still resolve. The aliases are removed in 4.3.

Switching, when you like (one commit, then npm install, npm run verify):

  1. package.json: the dependency "web-scumm": "<spec>" becomes "quest-n-click": "<spec>", its archive quest-n-click-4.2.5.tgz; the scripts web-scumm dev, web-scumm build… become quest-n-click dev, quest-n-click build….
  2. tsconfig.json: the path web-scumm/* becomes quest-n-click/*, pointing at ./node_modules/quest-n-click/src/engine/api/*; @engine/* points at ./node_modules/quest-n-click/src/engine/*; include names node_modules/quest-n-click/src/env.d.ts.
  3. The game's sources: from 'web-scumm/content' becomes from 'quest-n-click/content', and so on, for example grep -rlE "['\"]web-scumm/" game | xargs sed -i.bak -E "s#(['\"])web-scumm/#\\1quest-n-click/#g".
  4. A host of the Bridge, the connectors or the Studio Server installs the quest-n-click-… archives and calls the new commands in its unit files and scripts.

The formats keep their names. They are identifiers inside files and stores, not the project's name: renaming them would break existing saves, files and deployments. A save is still a web-scumm-save envelope, a session web-scumm-session, a run a .wsrun file in the web-scumm-speedrun format, a Remix world web-scumm-remix-1; a signal is still web-scumm-world-signal, a reality manifest web-scumm-reality-manifest; the browser keeps its IndexedDB databases (web-scumm-saves, web-scumm-runs) and its web-scumm.… storage keys, so a player's saves and runs are found where they were; the Bridge's X-Web-Scumm-* headers, the signatures' contexts, the environment variables WEB_SCUMM_* and the Studio Server's tables are unchanged. Releases up to v4.2.4 keep their files' names and their attestations, which name the repository wanoo/web-scumm; from v4.2.5 the attestations name wanoo/quest-n-click (ship verify asks for the one each release was signed under). The sample game's and the reference chapter's credits now say quest'n'click: their presentation fingerprint moved, so their reference run is recorded again; a game's own fingerprint moves only if its own text changes.


Edit the source of this page · Report an error