previous-versions
See the latest version here
Previous Versions
Download Smudgy 0.5.3
Released August 14, 2026
| Platform | Download | Authenticity |
|---|---|---|
| Windows (64-bit) | smudgy-v0.5.3-setup.exe | Signed with Microsoft Artifact Signing |
| macOS (universal) | smudgy-v0.5.3-universal.dmg | Signed and notarized via the Apple Developer Program |
| Linux (x86_64, flatpak) | smudgy-v0.5.3-x86_64.flatpak | Signed with smudgy's GPG key · signature: .asc |
| Linux (aarch64, flatpak) | smudgy-v0.5.3-aarch64.flatpak | Signed with smudgy's GPG key · signature: .asc |
What's new?
- Pane tabs and layouts panes can be grouped into tabs, reordered, moved between windows, and torn out. Workspaces can be restored per server, and layouts can be saved by name.
- Map scripting scripts can choose map storage, move or copy maps and folders between storage types, batch related edits, and apply view-only styles to rooms, routes, doors, and labels.
- Full support for Mudlet's OSC8 extensions adds link styles, tooltips, menus, spoilers, and state. ANSI rendering now supports more attributes, including italic, underline, blink, reverse video, and strikethrough. The best part: ANSI processing became ~10% faster as well.
Download Smudgy 0.5.2
Released August 1, 2026
| Platform | Download | Authenticity |
|---|---|---|
| Windows (64-bit) | smudgy-v0.5.2-setup.exe | Signed with Microsoft Artifact Signing |
| macOS (universal) | smudgy-v0.5.2-universal.dmg | Signed and notarized via the Apple Developer Program |
| Linux (x86_64, flatpak) | smudgy-v0.5.2-x86_64.flatpak | Signed with smudgy's GPG key · signature: .asc |
| Linux (aarch64, flatpak) | smudgy-v0.5.2-aarch64.flatpak | Signed with smudgy's GPG key · signature: .asc |
What's new?
- Sessions that work together scripts can now see and control your other sessions on the same server: send events between them, submit input, and read, write, split, or rearrange each other's panes. A new
pane.swap()trades two panes' places, even across windows. - TinTin++ paths and speedwalks the
official/tintin-emulatorpackage now supports the#pathfamily (load,save,map,run,walk,zip, and friends) and optional TinTin-style input speedwalks, which can be enabled in the package's settings. - Fixedsys Excelsior is now bundled and can be selected under Preferences.
- Shared map fixes queued changes to maps are less likely to come back as conflicts or duplicates.
- Language polish a copy-editing pass across the English text, with matching updates to the Polish and Traditional Chinese language packs.
Download Smudgy 0.5.1
Released July 29, 2026
| Platform | Download | Authenticity |
|---|---|---|
| Windows (64-bit) | smudgy-v0.5.1-setup.exe | Signed with Microsoft Artifact Signing |
| macOS (universal) | smudgy-v0.5.1-universal.dmg | Signed and notarized via the Apple Developer Program |
| Linux (x86_64, flatpak) | smudgy-v0.5.1-x86_64.flatpak | Signed with smudgy's GPG key · signature: .asc |
| Linux (aarch64, flatpak) | smudgy-v0.5.1-aarch64.flatpak | Signed with smudgy's GPG key · signature: .asc |
What's new?
- Witajcie and 歡迎 Smudgy can now be used in Traditional Chinese and Polish thanks to generous code and translation contributions from @GTanger (i18n, Traditional Chinese language pack) and @haniu03 (Polish language). If anyone desires to translate Smudgy to a language they are fluent in, please inquire by opening an issue on GitHub.
- More resilient shared maps changes to shared maps are now recorded durably, and the map on your screen will not show you changes that did not save correctly. Queued edits should now recover after an unexpected restart and conflict handling is improved for cloud maps. For script and package authors, most mapper mutation methods are now asynchronous and should be
awaited. - Discord Rich Presence Discord can now show that you're playing Smudgy, how long the client has been open, and the server you're connected to. This communicates only with the Discord client on your computer and can be disabled under Preferences → Integrations.
- New Plugin Packages
official/tintin-emulator: an experimental but rich TinTin++ emulator turns familiar commands such as#alias,#action,#variable, and#highlightinto native Smudgy automations.- New auto-mapper packages add dedicated support for
Rites of PassageandArcticMUD.
- Substitution/Highlight changes
line.replace(),line.highlight(), andline.remove()calls now affect every matching occurrence on a line, rather than only the first. - Legacy text encodings Big5, GBK, Shift_JIS, KOI8-R, and others can be selected when connecting to legacy non-English MUDs which do not support Telnet CHARSET negotiation.
Smudgy v0.5.0
Released July 27, 2026
| Platform | Download | Authenticity |
|---|---|---|
| Windows (64-bit) | smudgy-v0.5.0-setup.exe | Signed with Microsoft Artifact Signing |
| macOS (universal) | smudgy-v0.5.0-universal.dmg | Signed and notarized via the Apple Developer Program |
| Linux (x86_64, flatpak) | smudgy-v0.5.0-x86_64.flatpak | Signed with smudgy's GPG key · signature: .asc |
| Linux (aarch64, flatpak) | smudgy-v0.5.0-aarch64.flatpak | Signed with smudgy's GPG key · signature: .asc |
What's new?
<Canvas>widgets have landed, they can be used to draw all sorts of shapes: rects, circles, ellipses, lines, polylines, polygons, SVG paths, text, images, and transformed groups, with gradient fills and dashed strokes. Most of these shapes have animatable properties (animate), which allow for tweens inside of each canvas that don't rely on scripts running every frame to facilitate them- Input scripting a new
inputobject (fromsmudgy:core, orsession.input) reads and writes the command input, moves the cursor, controls focus, and submits; there are also some new ways to edit the list of words used for tab autocomplete - Password masking Smudgy now masks passwords when a mud asks us to stop echoing, and several steps were taken to prevent scripts from being able to access that value while it is being suppressed. For example, turning off echo will always clear the command input; scripts looking at a masked input's value will always see a blank string,
- Pane control in scripts, panels gain
hide()/show()/isHidden,resize(), and a livesize,relocate()(across windows), andtearOut();smudgy:events/panesurfaces some new events for panels. A pane created withinput: { onSubmit }will get its own command input line, separate from the main panel's, where each sent line goes to a script rather than the game. - Images an
<Image>widget and animagecanvas shape display images and shapes. The images can be on disk or served from HTTP.Cache-ControlHTTP headers are honored when deciding whether to download new copies of images remotely. - Map connections exits between rooms have been completely redone. They can now be styled and routed as paths. In general, linking rooms using the map editor should be simpler.
- Removed 0.4 deprecations if any of your scripts were warning you they would stop working in 0.5.0, they have stopped working.
Smudgy v0.4.2
Released July 22, 2026
| Platform | Download | Authenticity |
|---|---|---|
| Windows (64-bit) | smudgy-v0.4.2.exe | Signed with Microsoft Artifact Signing |
| macOS (arm64) | smudgy-v0.4.2.dmg | Signed and notarized via the Apple Developer Program |
| Linux (x86_64, flatpak) | smudgy-v0.4.2-x86_64.flatpak | Signed with smudgy's GPG key · signature: .asc |
| Linux (aarch64, flatpak) | smudgy-v0.4.2-aarch64.flatpak | Signed with smudgy's GPG key · signature: .asc |
What's new?
- Fixes
line.replace(…)now preserves the style of the text being replaced, including when the text begins at a color boundary
Smudgy v0.4.1
Released July 14, 2026
| Platform | Download | Authenticity |
|---|---|---|
| Windows (64-bit) | smudgy-v0.4.1.exe | Signed with Microsoft Artifact Signing |
| macOS (arm64) | smudgy-v0.4.1.dmg | Signed and notarized via the Apple Developer Program |
| Linux (x86_64, flatpak) | smudgy-v0.4.1-x86_64.flatpak | Signed with smudgy's GPG key · signature: .asc |
| Linux (aarch64, flatpak) | smudgy-v0.4.1-aarch64.flatpak | Signed with smudgy's GPG key · signature: .asc |
What's new?
- Performance Incoming server output is processed and displayed in batches, with better support for handling large bursts
- Per-server maps Map atlases are no longer global. A one-time migration will happen for any users with global maps moving them into every server, separately. To avoid this, move the files pre-emptively from
<smudgy>/mapsinto the appropriate<smudgy>/<server>/mapspath. - MSDP support (experimental) reported variables are exposed as a smudgy state object at
smudgy:state/msdp;msdp:readyandmsdp:closedevents mirror the ones already in place for gmcp - Session maps and room external ids
mapper.createArea(name, { ephemeral: true })creates a map that exists only for the current session and is never synced. Rooms may carry a server-reported identifier (externalId, from GMCP or MSDP);mapper.findRoomByExternalIdresolves one to a room.
Smudgy v0.4.0
July 12, 2026
- GMCP support GMCP state is now a regular smudgy state object exposed at
smudgy:state/gmcp - Tagged templates for styling text
echo(`Hello ${style.red`World`}, go ${link`north`}`);syntax works inecho/line.replace/line.insert. - Shared state, typed events, and procedures between scripts and packages;
createState/createEvent/createDerived/createProcedurecalls are deeply tracked, scripts receive typed events and state through importingsmudgy:state/…andsmudgy:events/… - A new Store view in the Automations window shows events and state (including GMCP state) in real time.
- Delving deep or hooking changes within large state objects is now heavily optimized and quite efficient.
| Platform | Download | Authenticity |
|---|---|---|
| Windows (64-bit) | smudgy-v0.4.0.exe | Signed with Microsoft Artifact Signing |
| macOS (arm64) | smudgy-v0.4.0.dmg | Signed and notarized via the Apple Developer Program |
| Linux (x86_64, flatpak) | smudgy-v0.4.0-x86_64.flatpak | Signed with smudgy's GPG key · signature: .asc |
| Linux (aarch64, flatpak) | smudgy-v0.4.0-aarch64.flatpak | Signed with smudgy's GPG key · signature: .asc |
This is the first public beta!
Smudgy v0.3.6
July 4, 2026
- Fixes a bug in the module loader related to loading scripts' transitive dependencies from the
npmregistry
| Platform | Download | Authenticity |
|---|---|---|
| Windows (64-bit) | smudgy-v0.3.6.exe | Signed with Microsoft Artifact Signing |
| macOS (arm64) | smudgy-v0.3.6.dmg | Signed and notarized via the Apple Developer Program |
| Linux (x86_64, flatpak) | smudgy-v0.3.6-x86_64.flatpak | Signed with smudgy's GPG key · signature: .asc |
| Linux (aarch64, flatpak) | smudgy-v0.3.6-aarch64.flatpak | Signed with smudgy's GPG key · signature: .asc |
This is alpha software
Smudgy v0.3.5
July 3, 2026
- Rather than each session laying out within a row on the main window, sessions now slot into an iced pane_grid widget
- Exposes a the session's primary pane as
session.mainPaneto scripts, scripts can callpane#split()to create their own panes and sub-panes - These panes can be further split, named, and respond to drag/drop events. Panes can be dragged out of the main window to live as floating windows, which can themselves receive dropped panes.
- Added
line.redirect(<pane>)andline.copy(<pane>)methods to allow triggers to redirect input to various panes. These work very efficiently and fire before the receiving terminal begins processing or rendering the incoming line, so scripts which multiplex mud output to various panel windows produce very little overhead. - Fixed an issue with
line.replacewhen the replacement text repeated the text to be replaced beyond the first index of the match, e.g., 'foo' ⇒ 'Xfoo'
| Download for Windows (64 bit) | smudgy-v0.3.5.exe |
| Download for MacOS (arm64) | smudgy-v0.3.5.dmg |
This is alpha software
Smudgy v0.3.4
July 1, 2026
- The windows installer will now offer to stop smudgy if it is currently running, rather than error if it is
- Smudgy now recognizes if it is trying to load packages the user deleted manually from disk and responds appropriately
- <Text> widgets now have a
sizeattribute, and default to the theme base text color rather than black if given an invalid color - Added three new script functions around map import/export. Local maps and maps which the caller has
can_copypermissions to may be exported. Imported maps are always created as local maps.mapper.importArea(area: string),mapper.importAreas(area: string[]), andmapper.exportArea(): string
- Added some other miscellaneous accessors to the mapper api surface related to creating/editing shapes and labels
- Added a
getDataDir()method tosmudgy:core; scripts which have been given access to read/write only from their private$DATAdirectory can now learn where it is
| Download for Windows (64 bit) | smudgy-v0.3.4.exe |
| Download for MacOS (arm64) | smudgy-v0.3.4.dmg |
This is alpha software
Smudgy v0.3.3
June 29, 2026
- Packages now must declare if they download and run code from the public registries (
npm,jsr) and receive approval from the user (at install time) to do so - Your own modules and trusted packages can now create saved aliases, triggers, and hotkeys directly that live in the regular scripts editor and outlive the module/package that created them. Sandboxed packages have no access to this.
- The Shared pane is now “Private & Shared” and lists packages you own alongside those shared with you.
- Fixed a performance regression introduced with triggers which self-expire after testing a set number of lines.
- Package dependency rows now read “active/inactive” instead of “enabled/disabled”.
- Forking your own package with “Make a copy” and republishing another package using it it no longer bundles the old, forked, version.
- Fixed a startup crash on mac/linux
- Assorted automations-window polish.
| Download for Windows (64 bit) | smudgy-v0.3.3.exe |
| Download for MacOS (arm64) | smudgy-v0.3.3.dmg |
This is alpha software
Smudgy v0.3.2
June 28, 2026
- Script packages. smudgy now has a package system. Browse, install, and rate community packages from the cloud, or publish your own. Packages are versioned with locked dependency resolution, install per-server, and can expose configurable settings (params) — including secret values, which are stored in your OS keyring instead of on disk. You can also fork any package into a local, editable copy.
- Packages run sandboxed. An installed third-party package runs in isolation with limited, granted permissions. You can mark a package as trusted to give it full access; your own scripts and trusted packages run unrestricted.
- Less reliant on signing in. Connecting, playing, and local mapping all now work while signed out, and you can install and run public packages anonymously. An account is now only needed to publish, share maps, or use social features.
- Rebuilt scripting. The script engine was rebuilt on a Deno-based runtime with real
jsr:andnpm:imports, workingfetch/TLS, and a companion DevTools inspector (an “Inspect” button on the toolbar). Portions of the API were revised, and should be fairly stable now, including capture templates, handle-based aliases/triggers/hotkeys, managed timers, and persistent vars. - Smaller changes. Open a session in offline mode,
$PASSWORDin your login text now prompts once and is stored in your keyring. Prompt detection over telnet is more reliable. Signing in and creating an account are now one email-based flow, and your nickname alone is your unique handle (the old discriminator is gone).
| Download for Windows (64 bit) | smudgy-v0.3.2.exe |
| Download for MacOS (arm64) | (tbd) |
This is alpha software
Smudgy v0.3.1
June 18, 2026
- Map folders. Group maps into named folders. Create, rename, and delete folders, and move maps between them. Folders you own and folders shared with you are listed separately.
- Maps without an account. Maps can be stored on your disk and used while signed out. They show up in the same list as cloud maps, and signing in adds your cloud maps alongside them instead of replacing them.
- Sharing and ownership transfer. Share a map or folder with someone as an admin (they get every owner power except transferring ownership or adding other admins), or transfer ownership outright via an offer they accept. After a transfer you keep admin rights unless the new owner revokes them.
- Update notifications. You'll get a dismissable popup when a newer release is available, and an “out of date” banner with a download link if your client is too old for current cloud features. Playing and local mapping keep working either way.
- Smaller changes. Active/inactive map choices now sync across your devices. Sessions stay signed in (the client refreshes on launch and about once a day). New Licenses tab in settings for third-party notices. New
–data-dirand–keyring-userlaunch flags to run a second copy against a separate account.
| Download for Windows (64 bit) | smudgy-v0.3.1.exe |
| Download for MacOS (arm64) | (tbd) |
This is alpha software
Smudgy v0.3.0
June 12, 2026
Added
- Passwordless cloud accounts. Sign in with just your email: smudgy mails a one-time code, and pasting it verifies the address and signs you in. Sessions are kept in the OS credential store and renew silently. The mapper now uses your logged-in session rather than a separate API key.
- Map sharing. Share maps with friends with per-recipient permissions (edit, re-share, copy, include secrets), and mark individual rooms, exits, labels, shapes, and properties as secret. Shared maps appear in the area list and sync in the background; revoking access removes the local copy.
- Map copies and merging. Maps can be set active or inactive, so a work-in-progress copy stays editable without interfering with room identification or routing. Maps you own can be duplicated, and rooms can be copied between maps along with their exits and properties.
- Preferences. Configurable terminal font and size, scrollback length, command separator, and a raw-line prefix that sends input verbatim. Logging is now optional, with an additional raw log that records exact server bytes. Changes take effect on running sessions immediately.
- Themes. 27 built-in light and dark color schemes, each with adjustable background, brightness, contrast, and saturation plus per-color overrides. Server colors are mapped into the active theme so they stay legible in any scheme.
- Dragging a selection past the top or bottom of the terminal now auto-scrolls and keeps extending the selection, so selections can span more than one screen.
- Panics are written to smudgy.log with a backtrace before the process exits.
Fixed
- The software renderer (ICED_BACKEND=tiny-skia) is now usable, with fixes for a misplaced minimap, window darkening on hover, the map drawing over adjacent UI, and unstable panning at low frame rates.
- Fixed a crash when opening a session under the software renderer.
- The Windows installer now bundles the VC++ runtime, so smudgy starts on clean Windows 10/11 machines.
- Deleting a room now clears exits that pointed to it across all maps instead of leaving them dangling until the next sync; undo restores them.
| Download for Windows (64 bit) | smudgy-v0.3.0.exe |
| Download for MacOS (arm64) | (tbd) |
This is alpha software
Smudgy v0.2.8
June 10, 2026
Performance
- Trigger and alias matching has been rewritten around a tiered engine. Plain-text patterns are matched in a single Aho-Corasick pass regardless of pattern count; remaining regexes are prefiltered by their required literals and only run against candidate lines. On a 16MB session log with ~6,300 literal “item substitution” triggers, per-line matching cost drops from ~1.2ms to ~0.23µs.
Added
- Minimap widget: scripts can overlay a live map on a session via the JSX <Map /> element. The overlay tracks the current area and player location, and areas crossfade when crossing between them.
- Trackpad navigation: two-finger scroll pans the map, Command/Ctrl + scroll zooms. Mouse-wheel zoom and right-drag panning are unchanged.
- Modal dialogs can be dismissed with Escape.
Changed
- The main window is now borderless. The toolbar acts as the titlebar: minimize/maximize/close buttons sit at the top right, dragging empty toolbar space moves the window, double-clicking it toggles maximize, and the window edges and corners remain resizable. Snapping and minimum window size are still handled by the OS.
- UI restyle: toolbar actions are rendered as menu items rather than buttons, session headers are rendered as tabs with the active session highlighted, and script-created buttons default to a low-emphasis style.
Fixed
- Command execution order is now deterministic and depth-first. Previously, a script calling send() multiple times executed its commands in reverse order, and script-generated commands could preempt commands already queued. Everything a command produces now executes immediately after it, in emission order. Breaking: if a script worked around the old behavior (e.g. by pre-reversing a sequence of send() calls), remove the workaround.
- Terminal scrollback now scrolls in both directions on trackpads; previously it could scroll up but not back down.
- The minimap no longer intercepts mouse clicks meant for widgets beneath it.
| Download for Windows (64 bit) | smudgy-v0.2.8.exe |
| Download for MacOS (arm64) | (tbd) |
This is alpha software
Smudgy v0.2.7
November 19, 2025
- Map areas now cache on load. New sessions only hit the cloud for individual areas when something has changed—this drastically speeds up session load time.
- Mapper stays smooth on sprawling worlds. A new spatial index means we only draw and hit-test the rooms that are inside the viewport, keeping pan/zoom responsive even when your atlas spans thousands of rooms.
- Widgets get buttons. You can now declare a <Button> with width/height plus an onPress, and the provided script will run when the button is clicked.
- Autocomplete gets some dumb smartness. Recent lines are tokenized on non-alphanumeric separators, meaningful punctuation (apostrophes, hyphens, underscores) is preserved, and throwaway suffixes—trailing 's, etc.—are quietly removed unless you type them.
| Download for Windows (64 bit) | smudgy-v0.2.7.exe |
| Download for MacOS (arm64) | smudgy-v0.2.7.dmg |
This is alpha software
Smudgy v0.2.6
July 27, 2025
- added Mapper#listRoomsByTitleDescriptionAndVisibleExits()
- added Mapper#getPathBetweenRooms()
- improved session/connection handling
| Download for Windows (64 bit) | smudgy-v0.2.6.exe |
| Download for MacOS (arm64) | smudgy-v0.2.6.dmg |
This is alpha software
Smudgy 0.2.5
July 20, 2025
| Download for Windows (64 bit) | smudgy-v0.2.5.exe |
| Download for MacOS (arm64) | smudgy-v0.2.5.dmg |
This is alpha software
