Espanso

ProductivityDesktop

A cross-platform text expander.

Latest v2.4.0 · · Desktopby EspansoWebsiteespanso/espanso

Release activity

Release activity — 6 releases across 6 days in the last year. Each cell is one day; darker means more releases that day. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 19, 2026No releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on Apr 20, 2026No releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
TuesdayNo releases on Apr 21, 2026No releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 20261 release on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026
WednesdayNo releases on Apr 22, 2026No releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 23, 2026No releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on Apr 24, 2026No releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Apr 25, 2026No releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026

6 releases in the last year

Changelog

v2.4.0

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)
View originalPermalink
How v2.4.0 went

v2.3.0

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:
        - 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: <number> 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
New Contributors :tada:

For full details, see all changes from v2.2.7 to v2.3.0.

View originalPermalink
How v2.3.0 went
v2.2.8Pre-release

v2.2.8-beta-for-macOS

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

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

View originalPermalink
How v2.2.8 went

v2.2.7

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
New Contributors

Full Changelog: https://github.com/espanso/espanso/compare/v2.2.5...v2.2.7

View originalPermalink
How v2.2.7 went

v2.2.6

Pre-release

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
New Contributors

Full Changelog: https://github.com/espanso/espanso/compare/v2.2.5...v2.2.6

View originalPermalink
How v2.2.6 went

v2.2.5

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:

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

Full Changelog: https://github.com/espanso/espanso/compare/v2.2.4...v2.2.5

View originalPermalink
How v2.2.5 went

v2.2.4

Pre-release

Automatically released by CI

View originalPermalink
How v2.2.4 went

v2.2.3

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
New Contributors

Full Changelog: https://github.com/espanso/espanso/compare/v2.2.1...v2.2.3

View originalPermalink
How v2.2.3 went

v2.2.1

Fix bug that prevented Windows version from starting on Windows

View originalPermalink
How v2.2.1 went

v2.2.0

Pre-release

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

View originalPermalink
How v2.2.0 went
View all

Discussion