# Espanso changelog > A cross-platform text expander. - Vendor: Espanso - Category: Productivity - Platforms: Desktop - Official site: https://espanso.org - Tracked by: What's New (https://whatsnew.fyi/product/espanso) - Harvested from: GitHub (espanso/espanso) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### v2.4.0 - Date: 2026-07-21 - Version: v2.4.0 - Original notes: https://github.com/espanso/espanso/releases/tag/v2.4.0 - Permalink: https://whatsnew.fyi/product/espanso/releases/v2.4.0 - Labels: Platforms: Desktop - **added** — Added opt-in usage statistics tracking - **added** — Added WaylandAppInfoProvider for wlroots-based compositors (sway, Hyprland, labwc, wayfire, etc.) - **added** — Added trim option to the script extension schema - **added** — Added support for dynamic offset variables in the date extension - **added** — Re-added Snap package support - **added** — Added fish shell as a shell choice - **added** — Added a configurable separator for form list selections, with multi-line selection support - **fixed** — Fixed inability to install on Fedora Wayland - **fixed** — Fixed macOS search bar consuming Enter during IME composition - **fixed** — Fixed a memory leak in the macOS app info provider - **fixed** — Made the search window resizable on Windows and Linux - **fixed** — Fixed the x11 Nix build - **fixed** — Fixed default config file generation to check both .yml and .yaml extensions - **fixed** — Fixed exit code to be 0 after --version - **fixed** — Fixed mdserve failing due to a GitHub icon issue - **fixed** — Added Code - Insiders.exe to the VSCode Windows patch list - **fixed** — Added a non-breaking space (\u00A0) to the list of word separators - **security** — Bumped time from 0.3.15 to 0.3.44 and disabled the time feature in the zip dependency to resolve CVEs - **security** — Bumped openssl from 0.10.72 to 0.10.80 - **security** — Bumped rand from 0.8.3 to 0.8.6 Highlights: This release focuses on Linux/Wayland compatibility, macOS stability fixes, and a security cleanup of several dependencies, alongside smaller feature additions like usage statistics tracking and script trim options. ✨ New Features - Added opt-in usage statistics tracking (#2568) - Added WaylandAppInfoProvider for wlroots-based compositors (sway, Hyprland, labwc, wayfire, etc.) (#2731) - Added trim option to the script extension schema (#2552) - Added support for dynamic offset variables in the date extension (#2531) - Re-added Snap package support (#2434) - Added fish shell as a shell choice (#2644) - Added a configurable separator for form list selections, with multi-line selection support (#2595) 🐛 Fixes - Fixed inability to install on Fedora Wayland (#2699, resolves #2361) - Fixed macOS search bar consuming Enter during IME composition (#2690) - Fixed a memory leak in the macOS app info provider (#2632) - Made the search window resizable on Windows and Linux (#2593/#2602) - Fixed the x11 Nix build (#2564) - Fixed default config file generation to check both .yml and .yaml extensions (#2558) - Fixed exit code to be 0 after --version (#2567) - Fixed mdserve failing due to a GitHub icon issue (#2739) - Added Code - Insiders.exe to the VSCode Windows patch list (#2638) - Added a non-breaking space (\u00A0) to the list of word separators (#2433) 🔒 Security - Bumped time from 0.3.15 → 0.3.44 and disabled the time feature in the zip dependency to resolve CVEs (#2694) - Bumped openssl from 0.10.72 → 0.10.80 (#2692) - Bumped rand from 0.8.3 → 0.8.6 (#2693) 🛠 Improvements - Replaced deprecated serde_yaml with serde_norway (#2532) - Distributed macOS builds as DMG instead of ZIP (#2706) - Added description metadata to the Linux desktop file (#2680) - Updated Nixpkgs and fixed Nix evaluation warnings (#2717) - Various Clippy lint fixes and CI stability improvements 📚 Documentation - Polished README content and added a theme-aware logo (#2602) - Improved build notes around Windows and WSL (#2590) - Restored the espansion demo in the welcome screen (#2574) ### v2.3.0 - Date: 2025-10-11 - Version: v2.3.0 - Original notes: https://github.com/espanso/espanso/releases/tag/v2.3.0 - Permalink: https://whatsnew.fyi/product/espanso/releases/v2.3.0 - Labels: Platforms: Desktop Automatically released by CI #### espanso v2.3.0 ##### ✨ New Features - **Timezone Selection in `{date}` Extension** - You can now generate dates and times in any timezone using the new `tz` parameter. For example: ```yaml - trigger: ":today" replace: "{{mytime}}" vars: - name: mytime type: date params: format: "%H:%M" locale: en-AG tz: America/Los_Angeles ``` - Choose from the database of IANA timezones such as `"UTC"`, `"Europe/Paris"`, `"Asia/Tokyo"`, etc. - **Configurable Regex Buffer Size** - Advanced users can now adjust the maximum number of characters stored for regex-based triggers. The default (previously not editable) is 50. We recommend to set a reasonable low number. - Add `max_regex_buffer_size: ` to your `default.yml` - **Empty Triggers are Safely Ignored** - will automatically filter out empty triggers in YAML match files and log a warning, preventing accidental errors and confusion. - **Support for Both `.yml` and `.yaml` Config Files** - now recognizes configuration files with either extension. For compatibility purposes, `.yml` is still the preferred value if the user has a file with both extensions. - We would like to switch to prefer `yaml` in the future ##### 🛠️ Improvements - **Markdown Rendering Overhaul** - switched to the `pulldown-cmark` engine for markdown conversion, providing faster, more reliable rendering of your markdown snippets. - **Better Search Results Display** - Search popups now correctly escape HTML characters in labels and triggers, preventing visual glitches and accidental HTML interpretation. - **More Flexible Config Includes** - The configuration engine can now aggregate both `.yml` and `.yaml` match files, reducing troubleshooting and making structure more flexible. - **Enhanced CLI Help and Error Handling** - Improved command-line help: if no subcommand is given, espanso now gracefully prints help instructions. - Version and help flags work more consistently across platforms. ##### 🐛 Bug Fixes - Search results now handle HTML special characters correctly. - Enter key (including numpad) works as expected in search. - Date extension now gracefully handles invalid formats and unsupported timezones. - Improved error messages for missing default configuration. ##### 🔄 Dependencies & CI - Added timezone and markdown libraries. - Removed deprecated dependencies and scripts. - CI workflow improvements. --- #### Detailed commits: ##### What's Changed * :fire: remove `homebrew-espanso` tap by @AucaCoyan in https://github.com/espanso/espanso/pull/2487 * Update flake by @github-actions[bot] in https://github.com/espanso/espanso/pull/2489 * :sparkles: add rust-toolchain step by @AucaCoyan in https://github.com/espanso/espanso/pull/2490 * :bug: fix ci yaml by @AucaCoyan in https://github.com/espanso/espanso/pull/2492 * :bug: fix ci again by @AucaCoyan in https://github.com/espanso/espanso/pull/2495 * Update flake by @github-actions[bot] in https://github.com/espanso/espanso/pull/2503 * Fix subcommand help displaying main help instead of specific help (#2483) by @gcailly in https://github.com/espanso/espanso/pull/2500 * Fix json label replace (#1702) by @gcailly in https://github.com/espanso/espanso/pull/2501 * Fix empty triggers causing expansion on every word separator (#1616) by @gcailly in https://github.com/espanso/espanso/pull/2508 * Fix numpad Enter not confirming choices in search menu (#1618) by @gcailly in https://github.com/espanso/espanso/pull/2507 * Restore launching from app bundle on macos by @n8henrie in https://github.com/espanso/espanso/pull/2505 * Fix utf8 bom parsing (#2510) by @gcailly in https://github.com/espanso/espanso/pull/2512 * Fix "kdotool missing or not available" on macOS (#2509) by @gcailly in https://github.com/espanso/espanso/pull/251 _[Truncated at 4000 characters — full notes: https://github.com/espanso/espanso/releases/tag/v2.3.0]_ ### v2.2.8 — v2.2.8-beta-for-macOS - Date: 2025-10-06 - Version: v2.2.8 - Original notes: https://github.com/espanso/espanso/releases/tag/v2.2.8 - Permalink: https://whatsnew.fyi/product/espanso/releases/v2.2.8 - Labels: Pre-release; Platforms: Desktop Hey! recently a bunch of PRs got merged, but the one I'm really interested to try on is #2505 . A very special thanks to @n8henrie and @gcailly who did all the work! I'm here just writing LGTM and pressing buttons 🤣 Anyway, I did a tiny change (put 2.2.8 in the version) for you to be simpler to identify which version is newer. If this release does success, I'll do 2.3.0, and do a full release for all the platforms. [Espanso-Mac-Universal.zip](https://github.com/user-attachments/files/22713013/Espanso-Mac-Universal.zip) Have fun testing! You can probably use it on a productive machine if it works. It is compiled in release mode so you won't get any surprises If you have comments or doubts, please follow up on the issue #2444 ### v2.2.7 - Date: 2025-09-22 - Version: v2.2.7 - Original notes: https://github.com/espanso/espanso/releases/tag/v2.2.7 - Permalink: https://whatsnew.fyi/product/espanso/releases/v2.2.7 - Labels: Platforms: Desktop Automatically released by CI, manually edited by @AucaCoyan Hey! I did a quick series of fixes so we have a working app. Special thanks to our first contributor @alumik that fixed the issue very quickly 🚀 ##### What's Changed * Add SignPath to sponsors by @AucaCoyan in https://github.com/espanso/espanso/pull/2465 * Update flake by @github-actions[bot] in https://github.com/espanso/espanso/pull/2461 * Fix macos build tasks by @AucaCoyan in https://github.com/espanso/espanso/pull/2466 * Change panic to warning for console attachment error (fix #2464) by @alumik in https://github.com/espanso/espanso/pull/2468 * :adhesive_bandage: comment out failing step in the CI by @AucaCoyan in https://github.com/espanso/espanso/pull/2469 * Update flake by @github-actions[bot] in https://github.com/espanso/espanso/pull/2467 * :bug: fix failing Windows CI due to missing iscc by @AucaCoyan in https://github.com/espanso/espanso/pull/2472 * :bookmark: release v2.2.6 by @AucaCoyan in https://github.com/espanso/espanso/pull/2473 * :bug: add the install inno setup in create-release ci by @AucaCoyan in https://github.com/espanso/espanso/pull/2476 * :bookmark: release v2.2.7 by @AucaCoyan in https://github.com/espanso/espanso/pull/2478 ##### New Contributors * @alumik made their first contribution in https://github.com/espanso/espanso/pull/2468 **Full Changelog**: https://github.com/espanso/espanso/compare/v2.2.5...v2.2.7 ### v2.2.6 - Date: 2025-09-21 - Version: v2.2.6 - Original notes: https://github.com/espanso/espanso/releases/tag/v2.2.6 - Permalink: https://whatsnew.fyi/product/espanso/releases/v2.2.6 - Labels: Pre-release; Platforms: Desktop Nope. Windows CI failed because I forgot a step in the `.github/workflows/create-release-draft.yml` CI. I'm doing another release Automatically released by CI ##### What's Changed * Add SignPath to sponsors by @AucaCoyan in https://github.com/espanso/espanso/pull/2465 * Update flake by @github-actions[bot] in https://github.com/espanso/espanso/pull/2461 * Fix macos build tasks by @AucaCoyan in https://github.com/espanso/espanso/pull/2466 * Change panic to warning for console attachment error (fix #2464) by @alumik in https://github.com/espanso/espanso/pull/2468 * :adhesive_bandage: comment out failing step in the CI by @AucaCoyan in https://github.com/espanso/espanso/pull/2469 * Update flake by @github-actions[bot] in https://github.com/espanso/espanso/pull/2467 * :bug: fix failing Windows CI due to missing iscc by @AucaCoyan in https://github.com/espanso/espanso/pull/2472 * :bookmark: release v2.2.6 by @AucaCoyan in https://github.com/espanso/espanso/pull/2473 ##### New Contributors * @alumik made their first contribution in https://github.com/espanso/espanso/pull/2468 **Full Changelog**: https://github.com/espanso/espanso/compare/v2.2.5...v2.2.6 ### v2.2.5 - Date: 2025-09-14 - Version: v2.2.5 - Original notes: https://github.com/espanso/espanso/releases/tag/v2.2.5 - Permalink: https://whatsnew.fyi/product/espanso/releases/v2.2.5 - Labels: Platforms: Desktop Automatically released by CI, manually edited by @AucaCoyan ###### update 2025-09-18 The macOS binary has been re-uploaded signed. I need to do yet another release to fix #2464 (and possibly more issues) --- Hey everyone! Here is a fresh new release of espanso. It took us a long time to figure out the correct release pipeline, but I hope from now we will be able to do more timely releases, as the CI works fine 😄 . One note though, I had to change the CI, so now it looks like this: ```bash espanso 2.2.5 Federico Terzi and the espanso contributors A Privacy-first, Cross-platform Text Expander USAGE: espanso [OPTIONS] [SUBCOMMAND] OPTIONS: -h, --help Print help information -v Sets the level of verbosity -V, --version Print version information SUBCOMMANDS: cmd Send a command to the espanso daemon. edit Shortcut to open the default text editor to edit config files env-path Add or remove the 'espanso' command from the PATH help Print this message or the help of the given subcommand(s) log Print the daemon logs. match List and execute matches from the CLI package package-management commands path Prints all the espanso directory paths to easily locate configuration and matches. service A collection of commands to manage the Espanso service (for example, enabling auto-start on system boot). workaround A collection of workarounds to solve some common problems. ``` Note that `status`, `start`, `restart`, `stop` and the others are missing, *but they work as internal aliases*. Everything that worked before, should work correctly in this release. In a future release I'm going to restore the original commands, (status, restart, etc), but for internal changes they had to be removed for this release. Have fun expanding! ##### Here is what's Changed * :hammer: remove the symlink before creating a new one by @AucaCoyan in https://github.com/espanso/espanso/pull/2389 * Update flake by @github-actions[bot] in https://github.com/espanso/espanso/pull/2391 * :adhesive_bandage: ignore some binaries and edit `ci` workflow by @AucaCoyan in https://github.com/espanso/espanso/pull/2390 * :construction_worker: update the names of the artifacts by @AucaCoyan in https://github.com/espanso/espanso/pull/2396 * Fix windows installer location zip by @AucaCoyan in https://github.com/espanso/espanso/pull/2397 * :sparkles: add ci for arm linux and arm windows 11 by @AucaCoyan in https://github.com/espanso/espanso/pull/2398 * :bug: fix missing rust in windows arm runner by @AucaCoyan in https://github.com/espanso/espanso/pull/2399 * Update flake by @github-actions[bot] in https://github.com/espanso/espanso/pull/2404 * Post installation script for setting capabilities by @AucaCoyan in https://github.com/espanso/espanso/pull/2405 * :arrow_up: Upgrade `chrono` by @AucaCoyan in https://github.com/espanso/espanso/pull/2407 * :arrow_up: upgrade `cc` to 1.2.30 by @AucaCoyan in https://github.com/espanso/espanso/pull/2408 * :green_heart: move nix build to a different workflow by @AucaCoyan in https://github.com/espanso/espanso/pull/2411 * Clippy lints by @AucaCoyan in https://github.com/espanso/espanso/pull/2410 * :arrow_up: upgrade winrt and notify-rs by @AucaCoyan in https://github.com/espanso/espanso/pull/2412 * :bug: tiny fix in the gitmoji by @AucaCoyan in https://github.com/espanso/espanso/pull/2418 * Update flake by @github-actions[bot] in https://github.com/espanso/espanso/pull/2419 * :memo: add badge of DeepWiki by @AucaCoyan in https://github.com/espanso/espanso/pull/2416 * Json schemas by @AucaCoyan in https://github.com/espanso/espanso/pull/2415 * Fix compilation on debug mode by @AucaCoyan in https://github.com/espanso/espanso/pull/2420 * :fire: remove the `dummy` extension by @AucaCoy _[Truncated at 4000 characters — full notes: https://github.com/espanso/espanso/releases/tag/v2.2.5]_ ### v2.2.4 - Date: 2025-07-16 - Version: v2.2.4 - Original notes: https://github.com/espanso/espanso/releases/tag/v2.2.4 - Permalink: https://whatsnew.fyi/product/espanso/releases/v2.2.4 - Labels: Pre-release; Platforms: Desktop Automatically released by CI ### v2.2.3 - Date: 2025-04-01 - Version: v2.2.3 - Original notes: https://github.com/espanso/espanso/releases/tag/v2.2.3 - Permalink: https://whatsnew.fyi/product/espanso/releases/v2.2.3 - Labels: Platforms: Desktop Second edition: I updated the mismatched sha256 for windows 😊 Automatically released by CI and manually updated by @AucaCoyan Hey! long time no see huh? I could sign a macOS silicon (M-arch) package and i went a step further and created a `.dmg` image. Windows is not signed, because we weren't able to make it. Apologies for the inconvenience. macOS Intel is missing, I know, I'm figuring out how to sign it with my M-arch mac so you can have it signed 👌🏼 . Have fun and report any issues! ##### What's Changed * :rotating_light: fix: clippy warnings by @federico-terzi in https://github.com/espanso/espanso/pull/1809 * :sparkles: feat(clipboard): add representation for type NSHTMLPboardType in NSPasteboard by @mmetesreau in https://github.com/espanso/espanso/pull/1807 * :arrow_up: Upgrade `enum-as-inner` across crates by @AucaCoyan in https://github.com/espanso/espanso/pull/1796 * :sparkles: feat(render): add support for pwsh by @phorcys420 in https://github.com/espanso/espanso/pull/1824 * :memo: Update SECURITY.md by @smeech in https://github.com/espanso/espanso/pull/1836 * :green_heart: update `Swatinem/rust-cache@v1` for `v2` by @AucaCoyan in https://github.com/espanso/espanso/pull/1830 * :arrow_up: upgrade `fs_extra` and `html2text` by @AucaCoyan in https://github.com/espanso/espanso/pull/1831 * :arrow_up: Upgrade `cargo-make` to version `0.37.5` by @AucaCoyan in https://github.com/espanso/espanso/pull/1797 * :arrow_up: chore(deps): bump h2 from 0.3.18 to 0.3.24 by @dependabot in https://github.com/espanso/espanso/pull/1815 * :memo: Add contributing doc and upgrade `workspace.resolver` to v2 by @AucaCoyan in https://github.com/espanso/espanso/pull/1829 * :building_construction: fix cargo-make release builds by @AucaCoyan in https://github.com/espanso/espanso/pull/1846 * :arrow_up: chore(deps): bump tokio from 1.19.2 to 1.28.2 by @dependabot in https://github.com/espanso/espanso/pull/1844 * :rotating_light: fix clippy in `dev` branch by @AucaCoyan in https://github.com/espanso/espanso/pull/1852 * :arrow_up: chore(deps): bump bzip2 from 0.4.3 to 0.4.4 by @dependabot in https://github.com/espanso/espanso/pull/1501 * :fire: remove unused crates by @AucaCoyan in https://github.com/espanso/espanso/pull/1856 * :bug: fix `=` issue in build_windows_resources by @AucaCoyan in https://github.com/espanso/espanso/pull/1877 * Add option to open config folder to context menu by @BNolet in https://github.com/espanso/espanso/pull/1870 * ✨ Combine `Compilation` with `CONTRIBUTING` and extend the details by @AucaCoyan in https://github.com/espanso/espanso/pull/1864 * Revert mistake at "Combine `Compilation` with `CONTRIBUTING` and extend the details" by @AucaCoyan in https://github.com/espanso/espanso/pull/1883 * ✨ Use new sctk api by @morgan-dgk in https://github.com/espanso/espanso/pull/1901 * :rotating_light: fix clippy by @AucaCoyan in https://github.com/espanso/espanso/pull/1921 * :green_heart: change Dockerfile by @AucaCoyan in https://github.com/espanso/espanso/pull/1923 * :bug: Fix build with wx-config-qt by @astehlik in https://github.com/espanso/espanso/pull/1918 * :arrow_up: chore(deps): bump h2 from 0.3.24 to 0.3.26 by @dependabot in https://github.com/espanso/espanso/pull/1930 * :memo: change feature request template by @AucaCoyan in https://github.com/espanso/espanso/pull/1936 * :memo: chore: add github issue form bug and feat templates by @tobiasbueschel in https://github.com/espanso/espanso/pull/1042 * :bug: Add return value to fix runtime crash on nix + aarch64-darwin by @n8henrie in https://github.com/espanso/espanso/pull/1946 * :sparkles: add schemas by @AucaCoyan in https://github.com/espanso/espanso/pull/1917 * :arrow_up: upgrade `upload-artifact` to `v4` by @AucaCoyan in https://github.com/espanso/espanso/pull/1951 * :bug: fix links in yaml schemas by @AucaCoyan in https://github.com/espanso/espanso/pull/1952 * :sparkles: add `nushell` support by @AucaCoyan in https://gi _[Truncated at 4000 characters — full notes: https://github.com/espanso/espanso/releases/tag/v2.2.3]_ ### v2.2.1 - Date: 2023-12-17 - Version: v2.2.1 - Original notes: https://github.com/espanso/espanso/releases/tag/v2.2.1 - Permalink: https://whatsnew.fyi/product/espanso/releases/v2.2.1 - Labels: Platforms: Desktop Fix bug that prevented Windows version from starting on Windows ### v2.2.0 - Date: 2023-12-17 - Version: v2.2.0 - Original notes: https://github.com/espanso/espanso/releases/tag/v2.2.0 - Permalink: https://whatsnew.fyi/product/espanso/releases/v2.2.0 - Labels: Pre-release; Platforms: Desktop Hi folks! After more than a year from the last release, today we are releasing Espanso 2.2.0, with many long-awaited fixes 🚀 This release is special, as it marks a new beginning for the project. For the first time, the majority of the fixes are community-driven! Many thanks to all the people who made this possible, including @AucaCoyan, @smeech, @morgan-dgk, @rcalixte and many more! ##### Changes * fix(core): update package dependencies for Debian 12+ and Ubuntu 22.10 by @rcalixte (fix #1674 , #1662 ) * fix(detect): update sctk dependency to fix crash (https://github.com/espanso/espanso/pull/1769) by @morgan-dgk (fix #1750 and #1768 ) * Add label to espanso cli on match (#1720 ) by @kud * Various documentation improvements For all changes, see: https://github.com/espanso/espanso/pull/1789