github nexu-io/open-design open-design-v0.20.2
Open Design 0.20.2 — Production Exports, Under a Minute

6 hours ago

Production exports now finish in under a minute: when a font or an image in
your work never comes back, Open Design no longer holds the whole pipeline for
ten minutes — it stops waiting and delivers the image or PDF anyway.
An HTML
preview you already opened keeps its state, and first-run setup only lets you
continue once it really connects. Alongside that, the pricing, entitlement
badges and upgrade paths that shipped with Go Plan got a careful calibration
pass, so what plan you're on, where you can go from it, and where a click will
take you all read honestly.

⚡ Performance & reliability

  • 📤 A stuck export now takes under a minute instead of ten. When a font or
    an image in your work never loads, Open Design stops waiting on it and
    finishes the image or PDF anyway. Work that loads normally still exports at
    full quality, and a genuine failure now names its reason so you can act on it.
    (#7182) Thanks @lefarcen.

  • 🖥️ Come back to an open HTML preview and it's still where you left it.
    Switching projects, switching file tabs and toggling Preview/Code no longer
    trigger a blank flash or a full reload — scroll position, live documents and
    your edits survive, and text changes show up the moment you save. (#7156)
    Thanks @lefarcen.

  • A run that produced files is no longer reported as producing nothing.
    When the browser doesn't finish syncing files in time, Open Design trusts what
    the daemon confirmed was delivered. Runs that genuinely produced nothing still
    show the original error. (#5750) Thanks @ferrarifankid04.

  • 🧩 Interactive scripts in a project preview survive URL rewriting. Inline
    scripts are delivered untouched while CSS and other assets stay
    workspace-scoped, so script-driven interactive previews actually run. (#6938)
    Thanks @mturac.

🐛 Fixed

First-run setup

  • 🚦 "Continue" now means you are actually ready to continue. Picking a local
    CLI during first-run setup keeps the button inert until the CLI is detected.
    With BYOK, filling in the key, base URL and model runs a real connection test
    on click — a failure or a rate limit keeps you on the page with an actionable
    error, and setup only completes once the test passes. (#7164)
    Thanks @alchemistklk.

Pricing, plans & upgrades

  • 🌐 The language you enter Pricing in is the language you stay in. The
    locale the app hands over now applies before the page paints, instead of
    flashing the wrong one first. Direct visits without an explicit locale still
    follow your browser and saved preference. (#7197) Thanks @Siri-Ray.

  • ↩️ Checkout returns you to the Cloud Console you came from. Pricing
    handoffs from test, feature-validation and local environments come back to
    their own entry point instead of landing in production. An invalid target
    shows a localized error and disables checkout rather than silently falling
    back. (#7219) Thanks @nettee.

  • ⬆️ Your current plan, and where you can go from it, read at a glance. The
    plan you're on is marked Current plan, anything below it is no longer
    clickable, and higher tiers keep their upgrade entry. Savings amounts, model
    order, the status column, the recommended accent and the monthly/annual toggle
    all match the approved design. (#7191, #7222) Thanks @Siri-Ray.

  • ♾️ "Unlimited" only appears on models your plan actually includes. Go,
    Plus, Pro and Max badge according to their own entitlements; Team workspaces
    no longer inherit a personal plan's badge, and BYOK no longer claims
    platform-side unlimited use. A subscriber whose balance is exactly zero stops
    seeing a balance chip they can't act on, while overdrafts, free plans and Team
    still surface the balance that needs attention. (#7190, #7202, #7196)
    Thanks @lefarcen, @Siri-Ray.

  • The low-balance dialog's action buttons return to a consistent visual
    hierarchy. (#7138)

Interface & navigation

  • ⬇️ The update button stops crowding the account capsule. Once a new version
    finishes downloading, the green update button appears as its own control to
    the right of the avatar/balance capsule, so the account menu and the update
    action stay in their own places. (#7237) Thanks @Siri-Ray.

  • 🔔 The message center is a plain list again. Read and unread messages share
    one view with no filter tabs; unread items carry a compact dot, and opening one
    still marks just that message read. (#7231) Thanks @Siri-Ray.

  • 🔗 Community links live at the bottom of the nav rail. Social links moved
    out of the account menu into the footer of Home's navigation — the Chinese
    interface shows the Feishu group, other languages show Discord, and X and email
    stay the same. (#7232) Thanks @alchemistklk.

🌐 Website

  • The homepage's first screen and capsule header got a round of tightening: a
    clearer brand claim, lighter capability chips, more restrained CTAs, and a
    video demo that loads on click. Visitors who already clicked download stop
    being prompted again. (#7178, #7186) Thanks @joeylee12629-star.
  • Chinese visitors get a Feishu community entry while other languages keep
    Discord, and the event recap pages are localized. (#7120, #7119)
  • The product menu now carries the Codex Plugin entry, and the DeepSeek Harness
    guide switches to a per-platform one-line installer with a more direct
    getting-started flow. (#7139) Thanks @joeylee12629-star.

🙏 Thanks to everyone who shipped 0.20.2

@alchemistklk · @ferrarifankid04 · @joeylee12629-star · @lefarcen · @mturac ·
@nettee · @PerishCode · @Siri-Ray

Don't miss a new open-design release

NewReleases is sending notifications on new releases.