3.5 KiB
Morphit v1.0.0-beta.4
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, runmorphit-ops doctorfirst. 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_ROOMwas set. The config code validated the Matrix room alias using a CommonJSrequire()call, which is undefined in the indexer's ES-module runtime — so boot failed withReferenceError: require is not definedthe 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 missingMORPHIT_INDEXER_PUBLIC_ORIGINandMORPHIT_INDEXER_OFFICIAL_POSTING_PUBKEY, so the indexer refused to start withconfig validation failed: ... Required. The wizard now writes both — the public origin (the same one it already asks you for) and the official@morphitposting 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-runnpx morphit-ops initon this release, or add both to yourmorphit.envby hand (seeops/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.3.md for details.
Upgrading
- If you installed cleanly from the beta.3 release and your indexer
runs, just
npx morphit-ops upgradeto pick this up (it carries your config and keys forward). - If your beta.3 indexer crashed at boot with the
requireerror, 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/.