open-design-v0.20.0

interviewstreet/hiring-agentopen-design-v0.20.0Aug 19, 2026by github-actions[bot]

AI Summary

Open Design v0.20.0 focuses on stability and foundational features. It defaults to Prototype mode, fixes editable PowerPoint exports, resolves blank screen issues, and improves HyperFrames video rendering.

Key Highlights

  • Home defaults to Prototype mode for a stable starting point.
  • Editable PowerPoint exports preserve fonts, line breaks, and slide backgrounds.
  • Thumbnails and navigation sync correctly in decks.
  • Generated artifacts no longer open to a blank screen after switching files.
  • HyperFrames renders video using the app runtime, not the npm cache.

New Features

  • Prototype default mode.
  • Editable PowerPoint exports.
  • Fixed blank screen issues.
  • HyperFrames runtime fix.
  • Workspace resilience improvements.

Full Release Notes


### ๐ŸŒŸ Codename: *Steady by Design*

๐Ÿงญ **51 PRs ยท 13 contributors ยท 5 days** โ€” **Start in Prototype, navigate every
slide with previews and notes in sync, and export editable PowerPoint files with
fonts and line breaks intact. Weโ€™ve also fixed an issue that could cause
generated artifacts to open to a blank screen.** 0.19 filled the menu of things
you can make; 0.20.0 is the release that makes each of them hold โ€” from the first
click on Home to the file you hand off.

## ๐Ÿ”ฅ Highlights

- ๐Ÿงช **Home starts where most people actually start: a prototype.** A fresh
  composer opens on Prototype, and the creation list is now a stable,
  product-owned set โ€” Prototype, Slide deck, Image, Document, HyperFrames,
  Website clone, Video, Audio, Live artifact, WebGL โ€” instead of a list that
  shifted with whichever plugins happened to be installed. Landing / marketing,
  Dashboards, Mobile app, Wireframe, Apps, Developer tools, Brand / design and
  Docs / reports are always there under Prototype, in every language, and
  Community filters lead with prototypes too. (#6914, #6975, #6906, #6980) Thanks @Siri-Ray.

- ๐ŸŽž๏ธ **Editable PowerPoint keeps the design you approved.** Imported Google
  Fonts now travel into the file, authored line breaks stay where you put them
  instead of reflowing in PowerPoint or WPS, and layered slide backgrounds
  survive the trip. Source-mode export works again across development runtimes,
  and titles containing `$`-style replacement sequences export verbatim rather
  than losing characters. (#6840, #6845, #6921, #6947) Thanks @Siri-Ray, @dcrtorres, @cactusrabbit.

- ๐Ÿ–ผ๏ธ **A deck thumbnail takes you to the slide it shows.** Thumbnails, the main
  stage, the page counter, speaker notes and the previous/next controls now move
  as one โ€” across both legacy and current decks โ€” instead of the sidebar
  advancing while the stage stayed on slide one. Thumbnail layout keeps the real
  slide proportions, and remixing a deck from Community gives you a working
  preview immediately. (#6950, #7095, #6996) Thanks @lefarcen.

- ๐Ÿฉน **Generated artifacts stop opening to a blank screen.** Switching files,
  toggling Code/Preview, or moving between projects could leave a permanently
  white canvas when Chromium aborted a retained preview navigation. Previews now
  stay mounted and reusable across those switches, recover on their own when a
  navigation is dropped, and load their fonts instead of falling back to a bare
  page. (#7128, #7055, #7007) Thanks @lefarcen, @Siri-Ray.

- ๐ŸŽฌ **HyperFrames renders video from the app, not from your npm cache.** Video
  compositions now scaffold through Open Design and render with the HyperFrames
  runtime pinned and packaged alongside the daemon, so a stale native artifact in
  a user's npm cache can no longer break generation โ€” and Windows packaged builds
  ship it correctly. (#7030, #7132) Thanks @Siri-Ray.

- ๐ŸŒ **Website Clone uses the browser you already have.** Cloning a site used to
  spend minutes installing Playwright into every generated project, often failing
  outright. It now drives an installed Chrome, Edge, or Chromium through an
  isolated temporary profile, leaves your project untouched, and works the same
  from the UI or from `od` with no client window open. (#7000, #7066) Thanks @lefarcen.

- ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ **A Workspace hiccup no longer takes your project with it.** Files already
  on your machine stay editable, runnable and shareable when the cloud directory
  is briefly unreachable, a newly invited teammate can open a shared project
  before every byte has transferred, public file shares survive a daemon restart,
  and the workspace you were last in is the one you come back to. (#7027, #6989,
  #7002, #7067) Thanks @lefarcen, @Siri-Ray.

- โšก **Refresh a long run without paying for the whole history again.** Multi-minute
  sessions still stream thinking and text live, but the transcript is now written
  in durable append-only batches: reloads stay responsive, active runs rebuild
  cleanly, and finished conversations stop accumulating an ever-growing rewrite
  cost. (#6952) Thanks @lefarcen.

- ๐Ÿงน **Run Open Design's anti-slop check anywhere.** The artifact linter that
  guards work inside the app is now `od lint`. Point it at a file or pipe stdin,
  pick a failure threshold, and get readable or JSON findings without starting a
  model โ€” so headless agents and CI can catch weak defaults before anything is
  exported. (#6959) Thanks @DojoGenesis.

- ๐Ÿ›‘ **A failed run stops looking like a finished one.** Repeated OpenCode shell
  errors โ€” including the PowerShell failures that used to slip through as
  completed tools โ€” now reach the loop guard, so Open Design can warn, stop, and
  keep the real failure instead of ending on a green-looking result. Claude runs
  that exceed the context window are named as such rather than reported as a
  generic execution failure. (#6933, #7044) Thanks @YUHAO-corn, @Siri-Ray.

- ๐Ÿ–ผ๏ธ **A refused image says it was refused.** When a content-safety policy turns
  down an image request, the reply now says so and points at the prompt or
  reference image you can actually change โ€” instead of sending you off to wait
  for an outage that will never recover. (#6993) Thanks @alchemistklk.

- ๐ŸŒ **Switching AMR environments moves the whole app.** Balance, Workspace
  context, upgrade links and settings destinations now follow the profile you
  picked โ€” prod, test, or feature-test โ€” without a restart, and an unmapped
  destination fails closed rather than quietly opening the wrong environment.
  (#6991) Thanks @AmyShang-alt.

- ๐Ÿ‘ค **Recent projects look like your workspace, not an anonymous list.** Your own
  projects carry your signed-in name and avatar instead of a generic "Me", and a
  row's overflow menu flips upward near the bottom of the screen so every action โ€”
  Delete included โ€” stays reachable. (#6857, #6971) Thanks @lefarcen, @Siri-Ray.

- ๐Ÿ›ก๏ธ **BYOK media downloads draw a firmer line around your machine.** Image and
  video URLs returned by an external provider can no longer steer the daemon back
  into localhost, including through DNS tricks. Deliberately configured local
  provider gateways keep working; untrusted asset responses no longer get the same
  privilege. (#6072) Thanks @CVE-Hunter-Leo.

## โœจ Added

### ๐Ÿง  Agents, runtimes and automation

- `od lint <file.html|->` brings artifact quality checks to headless agents,
  scripts and CI, with configurable failure thresholds, stdin input and
  machine-readable JSON output. (#6959) Thanks @DojoGenesis.
- A short experience survey can appear after Open Design delivers an artifact,
  with an "other" answer for anything the preset options miss. (#6999, #7117)

### ๐Ÿ  Home, Community and the site

- The DeepSeek Harness design collection gains six more curated plugins,
  illustrated covers and a fuller setup-to-design tutorial. (#6903, #6943, #6945) Thanks @xne998808-ai, @joeylee12629-star.
- The site publishes the 0.19.1 release, offers direct installer downloads, adds
  the Hong Kong event recap and features Shanghai on Events. (#6901) Thanks @xne998808-ai.
- READMEs carry a refreshed product tour across locales and a Feishu community
  link. (#6922)

## ๐Ÿ” Changed

- Prototype is the default creation type for a fresh Home composer; a saved
  choice or an explicit handoff still wins. Prototype scenes no longer depend on
  the installed plugin catalog. (#6975, #6914) Thanks @Siri-Ray.
- Completion sound and desktop notifications are on by default for new clients.
  (#7038)
- The result summary lists only the files actually delivered. (#7006) Thanks @Siri-Ray.
- Media-only models no longer appear in the chat model picker. (#7123) Thanks @alchemistklk.
- The structured design-system runtime introduced in 0.19.2 has been rolled back,
  together with its CLI and API surfaces. Design systems return to the previous
  manifest and prompt behavior while that workflow is reworked. (#7110) Thanks @lefarcen.

## ๐Ÿ› Fixed

### ๐ŸŽจ Decks, export and previews

- Editable PPTX export embeds compatible imported fonts, preserves authored line
  breaks and layered slide backgrounds; source-mode export no longer fails when
  the runtime exposes the exporter through a different module shape. (#6840,
  #6845, #6921) Thanks @Siri-Ray, @dcrtorres.
- Export titles containing replacement-pattern sequences stay verbatim in PDF,
  image and example exports. (#6947) Thanks @cactusrabbit.
- Deck thumbnails, stage, page counter, speaker notes and previous/next controls
  stay synchronized across older and current slide markup, and thumbnails keep
  the slide's real proportions. (#6950, #7095) Thanks @lefarcen.
- HTML and slide previews survive file-tab, Code/Preview and project switches,
  recover from aborted navigations, and load their fonts. (#7128, #7055) Thanks @lefarcen.
- Community deck remixes preview reliably, HTML card thumbnails are no longer
  double-scaled, and the Home examples rail stops shifting after a restart.
  (#6996, #7007, #7037) Thanks @lefarcen, @Siri-Ray.

### ๐Ÿง  Agents, workspaces and reliability

- Long streamed conversations persist incrementally, reload from durable batches
  and compact cleanly when the run ends. (#6952) Thanks @lefarcen.
- OpenCode preserves failed tool results and non-zero exits so repeated failures
  reach the loop guard instead of masquerading as successful work. (#6933) Thanks @YUHAO-corn.
- Claude prompt-too-long failures are classified as such. (#7044) Thanks @Siri-Ray.
- Vela image safety refusals reach the client as a refusal rather than a generic
  outage. (#6993) Thanks @alchemistklk.
- Workspace-bound projects stay usable during a directory outage and on a new
  member's first open; workspace authority derives from project bindings; public
  file shares and the last selected workspace survive a daemon restart. (#7027,
  #6989, #7002, #7067) Thanks @lefarcen, @Siri-Ray.
- AMR balance, Workspace context, upgrade links and settings links follow the
  selected environment and stop safely when that environment has no trusted
  destination. (#6991) Thanks @AmyShang-alt.
- Execution diagnostics keep runtime usage attribution. (#7076) Thanks @lefarcen.
- Trace object authority is routed through Vela. (#6986) Thanks @Siri-Ray.
- External BYOK asset URLs cannot resolve to loopback addresses, while explicitly
  configured local provider endpoints keep working. (#6072) Thanks @CVE-Hunter-Leo.
- HyperFrames scaffolding and rendering no longer depend on an ambient `npx`
  install, and Windows packaging declares its native dependencies per platform.
  (#7030, #7132) Thanks @Siri-Ray.
- Website Clone starts a system browser instead of installing Playwright into
  each generated project, from the UI and from `od` alike. (#7000, #7066) Thanks @lefarcen.

### ๐Ÿ–ฅ๏ธ Home, plugins and interface polish

- Recent-project cards show the signed-in account identity, and list-row menus
  choose the direction that keeps every action on screen. (#6857, #6971) Thanks @lefarcen, @Siri-Ray.
- The community plugin detail page scrolls, and its modal dims the full app
  chrome โ€” account and GitHub controls included โ€” instead of letting those float
  above it. (#7070, #6912) Thanks @lefarcen, @Siri-Ray.
- The Message Center close button is back. (#6992) Thanks @Siri-Ray.
- The project update-ready indicator behaves again. (#7004) Thanks @Siri-Ray.
- The landing page no longer repeats a pricing capability block. (#6913) Thanks @mrcfps.

## ๐Ÿ™ Thanks to everyone who shipped 0.20.0

@alchemistklk ยท @AmyShang-alt ยท @cactusrabbit ยท @CVE-Hunter-Leo ยท @dcrtorres ยท
@DojoGenesis ยท @joeylee12629-star ยท @kokisanai ยท @lefarcen ยท @mrcfps ยท
@Siri-Ray ยท @xne998808-ai ยท @YUHAO-corn