🍡 mochi

SSR framework for Svelte 5 + Bun with islands-based selective hydration

Changelog

0.8.2 (2026-07-21)

Bug Fixes

  • email: stop nodemailer TS7016 leaking from the value-level import (#194) (9575619)

0.8.1 (2026-07-21)

Bug Fixes

  • email: stop leaking a nodemailer TS7016 error into consumers (#192) (4eb74f2)

0.8.0 (2026-07-21)

Features

  • add mochi:clientOnly and mochi:clientOnly:visible directives for browser-only components (#89) (5f318dc)
  • add Mochi.email() transactional mailer (#140) (58a4850)
  • add signed image-resize API with stale-while-revalidate cache (#65) (d1fb6b6)
  • cli: add bunx mochi-framework generate-key command (#114) (f47a029)
  • image: support Vite-style local image imports and filesystem imports (#169) (33beb89)
  • logging: remappable console log levels (#179) (b559717)
  • named image sizes — defer all image transforms to the endpoint, captcha (#144) (e733500)
  • per-route and global rate limiting via @joint-ops/hitlimit-bun (#157) (8a51dfd)
  • precompile server islands into the build manifest (#132) (a89cce2)
  • Reword docs and improve trailingSlash (#116) (7ab4fa7)
  • separate dev build cache from production .mochi output (#130) (1b5f4f6)
  • support: store submissions, queue email, add admin inbox (#174) (a47a9d0)
  • warn on large barrel imports (#131) (1d1b36c)

Bug Fixes

  • always reconnect the dev live-reload socket (#178) (ebcf467)
  • avoid HTMLRewriter onEndTag request-context leak (#155) (be5e15e)
  • deps: update dependencies across the monorepo (#189) (f220ec5)
  • force-close connections on shutdown so the process actually exits (#176) (16c3b2f)
  • forward-slash paths in user-facing output on windows (#163) (98f05a8)
  • fully transpile <script lang="ts"> in .svelte with Bun (#128) (d4b9ea0)
  • logger: make queue added/completed lines visible at the production log level (#184) (86ddcb4)
  • make unresolvable island directives a compile error (#160) (bef2d60)
  • nested islands support — inject CSS for islands inside deferred content and deduplicate the debug bar (#125) (4044e87)
  • queue: stop falsely failing jobs that run longer than 30 seconds (#188) (32b5209)
  • resolve HTML validation warnings (lang, charset position, aria-label) (#145) (0b21eca)
  • resolve validated bugs, security issues & dead code from framework review (#137) (373e31a)
  • workaround eisdir testing bug (#172) (73b4db4)

Performance

  • build: single client bundle, batched CSS minify, overlapped build steps (#181) (aac7ea2)
  • extract mochi-env virtual modules to plain .js templates, decrease bundle by ~2kb for unused client side imports from mochi-framework (#162) (a5fd1a7)
  • memoize per-serve() startup work in mochi framework (#142) (ef00dea)
  • mochi: cache compiled component output to speed up dev HMR (#122) (91420f2)

Documentation

  • serve doc screenshots through local image imports (#186) (b54fe8e)

Code Refactoring

0.7.0 (2026-06-16)

Features

  • add automatic HEAD request support for all route types (#76) (925ba6c)
  • add official mcp server (47acc11)
  • add ViewTransitions and RawScript components (+ view-transitions & custom-transitions demos) (#66) (7402c28)
  • configurable debug bar panels via cogwheel setting (#87) (b36e224)
  • Mochi skill (#100) (ae8fea5)
  • replace islandId auto-prop with native $props.id(), remove nanoid dependency (#96) (e1236a5)

Bug Fixes

  • drop @types/negotiator runtime dep via local ambient declaration (#88) (773d2d0)
  • mark shared island props blocks correctly, show actual prop content in debug bar instead of devalue format (3cda6da)
  • surface svelte-shaker failures and point users at its tracker (#80) (41fb9eb)

Code Refactoring

  • replace $props<T>() with annotated let destructuring (#91) (0304446)
  • replace stale-while-revalidate-cache with inline helper (remove 2 deps) (#92) (dd33f82)

0.6.0 (2026-06-07)

Features

  • add svelte-shaker support and remove routes.ts convention in favor of single index.ts (#74) (ec4487f)
  • added a new “info” tab to debug bar showing runtime versions and mochi configuration (a6a1792)

Bug Fixes

  • mochi-framework: various hmr edge case fixes (ecb627d)
  • trigger hmr when shell.html is edited (#72) (d519b89)
  • various hmr edge case fixes (79048e3)

0.5.1 (2026-06-04)

Bug Fixes

  • stray {{mochi.script}} text rendered on pages that mention the placeholder (#67) (38d3ee4)
  • windows support (8547194)

0.5.0 (2026-05-28)

Features

  • hot-swap route handlers in dev mode (#41) (106a4a2)
  • opt-in route warmup to pre-warm static pages at startup (#64) (9f28ede)
  • replace highlight.js with Shiki (#54) (3d2dc6a)

Code Refactoring

  • replace cookie npm package with Bun native cookie APIs (#60) (4e0d953)
  • run all tests in per-file isolation, drop .isolated.test.ts suffix (#55) (68cdc06)
  • vendor debounce, drop npm dependency (#63) (d465fea)
  • vendor json-format-highlight, drop npm dependency (#61) (0b88399)

0.4.0 (2026-05-26)

Features

  • make url export isomorphic (server + client) (#47) (11bbbe6)
  • per-page JS bundle panel in debug bar (#42) (7eba984)

Bug Fixes

  • resolve Svelte 5 state warnings and add autofixer tooling (#49) (3d949a5)

Performance

  • consolidate per-request HTML passes in renderComponent (#36) (285a87f)
  • reduce server island runtime by ~80% (8.59kB → 1.91kB ) (#50) (d570bc8)

0.3.2 (2026-05-24)

Bug Fixes

  • register trailing-slash alternates for internal framework routes (#33) (453eac5)

0.3.1 (2026-05-23)

Bug Fixes

  • debug bar Bundles link points to undefined in production (#30) (2c77825)
  • immutable asset caching + feat: SSR duration in debug bar (#32) (0f8bb68)

0.3.0 (2026-05-23)

Features

  • add liveReload option to disable dev WS (#23) (616ab7a)
  • mdsvex: preprocess mochi:hydrate inside markdown files (#22) (bcf08e4)

Bug Fixes

  • debug-bar: show green status dot when liveReload is disabled (#27) (f8896f5)

0.2.0 (2026-05-23)

Features

  • debug-bar: redesign + landing Quick Start + Discord links (#16) (91a0931)
  • docs: first-app walkthrough, docker page, intro rewrite, Dockerfile cleanup (#18) (a0df099)

Performance

  • ssr: cache and skip Svelte preprocessing for non-island sources (#19) (1bbbd79)

0.1.1 (2026-05-22)

Bug Fixes

  • typecheck errors in scaffolded bun create mochi projects (#10) (202ff53)

0.1.0 (2026-05-21)

Features

  • expose params and cookies on MochiApiEvent (#1) (8fc956d)

Changelog