New
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
tzparameter. 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.
- You can now generate dates and times in any timezone using the new
-
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 yourdefault.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
.ymland.yamlConfig Files- now recognizes configuration files with either extension. For compatibility purposes,
.ymlis still the preferred value if the user has a file with both extensions. - We would like to switch to prefer
yamlin the future
- now recognizes configuration files with either extension. For compatibility purposes,
🛠️ Improvements
-
Markdown Rendering Overhaul
- switched to the
pulldown-cmarkengine for markdown conversion, providing faster, more reliable rendering of your markdown snippets.
- switched to the
-
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
.ymland.yamlmatch files, reducing troubleshooting and making structure more flexible.
- The configuration engine can now aggregate both
-
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-espansotap 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/2514
- Prefer the GHA-provided rust tooling by @n8henrie in https://github.com/espanso/espanso/pull/2521
- Add support for .yaml extension for config and match files (#2184) by @gcailly in https://github.com/espanso/espanso/pull/2519
- :rewind: revert default back to
ymlextension by @AucaCoyan in https://github.com/espanso/espanso/pull/2523 - feat: Add max_regex_buffer_size config option by @aldair-meneses in https://github.com/espanso/espanso/pull/2504
- :art: update biomejs formatting and format the code by @AucaCoyan in https://github.com/espanso/espanso/pull/2524
- Fix date extension crash on invalid format (#993) by @gcailly in https://github.com/espanso/espanso/pull/2516
- Replace markdown library to fix nested lists rendering (#2217) by @gcailly in https://github.com/espanso/espanso/pull/2515
- Add timezone support to date extension (#2225) by @gcailly in https://github.com/espanso/espanso/pull/2526
- :memo: update developer docs by @AucaCoyan in https://github.com/espanso/espanso/pull/2527
- :bookmark: release v2.3.0 by @AucaCoyan in https://github.com/espanso/espanso/pull/2528
New Contributors :tada:
- @gcailly made their first contribution in https://github.com/espanso/espanso/pull/2500
- @aldair-meneses made their first contribution in https://github.com/espanso/espanso/pull/2504
For full details, see all changes from v2.2.7 to v2.3.0.