• v1.0.0-beta.4 ec6b1d5b29

    Morphit v1.0.0-beta.4
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 37s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 28s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 10s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 14m58s
    morphit-release / Build + publish release tarball (push) Successful in 15m56s
    Stable

    agorise released this 2026-06-03 06:05:32 +00:00 | 7 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    A small but important fix on top of beta.3: the indexer could fail
    to start on instances that set a Matrix room for operator
    alerts. If you are on beta.3 (or earlier) and your indexer starts
    fine, this release is still recommended but not urgent. If your
    indexer crashes at boot with ReferenceError: require is not defined, this release fixes it.

    Added

    • morphit-ops doctor — a read-only "will my node start?" check.
      Run it from your install directory and it tells you, in plain
      English, whether the indexer and relay will start with the config
      you have on disk — before you start them. It reports exactly
      what is wrong (a missing required setting, a value in the wrong
      file, a key-file permission) and how to fix it, and it changes
      nothing on your system. If your node won't boot, run morphit-ops doctor first. It also runs a short security check: it tells
      you whether your relay's active key is encrypted or stored in
      plaintext (and how to encrypt it), and flags any secret file that
      other users on the box can read. (This security check is
      operator-only — it is deliberately not exposed on the public
      health endpoint.)

    Fixed

    • Indexer crashed at startup when MORPHIT_INDEXER_OPERATOR_MATRIX_ROOM
      was set.
      The config code validated the Matrix room alias using a
      CommonJS require() call, which is undefined in the indexer's
      ES-module runtime — so boot failed with ReferenceError: require is not defined the moment a non-empty room value was present.
      Instances that left the room unset were unaffected, which is why
      it surfaced late. The validator now uses a normal module import.
      Added a startup regression test (and a repo-wide guard against
      this whole class of CommonJS-in-ESM bug) so it cannot recur.

    • Setup wizard never wrote two settings the indexer requires.
      An instance configured with morphit-ops init (rather than the
      Ansible playbook) was missing MORPHIT_INDEXER_PUBLIC_ORIGIN and
      MORPHIT_INDEXER_OFFICIAL_POSTING_PUBKEY, so the indexer refused
      to start with config validation failed: ... Required. The wizard
      now writes both — the public origin (the same one it already asks
      you for) and the official @morphit posting key (a fixed value,
      the same for every instance). If you set up via the wizard and your
      indexer won't start citing these, re-run npx morphit-ops init on
      this release, or add both to your morphit.env by hand (see
      ops/env/indexer.env.example).

    Everything from beta.3 still applies

    beta.3 fixed the setup wizard writing two settings into the wrong
    file (which stopped the indexer from booting with an "operator
    allowlist" error), added the guided morphit-ops install, the
    docs/start-here/ navigation hub, the migrate-to-release-track
    guide, and made morphit-ops upgrade discover pre-release-flagged
    releases. See RELEASE-NOTES-v1.0.0-beta.4.md for details.

    Upgrading

    • If you installed cleanly from the beta.3 release and your indexer
      runs, just npx morphit-ops upgrade to pick this up (it carries
      your config and keys forward).
    • If your beta.3 indexer crashed at boot with the require error,
      upgrade to this release and start it again — no config change
      needed on your side.

    Verify the download

    sha256sum -c morphit-v1.0.0-beta.4.tar.gz.sha256
    

    Output must say OK before you extract.

    Status

    Pre-launch beta. Not yet recommended for production traffic. The
    canonical public instance is morphit.io. Community operators
    welcome — start at docs/start-here/.

    Downloads