• v1.9.9 4da8fba9c1

    Morphit v1.9.9
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 47s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 39s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 41s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 15s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 28m35s
    morphit-release / Build + publish release tarball (push) Successful in 28m51s
    Stable

    agorise released this 2026-07-31 18:01:41 +00:00 | 14 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Morphit v1.9.9

    This release is about the documentation — the guides and references that help you run a Morphit node. Nothing about how Morphit itself works has changed, and the on-chain release format is unchanged and fully backward-compatible.

    An easier home-hosting setup guide

    Setting up a node on a computer at home just got easier to follow. The "Run a Morphit node" guide now walks you more carefully through the home-networking steps:

    • It shows the exact http:// addresses to type when opening your router's settings.
    • If those don't open your router, it gives you a one-line command to find its real address.
    • It adds a concrete "is my door actually open?" test: you put up a temporary page on your machine and check it from your phone on mobile data — like a real outside visitor — before going live. The guide spells out exactly what seeing your test page (success) or a timeout (forwarding not reaching the machine yet) each mean, so you can fix a home setup with confidence instead of guesswork.

    More accurate operator documentation

    The operations manual had a thorough, line-by-line accuracy pass against the actual software. A number of small drifts — commands, file permissions, service-account details, and technical descriptions that no longer matched the code — were corrected, along with the fees-and-rewards reference and the internal design notes. The result is documentation you can follow with more confidence, whether you are setting up your first node or running one day to day.

    Downloads
  • v1.9.8 a98997dd52

    Morphit v1.9.8
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 46s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 38s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 39s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 27m56s
    morphit-release / Build + publish release tarball (push) Successful in 28m57s
    Stable

    agorise released this 2026-07-30 21:45:19 +00:00 | 15 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Morphit v1.9.8

    More accurate BLURT prices

    The estimated US-dollar value shown next to BLURT amounts — on listing fees and elsewhere — now comes first from Blurt's own price feed, the most authoritative source for what BLURT is worth. The independent market aggregators Morphit already consulted stay in place as a safety net if Blurt's feed is ever unreachable, so the estimate is always available. This only affects the on-screen dollar estimate; every fee and trade is still settled in the actual asset, exactly as before.

    For operators

    Most of this release makes it far easier to run your own Morphit node.

    A guided, near-one-command setup

    Setting up a node from a fresh machine is now a mostly copy-and-paste procedure. After you download and extract the release, a single command walks you through the whole install — it checks and installs what's needed, asks a short series of plain-language questions (each with an example), generates your secrets and helps you save them somewhere safe, then runs the full hardened install for you. A home mini-PC (like a Beelink) gets the same complete, hardened stack as a cloud server; the only difference is the extra networking a home connection needs.

    Optional Matrix setup help

    If you want operational alerts in Matrix, the setup can now sign you in and wire up the notifications for you — including a heads-up when a new Morphit release is available. Matrix remains entirely optional; skip it and nothing changes.

    Recovers on its own

    A node now recovers cleanly after a reboot or a changing home IP address, with no manual intervention.

    A shorter setup guide

    The "Run a Morphit node" guide has been trimmed to a focused, roughly 15-minute read covering the guided path. The advanced material — running the Ansible playbook yourself, or building from source — now lives in the operations manual for those who want it.

    The on-chain release format is unchanged and fully backward-compatible.

    Downloads
  • v1.9.7 4e152665c2

    Morphit v1.9.7
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 50s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 41s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 40s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 16s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 31m20s
    morphit-release / Build + publish release tarball (push) Successful in 31m18s
    Stable

    agorise released this 2026-07-29 04:54:31 +00:00 | 18 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Morphit v1.9.7

    Hardware-key (YubiKey) enrollment

    Binding a YubiKey to your keystore as a second unlock method now speaks the full HMAC-SHA1 challenge-response protocol to your key over the browser's hardware-device connection. If you have a YubiKey with a slot configured for challenge-response — set it up with Yubico's free YubiKey Manager app, slot 2 by convention — you can enroll it from Settings → Hardware key in a Chromium browser (Chrome, Edge, or Brave). Enrollment always proves your key is genuinely answering before it commits anything, and your passphrase and 12-word seed phrase always remain, so a key that isn't set up for this can never lock you out.

    Clearer YubiKey setup guidance

    The enrollment card used to point you at the wrong tool for configuring your key. It now names the correct one — YubiKey Manager, which programs the challenge-response slot — instead of Yubico Authenticator, which manages one-time codes and can't set up the slot. The slot picker also explains, in plainer terms, why slot 2 is the usual choice.

    A tidier download page

    The "Why so many mirrors?" note on the download page no longer carries a stray line about mirrors that were "coming soon." Every mirror listed is live, and each is still verifiable against the signed tag and the on-chain SHA-256.

    Smaller touches

    • Clearer key-entry hints. The fields where you paste a posting or active key now show the correct example format — "5J… or 5K…" — since those private keys always begin with 5J or 5K.
    • A nudge toward a strong password. When you first set the password that unlocks Morphit on your device, the hint now reminds you to choose a strong password of at least 8 characters.
    • Order terms look sharper. When you use Markdown in your order terms, the bullet points, numbered-list numbers, and horizontal rules now render in Morphit's brand green — matching the quote blocks.

    For operators

    There is nothing new to do. This release changes the web app and its wording only — no new operator steps, and the on-chain release format is unchanged and fully backward-compatible.

    Downloads
  • v1.9.6 ad5fe8e733

    Morphit v1.9.6
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 47s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 37s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 40s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 15s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 28m24s
    morphit-release / Build + publish release tarball (push) Successful in 29m40s
    Stable

    agorise released this 2026-07-28 06:05:25 +00:00 | 20 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Morphit v1.9.6

    Two more independent mirrors — the code is harder than ever to take offline

    Morphit's source is mirrored across the web so it stays reachable even if one host is blocked or disappears. This release adds two more independent mirrors — gitea.com and framagit.org (Framasoft's forge) — bringing the mirror total to nine, alongside the peer-to-peer IPFS copy and the hash Morphit publishes on the blockchain. More independent homes means the code is that much harder to take down, and you can still check any copy against the signed tag and the on-chain SHA-256 to know it's the genuine, unmodified release.

    The permanent "always latest" address now resolves peer-to-peer — no DNS, no third party

    Morphit keeps one permanent name that always points to the newest signed release. This release makes that name resolve the way it always should have: natively over the peer-to-peer network, with no DNS lookup and no company in the middle. Morphit signs the pointer once per release and every running instance re-announces it to the network on its own, so the address stays alive as long as a single instance is up — and no one, not even an operator, can quietly re-point it somewhere else.

    Two ways to grab the latest release

    The download page now offers the always-latest release two ways: a pure peer-to-peer ipns:// address (for an IPFS-capable browser like Brave, or your own node) and a plain IPFS link that works in any ordinary browser. The permanent address is also shown as copyable text so you can paste it straight into your own node. Whichever route you use, the on-chain hash still tells you exactly which version you received.

    For operators

    There is nothing new to do. Keeping the peer-to-peer address alive is folded into the same one-step release-hosting setup you already run (morphit-ops → Harden this server → "Set up IPFS release hosting"): your instance re-announces the latest release automatically, on a timer, and never holds any signing key — it only relays the pointer Morphit already signed. The full details are in OPERATIONS.md §26, and anyone can verify a download by following VERIFY-YOUR-DOWNLOAD.md.

    Downloads
  • v1.9.4 f21ee093c5

    Morphit v1.9.4
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 44s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 36s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 40s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 28m31s
    morphit-release / Build + publish release tarball (push) Successful in 29m33s
    Stable

    agorise released this 2026-07-27 19:21:09 +00:00 | 21 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Morphit v1.9.4

    Morphit now hosts its own releases — no outside company required

    v1.9.2 had every Morphit instance pin the signed release to IPFS, the peer-to-peer file network. v1.9.3 finishes the job: keeping Morphit's own download alive no longer depends on any commercial pinning service. The release is content-addressed and served straight from Morphit's own nodes — the instance that publishes a release seeds it, and every other instance carries a copy — so the app's bytes stay reachable with zero reliance on a third party that could vanish or start charging. It's the same trustless idea as the mirrors, now with no middleman at all: you can still check any download against the hash and the IPFS address that Morphit itself published on the blockchain.

    One permanent address that always points to the latest release

    Alongside each release's own address, Morphit keeps a single, permanent name that always resolves to the newest signed release. It's one stable link you can bookmark — it never changes, and every new release simply re-points it at the latest version. Pull morphit-latest.tar.gz from it and you've always got the current release, with the on-chain hash telling you exactly which version you received.

    A guard so "download over IPFS" is never a dead end

    Publishing an address onto a blockchain is permanent, so Morphit now refuses to publish one until it has confirmed — on an independent public gateway — that the content is actually there and fetchable. If a release's IPFS copy isn't reachable yet, Morphit simply ships on the git mirrors and the signed tag (which are always available) and records no broken pointer. The verification anchors you rely on — the signed tag, the GPG signature, and the on-chain SHA-256 — are unchanged.

    For operators

    Hosting the release is unchanged and still on by default. After an upgrade you can make your box an origin host for the new release in one step from morphit-ops (Harden this server → "Seed this release to IPFS"). The full details are in RUN-A-MORPHIT-NODE.md and OPERATIONS.md §48, and anyone can verify a download over IPFS or IPNS by following VERIFY-YOUR-DOWNLOAD.md.

    Downloads
  • v1.9.2 00238104b1

    Morphit v1.9.2
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 44s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 37s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 38s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 27m53s
    morphit-release / Build + publish release tarball (push) Successful in 30m37s
    Stable

    agorise released this 2026-07-27 01:02:41 +00:00 | 23 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Morphit v1.9.2

    Every Morphit site now helps host Morphit itself

    Morphit's whole point is that no single company can switch it off. This release takes that one step further: every Morphit instance now pins the exact, GPG-signed release to IPFS — the peer-to-peer file network — so the app's own download stays reachable even if the main site is ever blocked or goes offline. Operators keep 90% of the listing fees, so it's only fair they help carry the app, and it's on by default (with a one-line opt-out for anyone who'd rather not). The bytes are pinned by content address, so every instance serves the identical, verifiable copy — and you can check any download against the hash and IPFS address that Morphit itself published on the blockchain. It's the same idea as the mirrors, made trustless.

    A clearer "expires in" on every order

    The little countdown on each order used to read something like "Expires in 87d 7h" — and because every listing's deadline is deliberately rounded to the end of a day (so it can't leak the exact minute you posted), that extra "7h" was really just "time until midnight" and looked identical on every card. It now simply reads "Expires in 88d", matching the date you already see when you hover, and a fresh 90-day listing reads "90d" like you'd expect. In the final day it still counts down in hours, minutes, and seconds so a closing deadline feels alive.

    Name your barter in your own words — now with spaces

    When you post a barter order and type what you're offering, you can now use more than one word: banana trees, garden help, homemade bread all work, not just single words. And the wording lines up everywhere — the summary, your order's page, and the blog announcement all now read the same natural way, for example "I want to sell banana trees for Monero" or "I want to buy up to 30 MXN of banana trees" — matching the "I want to buy / I want to sell" you picked at the start. The inline field also sits properly on the line now, and its underline is a quiet neutral instead of a bright green while you type.

    Operators and instances now point to each other

    The Operators page and the Instances page are two sides of the same story — who runs Morphit, and where you can reach it — so each now links straight to the other right in its opening line. One tap to go from "who's running these" to "here's the live list," and back.

    Smaller touches

    • Refreshed link preview. The image that appears when you share a Morphit link in a chat app or on social media has been redrawn at the proper size, so the preview looks crisp everywhere.
    Downloads
  • v1.9.0 3f199f683c

    Morphit v1.9.0
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 47s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 36s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 39s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 15s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 27m38s
    morphit-release / Build + publish release tarball (push) Successful in 29m32s
    Stable

    agorise released this 2026-07-26 16:37:50 +00:00 | 25 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Morphit v1.9.0

    Say exactly what you're bartering

    When you post a barter order — offering goods or a service and getting paid in the crypto you choose — the summary used to read "You're offering goods/services and accepting XMR." Now the words goods/services are a fill-in-the-blank you can type into. Put in bananas, and your order title becomes I'm buying at least 100 MXN of bananas, and the announcement on your blog reads the same. It's letters only, up to 24 characters, and the field grows as you type so the rest of the sentence just slides along — on a phone the sentence wraps neatly instead of running off the edge. Leave it blank and it stays the friendly "goods/services" as before.

    Your blog announcement now looks like your order

    When you let Morphit post your new order to your Blurt blog, that post is now laid out like the order's own page instead of a bare sentence: a header image, a headline, a Details list (what you'll accept, when it was posted, when it expires, your location if you gave one, and a ✓ that your listing fee is verified), your full terms with all your formatting intact, and a link back to your offer. Anyone reading your blog sees the whole deal at a glance.

    Your own avatar shows the moment you sign in

    If you've set a custom avatar, you'll now see it on the "You're signed in" screen right after unlocking — no more staring at the temporary patterned icon until you press "Remember me and continue." Morphit now looks up your account in the background as soon as your keys load.

    The chat inbox tells the truth about what's unread

    Two fixes here, both about the unread count and the green "unread" edge on a card:

    • Archived conversations you've already read no longer look unread. If you'd read and archived a chat on another device, it could show up in your Archived tab with the unread marker on a fresh sign-in. Archiving means you're done with it, so it now reads as read — while a genuinely new message still pulls the conversation back into your Inbox as before.
    • No more "turn on notifications" nag when they're already on. If you'd enabled "Push notifications (tab closed)" in Settings, the little prompt inside a chatroom would sometimes still ask you to turn them on. It now trusts your setting instead of a background check that wasn't always ready yet.

    The trade-review Cancel button works

    When the "Mark this trade complete" card appears at the bottom of a chat, its Cancel button now closes the card if you'd rather not leave a review right then. (You can always leave one later from My orders.)

    Smaller touches

    • Featured orders show the poster's real name and avatar right away instead of a name-and-pattern that swapped in a beat later.
    • The orderbook's Barter filter now shows barter orders correctly on both the buy and sell sides.
    • The trust-score pop-up no longer runs off the edge of the screen, and tapping outside it always closes it.
    • More places to download Morphit. Signed copies are now mirrored to SourceForge and SourceHut in addition to the existing hosts — the "Why so many mirrors?" note reflects the current count.
    • The "How much activity is there right now?" help article now points you at Morphit's live stats page, which shows active orders, completed trades, and how many assets and currencies are in play — all verifiable straight from the blockchain.
    Downloads
  • v1.8.15 20578ffa8e

    Morphit v1.8.15
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 44s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 36s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 38s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 15s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 28m15s
    morphit-release / Build + publish release tarball (push) Successful in 30m40s
    Stable

    agorise released this 2026-07-25 03:35:24 +00:00 | 26 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Filter the orderbook

    The list of offers can get long. You can now narrow it down — by what's being traded, how much, the price, and how people want to pay — so you see only the offers that match what you're actually looking for.

    See who you're dealing with, right on the offer

    Open any offer and there's now a clear card showing who posted it: their name and photo, their trust rating, and — in plain terms — what they'll pay you with and what they'll accept in return. No more opening a chat just to find out whether an offer is even relevant to you.

    No false alarm when you chat with a Blurt witness

    If you started a chat with certain very active accounts — Blurt's block producers among them — Morphit could wrongly warn that the person's identity might have been tampered with. It was a false alarm caused by how their identity was being looked up, not a real problem, but it was alarming for exactly the wrong reason on a marketplace. It's fixed: the check is now instant and reliable, and the warning only appears if something is genuinely wrong.

    Your Active key, asked for the same friendly way everywhere

    Some actions on Blurt need your Active key rather than your posting key. Paying a listing fee already asked for it in one tidy dialog — your key plus, if you want, your Morphit password, with a choice to use it just this once or keep it encrypted on your device.

    Now powering BLURT up or down, and boosting a listing to the top, ask in that exact same way. Before, if you were signed in with your posting key only, those two actions could quietly dead-end — you'd try, and nothing would happen with no way forward. That's gone; you're asked for your Active key properly, and it's wiped from memory the moment it's used.

    Smaller touches

    • Opening a long conversation now shows your most recent messages first, instead of loading a big stretch of old ones you have to scroll past.
    • After you set your display name or photo in settings, they appear immediately — no refresh needed.
    • The green trust-rating pill is now reliably tappable to open its explanation; a card behind it could previously swallow the tap.

    Verify your download — now against the blockchain

    Morphit's source code is public and mirrored across independent hosts — our own server, plus GitHub and Codeberg — so it stays reachable even if one host is blocked. Every release is signed, and now its fingerprint is also anchored on the Blurt blockchain.

    That means you can prove a copy you downloaded is the genuine, unmodified release without trusting the site you got it from — the answer comes from the chain. If you cloned the code, git verify-tag checks the signature; if you downloaded the release bundle, a small bundled tool cross-checks it against the on-chain record. There's a step-by-step guide in VERIFY-YOUR-DOWNLOAD.md.

    For people running a node

    No database changes. Upgrade as usual — your data, your keys, your trades stay untouched throughout.

    The new verify-your-download story applies to the source and the release bundle you deploy; the signing + on-chain anchoring steps are built into the release process, and there's nothing extra you need to run to benefit from them.

    Downloads
  • v1.8.14 797791ba1b

    Morphit v1.8.14
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 45s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 38s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 38s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 28m45s
    morphit-release / Build + publish release tarball (push) Successful in 30m54s
    Stable

    agorise released this 2026-07-24 04:38:47 +00:00 | 27 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Names and pictures, properly this time

    The last release was supposed to stop order cards showing @username and a default icon before swapping to the real name and photo. It only half worked — the swap kept happening perhaps half the time, which was the clue: three separate queries build order listings, and only one of them was fixed.

    The orderbook is live, so listings arrive by more than one route. Those coming through the live feed, and those in the Featured slot, still carried no identity and had to fetch it separately. All three now carry it, so a card is right the moment it appears no matter how it reached you.

    Paying the listing fee with a posting key now works

    If you were signed in with your posting key only and chose to pay the fee in BLURT, the page told you it would ask for your Active key when you posted. It never did. You filled in the whole order, pressed Pay and Post, and got "The order didn't go through" — with no explanation you could act on.

    The prompt existed and worked. An older check ran first and gave up before reaching it, written back when there was nothing to ask with. That check is gone; you're now asked for your Active key exactly as promised, with nothing broadcast and your order untouched behind the dialog. The key signs the fee and is never stored on your device.

    We also removed every claim that Morphit might ask for your Blurt master password. It never will — there is no situation where Morphit wants it, and five different messages said otherwise.

    On phones, that key dialog no longer zooms the page when you tap the field, and your keyboard can no longer capitalise or autocorrect a key into an invalid one.

    The star rating explains itself

    Tap the green rating pill anywhere it appears and you get a plain-English explanation of why that number is lower than the plain average of the stars someone received — and what it protects you from.

    The short version: it starts everyone near the middle and only lets them climb toward their true average as real trades accumulate. Otherwise two friends could exchange a handful of five-star reviews and instantly look as trustworthy as someone with two hundred genuine trades.

    "Load it now" appears once

    The update prompt could show twice in a row on phones. Every previous attempt made the handover wait longer, which narrowed the window without closing it — slower devices simply kept losing the race.

    Morphit now remembers that you accepted an update before it reloads, so the same build is never offered twice. A genuinely newer version still prompts as normal.

    For people running a node

    No database changes. Frontend only — nothing to do beyond the usual upgrade.

    Your data, your keys, your trades — all untouched throughout.

    Downloads
  • v1.8.13 62e05c76cb

    Morphit v1.8.13
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 43s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 36s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 37s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 27m31s
    morphit-release / Build + publish release tarball (push) Successful in 28m22s
    Stable

    agorise released this 2026-07-24 01:17:08 +00:00 | 28 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Nobody's name or picture changes in front of you any more

    This is the whole release, really. Everywhere Morphit shows who someone is, it used to guess first and correct itself a moment later.

    An order card would appear with @username and a default heart icon, then — sometimes seven seconds later — replace both with the person's real name and photo. The same thing happened in chat, on order pages, in review lists, and in your inbox.

    That is a bad thing for a marketplace to do. If you are deciding whether to trade with someone and their identity rewrites itself while you watch, the reasonable reaction is to walk away. It looks exactly like someone swapping the card out from under you. Nobody should have to know it was harmless.

    Two changes fix it:

    • Order listings now arrive with the poster's name and picture already attached, instead of fetching them separately afterwards. The card is right the moment it appears.
    • Everywhere else, Morphit now waits instead of guessing. While someone's details are still loading you see a quiet placeholder, not a wrong name. The change you see is from nothing to the truth, never from one identity to another.

    Nine places were affected; all nine are fixed, and a check now runs on every build to catch any new page that guesses.

    Clearing a flag now clears the flag

    If Morphit's self-dealing checks flag two accounts, their reviews stop counting toward each other's score — and the person running the node can clear that when it's a false positive.

    The menu offered to clear "both signals". There are four. Picking it recorded a decision about two of them, reported success, and left the others in place, so the reputations stayed hidden and nothing on screen explained why. Clearing part of something while saying "done" is worse than refusing outright.

    The menu now lists all four checks, and "all signals" means all four. Two of them re-arm rather than being permanent — if the pattern genuinely resumes, it is caught again — and the tool now says so, because someone who thinks a decision is final will not understand a later re-flag.

    Reviews that don't count say why

    The badge on an uncounted review claimed the reviewer was "flagged as related". That was often untrue — four different checks can exclude a review, and since the last release the badge also appears on reviews not linked to an order, where nobody is flagged at all. It now simply says "Not counted toward the rating", and the reputation card above explains the rest.

    The FAQ said Morphit ran two pattern detectors. It runs four. Corrected, and translated into all ten languages.

    For people running a node

    No database changes. This release is frontend and tooling only.

    Two fixes to the upgrade itself, both of which you would have seen last time:

    • The false schema warning is gone. v1.8.12 ended by warning that the database schema had changed "not via a numbered migration" and pointing at a reset procedure. It had shipped a numbered migration, which was applied automatically — the check only compared schema files and never looked for the migration. A false alarm that recommends rebuilding a database is worse than no alarm at all.
    • The getcwd errors are gone. Upgrading from inside /opt/morphit left your shell on a directory the upgrade had just replaced, and every subsequent step printed an error about it. Harmless, but noise that looks like breakage teaches you to skim past the warnings that matter.

    Your data, your keys, your trades — all untouched throughout.

    Downloads