Meridian
Meridian

v0.12.0 — Branch Protection & CI Gates Live

Before Meridian ships to mainnet, every code change now flows through enforced security gates on GitHub. No user-facing features changed — this is the process foundation for the security hardening phases ahead.

What's enforced on main now:

- Branch protection with admin enforcement (no bypass path, no force pushes, no deletions)

- PR template must include Fix / Test / Threat Model sections

- Security-sensitive PRs require explicit reviewer clearance before merge

- Test-count gate counts only real new tests (skip/only bypass closed)

What else shipped:

- Threat model scaffold for documenting security impact on every change

- Middleware test harness for auth regression testing

- Corrected stale test baseline (172 real tests, not the 221 we thought)

- Identified 18 broken backend test files (queued for Phase 1 fix)

What this means for you:

Meridian's security posture is now enforceable by tooling, not convention. Phase 1 (CSP hardening + wallet signature improvements) is next — and everything shipping from here on out flows through these gates. No admin bypass, no shortcuts.

If you're a tester on /try-it, you won't see visible differences — but the code shipping to your wallet now passes more rigorous automated review before it's allowed to merge.

This milestone blocks mainnet launch. 1 of 5 security hardening phases complete.

v0.11.1 — Auth Fixes, Number Formatting, Font Consistency

Crossmark Auth (Complete Rewrite)
  • Crossmark no longer requires a second signing step — uses public key from sign-in as session proof

  • Removed Memos from challenge transaction (caused blank screen in Crossmark)

  • Fixed methods.sign returning UUID instead of tx blob

  • Wallet only shows as connected after auth token is stored — no more unauthenticated API calls racing ahead

Auth System
  • Fixed challenge colon-splitting — the challenge format meridian:address:timestamp:nonce was being split at colons, so only "meridian" was compared. The address-only fallback was masking this the entire time.

  • Auth sessions survive backend restarts — valid client tokens are restored instead of rejected

  • getAuthHeader() returns null when no auth token exists (was sending address-only headers)

Number Formatting
  • All prices now display with commas (e.g., $1,234.56 instead of $1234.56)

  • XRP amounts formatted with thousand separators

  • Applied across 14 files: listing cards, detail pages, admin, analytics, rewards, orders, disputes, profile, wallet balance

Font Consistency
  • Added font-cormorant alias to Tailwind config — 8+ files using this class were silently falling back to Outfit instead of Cormorant Garamond
Cleanup
  • Removed address-only auth fallback (security hardening)

  • Removed debug console logging from analytics

  • Removed dead code: xamanWallet.ts, xrpl-utils.ts

  • Removed redundant /orders page (profile already has order tabs)

v0.11.0 — Search, Orders, Wishlist & Image Gallery

Four major features in one release:

- Search — find listings by keyword, category, condition, and price range at

/search. Filters sync to the URL so you can share searches.

- Order History — view all your purchases and sales at /orders with color-coded

status badges and filtering.

- Wishlist — tap the heart on any listing to save it. View your saved items at

/wishlist.

- Image Gallery — listing photos now display in a proper carousel with

thumbnails and a fullscreen lightbox with zoom.

Also hardened authentication by requiring cryptographic wallet signatures on

all requests.

v0.10.0 — Storefront Customization

Your storefront just got a lot more personal. Six new customization options are now available from your profile settings:

- Social links — add your X, Instagram, website, and Discord so buyers can find you

- Store announcement — pin a message at the top of your store (sales, shipping notices, anything)

- Store policies — share your shipping timeline, packaging standards, and communication expectations

- Custom accent color — pick from 6 color presets to make your store stand out

- Message seller — buyers can now reach you directly from your storefront

- Store SEO — set a custom meta description so your store ranks better in search

All options are in Profile → Storefront settings. Your storefront at /store/your-slug updates immediately.

v0.9.3 — Pro Subscription Fixes

Fixed several issues with Pro subscription payments:

- Pro status no longer resets — a reputation recalculation was overwriting Pro accounts back to "verified" after every transaction. Your Pro tier now stays active for the full subscription period.

- Crossmark payments work end-to-end — fixed transaction hash extraction and removed fields that caused Crossmark to show a blank signing screen.

- Reliable payment verification — the backend now reads the actual delivered amount from the blockchain, with tolerance for price movement between checkout and verification.

- All 5 wallets supported — Pro payment uses the same unified signing handler as marketplace purchases. Xaman, Crossmark, GemWallet, Joey, and WalletConnect all work.

v0.9.2 — Blog Launch, AI Readiness & SEO Fixes

The Meridian blog is live at /blog with three launch posts:

- "Pay for a $50,000 Watch in Dollars. Settle It in 3 Seconds." — How stablecoin payments work on Meridian without giving up escrow protection.

- "Own a Piece of a Gulfstream. Here's How." — Fractional ownership through Multi-Purpose Tokens, from $100 shares to quarterly income.

- "Your $125,000 Transaction Doesn't Need a Middleman." — Why protocol-level escrow beats every payment processor.

Also in this release: llms.txt for AI crawler discovery, SEO fixes from our Okara audit (shorter title, complete OG tags, target keywords in hero copy), and a performance boost from removing three unused font families.

v0.9.1 — SEO & Performance Fixes

Small but impactful fixes based on our Okara AI audit:

- Faster page load — removed render-blocking font loading. Text now appears immediately with a fallback font while custom fonts load in the background.

- Better Google results — shortened the title tag so it no longer gets truncated in search results.

- Better social previews — completed Open Graph tags with absolute image URLs for cleaner link previews on X, Discord, and other platforms.

v0.9.0 — MoonPay Fiat On-Ramp Integration

You can now buy XRP directly on Meridian — no exchange account needed. Our MoonPay integration lets you purchase XRP with credit card, debit card, Apple Pay, Google Pay, or bank transfer.

Click "Buy XRP" on the buy page, complete the purchase in the MoonPay widget (never leaves Meridian), and XRP arrives in your connected wallet within minutes. If your wallet is connected, your address is pre-filled automatically.

v0.8.1 — Multi-Month Pro Plans & Renewal Reminders

Pro subscriptions now come in multiple durations with savings for longer commitments.

Pick the plan that works for you:

- 1 Month — $9.99

- 3 Months — $24.99 (save 17%)

- 6 Months — $44.99 (save 25%)

- 12 Months — $79.99 (save 33%)

We've also added renewal reminders — you'll get an email 7 days before your Pro expires, plus a banner on the Pro page to renew with one click. No more accidentally losing your Pro benefits.

v0.8.0 — Analytics Dashboard Rebuild

The analytics page has been completely rebuilt. You can now track both your buying and selling activity from one dashboard.

Selling + Buying tabs — switch between seller metrics (revenue, conversion, listings) and buyer metrics (spending, purchases, escrow status). Each view has its own accent color and contextual stats.

Free for everyone:

- Summary stats, conversion rates, and recent transactions

- Time range filtering (7 days to all time)

Pro analytics ($9.99/mo):

- Monthly trend charts

- Category breakdown — see which categories perform best

- Repeat buyer tracking — measure storefront loyalty

- Top listings by views + revenue

- Geographic distribution of your buyers

- RLUSD vs XRP payment breakdown

- Fee savings tracker (Pro 0.3% vs standard 0.5%)

- Full transaction history with CSV + JSON export

- Custom date range picker