• v7.0.0 7e1ce749b6

    NUPST v7.0.0
    Release / build-and-release (push) Successful in 12m18s
    Stable

    jkunz released this 2026-10-15 07:57:20 +00:00 | 0 commits to main since this release

    Breaking Changes

    • run on Node.js and ship Node.js single executable applications instead of Deno binaries (runtime)
      • The release binaries are Node.js 26.11.1 single executable applications built by @git.zone/tssea from a tsbundle bundle; the asset names stay nupst-linux-x64, nupst-linux-arm64, nupst-macos-x64, nupst-macos-arm64 and nupst-windows-x64.exe, and every binary ships its third-party notices as <asset>.third-party-notices.txt and .json.
      • BREAKING: the Linux binaries need glibc 2.28 or later, libstdc++ and libatomic (libatomic1 on Debian and Ubuntu) on the host; Alpine and other musl systems are not supported. The Windows binary is built and checked structurally but not smoke-tested on Windows.
      • BREAKING: the source is a Node.js ESM package (tsbuild, tstest); deno.json and mod.ts are gone, so running NUPST from source with Deno is no longer supported. Deno is not supported and not tested.
      • The config watcher uses @push.rocks/smartwatch instead of Deno.watchFs. On Linux it requires smartwatch's native inotify watcher, which the Linux binaries embed as the sidecar smartwatch-rust (with its notices); if it cannot start, the daemon logs a warning and config and pause changes take effect after a restart. macOS and Windows use chokidar. Colors use node:util styleText and honour NO_COLOR.
      • install.sh, the npm wrapper, the postinstall and the release workflow are generated by @git.zone/cli 9.1.0: --version accepts SemVer versions and latest only and the tag the releases API names is validated, every download is HTTPS-only (also on redirects) with at most 10 redirects and timeouts, install.sh --dry-run checks a release without changing anything, the notice files are installed beside the binary, and the wrapper forwards SIGTERM and SIGHUP to the binary. Releases publish uninstall.sh and changelog.md, and install.sh installs uninstall.sh (mode 0755) beside the binary.
      • nupst uninstall runs the uninstall.sh beside the running binary, that is installations made by install.sh; for an npm or pnpm installation it prints the removal steps instead. It no longer runs an uninstall.sh from /opt/nupst or the working directory.
      • The systemd unit written by nupst service enable sets CacheDirectory=nupst for the executable's runtime cache and no longer calls NUPST Deno-powered.

    Maintenance

    • Update release tooling to pnpm 12.10.1 (tsbuild 6.0.2, tsbundle 3.6.0, tssea 1.2.1, tstest 8.0.0 and Node.js typings 26.6.4 are current).
    Downloads
  • v6.1.0 ae6b70e808

    NUPST v6.1.0
    Release / build-and-release (push) Successful in 1m31s
    Stable

    jkunz released this 2026-09-15 22:28:05 +00:00 | 5 commits to main since this release

    NUPST v6.1.0

    Pre-compiled binaries for multiple platforms.

    Installation

    Use the installation script:

    curl -sSL https://code.foss.global/serve.zone/nupst/releases/download/latest/install.sh | sudo bash
    

    Install this exact version by appending -s -- --version v6.1.0, or download the binary
    for your platform from the assets below and make it executable.

    Upgrading from NUPST v6.0.0 or earlier: those versions fetch the install script from
    raw/branch/main, which is no longer readable without a Gitea account, so their
    nupst update fails. Re-run the installation one-liner above once; every later update
    works normally.

    Supported Platforms

    • Linux x86_64 (x64)
    • Linux ARM64 (aarch64)
    • macOS x86_64 (Intel)
    • macOS ARM64 (Apple Silicon)
    • Windows x86_64

    Checksums

    SHA256 checksums for every asset of this release, including install.sh, uninstall.sh and
    changelog.md, are provided in SHA256SUMS.txt

    Changes

    Features

    • ship the whole install flow as release assets (install)
      • Publishes install.sh, uninstall.sh and changelog.md as Gitea release assets and lists them in SHA256SUMS.txt, so installing, uninstalling and updating no longer needs anonymous repository source access.
      • install.sh now verifies the downloaded binary and uninstaller against SHA256SUMS.txt, installs uninstall.sh next to the binary, and gained --dry-run to print the resolved version and asset URLs without touching the system.
      • nupst update downloads the install script of the resolved release and runs it pinned to that version, and the upgrade changelog is read from the release's changelog.md asset.
      • The npm postinstall script downloads the platform binary from release assets only, verifies its SHA256 checksum, and no longer falls back to repository source URLs.
      • The npm postinstall script reads the version from its own package.json instead of a hardcoded fallback, and times out stalled downloads instead of hanging; the release workflow fails the job when an asset upload does not return 2xx and verifies every published binary afterwards.
      • Documents the anonymous one-liner against releases/download/latest/install.sh plus the API-based tag resolution variant.
      • Installations of v6.0.0 or earlier must re-run the installation one-liner once, because their nupst update still fetches the install script from raw/branch/main, which is no longer readable without a Gitea account.
      • Builds the release notes from changelog.md instead of a non-existent CHANGELOG.md, so releases no longer fall back to the generic default block.
      • Validates every release tag against the same shape in install.sh and ts/release-assets.ts, so a manipulated tag_name or --version argument aborts before any URL is built.
      • Restricts all installer transfers to HTTPS with bounded redirects, cleans up temporary downloads on INT/TERM as well, and stops the running service only after the downloads are verified, so a failed download leaves the running installation untouched.
      • Verifies an already present binary in the npm postinstall path against the release checksums instead of trusting it, and follows 301/302/303/307/308 redirects over HTTPS only.

    Fixes

    • remove NUPST from the system on uninstall (uninstall)
      • uninstall.sh now removes both the /usr/local/bin and /usr/bin symlinks, and removes the installation directory of a binary install instead of only handling legacy git checkouts. nupst uninstall requests the directory removal, a direct run of uninstall.sh asks for it.
    • add npmjs registry to npm publishing configuration (smartconfig)
      • Adds the public npm registry alongside the existing Verdaccio registry.
    Downloads
  • v6.0.0 8f6c421f0f

    NUPST v6.0.0
    Release / build-and-release (push) Successful in 51s
    Stable

    jkunz released this 2026-07-06 19:10:48 +00:00 | 12 commits to main since this release

    NUPST v6.0.0

    Pre-compiled binaries for multiple platforms.

    Installation

    Use the installation script:

    curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash
    

    Or download the binary for your platform and make it executable.

    Supported Platforms

    • Linux x86_64 (x64)
    • Linux ARM64 (aarch64)
    • macOS x86_64 (Intel)
    • macOS ARM64 (Apple Silicon)
    • Windows x86_64

    Checksums

    SHA256 checksums are provided in SHA256SUMS.txt

    Downloads