Making releases

Release work is now driven by the modular make system, the package scripts in `build_scripts/`, and the repository publishing scripts. Older release notes that describe a single `contrib/release/build.sh` flow are no longer the complete process.

Release checklist

1. Update version metadata in `mk/version.mk` and any package-specific changelog files.
2. Update the manual, changelog, installer notes, and public package text.
3. Build the native compiler packages and the cross-target packages.
4. Run package smoke tests from installed layouts, not only from the source tree.
5. Rebuild the HTML and CHM manuals.
6. Publish the archives, installers, packages, scripts, and docs to the repository host.

What to verify

A release should prove the basics on every advertised platform: compiler startup, normal compile/link, runtime startup/shutdown, graphics when supported, sound when supported, and package manager installation or removal when packages are shipped.

Repository publishing

The repository host is fed from the files produced by the build scripts. Keep old packages archived when a target depends on a single obvious current file, and keep target directories clean enough that users can understand what to download without reading the source tree.