release-notes

Nexwall Firewall release notes

Source of the release-notes site, published with GitHub Pages in English, Spanish and Brazilian Portuguese.

The site is static HTML generated by build.py (Python 3, no dependencies). Every push to main builds and publishes it (.github/workflows/pages.yml).

Layout

Path What
content/ui.json interface strings, per language
content/releases.json the list of releases, newest first: version, date, status (rc, beta, stable), downloads
content/<version>/<lang>.json the notes of one version in one language (en, es, pt-BR)
assets/ stylesheet, script, icon
build.py generator, writes site/

Build and look at it locally

python3 build.py
python3 -m http.server -d site 8000      # http://localhost:8000/

Publish a new release

  1. Create content/<version>/en.json, es.json and pt-BR.json (copy the previous ones; same structure in all three languages).
  2. Add the version at the top of content/releases.json.
  3. After the image is built and published, fill downloads with the file name, size and SHA-256: {"name": "nexwall-26.0.0-rc1-x86-64-generic-squashfs-combined-efi.img.gz", "size": "82 MB", "sha256": "..."}.
  4. Commit and push to main.

Item types in the notes: new, improved, changed, fixed (known issues have their own list). Write the notes for the people who run the firewall: what they can do now, what behaves differently, what to watch out for. Facts only: every statement must be true of the image that is published.

One-time setup on GitHub

Repository settings, Pages, Source: GitHub Actions. To use a custom domain add a CNAME file to assets/ and set the domain in the Pages settings.