Releases: pentacent/keila
Release list
Keila v0.30.2
Version 0.30.2
Added
- Added line-height setting for body text in Classic template style editor
- The status of a contact (active, unsubscribed, or unreachable) can now be changed manually on the contact edit page
- Contacts created via the API now trigger a created event the contact activity log (implements #429, thanks @lukoerfer for reporting)
Fixed
- Added dedicated parser for extracting/filling content slots in MJML content slots, this fixes issues with MJML-specific elements that were being mangled by the HTML parser
Keila v0.30.1
Version 0.30.1
Fixed
- Add HTML option to campaign type dropdown in campaign settings
- Fixed a bug that caused an internal server error when creating new Block campaigns
- Fixed rendering errors when using self-closing MJML tags
- Fix gettext error with Block editor social media block
Keila v0.30.0
Version 0.30.0
MJML, HTML, and Plain-Text Templates, Content Slots, and Transactional Emails
Breaking Changes
- In MJML campaigns, Liquid is now rendered before MJML. This means that
the previous convention of wrapping control-flow tags such as{% if %}
in<mj-raw>elements no longer works. This release automatically migrates
this pattern in existing campaigns to use the new<keila-code>element.
This new element can be placed at any level of an MJML template/campaign/message
and is removed cleanly before MJML is rendered.
Added
- New API for sending and rendering transactional emails: one-off messages
can be sent with thePOST /messagesand previews rendered without sending
withPOST /messages/actions/render. - New API for managing templates.
- Added support for MJML, HTML and plain-text templates.
- Added content slots (
<keila-content>) for MJML, HTML, and plain-text templates
which can be filled in the campaign editor and set via the API.
Improved
- The MJML editor now allows scrolling the code editor independently from the preview and
has better autocomplete for MJML. - Improved handling of image resizing in the Block Editor
- Improved handling of unsubscribe links in welcome and double-opt-in messages
- Improved validation of user-provided email addresses
- Added descriptions for API tags in the OpenAPI documentation
- Replaced the
tzdatatimezone database withtz, removing the need for
runtime timezone-data updates - Replaced the HTTPoison HTTP client with Req
Fixed
- Fixed a regression with linked images in Markdown campaigns
- Fixed a regression where
List-UnsubscribeandPrecedenceheaders were no
longer sent with delivered campaigns - Fixed incorrect fuzzy translations (manual corrections for German and French,
machine translations for other languages)
Keila v0.20.1
Version 0.20.1
🇧🇷 Brazilian Portuguese, pre-filled forms, and many fixes
Added
- Added Brazilian Portuguese (pt-BR) translation (thanks @polesapart)
- Contact form fields can now be pre-populated using GET parameters
Improved
- The send preview dialog can now be confirmed with the Enter/Return key
- App pages now set the HTML
langattribute based on the user's locale; forms don't set alangattribute (thanks @marco-luigiano for reporting) - Added database indices for
form_id,form_params_id, andsender_idon the messages table for improved query performance
Fixed
- Fixed recognition of language variants from request headers (e.g.
pt-BR) - Fixed a crash when using custom contact queries with fields not supported by the segment editor
- Fixed block editor image alignment in Outlook and uneven column gutters in block editor emails
- Fixed occasional exceptions in the block editor
- Fixed missing doctype when adding tracking links
- Fixed handling of single-image Markdown paragraphs
Keila v0.20.0
Version 0.20.0
📮 New Email scheduler
Added
- This version introduces a new email scheduler and migrates the
recipientsschema to
a more genericmessagesschema. This change makes sending large campaigns more performant
and will allow the introduction of transaction emails because records of sent messages no
longer have to be tied to a campaign or an existing contact.
Improved
- When sending a message to the recipient of a campaign has failed, the number of failed
messages is now shown on the campaign analytics page - Cloud: Added additional Infomaniak and GMX domains to the list of known shared domains
Fixed
- Fixed an issue where contacts could be marked as unreachable after a single soft bounce
Keila v0.19.1
Version 0.19.1
🇮🇹 Italian translation, better Markdown performance, SMTP without auth, and many fixes
Added
- Added Italian translation (thanks @energywave)
- Support for SMTP without password auth. Implements #491 (thanks @ghost1ndshell)
- Added
DISABLE_TZDATA_UPDATESoption to disable tzdata updates (thanks @sachabertschibfs) - Image resizing in Block Editor & Markdown Editor
Improved
- Significantly improved performance in Markdown editor. (thanks @roadriverrail for reporting)
- Campaign preview now updates when changing template in campaign settings
- Public archive pages are now rendered with campaign template
Fixed
- Fixed some layout issues with column padding and font styles in Block Editor
- Fixed flickering images in Block Editor
- Fixed regression: Restored level 3 headings in Block Editor
- Fixed regression: Fixed error when creating shared senders (thanks @aj-foster)
Keila v0.19.0
Version 0.19.0
👋 Welcome emails, Phoenix 1.7/LiveView 1.x upgrade, protected unsubscribe links, Bulgarian and Hungarian translations
Added
- Welcome emails: You can now configure a welcome message for newly subscribed contacts in the form settings.
- Added protected unsubscribe and opt-in links: If an opt-in or unsubscribe link is clicked within three minutes of the email being sent, the associated action is only performed after an automatic JavaScript action or an additional click.
- Added text alignment settings to block editor
- Added Open button to forms index
- Added WebP image upload support (thanks @RohilPrajapati)
- Added Hungarian translation (thanks @trueqap)
- Added Bulgarian translation (thanks @ramromcode)
Improved
- The Form editor now shows a preview of the Double Opt-In email and of the Welcome email
- The MJML editor toolbar is now sticky and remains visible when scrolling
- Improved handling of invalid email addresses
- Improved padding on forms
- Added additional known shared domains from Proton
- Upgraded to Phoenix 1.7 and LiveView 1.x
- Upgraded to Solid 1.2 which enables better Liquid error messages
Fixed
- Fixed CSV import of files generated by Excel or Numbers
- Fixed an issue that sometimes made CSV imports appear stuck
- Fixed GenServer crash when exiting the contacts import page (thanks @katafrakt for reporting)
URL_PATHis now respected when redirecting after login action (thanks @padjon and @Kptainflintt for reporting)
Keila v0.18.0
Version 0.18.0
Newsletter archives, interaction-based segmentation, many improvements and Keila en español!
Added
- Added public archive links for campaigns
- Added ability to review sent campaigns
- Added
$emptyoperator to Contact query language and segment editor - Added segment filtering based on campaign interactions
- Added text color tool to Block Editor
- Added social media icons block to Block Editor (see #444)
success_urlin contact forms is now processed with Liquid, allowing personalized redirects- Added support for
id_typein API Contact deletion endpoint - Preview emails are now prefixed with "[Preview]"
- Added Spanish translation (thanks @PedroMartpico)
- Added failure text and redirect URL options for double opt-in forms
Improved
- Improved sender creation and editing experience
- Improved copy and paste functionality in the block editor
- Contacts are now marked as unreachable if delivery fails because they are invalid (thanks @henriqueberlesi)
- Contacts list now uses localized datetimes
- The
preview_textof a campaign can now also be set via the API (thanks @samuelc92) - Logs now include an ISO 8601 timestamp (thanks @samuelc92)
- Settings and send modals in the campaign editor can now be scrolled correctly
- Contact forms can now be embedded in Iframes
- TLS/SSL are now completely disabled when TLS mode is set to "none" in SMTP adapter
- Added message stream setting to Postmark adapter (thanks @codecat)
- New campaigns now use settings from the most recently sent campaign as defaults
Fixed
- Fixed an issue where a contact that was already in the contact list would not receive the double opt-in email when trying to sign up again
- Template signature is now included in double opt-in emails
- Fixed issues with icon sizes in Safari
- Error message when root user failed to be created is now logged correctly
- Fixed logic and documentation of
DISABLE_UPDATE_CHECKS - When trying to access an auth URL as an authenticated user, the user is now correctly redirected to the project index page even if
URL_PATHis set to a non-root path. - Example data in .ods import template now uses correct straight quotes (thanks @individual-it)
- Upgraded Elixir and OTP have fixed previous SMTP adapter TLS issues
- Fixed exception in Mailings worker when contact has been deleted after recipient was created
License Update
Keila continues to be licensed under the AGPLv3 license. However, going forward, all components that are only relevant for Keila Cloud (such as billing or the Send with Keila feature) are provided for informational purposes only and are not licensed under the terms of the AGPLv3 license. You can find more information in extra/README.md
Keila v0.17.1
Version 0.17.1
Fixed
- Fixed error when launching the 0.17.0 release
Keila v0.17.0
Version 0.17.0
👁️ Previews: Seeing is Believing
Breaking Changes
- Keila now uses Lexbor instead of Mochiweb for parsing HTML.
Lexbor is faster and behaves much more like real-world browsers. Make sure to check your MJML templates to verify the change didn’t break anything.
The base template for Markdown and the Block Editor has been updated accordingly.
Added
- Sending of campaign preview emails
- Unified and improved preview dialogs for all campaign types, including a switch for mobile/desktop view
- Completely revamped API docs page and improved documentation
external_idproperty for contactsid_typequery param in contacts API to allow fetching/updating contacts by email address or external ID.- API endpoints for managing and submitting forms, allowing for the creation of new contacts with double opt-in
Changed
- Expanding the MJML editor now makes it take up the entire width of the UI
- Added forms, tracking, and unsubscribe links to robots.txt
Fixed
- Fixed errors when custom form field labels were empty
- Block Editor no longer duplicates content when using copy and paste
- Deleting nested blocks in Block Editor works more reliably now
- API for delivering campaigns no longer returns a server error. Fixes #307
- Updated dev container dependencies to make sure they work with recent changes. Fixes #377 (thanks @henriqueberlesi)