SmartTemplates Version History
99 versions
Be careful with old versions!
These versions are displayed for reference and testing purposes. You should always use the latest version of an add-on.
Version 2.9
Full change log with screen shots can be found here
Improvements
Bug Fixes
Improvements
- [issue 45] Support for using
%file()%
with relative paths and nesting%file()%
variables within a template. Also supports this for including more html parts and images in subfolders relative to the template. - [issue 48] Support [[optional double brackets]] syntax for all extended address book fields. This will make it possible to show more information from the Addressbook without causing half-empty lines:
<h3>Sender Info</h3>
Sender: %from%
[[Mail: %from(mail)% <br>]]
[[First Name: %from(firstname)% <br>]]
[[Name: %from(name)% <br>]]
[[Additional mail: %from(additionalmail)% <br>]]
[[Work City: %from(work.city)%<br>]]
[[Web Page: %from(work.webpage)%<br>]] - Remember the last path separately for opening templates from the menu directly.
Bug Fixes
- Fixed: [issue 42] The
(lastname)
switch uses first name from address book if only a single name is matched from the received address. This affects any address book switch of the format%from(lastname)%
, provided there is only a single name in the transmitted email address, e.g. john@mail.com. - Fixed: [issue 41] No file template menus in single message window
Single message windows (not tabs) did not support replying / writing mails using the external HTML template files. - Fixed: [issue 43]
%file(template)%
doesn't work on Mac for paths that start with "/user". Unfortunately, it is still not supported to use relative<img>
paths in a html file, but when using%file(img)%
using a path relative to the location of the template should be possible now when used from within an external HTML template file.
Ideally we will need this to support<img>
paths as well. - Fix: Remove double quote from alt attribute in %file(image,alttext)%
- Fixed: Do not run cleanupDeferredFields() on quoted elements. This leads to problems with
%file()%
variables in replied emails (both correspondents have to use SmartTemplate⁴ for this problem to occur. - Fixed: [issue 46] In Thunderbird 60, mixed Stationery / SmartTemplate, external html file items added by SmartTemplate⁴ do not work.
- Fixed: [issue 49] CSS pattern
%;-ms-text-size-adjust:100%;
is falsely recognized as header variable.
- Source code released under Custom License
Version 2.8
Full change log with screen shots can be found here
Improvements
Bug Fixes
Improvements
- [issue 31] New premium variables to remove text / tags from quoted parts.
%deleteQuotedText("searchText",quoteLevel)%
Deletes quoted Text%replaceQuotedText("searchText","replacementHTML",quoteLevel)%
Replaces quoted textsearchText - must be in double quotes - the searchText argument must be a regular expression. Note that whitespace can be best represented as \s because it can also contain line breaks. Commas and double quote characters cannot be used.replacementHTML - must be in double quotes - text or a html tag which will be inserted in page.quoteLevel - optional, (number) which minimal quote level to start from.%deleteQuotedTags("selector",quoteLevel,minSize)%
Deletes tags from the quote%replaceQuotedTags("selector","replacementHTML",quoteLevel,minSize)%
Deletes tags from the quoteselector - what you would use to address the tag in css. simplest case "img", or "p" but attribute selectors can be added as long as double quotes can be avoided.quoteLevel - A note on quoteLevel, for images I would recommend 2 if you want to remove images to retain some context in your replies. This will dramatically decrease email sizes in long threads which contain a lot of images (e.g. screenshots).minSize - (optional, numeric) - number of kByte, minimum size for removing the tag.
This way you can keep smaller images like icons / emojis while discarding large images. - Variables window: Added documentation for address book functions and modernized layout. Added accordion UI to minimize scrolling. Simply click one of the headers to expand an article.
- [issue 33] New variable %mailto(body)% for including body text for internet mailto links in template. Also slightly improved behavior if body is empty, so that standard template can be used when a mailto link is clicked on.
- [issue 35] Extended
%identity%
with the variable 'addressbook' in order to extract extended info from the Address Book based on an email match, some examples:
%identity(addressbook,work.title)%
%identity(addressbook,work.organization)%
%identity(addressbook,homephone)%
The addressbook variables also support using the optionality syntax [[ ... ]] in order to leave out a section of text or html if the particular addressbook field is empty.
The following line will be omitted if State information is not available from the address book for the current identity:
[[State: %identity(addressbook,work.state)%]] - Completed translations for locales: cs, es-ES, fi, it, pl,pt-BR, ru, sl, sv-SE.
- The template editor boxes now resize vertically with dialog for easier editing.
- Added international examples for
%dateformat%
in the variables tab.
Bug Fixes
- Fixed: [issue 30], [issue 32], [Bug 26755]
Some reply / forward buttons were missing the file template dropdowns. - [issue 36]
Fixed: Smart-Reply button is missing template menus / template menus not working on combined "Reply All" / "Reply to Sender" / "Reply to List" button in preview header area.
I have added a simplified menu solution for this case. Instead of having template submenus for each command, clicking a template below the smart buttons is modified through the keys [Shift] and [Ctrl]. The template items will:
- trigger the top command (e.g. reply all) by clicking on any templates below
- trigger the 2nd command (e.g. reply to sender) via Shift+click
- trigger the 3rd command via Ctrl+click
- Fixed: [issue 38] Images with encoded file URLs are not loaded correctly. An image tag that contains URLencoded characters can lead to the image not being loaded, for example:
<img src="file:///C%3A%5CUsers%5CJohn%5Cimg%5Cimg3.png">
- Source code released under Custom License
Version 2.7
2.7 - Improvements
Supported address book fields
Contact
firstname
lastname
name (uses Display Name but only if the option 'Resolve Name from Address Book' is enabled)
nickname
additionalmail
chatname
workphone
homephone
fax
pager
mobile
Private
private.city
private.address1
private.address2
private.state
private.country
private.zipcode
private.webpage
Other
other.custom1
other.custom2
other.custom3
other.custom4
other.notes
Work
work.title
work.department
work.organization
work.address1
work.address2
work.city
work.state
work.country
work.zipcode
work.webpage
- [issue 29] Add configuration item to file template menus.
- Premium function: Added an optional 3rd parameter to <tt>%matchTextFromBody(regular Expression,group #,"alternative text")%</tt>.
If the quoted email has no match, then the alternative text will be inserted instead. - Completed translations for Brazil (Portuguese) and Russian - thanks to google translate.
- [issue 25] Set variables from addressbook fields.
Supported address book fields
Contact
firstname
lastname
name (uses Display Name but only if the option 'Resolve Name from Address Book' is enabled)
nickname
additionalmail
chatname
workphone
homephone
fax
pager
mobile
Private
private.city
private.address1
private.address2
private.state
private.country
private.zipcode
private.webpage
Other
other.custom1
other.custom2
other.custom3
other.custom4
other.notes
Work
work.title
work.department
work.organization
work.address1
work.address2
work.city
work.state
work.country
work.zipcode
work.webpage
- Source code released under Custom License
Version 2.6
Get SmartTemplate⁴ Pro at my web shop during black Friday week for 50% off only during Black Friday week - 29th November - 6th December! This will give you access to premium features and remove all trial reminders. You can even enable silent updates if you want.
2.6 - Improvements
2.6 - Improvements
- [issue 7] Losing all typed text in compose window when changing identity / signature not updated correctly.
Normally, SmartTemplate⁴ is designed to do all processing (building the email and replacing variables) when opening the compose window; it also does this when you change identity provided you have not typed any text in the body of the email. In that case, Thunderbird rebuilds the email itself, thereby ignoring SmartTemplate and reusing the typed text. This could also lead to losing typed text and variables within the signature not being replaced.
In this new version this behavior is improved: SmartTemplate⁴ will now process the (replaced) Signature if it contains SmartTemplate variables. It will also replace all "late resolved" variable fields (such as %to(name)%) when changing the identity. Since Thunderbird cannot recreate the JavaScript necessary for these advanced functions all "late resolved" variables will be replaced; they will be removed if they cannot be replaced meaningfully.
When working with these variable fields in New Emails, I recommend to either resolve them first by making sure the To address and subject line are populated, or to not start typing until the correct identity is selected.
For using variables such as%identity(name)%
within the signature, make sure to activate the appropriate Global Signature settings.
- Source code released under Custom License
Version 2.5.2
2.5.2 - Bug Fixes
- [issue 22] Cannot add new recipients to address widget after modification through %header.set()% or %header.append()%
- [issue 23] Settings dialog broken in Czech version.
- Source code released under Custom License
Version 2.5.1
Improvements
- Fixed "cut off descriptions in extended settings" in Linux
- Added silent update feature - if you have a license you can now disable the change log tab which is normally opened after a SmartTemplate⁴ update. The setting can be found on the license tab.
- Source code released under Custom License
Version 2.5
2.5 Clarified UI for Ex-Stationery users, spellcheck improvements.
Video for Ex-Stationery users - showcasing the new file templates feature: https://youtu.be/AWdZWB0_ym0
Improvements
Video for Ex-Stationery users - showcasing the new file templates feature: https://youtu.be/AWdZWB0_ym0
Improvements
- Added switch for toggling automatic proofing: use %spellcheck(off)% to disable or %spellcheck(on)% to enable automatic proofing. Different languages can be set using the language parameter, e.g. %spellcheck(it)% to switch to italian spell check. Additional dictionaries can be installed from addons.thunderbird.net using Add-ons Manager.
- Improved UI on Template Files page for Stationery users:
- removed irrelevant Save and Load buttons
- added a (?) button which links to the Stationery support page. - Completed some of the missing translations for new functionality in the Finnish, French, Czech, Spanish, Italian, Polish and Swedish locales.
- Fixed [issue 21] %spellcheck% sometimes doesn't remove red proofing lines after setting language
- Extended error log for trouble shooting the getFileAsDataURI() function; this is used to improve behavior when images are included using the %file()% function, by replacing them with inline data without Thunderbird complaining about security problems. note that image file names should have an extension in order to determine file type correctly. To troubleshoot missing images that are included in this way, enable SmartTemplate's "debug" mode and check the Javascript error console.
- Source code released under Custom License
Version 2.4.2
2.4.2 Halloween version with important fixes for the new file templates feature.
Video for Ex-Stationery users - showcasing the new file templates feature: https://youtu.be/AWdZWB0_ym0
Bug Fixes
Video for Ex-Stationery users - showcasing the new file templates feature: https://youtu.be/AWdZWB0_ym0
Bug Fixes
- [issue 20] If a html template file starts with certain UTF detection characters, the "missing file" warning is wrongly displayed.
- Sandboxed Javascript (script blocks enclosed in %{% %}%) implemented in [Bug 25676] stopped working in Thunderbird 68, due to the call to Cu.nukeSandbox failing... for now, SmartTemplate⁴ allows using these again for versions smaller than 69.
- Source code released under Custom License
Version 2.4.1
2.4.1 Halloween version - with important fixes for the new file templates feature.
Video for Ex-Stationery users - showcases the new file templates feature: https://youtu.be/AWdZWB0_ym0
Improvements
Video for Ex-Stationery users - showcases the new file templates feature: https://youtu.be/AWdZWB0_ym0
Improvements
- [issue 17] Add %spellcheck()% variable for changing spellchecker to a different language.
%spellcheck(language)%
This is the new variable to switch the spell checked to a different language. language can be any locale string of a dictionary that is already installed, e.g. en, de, en-GB etc.
- [issue 16] In some cases, images in signature triggered the "blocked file" warning. The latest version of SmartTemplate⁴ will now parse the signature and replace the file-based image source with a base64 encoded data link to avoid this warning.
- [issue 19] File templates can generate unexpected line breaks, and contained images may break. This can happen if the option "replacing line breaks with <br>" is active in the corresponding account template.
- Source code released under Custom License
Version 2.3.1
2.3.1 Maintenance version with important fixes for the new file templates feature.
Release video - showcases the new file templates feature: https://youtu.be/AWdZWB0_ym0
Improvements
Release video - showcases the new file templates feature: https://youtu.be/AWdZWB0_ym0
Improvements
- 2.3.1 - Improved handling of non-working Stationery in Thunderbird 68. You can now jump straight into configuring file templates and "support stationery" will be automatically disabled if it cannot be run in the current Tb version.
- [issue #8] Support File Templates - to replace Stationery from Thunderbird 68 forward.
I have repeatedly reached out to the author of the excellent Stationery Add-on over the last 8 months, but unfortunately did not get any reply. I also attempted to patch it for Thunderbird68 but it is just too much work. (I estimate 2-3 man weeks)
SmartTemplate⁴ still supports it, but it looks like it will stop working as soon as Thunderbird 68 lands in August / September 2019; therefore we need another solution to be able to use ad-hoc templates in the form of HTML files.
The template management system will be tightly integrated into the familiar SmartTemplate⁴ settings interface, as a separate entry in the Accounts drop-down. - [v2.3.1] Fixed [issue 14]: If Lightning is not installed in Thunderbird 68, currently the new "file templates" function will not load the template, but may open 2 composer windows instead.
- [v2.3.1] Fixed [issue 15]: file templates only work on an account if the box Apply following template is active.
- [Bug 26689] New function to set E-mail priority
Add a function to set the priority of the composed Email.
Examples:
%header.set(priority,highest)%
%header.set(priority,high)%
%header.set(priority,normal)%
%header.set(priority,low)%
%header.set(priority,lowest)%
- You have to disable the option Global Settings»Global Settings»Advanced Functions»Support Stationery Add-on.
I have raised issue 13 to handle this bug.
- Fixed a problem with the Czech translation file that caused an error when trying to display the SmartTemplate Settings dialog.
- Source code released under Custom License
Version 2.3
Release video: https://youtu.be/AWdZWB0_ym0
Improvements
Improvements
- [issue #8] Support File Templates - to replace Stationery from Thunderbird 68 forward.
I have repeatedly reached out to the author of the excellent Stationery Add-on over the last 8 months, but unfortunately did not get any reply. I also attempted to patch it for Thunderbird68 but it is just too much work. (I estimate 2-3 man weeks)
SmartTemplate⁴ still supports it, but it looks like it will stop working as soon as Thunderbird 68 lands in August / September 2019; therefore we need another solution to be able to use ad-hoc templates in the form of HTML files.
The template management system will be tightly integrated into the familiar SmartTemplate⁴ settings interface, as a separate entry in the Accounts drop-down. - [Bug 26689] New function to set E-mail priority
Add a function to set the priority of the composed Email.
Examples:
%header.set(priority,highest)%
%header.set(priority,high)%
%header.set(priority,normal)%
%header.set(priority,low)%
%header.set(priority,lowest)%
- In order for file templates to work correctly, you have to disable the option Global Settings»Global Settings»Advanced Functions»Support Stationery Add-on.
I have raised issue 13 to handle this bug.
- Fixed a problem with the Czech translation file that caused an error when trying to display the SmartTemplate Settings dialog.
- Source code released under Custom License
Version 2.2.2
Going Forward, SmartTemplate⁴ requires a license for continued use - the reason for this is that unlike compiled software that runs on operating systems, constant changes on the host mail software (Thunderbird) require constant, substantial, ongoing changes with high effort; something which cannot be provided for free ("as in beer") anymore. The days of simply hacking maximum version numbers to make an Add-on compatible with the next version of Thunderbird are over.
You may have noticed many Add-on authors abandoning their Add-ons on Firefox and Thunderbird because it was not possible for them to support their Add-ons anymore - this is directly caused by not involving users in funding the required work.
Improvements
You may have noticed many Add-on authors abandoning their Add-ons on Firefox and Thunderbird because it was not possible for them to support their Add-ons anymore - this is directly caused by not involving users in funding the required work.
Improvements
- Increased the trial period to 28 days. As adoption of the Standard License were decent I want to give more users a chance to test SmartTemplate⁴ with the next version of Thunderbird.
- On popular demand, I localized the license shop for Japanase, Russian, German, Polish, Italian, Spanish and Dutch users. Additional Domain Seats can now be purchased after the fact.
- Removed License button animation in sliding notification for Linux and Mac systems as allegedly they cause performance issues on some systems. Fixed OS specific style paths so they work again.
- 2.2.2: It is now possible to use the
%dateformat()%
function with the%X:=sent%
modifier when replying to / forwarding emails. - [issue #3]
Allow displaying leading zeroes for parts of %dateshort% and %datelocal%
You can now modify the following settings in about:config
extensions.smartTemplate4.dateformat.hour = "numeric"
extensions.smartTemplate4.dateformat.day = "numeric"
extensions.smartTemplate4.dateformat.month = "numeric"
extensions.smartTemplate4.dateformat.year = "numeric"
hour: change to "2-digit" for forcing 2digit hours in datelocal / dateshort
day: change to "2-digit" for forcing 2digit day in datelocal / dateshort
month: change to "2-digit" for forcing 2digit month (dateshort only)
year: change to "2-digit" for forcing 2digit year (dateshort only) - Made sure settings dialog is not cropped by right hand edge of screen.
- Wrote some backward fixes for Thunderbird 52. In the last version the file smartTemplate-overlay.js didn't load successfully because of importing XPCOMUtils.jsm in a non-backward compatible format. (ChromeUtils.import replaces Components.utils.import from Tb60 forward)
- [issue #5] In 2.2.2 - finally fixed %timezone% to correctly calculate the offset time. Also added CEDT and MESZ.
- [issue #4] Fixed locale problems. SmartTemplate⁴ due to a regression in 2.0 the current locale of the mail client cannot be correctly determined.
The %language()% switch can now be used to force correct display of day / month names in the variables %A% %a% %B% %b% (and related %dateformat()% function) It will also force using the installed language pack for date formatting through the %datelocal% and %dateshort% function. If the language pack is missing or disabled, this will be indicated in JavaScript error console - not a potentially disruptive message box. - [Bug 26688] Multiple %matchTextFromBody% in a line yielded only a single result. This is now fixed also for %matchTextFromSubject%, so they can better be used multiple times in the same template.
- Fixed status icon mode on Thunderbird 68 startup.
- Source code released under Custom License
Version 2.2
Going Forward, SmartTemplate⁴ requires a license for continued use - the reason for this is that unlike compiled software that runs on operating systems, constant changes on the host mail software (Thunderbird) require constant, substantial, ongoing changes with high effort; something which cannot be provided for free ("as in beer") anymore. The days of simply hacking maximum version numbers to make an Add-on compatible with the next version of Thunderbird are over.
You may have noticed many Add-on authors abandoning their Add-ons on Firefox and Thunderbird because it was not possible for them to support their Add-ons anymore - this is directly caused by not involving users in funding the required work.
Changes 2.2
You may have noticed many Add-on authors abandoning their Add-ons on Firefox and Thunderbird because it was not possible for them to support their Add-ons anymore - this is directly caused by not involving users in funding the required work.
Changes 2.2
- [issue #5] Fixed %timezone% to subtract the offset hours rather than falsely add it. also added CEDT and MESZ
- [issue #4] Fixed locale problems. SmartTemplate⁴ due to a regression in 2.0 the current locale of the mail client cannot be determind currectly.
The %language()% switch can now be used to force correct display of day / month names in the variables %A% %a% %B% %b% (and related %dateformat()% function) It will also force using the installed language pack for date formatting through the %datelocal% and %dateshort% function. If the language pack is missing or disabled, this will be indicated in JavaScript error console - not a potentially disruptive message box. - [Bug 26688] Multiple %matchTextFromBody% in a line yielded only a single result. This is now fixed also for %matchTextFromSubject%, so they can better be used multiple times in the same template.
- [issue #3]
Allow displaying leading zeroes for parts of %dateshort% and %datelocal%
You can now modify the following settings in about:config
extensions.smartTemplate4.dateformat.hour = "numeric"
extensions.smartTemplate4.dateformat.day = "numeric"
extensions.smartTemplate4.dateformat.month = "numeric"
extensions.smartTemplate4.dateformat.year = "numeric"
hour: change to "2-digit" for forcing 2digit hours in datelocal / dateshort
day: change to "2-digit" for forcing 2digit day in datelocal / dateshort
month: change to "2-digit" for forcing 2digit month (dateshort only)
year: change to "2-digit" for forcing 2digit year (dateshort only) - Made sure settings dialog is not cropped by right hand edge of screen.
- On popular demand, I localized the license shop for Japanase, Russian, German, Polish, Italian, Spanish and Dutch users. Additional Domain Seats can now be purchased after the fact.
- Increased the trial period to 28 days. As adoption of the Standard License were decent I want to give more users a chance to test SmartTemplate⁴ with the next version of Thunderbird.
- Wrote some backward fixes for Thunderbird 52. In the last version the file smartTemplate-overlay.js didn't load successfully because of importing XPCOMUtils.jsm in a non-backward compatible format. (ChromeUtils.import replaces Components.utils.import from Tb60 forward)
- Removed License button animation in sliding notification for Linux and Mac systems as allegedly they cause performance issues on some systems. Fixed OS specific style paths so they work again.
- Fixed status icon mode on Thunderbird 68 startup.
- Source code released under Custom License
Version 2.1.1
Going Forward, SmartTemplate⁴ requires a license for continued use - the reason for this is that unlike compiled software that runs on operating systems, constant changes on the host mail software (Thunderbird) require constant, substantial, ongoing changes with high effort; something which cannot be provided for free ("as in beer") anymore. The days of simply hacking maximum version numbers to make an Add-on compatible with the next version of Thunderbird are over.
You may have noticed many Add-on authors abandoning their Add-ons on Firefox and Thunderbird because it was not possible for them to support their Add-ons anymore - this is directly caused by not involving users in funding the required work.
Improvements 2.1
Added in Maintenance Version 2.1.1
You may have noticed many Add-on authors abandoning their Add-ons on Firefox and Thunderbird because it was not possible for them to support their Add-ons anymore - this is directly caused by not involving users in funding the required work.
Improvements 2.1
- [Bug 26536] Support using SmartTemplate⁴ variables in Thunderbird Templates (Tb 60).
- [Bug 26629] Added a variable to set a specific time zone (e.g. GMT) for date/time variables. Use the new %X:=timezone(timezone)% switch to force displaying the time with a fixed time zone. For example: %X:=timezone(EST)% for inserting Eastern Standard Time in date functions such as %dateshort% or %dateformat()%
- [Bug 26634] header.*.matchFrom* functions: append/prepend arbitrary text to field based on match.
You can now use the matchFromSubject and matchFromBody functions in the following way:
%header.set.matchFromBody(header,search pattern,"replacement text")%
this is different from the already supported usage
%header.set.matchFromBody(header,search pattern,match group)%
The main difference is that match group is a number - which will insert / set / append the matched text found during the search, whereas replacement text is a text that is used instead if the search pattern is found. For usage simply add the double quotation marks around the 3rd parameter. - [Bug 26677]
%header.set.matchFromBody()
improvements for use with subject line. It is now possible to quote the first n characters of the quoted email like this:
<tt>%header.set.matchFromBody(subject,"(\s*\S){1,75}",0)%</tt> - Added button for extending your SmartTemplate⁴ Pro License. This will now show up on the SmartTemplate⁴ Pro Tab 30 days before the current license expires. The web shop will give you an additional year based on the current expiry date for a smaller price (typically 20 %) than a new license. If the license is already expired, then the current date is used to calculate new expiry date, giving you also a full year.
- SmartTemplate⁴ from now on will remember the last selected folder using the file picker when saving / loading templates.
- Added a button for opening the Stationery configuration tab.
- [Bug 26626] Edit As New duplicated email content unless Stationery is installed.
- [Bug 26627] Signature was always removed when creating message from templates. With this fix, when creating a mail from a thunderbird template the signature will be treated according tothe rules set up in account settings composition section.
To omit the signature, use %sig(none)%within the template.
To determine a specific position other than specified in account settings, use %sig(html)% - Fixed: %attach()% command previously had a filter to only append HTML files.
- [Bug 26628] Fixed: %dateshort% and %datelocal% left out time portion.
- [Bug 26632] Using %dateformat% in reply / forward: deferred fields were not automatically tidied up.
- [Bug 26635] Cursor not placed in "To:" Row when writing/forwarding email.
Fix: SmartTemplate⁴ will now check when writing new emails if the "To:" address is already set. If not, the cursor will be placed into the address widget and %cursor% ignored. - [Bug 26636] Stationery broken with %sig(text)%. When using a Stationery template with the "Use instead of default quote header" option switched off, some of the template text may be accidentally deleted from the Email.
- Improved matchTextFromBody: avoid scanning inserted quote header or anything outside of the replied to email.
- [Bug 26657] ESR 2019 Readiness - compatibility with Thunderbird 68
Made SmartTemplate⁴ compatible with Thunderbird 68 - part of the ongoing effort to future proof SmartTemplate⁴ for 2020. This will also mean eventually making the minimum requirement using Thunderbird version 60. - Replaced prefwindows with dialogs. There are a lot of changes in the code to make storing preferences in Thunderbird's configuration database work again.
- Use newer preferences script.
- Replace groupbox caption elements with hbox + additional layout fixes.
- Replace statusbar element with hbox (Tb65 and higher)
- Use new promise-based AddonManager object.
- Remove document.createElement in xul documents (replace with createXULElement until Mozilla decides to deprecate that too).
- Improved loading script in composer to be more reliable.
- Added mandatory Standard license.
Added in Maintenance Version 2.1.1
- Added support tab for licensed users only.
- Added the premium feature 'deferred variables in "Write" template' (such as %to%) to standard features. Important: this only works in HTML mode - plain text is not supported.
- Improved panel sizing on Preferences dialog.
- ESR - Eliminated deprecated getCharPref / setCharPref functions
- Fixed regression caused by ESR work for Thunderbird 68 [Bug 26657], some account specific options (use HTML, replace BR) were greyed out when opening the dialog and had to be reactivated by enabling / disabling "Apply the following template". Use Common should always disable account specific settings for clarity.
- Improvement: When opening settings for the current Id and "use common" is selected, display common settings instead.
- Source code released under Custom License
Version 2.1
Change List version 2.1
Going Forward, SmartTemplate⁴ will require a license for continued use - the reason for this is that unlike compiled software that runs on an operating system, the constant changes on the host mail software (Thunderbird) require substantial ongoing changes with a high effort; something which cannot be provided for free ("as in beer") anymore. You may have noticed many Add-on authors abandoning their Add-ons on Firefox and Thunderbird because it was not possible for them to support their Add-ons anymore - this is directly caused by not trying to involve the users in funding the required work.
Improvements
License: SmartTemplate4 is released under the Creative Commons (CC BY-ND 4.0)
Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
Going Forward, SmartTemplate⁴ will require a license for continued use - the reason for this is that unlike compiled software that runs on an operating system, the constant changes on the host mail software (Thunderbird) require substantial ongoing changes with a high effort; something which cannot be provided for free ("as in beer") anymore. You may have noticed many Add-on authors abandoning their Add-ons on Firefox and Thunderbird because it was not possible for them to support their Add-ons anymore - this is directly caused by not trying to involve the users in funding the required work.
Improvements
- [Bug 26536] Support using SmartTemplate⁴ variables in Thunderbird Templates (Tb 60).
- [Bug 26629] Added a variable to set a specific time zone (e.g. GMT) for date/time variables. Use the new %X:=timezone(timezone)% switch to force displaying the time with a fixed time zone. For example: %X:=timezone(EST)% for inserting Eastern Standard Time in date functions such as %dateshort% or %dateformat()%
- [Bug 26634] header.*.matchFrom* functions: append/prepend arbitrary text to field based on match.
You can now use the matchFromSubject and matchFromBody functions in the following way:
%header.set.matchFromBody(header,search pattern,"replacement text")%
this is different from the already supported usage
%header.set.matchFromBody(header,search pattern,match group)%
The main difference is that match group is a number - which will insert / set / append the matched text found during the search, whereas replacement text is a text that is used instead if the search pattern is found. For usage simply add the double quotation marks around the 3rd parameter. - [Bug 26677]
%header.set.matchFromBody()
improvements for use with subject line. It is now possible to quote the first n characters of the quoted email like this:
<tt>%header.set.matchFromBody(subject,"(\s*\S){1,75}",0)%</tt> - Added button for extending your SmartTemplate⁴ Pro License. This will now show up on the SmartTemplate⁴ Pro Tab 30 days before the current license expires. The web shop will give you an additional year based on the current expiry date for a smaller price (typically 20 %) than a new license. If the license is already expired, then the current date is used to calculate new expiry date, giving you also a full year.
- SmartTemplate⁴ from now on will remember the last selected folder using the file picker when saving / loading templates.
- Added a button for opening the Stationery configuration tab.
- [Bug 26626] Edit As New duplicated email content unless Stationery is installed.
- [Bug 26627] Signature was always removed when creating message from templates. With this fix, when creating a mail from a thunderbird template the signature will be treated according tothe rules set up in account settings composition section.
To omit the signature, use %sig(none)%within the template.
To determine a specific position other than specified in account settings, use %sig(html)% - Fixed: %attach()% command previously had a filter to only append HTML files.
- [Bug 26628] Fixed: %dateshort% and %datelocal% left out time portion.
- [Bug 26632] Using %dateformat% in reply / forward: deferred fields were not automatically tidied up.
- [Bug 26635] Cursor not placed in "To:" Row when writing/forwarding email.
Fix: SmartTemplate⁴ will now check when writing new emails if the "To:" address is already set. If not, the cursor will be placed into the address widget and %cursor% ignored. - [Bug 26636] Stationery broken with %sig(text)%. When using a Stationery template with the "Use instead of default quote header" option switched off, some of the template text may be accidentally deleted from the Email.
- Improved matchTextFromBody: avoid scanning inserted quote header or anything outside of the replied to email.
- [Bug 26657] ESR 2019 Readiness - compatibility with Thunderbird 68
Made SmartTemplate⁴ compatible with Thunderbird 68 - part of the ongoing effort to future proof SmartTemplate⁴ for 2020. This will also mean eventually making the minimum requirement using Thunderbird version 60. - Replaced prefwindows with dialogs. There are a lot of changes in the code to make storing preferences in Thunderbird's configuration database work again.
- Use newer preferences script.
- Replace groupbox caption elements with hbox + additional layout fixes.
- Replace statusbar element with hbox (Tb65 and higher)
- Use new promise-based AddonManager object.
- Remove document.createElement in xul documents (replace with createXULElement until Mozilla decides to deprecate that too).
- Improved loading script in composer to be more reliable.
- Added mandatory Standard license.
License: SmartTemplate4 is released under the Creative Commons (CC BY-ND 4.0)
Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
- Source code released under Custom License
Version 2.0
Change List
- [Bug 26494] ESR 2018 readiness - Make SmartTemplate4 compatible with Tb 60
- [Bug 26523] Remove extra line break before blockquote if standard quote header is used.
- [Bug 26524] %datelocal% and %dateshort% are broken in Tb 60
- [Bug 26523] Completed various translations (ru, pl, nl, sr)
- [Bug 26526] %file% causes rogue errors "The Variable %5C.. can not be used for new messages" when including images
- [Bug 26551] Add Domain License key support for SmartTemplate⁴ Pro
- [Bug 26552] %attach% Variable for attaching [pdf] files
- Address Book: Added feature to replace firstname with Display Name if no first name is recorded.
- Added Indonesian Locale - thanks to Mienz Louveinski (Babelzilla.org)
- [Bug 24993] Premium Feature: Added support for using the following fields when composing a *new* Email:%subject% %from% %to% %cc% %bcc% %date% %dateformat()%
- [Bug 26596] Make extracting Name from (parentheses) optional - extensions.smartTemplate4.names.guessFromMail
- [Bug 26595] Option to disable guessing Name Part
- [Bug 26597] Add ?? operator to mmake parts of address header arguments optional, e.g. %from(name,??mail)%
- Added option for default address variable format
- Source code released under Custom License
Version 1.5.1
- [Bug 26434] Forwarding email with embedded images removes images
- [Bug 26465] Composer does not focus into body of mail.
- Updated locales for French and Slovenian language. Thanks to Joël Bauer and Peter Klofutar at Babelzilla.
- Raised minimum Thunderbird version to 45.0
- Release video Please help my YouTube channel by liking the video and subscribing!
- Changed license to Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
- Source code released under Custom License
Version 1.5
- Introduction video: https://youtu.be/zJu9tpa0cHY
- [Bug 26340] New "unmodified field" option for %To()%, %CC()% and %From()%
%from(initial)%
New initial keyword to avoid any changes of header; just displays the header as received. - [Bug 26307] New switch for adding (subtracting) days from date fields:
%X:=calculated(n)%
where n = is the number of days to add. Note this needs to be reset using%X:=calculated(0)%
to unapply it to the rest of the Email.
- [Bug 26411] New: Expanded functions for manipulation of headers, based on Regular Expressions.
%header.set.matchFromSubject(hdr,regex,group)%
Set the header if a matching regular expression is found in subject line.%header.append.matchFromSubject(hdr,regex,group)%
Append text to header / recipient if a matching regular expression is found in subject line.%header.prefix.matchFromSubject(hdr,regex,group)%
Prefix text to header if a matching regular expression is found in subject line.%header.set.matchFromBody(hdr,regex,group)%
Set the header if a matching regular expression is found in quoted email.%header.append.matchFromBody(hdr,regex,group)%
Append text to header / recipient if a matching regular expression is found in quoted email.%header.prefix.matchFromBody(hdr,regex,group)%
Prefix text to header if a matching regular expression is found in quoted email.%header.delete(hdr,regex)%
Remove matching regular expression from text.
hdr: One of the following list {subject | to | from | cc | bcc | reply-to}
regex: A regular expression within double quotes, e.g.
"You got an email from .* \((\b[a-zA-Z0-9._+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b)\)" -
Note that this function supports match groups.
group: The number of the match group, type 0 for inserting the match from the complete expression.
Notes: if no match is found the header will not be deleted or modified in any way. Therefore it is important to do a visual check on all fields before you send of your emails. No error messages will be issued when no match is found. Prefix and append will check whether the value already exist and avoid duplication. The prefix command should not be used with address fields, instead use append to add more recipients.
More information on regular expressions and examples can be found on the variables page.
Bug Fixes
- [Bug 26494] ESR 2018 readiness - Make SmartTemplate⁴ compatible with Thunderbird 60
- [Bug 26446] Thunderbird 57 hangs on start with SmartTemplate⁴ enabled.
See also the Related Thunderbird bug - (Gecko 57) Local date fails due to codebase changes - deprecated nsILocaleService causing local date to fail
- (Gecko 57) Most date functions (datelocal, dateshort) Caused by deprecated nsIScriptableDateFormat
- [Bug 26300] %cursor% leaves an unnecessary space character
- [Bug 26345] Unexpected "Â" character in mail body
- [Bug 26356] Thunderbird 52 - Forwarding an email inline adds empty paragraph on top.
- [Bug 25571] "Replace line breaks with <br>" on when not enabled - if Common settings are used: this inserted unwanted extra line breaks causing ugly spacing issues when forwarding email.
- [Bug 26364] Inline Images are not shown. The fix will look for file:\\\ paths and replace with the raw image data. This won't work if there is no "file:\\\" portion given (relative path / current folder not supported)
Postbox
- [Bug 26485] Make SmartTemplate⁴ compatible with the next Postbox build - 5.52 beta 6 (modern Gecko build) - as of beta 7, Postbox is following Mozilla Quantum in dropping 3rd party Addons support altogether:
Postbox is based on Mozilla code, and as of Firefox Quantum, Mozilla has discontinued support for add-ons. As such, a decision has been made to remove add-ons functionality from Postbox at this time.
Postbox's Signatures and Responses add-ons have been rolled into the core product. Cloud File Sharing and installable Dictionaries will be supported in future BETA releases.
Add-ons from 3rd parties will no longer operate in Postbox, but we may opt to roll certain 3rd party add-on functionality into Postbox in the future.
- Source code released under GNU General Public License, version 3.0
Version 1.4
- Added Postbox 5.0 compatibility
- Fixed: mailto links are missing signature
- Extended
%matchTextFromBody( )%
function
%matchTextFromBody("Regular Expression",MatchGroup)% finds a pattern in the quoted Email and inserts it at function location. The first parameter must be the regular expression within double quotes. The second parameter is a number which denotes the "match group". Match groups are usually designated with round parentheses (). Use 0 to match the complete expression, 1 for the first group etc.
- New
%matchTextFromSubject( )%
function
Same as above, but searches the Subject line for the pattern. Parameters are also the same, first the pattern, second the match group number. See the variables page for a detailed explanation and examples.
- Source code released under GNU General Public License, version 3.0
Version 1.3.1
- [Bug 26260]
Browser's "EMail Link" feature doesn't copy link
In some circumstances choosing the browser feature to email a link will generate a new email but not copy in the actual link into the body of the email. I haven't been able to reproduce this yet but assume it is related to plain text email.</p> - [Bug 26261]
Quote header not inserted in plain text mode.
- Source code released under GNU General Public License, version 3.0
Version 1.3
- [Bug 26207] Added option to delimit address list with semicolons
- [Bug 26208] Lastname and Firstname arguments omit part of the name when broken up
- [Bug 26257] Default quote header not removed in complex Stationery
Force Replacing default quote header in Stationery even if no %quoteHeader% variable is contained - [Bug 26215] Bad interaction between SmartTemplate4 and "When using paragraph format, the enter key creates a new paragraph". With this new option, we can force SmartTemplate4 to always start in a Paragraph to better integrate with the recently updated behavior of Thunderbird 45.
- [Bug 26209]Added option to wrap full name in double quotes if it contains comma or semicolon
- Set extensions.SmartTemplate4.names.quoteIfComma = true
When clicking on a mailto link from a web browser with a given text body, this was replaced by SmartTemplate4. The new behavior bypasses smartTemplate to avoid losing information from the web site. - Added Czech Locale - thanks to jmarek at beta.babelzilla.org
- Added button to visit our Thunderbird Daily Youtube channel
- Updated outdated links to language libraries from ftp to https
- Source code released under GNU General Public License, version 3.0
Version 1.2.1
- Please check out my new YouTube channel and help by subscribing. We will post tips on using Thunderbird and Addons on a regular basis. Click on the YouTube link in the bottom right corner to visit my channel.https://youtu.be/Rk-T465fkEw
- [Bug 26061] Thunderbird doesn't remember to disable Icon on status bar
- [Bug 26100] Double brackets not working with
%cc(name,bracketMail(angle))%
- [Bug 26159]
%cursor%
variable breaks paragraphs style - [Bug 26126] Unwanted space added after cursor
- [Bug 26139] Fix position of warning message for variables that are not supported in New Emails.
- [Bug 26197]Thunderbird 45 - unwanted paragraph after quote header.
- Source code released under GNU General Public License, version 3.0
Version 1.1
- Improvements
- [Bug 26043]
Save Template / Load Template feature
Save / load the current template to / from a file. - [Bug 25904] Functions to Modify Mail Headers: To, Cc, Bcc, Subject and Others
%header.set(name,"value")%
replaces the field of the Email.%header.append(name,"value")%
appends text or recipient to the field of the Email.%header.prefix(name,"value")%
prefixes text to the field of the Email.
This currently supports the following headers: subject, to, from, cc, bcc, reply-to. For example,%header.prefix(subject,"[Project 1] ")%
will turn the subject "Re: Support Request" into "[Project 1] Re: Support Request".
The append function can also be used to add more additional recipients. In all cases, duplicates should be checked and avoided - please double check this is the case and report it to the bug if there are problems. The value has to be wrapped in " and doesn't currently support these characters: " , % used within.
- Removed automatic suppression of "mailTo" links and added an Advanced Setting for re-activating it. Going forward, we recommend keeping this option off, as it may have some undesirable side-effects. Miscellaneous
- Postbox 4 compatibility. Raised minimum version for Thunderbird to 9.0.
- Source code released under GNU General Public License, version 3.0
Version 1.0.1
Improvements
- [Bug 25902] %from% and %to% fail if no argument is given. While addressing this bug I also revised the treatment of variables within the arguments so multiple elements can be added e.g. %from(firstname,lastname,mail)% This also helps when adding a list of multiple addresses (as multiple %from% statements are expanded individually which is unusable as list.
- [Bug 26020]
Added bracketMail() and bracketName() functions use within from() to() cc() etc. to "wrap" mail address with non-standard characters
bracketMail(arg) - use within from() to() cc() etc. to "wrap" mail address with non-standard characters
bracketName(arg) - same using "name portion"
usage: bracketMail(startDel;endDel) startDel = characters before the mail portion
endDel = characters after the mail portion
e.g. bracketMail(";") unsupported characters are: ; , < > ( ) [ ]
bracketMail() = <mail@domain.com>
bracketMail(angle) = <mail@domain.com>
bracketMail(round) = (mail@domain.com)
bracketMail(square) = [mail@domain.com]
- [Bug 25871] Added
%file()%
- insert html, text or image from file (for customized signatures) use a local file path in order to insert a file from the computer you are sending from. You can also use it to insert an image file. To insert the correct file path / name, simply click on the %file% link in the "Variables" window.
%file(fileName,encoding)%
%file(fileName)%
If the optional encoding parameter is omitted, we assume UTF-8 (recommended)
%file(imageName,altText)%
%file(imageName)%
The optional altText is displayed at the recipient if the image cannot be displayed. It may not contain the characters ,)(><
- Added Slovenian Locale - thanks to Klofutar for providing the translation!
- [Bug 25903] In address fields Quotation marks are escaped: \"
- Fixed: Capitalize Names doesn't work if string is quoted. Makes the whole string lowercase. Also capitalisation should work with Names in brackets now.
- Fixed: getSignatureInner inserts "undefined" in Postbox if no signature is defined for current identity.
- [Bug 25951] ST4 not working in SeaMonkey 2.32 - Temporal Deadzone - This was caused by some code changes in the Mozilla code base that established different rules for variables declared with "var" causing addons to break which have the same variable declared with let or var multiple times
- [Bug 25976] Reply to List: variables not resolved - Stationery Patch available
- [Bug 25089] Default forward quote not hidden - in Postbox "Fred wrote:" was not removed in plain text mode. Set
extensions.smartTemplate4.plainText.preserveTextNodes = true
for roll back to previous behavior. - [Bug 26008] Inserting Template in Postbox may fail with "XPCOMUtils not defined"
- [Bug 26013] ST4 picks template from common settings instead of identity (Tb38)
- Fixed: SmartTemplate4 was reported to fail in Postbox 3.0.11 in some cases - this version fixes the issue.
- [Bug 25911] Extra Spaces in long subject headers [Decoding Problem] - Work In Progress
- Source code released under GNU General Public License, version 3.0
Version 0.9.6
- Added a switch for removing emails when replacing Names from Address book
- Added format %sig(none)% to completely remove the signature, overriding account settings.
- [Bug 25089] (reopened) default quote header wasn't removed anymore in Tb 31.0
- [Bug 25816] Missing names in reply caused by different Encodings - the Mime decoder fails when multiple addresses with varying encodings are contained
- [Bug 25089] Default forward quote not hidden
- variable
%matchTextFromBody()%
to find and replace pattern<br>
e.g.%matchTextFromBody(TEST *)%
will retrieve '123' from 'TEST 123'
- Source code released under GNU General Public License, version 3.0
Version 0.9.5.2
Fixed [Bug 25762] related to Replace Names from Addressbook (LDAP). Also disabled this feature on Postbox.
- Source code released under GNU General Public License, version 3.0
Version 0.9.5.1
- Improved locale matching (allow matching en as en-US etc.)
- [Bug 25571] "replace line breaks with <br>" on when not enabled
- Made sure that debug settings window stays on top.
- Added advanced tab to settings dialog
- Added option to disabling space for
%cursor%
- [Bug 25676] JavaScript parser added by Benito van der Zander
- [Bug 25710]
<div id="smartTemplate4-template">
is inserted in Stationery body - [Bug 25643] Display Names from Address book: if the email-address can be found in the Address books, use the name information from there for variables like
%from(firstname)%
etc. - Added option to capitalize all names
- Added option to use Nickname where it exists
- Fixed [Bug 25191] Conflict with add-on Account Colors
- Fixed a problem with name matching signature files - depending on file name some
textual signatures might be accidentally treated as images. - Fixed reading plain text signature files (linefeeds where lost) by inserting html line breaks - to disable this behavior toggle extensions.smartTemplate4.signature.replaceLF.plaintext.br in about:config
- Source code released under GNU General Public License, version 3.0
Version 0.9.4
- Added
%quoteHeader%
variable for Stationery Users - adds the quote header only in reply/forward case and is removed in new mail - Fixed [Bug 25523] Cannot use image as signature .
- Fixed [Bug 25526] If no signature is defined, %sig% is not removed.
- Added user interface for forcing adding '-- ' delimiters before signature
- Redesigned Global Settings tab
- Added islinkable switch to address variables (to, from, cc, bcc, identity) to fix [Bug 25538]
- Reopened [Bug 25088] by making status bar icon status more resilient
- Fixed %subject% removing expressions in <brackets>
- Source code released under GNU General Public License, version 3.0
Version 0.9.3
Improvements
- Added toolbar button
- [FR 24990] Added
%cursor%
variable - [FR 25083] New option "Correct Lastname, Firstname" to swap firstname to the front.
-
%deleteText()%
and%replaceText()%
functions - Replacement of variables in Signature
- Added Postbox support
- Added support for Stationery 0.8 - works with the new event model of Stationery 0.8 - template inserting is disabled if a Stationery Template of 0.7.8 or older is used
- mailto link support for the main header fields that hold email address data:
%to(mail,link)%
%to(name,link)%
%to(firstname,link)%
etc. - new
%identity(name,link)%
function - [FR 25248]
%y%
for two digit years - added preferences textbox for default charset
- fixed a problem with preference not updating (found by AMO reviewer Nils Maier)
- stabilised signature code base
- fixed: Redefinition of Thunderbird's nsIMsgAccount interface broke account dropdown in settings
- suppressed displaying string conversion prompt when clicking on the version number in advanced options
- [Bug 25483] when using
%sig(2)%
(option for removing dashes) - signature is missing on new mails in HTML mode - [Bug 25104] when switching identity, old sig does not get removed.
- [Bug 25486] attaching a plain text file as signature leads to double spaces in signature
- [Bug 25272] reply below quote with signature placed curorsor below signature (should be above signature and below quote)
- added 24px icon
- added change log
- Numerous locale updates - Many thanks to the translation team at BabelZilla!
- added a configuration setting to insert dashes "-- " on top of plain text signature. 'extensions.smartTemplate4.insertSigDashes.plaintext '
- added a configuration setting for signature file encoding. 'extensions.smartTemplate4.signature.encoding'
- [Bug 25523] Cannot use image as signature (fix available)
- Source code released under GNU General Public License, version 3.0
Version 0.9.2
- Redesigned Settings Window to support signature settings from Thunderbird even better
- Added SeaMonkey Support
- Added global settings in advanced options pane; includes new font size setting for template editor.
- [Bug 25088]: added option to hide status icon. You can also use right-click on the option to change label behavior through the configuration setting extensions.smartTemplate4.statusIconLabelMode (it's not needed to change anything but you can do)
- 0 - never show label
- 1 - expand label on hover (default)
- 2 - always show label
- 0 - never show label
- Redesigned About Window (Add-On Manager ⇒ rightclick on SmartTemplate4 ⇒ About)
- [Bug 25103]: 0.9.1 inserts unwanted line break top of <body> in html mode
- [Bug 25099]: Support bottom reply with headers on top
- [Bug 25097]: Forward text message results in double header
- [Bug 25095]: 2 blank lines in plain text between header and quote
- [Bug 25093]: Signatur missing when replying below quote
- [Bug 25092]: Option window broken in Italian version
- [Bug 25084]: 0.9.1 regression: blank line is added before Reply template
- [Bug 25089]: Default forward quote can't be completely hidden - thanks to PeterM for providing a solution
- [Bug 25117]: Plaintext: Template always below the quoted message when replying
- [Bug 25155]: 0.9.1 regression - blank line is added AFTER Reply template
- Versions Bump to 17.*
- Added uk-UA locale
- Locale updates - Many thanks to the translation team at BabelZilla!
- Source code released under GNU General Public License, version 3.0
To create your own collections, you must have a Mozilla Add-ons account.