Skip to content

Releases: Prismo-Studio/Zephyr

Zephyr v1.3.3

Choose a tag to compare

@github-actions github-actions released this 11 Aug 15:03

Zephyr 1.3.3

Archipelago folder settings, random ranges in randomizer options, a compact config layout, and a batch of sync and folder fixes.

Added

  • Configurable Archipelago folders: the randomizer runtime directory and the player slot directory can be picked from the app, with the choice kept across restarts.
  • Random ranges in randomizer options: numeric options accept a random range (random-range-x-y, plus the low/middle/high variants), and weighted value lists are no longer capped to three entries.
  • Compact layout option for the config manager, in Preferences > Display.

Fixed

  • Cloud sync now logs out on its own when the Discord session expires instead of holding on to a dead token, so mod installs are no longer blocked by a stale session.
  • Data folder and cache folder settings survive a restart.
  • Mod tags in Browse keep a stable alphabetical order. They were stored in a hash set, so every re-fetch of the package list reshuffled them.

Full diff: v1.3.2...v1.3.3

Zephyr v1.3.2

Choose a tag to compare

@github-actions github-actions released this 17 Jun 09:46

Zephyr 1.3.2

Patch release.

Fixed

  • Cloud sync no longer spams an error toast on every action when the Discord token is expired. Auto-sync pauses for the session after the first 401 and resumes automatically after re-login.
  • "No mods installed" empty state is now properly centered in grid view.

Full diff: v1.3.1...v1.3.2

Zephyr v1.3.1

Choose a tag to compare

@github-actions github-actions released this 18 May 18:17

v1.3.1

Patch release.

Fixed

  • macOS app icons in the bundle (Dock, Finder, About panel).

Full diff: v1.3.0...v1.3.1

Zephyr v1.3.0

Choose a tag to compare

@github-actions github-actions released this 14 May 14:00

Community plugins, v1.3.0

This release lands the plugin system: a framework for community-built features that ship outside the Zephyr binary, with a shared SDK, dev tooling, and a sandboxed runtime. It also tightens the Zephyr Mods registry pipeline and ships a handful of UX fixes.

Plugins page

Plugin system

  • Sandboxed iframe runtime with a postMessage bridge to Zephyr core. Plugins get sidebar items, their own routes, and access to host capabilities through an explicit API.
  • Per-plugin storage (zephyr.storage, zephyr.fs) and notifications (zephyr.notify, zephyr.openExternal).
  • Event bus for host signals: game.launched, game.exited, game.changed, profile.switched, locale.changed, theme.changed. Plugins subscribe via zephyr.on(event, cb).
  • Native screen recording capability (zephyr.recording.start/stop) backed by ffmpeg, with auto window detection on Windows (EnumWindows + substring match).
  • Theme propagation: plugins inherit Zephyr's active theme automatically (light, dark, custom, etc.).
  • Dev Mode: pick a folder on disk, load the plugin live, edit and hot-reload without re-publishing.

Load plugin

Plugin SDK (@zephyr-plugin/sdk)

  • Svelte 5 components matching Zephyr: Toggle, Select, Button, Card, Row, StatusPill, StatCard.
  • Design tokens that track the host's active theme.
  • Typed bridge client with autocomplete for events and capabilities.

Community plugins shipped

  • Captures (1.2.0): native screen recording, configurable quality (720p to 2160p), framerate (30/60 fps), local mp4 output, preview modal. Auto-record on game launch is wired but disabled in 1.3.0 (coming next).

Mods & profile improvements

  • Version selector now reflects the installed version rather than always showing the latest available (Thunderstore + Zephyr Mods).
  • Zephyr Mods installed mods get a working version dropdown that fetches the version list on-demand from the registry.
  • Browse & Mods pages refresh automatically after a version change, no manual reload needed.
  • Sidebar items for community features show the icon from the plugin manifest (sidebarIcon).

Zephyr Mods registry

  • Validation workflow on every PR: schema validation, ownership check via full git history, SHA-256 verification of release archives.
  • Manifest schema locked and published (schema/registry.schema.json).
  • Master branch normalised across all workflows + registry URLs.

UX

  • Welcome modal on first launch (7 locales) with a single soft prompt toward the GitHub repo.
  • Modal backdrops now cover the full window instead of leaving the sidebar visible.
  • Dropdown styling in plugins matches Zephyr (custom select instead of the native browser one).
  • Bumped versions across package.json, tauri.conf.json, Cargo.toml.

Under the hood

  • New Rust modules: plugins/dev.rs, plugins/recording.rs, plugins/install_feature path.
  • Filesystem watcher for dev plugins (notify-debouncer-mini).
  • ffmpeg bundling via ffmpeg-sidecar (auto-downloads on first recording).
  • SPA fallback enabled on adapter-static so dynamic plugin routes work.

Documentation

  • New Plugins page on the docs site.
  • New Plugins wiki page with screenshots.
  • Zephyr-plugin README rewritten with SDK reference and full manifest spec.

Full diff: v1.2.14...v1.3.0

Zephyr v1.2.14

Choose a tag to compare

@github-actions github-actions released this 06 May 13:41

v1.2.14

A small maintenance release focused on transparency and supply-chain hygiene.

✨ What's new

  • A complete public CHANGELOG.md ships with the package, so the
    Thunderstore listing's Changelog tab now reflects the full history of
    Zephyr from v0.7 through today.

🔒 Security

This release closes the remaining build-time dependency advisories that
showed up on Dependabot:

Package Before After Issue
@inlang/paraglide-js 2.3.0 2.18.0 dropped vulnerable transitive kysely 0.27
cookie (forced) 0.6.0 0.7.2 out-of-bounds character handling
esbuild (forced) 0.21.5 0.25.12 dev-server cross-origin request leak

Frontend and Rust runtime patches from 1.2.13 (svelte 5.55, vite 5.4.21,
postcss 8.5.14, devalue 5.8, aws-lc-sys 0.40, tar 0.4.45, time 0.3.47,
quinn-proto 0.11.14, rustls-webpki 0.103.13) all carry over.

🩹 Carry-over fixes from 1.2.13

For users updating directly from 1.2.12, this build also includes:

  • Anonymous, opt-in usage telemetry (PostHog EU) with a Privacy toggle in
    Settings, off until you enable it, and never sends personal info or IPs.
  • Gamepad d-pad no longer triggers navigation twice per press on Standard
    Mapping controllers (Xbox / DualShock on Windows).
  • Virtual on-screen keyboard d-pad input doesn't fire a duplicate event on
    quick taps anymore.
  • Pressing Start on the gamepad now opens the Play menu directly.
  • Profile names limited to 25 characters; long legacy names are truncated in
    the dashboard hero and profile switcher to prevent layout overflow.
  • Scroll-to-top button moved to the bottom-left on Mods and Browse pages so
    it doesn't overlap the version dropdown chevron.
  • Install button hover no longer flickers; the version chevron matches the
    gradient at all states.

📦 Install

Pick the installer matching your platform from the assets below:

  • Windows: Zephyr_1.2.14_x64-setup.exe or Zephyr_1.2.14_x64_en-US.msi
  • Linux: Zephyr_1.2.14_amd64.AppImage, .deb, or .rpm
  • macOS: Zephyr_1.2.14_universal.dmg

If you already have Zephyr 1.2.x installed, the in-app updater will fetch
this release automatically on next launch.

📝 Full changelog

See CHANGELOG.md
in the repository for the complete history.

Zephyr v1.2.13

Choose a tag to compare

@github-actions github-actions released this 05 May 19:05

v1.2.13

New

  • Archipelago, Randomized & Weighted inputs: new option editors for randomizer fields, with validation, tests, and translations across all 7 locales.
  • Anonymous telemetry (opt in): new Privacy section in Preferences with a fully anonymous, opt in telemetry toggle. Off by default, nothing is sent unless you enable it.

Fixes

  • Game card: favorite button no longer overlaps the title.
  • Weighted value editor: corrected weighted value handling in randomizer fields.
  • timeSince plurals: fixed broken plural forms across locales (no more moiss, mêss, mes(es)s).
  • Version dropdown chevron: simplified install button chevron hover, no more flicker or invisible state.

Polish

  • Cleaner install button styling.

Full Changelog: v1.2.12...v1.2.13

Zephyr v1.2.12

Choose a tag to compare

@github-actions github-actions released this 02 May 01:12

Zephyr 1.2.12

New Features

Customizable keyboard shortcuts. Rebind global shortcuts from a new shortcuts settings panel, with the updated bindings reflected in the help modal and global search.

Fixes

Modded launch on Linux is now wired up properly. Modded profiles can launch on Linux instead of only working on Windows.

Installed mod version dropdown. The chevron is no longer invisible on hover.

Polish

Removed the pulsing dot indicator on the selected game in the dashboard.

Cleaned up profile lock wording across all locales.

Filled in missing translations across es-ES, fr, pt-BR, ru, and zh-CN, and removed orphaned i18n keys.

Under the Hood

Major refactor: split large monolithic components (Sidebar, ModCard, ModDetails, RandomizerServerPanel, prefs/+page, profiles/+page, browse/+page) into focused subcomponents, and centralized external URLs in a new api.constants.ts / Rust constants.rs.

Extracted mod list drag and drop into a reusable useModDrag hook.

Split profile/commands.rs into per-domain submodules (dirs, game, icons, mgmt, mods).

Migrated the toast store to Svelte 5 runes.

Removed the unused justerror Rust dependency, the legacy r2modman importer, dead code, and committed debug artifacts; added clippy redundant_clone fixes.

Full Changelog: v1.2.11...v1.2.12

Zephyr v1.2.11

Choose a tag to compare

@github-actions github-actions released this 29 Apr 21:58

v1.2.11

Documentation: https://docs.zephyr.prismo-studios.dev/

New features

  • Launch options menu, replaced the standalone "Vanilla" button with a full launch options menu, giving easier access to vanilla and modded launch modes.
  • Mod enable/disable toggle, added a toggle switch on mod cards to quickly disable/enable individual mods.
  • Favorites-based game ordering, your favorite games now sort to the top of the game list.
  • RPM packaging, Linux builds now include an .rpm artifact alongside the AppImage and .deb.

Improvements

  • Custom-sort drag rail, refined the drag handle on mod cards for smoother custom ordering (#27).
  • macOS deep links, refactored deep-link handling for better macOS support and increased the broadcast channel capacity for auth callbacks (fewer dropped login redirects).
  • Documentation, README now links to the new docs site at https://docs.zephyr.prismo-studios.dev/.

Bug Fixes

  • Fixed dropdowns not closing when the cursor left them.
  • Fixed drag-and-drop issues with .apworld files in the Archipelago randomizer.

Zephyr v1.2.10

Choose a tag to compare

@github-actions github-actions released this 28 Apr 20:33

Zephyr v1.2.10

Fixes

  • Start inventory now populates on first Archipelago install, schemas refresh in the background once the runtime is extracted, so the item list and browser modal fill in without a manual refresh
  • start_inventory no longer triggers a false "unknown option" validation error; the validator now recognizes Archipelago's PerGameCommonOptions (start_inventory, start_inventory_from_pool)
  • Game search now matches names containing punctuation (apostrophes, dashes, etc.) and the empty-state UI has been simplified

Improvements

  • Orphan schemas (left over after an apworld is removed or renamed) are now pruned automatically when the supported-games list loads

  • Runtime install logic has been extracted into a dedicated runtimeInstall store, shrinking the install banner component and making the install / venv-provision flows reusable

Zephyr v1.2.9

Choose a tag to compare

@github-actions github-actions released this 27 Apr 22:45

1.2.9

Archipelago

  • New "Browse items" modal in the Start Inventory editor with inline count stepper
  • Top-level YAML fields now highlight when modified
  • Lighter Archipelago runtime banner in the catalog header
  • Search now matches games with punctuation
  • Cleaner empty state in the game search dropdown

Console

  • Polished console UI overall
  • You can select and Ctrl+C copy any output, plus right-click for a copy menu

Mods and Browse

  • Added a scroll-to-top button that lifts above the batch action bar when needed

Settings

  • New shortcuts modal listing every keybind in the app
  • Ctrl+B opens it from anywhere
  • Ctrl+wheel zoom on the main view, with clearer zoom shortcut labels
  • Settings title and sections properly aligned