Releases: RealRaven2000/SmartTemplates
4.10.1 - Published 28/01/2025
The full change log with screen shots can be found here
Maintenance Release 4.10.1
- Fixed Regression in 4.10: automatic forwarding with FiltaQuilla failed (issue #354)
Enhancements 4.10
- Added features to insert unquoted email and remove styles using
%quotePlaceHolder(nostyles)%
[issue #331] - Improved Capitalization for double-barrelled names (such as Tyler-Smith) [issue #343]
%header.set(from)%
triggers unnecessary warning. [issue #352]- new
%dateformat.received()%
to retrieve date of original mail [issue #353]
Bug Fixes 4.10
- Fixed: Common account settings for account were not stored [issue #340]
- Fixed problems with
messageRaw()
function in Sandboxed script [issue #347] - Fixed:
%header.set(subject,clipboard)%
and%matchTextFromBody(..,toclipboard)%
fail at commas [issue #344] - Fixed:
*selection*
truncates content in text nodes [issue #351]
Sandboxed Script
For deeper programming using inline script, several major improvements were implemented. For information on how to enable scripting and use it please refer to this documentation section.
- Support "composite" ST variables in sandboxed script (e.g.
header.set
) via underscores (header_set
) [issue #349] - Support multiple parameters in sandboxed script (e.g.
%from(name,uppercase)%
) [issue #350] - Simplified using reserved parameter such as
firstname
,lastname
etc. these can be used directly as parameter by prefixing with a "$" character. Previously these had to be wrapped in double quotes.
For example:
let a = await from($name,$mail);
This will return the value that %from(name,mail)%
would generate within the template. Note that all replacement functions are now asynchronous and need to be "awaited" if they are used within the script. Only when the script returns a variable directly without need for evaluation, it can be passed back directly (the promise will be resolved by SmartTemplates). It is highly recommended to read about asynchonous JavaScript brefore attempting to write longer scripts. console.log can be used within the sandboxed script and is highly encouraged!
Miscellaneous
- Compatibility: deal with removal of
MozElements.NotificationBox.shown()
- made SmartTemplates compatible with Thunderbird 135.*
4.10 - Published 24/01/2025
The full change log with screen shots can be found here
Enhancements
- Added features to insert unquoted email and remove styles using
%quotePlaceHolder(nostyles)%
[issue #331] - Improved Capitalization for double-barrelled names (such as Tyler-Smith) [issue #343]
%header.set(from)%
triggers unnecessary warning. [issue #352]- new
%dateformat.received()%
to retrieve date of original mail [issue #353]
Bug Fixes
- Fixed: Common account settings for account were not stored [issue #340]
- Fixed problems with
messageRaw()
function in Sandboxed script [issue #347] - Fixed:
%header.set(subject,clipboard)%
and%matchTextFromBody(..,toclipboard)%
fail at commas [issue #344] - Fixed:
*selection*
truncates content in text nodes [issue #351]
Sandboxed Script
For deeper programming using inline script, several major improvements were implemented. For information on how to enable scripting and use it please refer to this documentation section.
- Support "composite" ST variables in sandboxed script (e.g.
header.set
) via underscores (header_set
) [issue #349] - Support multiple parameters in sandboxed script (e.g.
%from(name,uppercase)%
) [issue #350] - Simplified using reserved parameter such as
firstname
,lastname
etc. these can be used directly as parameter by prefixing with a "$" character. Previously these had to be wrapped in double quotes.
For example:
let a = await from($name,$mail);
This will return the value that %from(name,mail)%
would generate within the template. Note that all replacement functions are now asynchronous and need to be "awaited" if they are used within the script. Only when the script returns a variable directly without need for evaluation, it can be passed back directly (the promise will be resolved by SmartTemplates). It is highly recommended to read about asynchonous JavaScript brefore attempting to write longer scripts. console.log can be used within the sandboxed script and is highly encouraged!
Miscellaneous
- Compatibility: deal with removal of
MozElements.NotificationBox.shown()
- made SmartTemplates compatible with Thunderbird 135.*
4.9 - published 11/11/2024
The full change log with screen shots can be found here
Enhancements
- Added
%tags%
variable to insert tags in Email. This is a SmartTemplates Pro feature. [issue #320]
Full documentation of this feature on the support website - Variables Page: added missing text in explanation of the
%preHeader%
parameter - Examples Page: added link to open Examples Page in browser.
- Fixed spelling in Dutch months and days - these now start with lowercase letters
- Support for multiple address parameters in
%header.set()%
/%header.append()%
[issue #327] - Variables Tab: Text search now includes text contained in tables. Also improved whitespace collapsing. [issue #328]
- Support reading variables without parameters (e.g.
%from%
) within Sandbox script [issue #329]
You can find examples for the new behavior here. - Added optional preferred flavor parameter to
%clipboard()%
: plain, text, unicode, html. [issue #330]
Bug Fixes
- Fixed: SmartTemplates ignored when creating an email from the Thunderbird taskbar context menu [issue #322] - see also issue #272
Miscellaneous
- Make SmartTemplates compatible with new ESM modules (jsm will be removed in the next ESR) [issue #324]
4.8.1 - published 09/09/2024
The full change log with screen shots can be found here
Maintenance Items 4.8.1
- Improved headline for Examples tab and added jump to support side.
- New settings page: Fixed search highlighting and scrolling in variables tab. This also fixes weird scrollbar issues when expanding chapters. [issue #319]
- Variables page now support dark mode.
Enhancements in 4.8
- Improved icon designs for dark themes and clearer texts independent of installed fonts for icons with text. Removed font dependence in icons (converted all texts to path). [issue #310]
- Added function to collapse all chapters in Variables page. [issue #314]
- Implemented the command "configure menu items…" so to open the correct page in the new Settings dialog. [issue #318]
- Implemented display settings for statusbar icon in new settings tab [issue #313]
- Implemented search in Variables page on new settings page. Repeat search now with
F4
andShift
+F4
[issue #315] - Completed Greek translations (provided by chat GPT)
Bug Fixes in 4.8
- Fixed: Template functions don't work when writing a new message in a newsgroup account. [issue #311]
- Fixed: "expand all" inside new settings variables page [issue #312]
Miscellaneous 4.8
- keyboard shortcut handler - Use
keydown
instead of deprecatedkeypress
events.
Resolved Issues
- Thunderbird 128.2 fixed the verification of SmartTemplates licenses bound to an exchange account when it is accessed using Owl. See also [issue #303] and bug 1909005
4.8 - published 03/09/2024
The full change log with screen shots can be found here
Enhancements
- Improved icon designs for dark themes and clearer texts independent of installed fonts for icons with text. Removed font dependence in icons (converted all texts to path). [issue #310]
- Added function to collapse all chapters in Variables page. [issue #314]
- Implemented the command "configure menu items…" so to open the correct page in the new Settings dialog. [issue #318]
- Implemented display settings for statusbar icon in new settings tab [issue #313]
- Implemented search in Variables page on new settings page. Repeat search now with
F4
andShift
+F4
[issue #315] - Completed Greek translations (provided by chat GPT)
Bug Fixes
- Fixed: Template functions don't work when writing a new message in a newsgroup account. [issue #311]
- Fixed: "expand all" inside new settings variables page [issue #312]
Miscellaneous
- keyboard shortcut handler - Use
keydown
instead of deprecatedkeypress
events.
Known Issues
- Currently the verification of SmartTemplates licenses fails when the license is bound to an exchange account when it is accessed using Owl. This is due to a bug in the extensions.accounts Webextensions API - which doesn't include them when using accounts.list() - which the Thunderbird team is working on and is planned to land in one of the next versions of ESR128. [issue #303]
4.7 - published 05/08/2024
The full change log with screen shots can be found here
Enhancements
- Added Refresh button for accounts dropdown. [issue #307]
- Improved Chinese translations for term "account" - thanks to Y.D.X. [issue #302]
Bug Fixes
- New Settings dialog: In Account Templates one could not create Account settings for any new identity. The API used to write legacy settings to the global configuration database wasn't able to create any entries without default, which affects any Identities created by the user, including the default identity of a new mail account. This problem is now patched and back to work as expected. [issue #300]
- Fixed: Clicking on Hide Button Label in header area button menu didn't work as expected. [issue #304]
- in Tb128 - popup for restricted features: notification leads to exception + icon not displayed. [issue #308]
Miscellaneous
- Removed vendor prefix from
-moz-appearance
- Reply with template from tab displays "cmd_reply not available in this context". [issue #309]
Known Issues
- Owl accounts can currently not be license validated in Tb128. We are currently await a fix by Thunderbird core.
4.6.1 - published 16/07/2024
The full change log with screen shots can be found here
Enhancements (4.6)
- SmartTemplates is now compatible with Thunderbird 128.
- The settings screen was converted to HTML which is now displayed in its own Thunderbird tab. [issue #259]
- The variables
%header.delete()%
and%header.deleteFromSubject()%
now support multiple parameters. [issue #293] - The license module now performs faster (using the API function to iterate the mail accounts, all folders are no longer processed).
Bug Fixes (4.6)
- Fixed file open dialog which was broken in Thunderbird 125. [issue #295]
Maintenance Version 4.6.1
- Snippets - Configure menu items - now opens the "template files" page in the new settings dialog [issue #297]
- File Templates - Clicking
Add
when no file is opened should display a instructions (not "undefined"). [issue #298] - Larger fonts and minor layout improvements in settings dialog. [issue #299]
4.6 - published 14/07/2024
The full change log with screen shots can be found here
Enhancements
- SmartTemplates is now compatible with Thunderbird 128.
- The settings screen was converted to HTML which is now displayed in its own Thunderbird tab. [issue #259]
- The variables
%header.delete()%
and%header.deleteFromSubject()%
now support multiple parameters. [issue #293] - The license module now performs faster (using the API function to iterate the mail accounts, all folders are no longer processed).
Bug Fixes
- Fixed file open dialog which was broken in Thunderbird 125. [issue #295]
4.5 - Published 14/05/2024
The full change log with screen shots can be found here
Enhancements
- You can now use percent "%" sign within a text parameter, e.g.
%header.set(subject,"save 25%")%
[issue #287] - Added a button for editing external templates. You can set up any external editor, preferrably it would be a HTML editor with Syntax highlighting. [issue #282]
- Added text transformation parameters for search functions: Use the parameters
capitalize
/uppercase
/lowercase
/camelcase
after the group parameter. This can also be compared with thetoclipboard
parameter. [issue #288]
Examples:
%matchTextFromSubject("Customer.*\\n\\-+\\n(.*)\\n",1,uppercase)%
%matchTextFromBody("Customer.*\\n\\-+\\n(.*)\\n",1,lowercase)%
%header.prefix.matchFromBody(subject,"Customer.*\\n\\-+\\n(.*)\\n",1,capitalize)%
%matchTextFromBody("Customer.*\\n\\-+\\n(.*)\\n",1,capitalize,toclipboard)%
-
The following keywords are supported
capitalize
Capitalizes the first letter of each word. Useful for Names.camelcase
Converts the first character of the entire string lowercase.lowercase
Transforms the entire match to lower case.uppercase
Transforms the entire match to upper case.
-
Support
selection
as parameter for replaceText - so we can transform selected (formatted) text from smart fragments. [issue #289] Syntax:%replaceText("find","replace",selection)%
For example, the following can be used as a smart fragment script to generate a nicer menu path from a string like "Menu >> submenu >> command" into "Menu » submenu » command". Note that we can use HTML markup, like in any smart fragment.<i>%replaceText(">>","»",selection)%</i>;
Bug Fixes
-
The settings dialog was missing important toolbar buttons (beside account selector) when opened from Add-ons manager. [issue #291]
-
Fixed: Opening SmartTemplates settings in "Common" can show a disabled / missing UI underneath. Only after selecting another entry from accounts the templates area became visible. [issue #290]
-
All spaces after/before text in %header.set(subject," text ")% were removed. From now on, preserve all spaces in any text argument. [issue #292]
4.4.3 Published 15th of April 2024
Maintenance fixes 4.4.3
- Fixed a problem with the last used template being moved to the bottom of message actions popup menus.
- Improvement: MRU menu items will update with changed titles from template setup (if the file is found in the template menu configuration)
- Improvement: When sending email with unresolved from / recipient / to variables, these are now replaced automatically in a reliable fashion. (Previously there was a chance of them being sent unchanged.) [issue #284]
- Fixed opening the full version history tab from [What's New] which was broken in 4.0.
- Removed license notification alert when saving / loading templates.
Enhancements
- Pro feature: Added
%preheader()%
variable for injecting preview text for mobile email clients. #274 - The following functions will from now support using commas within the text parameters:
%deleteText()%
%replaceText()%
%matchTextFromBody()%
%matchTextFromSubject()%
%deleteQuotedText()%
%replaceQuotedText()%
%file()%
%toclipboard()%
%conditionalText()%
%header.set()%
%header.prefix()%
%header.append()%
%header.delete()%
All commas need to be escaped with a preceding backslash, for example:%toclipboard("All your needs\, fulfilled.")%
#280 - The address data for
%to%
,%recipient%
and%from%
will now automatically be inserted when writing a new email via the context menu 'Compose Message To'. #275 - Force lowercase emails when looking up Cardbook contacts. Before, the lookup of contacts could fail when replying to an email with mixed case address, such as
[email protected]
. #278 - Support for extracting prefix and suffix from address book fields. #267
- Support for other.custom1, other.custom2 etc. from address book fields. #246
- Removed duplicate tooltip on active SmartTemplate fields.
- Rewrote message action menus using extension APIs #253
(There is a known issue at the moment that the "Latest template" option will be shown at the bottom of the menu instead of the top, might be a bug in the API with menus.update unintendedly moving menu items)
Bug Fixes
- Using
%recipient%
also works as expected when replying to own emails in a conversation and Thunderbird automatically changes the recipients. #239 - 4.4.1 - Fixed regression #283 caused by #253
Miscellaneous
- Removed duplicate tooltip on active SmartTemplate fields.
- Removed FileUtils.getFile for future compatibility (122 beta)
- Added documentation for
%dateformat(fstring,toclipboard)%
to the variables page in settings. - Opening support sites in a tab is now using API methods (requires tabs permission)
- 4.4.2 created a fresh release to extend sales to April 20th.