Skip to content

Releases: joelburton/flutterbug

v0.98

v0.98 Pre-release
Pre-release

Choose a tag to compare

@joelburton joelburton released this 08 May 22:53

Game info card

  • Story card now appears even when IFDB lookup fails. Previously the card on the index page was hidden if flutterbug couldn't find the game in IFDB. It now always shows when `--story` is set, falling back to the story filename when title/author/cover art aren't available.

Developer / packaging

  • Startup warning for missing browser assets. If `play.bundle.js` or the AsyncGlk CSS are absent from the static directory, flutterbug now logs a clear error at boot rather than silently hanging at the loading screen.
  • Browser bundle is now checked in. `play.bundle.js` and `asyncglk-css/` are included in the release so `pip install` users don't need Node or npm.
  • New `make prerelease` target rebuilds the bundle from the latest AsyncGlk before a release.
  • AsyncGlk dependency switched from a local sibling working copy to `github:curiousdannii/asyncglk`, so the build works from a clean checkout.

v0.97

v0.97 Pre-release
Pre-release

Choose a tag to compare

@joelburton joelburton released this 04 May 07:18

Major change

  • Switched from Plotkin's GlkOte to AsyncGlk as the in-browser game client. Mostly invisible if you're playing, but it's the foundation the rest of this release builds on.

CLI changes

  • --tunnel now takes a tunnel system name: --tunnel lhr (localhost.run) or --tunnel cf (Cloudflare). The old standalone --tunnel/--cloudflare flags are gone.
  • New --transcript PATH (-T) and --recording PATH (-R) — server-side game logging. --transcript writes a full transcript with player commands inlined (and player names in multiplayer); --recording writes a bare REPLAY-ready command list. Both flush after every write so cat shows live state. Works around the emglken bug where in-game SCRIPT/RECORDING only flush on QUIT.
  • Short options added for most flags.

Themes

  • New "Nerd" — green-on-black retro CRT theme.
  • New "Redrum" — a dark red theme.
  • Light and dark base palettes are now selectable as plain themes for users who want minimal styling.

UI polish

  • "Use large status bar" toggle in the sidebar — 1.5× grid font, per-client, persisted locally.
  • Sidebar floats over the gameport on narrow viewports (with a corner toggle button) instead of carving screen space out from below.
  • Tab cycles between chat and game input.

v0.96

v0.96 Pre-release
Pre-release

Choose a tag to compare

@joelburton joelburton released this 02 May 21:34

What's new

  • Tunnel reliability: the --tunnel flow now polls authoritative DNS (via dnspython, bypassing the OS stub resolver) before opening the browser, so Safari/Firefox no longer cache an early NXDOMAIN. On Linux, loopback stub resolvers (e.g. systemd-resolved) are skipped in favor of 1.1.1.1 / 8.8.8.8 — this also makes the lookup safe from a poisoned local stub. A 3-second pre-check delay was added to give the tunnel record time to land.
  • localhost.run warning: --tunnel (which uses localhost.run) now prints a startup warning recommending --cloudflare if the tunnel misbehaves, since localhost.run has been flaky.
  • The "no --secret provided" notice is now INFO-level instead of WARNING.

Install / upgrade

The easiest path on Windows is the flutterbug-windows.zip linked below.

For everyone else, pin emglken to 0.6.0 (later versions have a Windows bug that prevents launch):

npm install -g emglken@0.6.0
pip install --user --upgrade git+https://github.com/joelburton/flutterbug.git@v0.96

Full Changelog: v0.95...v0.96

v0.95

v0.95 Pre-release
Pre-release

Choose a tag to compare

@joelburton joelburton released this 01 May 03:05

New

  • Windows quick-start zip: flutterbug-windows.zip is now attached to releases and contains four ready-to-run batch files — install, solo, tunnel, cloudflare — plus a short readme. Drag a story file onto one of the flutterbug-solo / flutterbug-tunnel / flutterbug-cloudflare batch files to play, no command line required.

Install / upgrade

The easiest path on Windows is the zip linked below.

For everyone else, pin emglken to 0.6.0 (later versions have a Windows bug that prevents launch):

npm install -g emglken@0.6.0
pip install --user --upgrade git+https://github.com/joelburton/flutterbug.git@v0.95

v0.94

v0.94 Pre-release
Pre-release

Choose a tag to compare

@joelburton joelburton released this 01 May 01:01

New features

  • Windows support: Flutterbug now runs on Windows (Chrome browser tested)
  • --verbose flag: shows tunnel provider output, HTTP access logs, and other diagnostic detail. Without it, only the user-facing messages appear.
  • Clearer startup errors: if the port is already in use, or the game interpreter isn't on PATH, you now get a clear red error message with install guidance instead of a cryptic stack trace.

Polish & bug fixes

  • Tunnel launches now log the exact shell command they ran, so you can copy-paste it to reproduce a failed tunnel outside Flutterbug.
  • Preformatted text in story windows uses the same monospace font as status bars
  • Colored INFO/WARNING/ERROR log output that matches uvicorn's style.
  • --secret's help text now explains that it controls whether sign-ins survive a server restart.

Install / upgrade

Pin emglken to 0.6.0 (later versions have a Windows bug that prevents launch):

npm install -g emglken@0.6.0
pip install --user --upgrade git+https://github.com/joelburton/flutterbug.git@v0.94

v0.93

v0.93 Pre-release
Pre-release

Choose a tag to compare

@joelburton joelburton released this 30 Apr 11:16

New features

  • Display modes: new --mode=flex (default) and --mode=fixed. Flex lets each player pick their own browser window size and font size and reflows the game text to fit. Fixed mode locks the layout to whatever the first connected player ("host") sees — for games with carefully designed window arrangements, side-by-side panes, or fixed-width art.
  • Player list with typing indicators: see at a glance who's typing a chat message vs. a game command, in a compact horizontal list.
  • Bundled fonts: Flutterbug now ships its own monospace (a custom Iosevka build) and serif (Source Serif 4), so the game looks the same on every device without depending on system fonts.

Polish & bug fixes

  • Bigger chat box, smaller "recent commands" box (better proportions for actual conversation).
  • Game output no longer steals focus from the chat input — typing in chat doesn't get interrupted when the game prints something.
  • Player colors and positions in the list stay consistent across page refreshes.
  • Cleaner save/restore: no more spurious "awaiting line input" error popups while saving or restoring.

v0.92

v0.92 Pre-release
Pre-release

Choose a tag to compare

@joelburton joelburton released this 30 Apr 01:07

Security-hardening release.

  • --password (or explicit --no-password) is now required, so a forgotten flag fails loudly instead of silently exposing an open server.
  • WebSocket handshakes validate the Origin header, blocking cross-origin CSRF against signed-in players.
  • Sign-in form opts out of password-manager autofill — usernames/passwords here aren't stable credentials and shouldn't be captured.
  • Readme: added a warning about save-file overwrite/listing in the launch directory.

v0.91

v0.91 Pre-release
Pre-release

Choose a tag to compare

@joelburton joelburton released this 30 Apr 00:39

Core functionality works and ready for community testing.