Skip to content

Releases: pentacent/keila

Keila v0.30.2

Choose a tag to compare

@github-actions github-actions released this 26 Jun 16:39

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

Choose a tag to compare

@github-actions github-actions released this 24 Jun 22:53

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

Choose a tag to compare

@github-actions github-actions released this 24 Jun 14:16

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 the POST /messages and previews rendered without sending
    with POST /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 tzdata timezone database with tz, 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-Unsubscribe and Precedence headers 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

Choose a tag to compare

@github-actions github-actions released this 25 May 09:26

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 lang attribute based on the user's locale; forms don't set a lang attribute (thanks @marco-luigiano for reporting)
  • Added database indices for form_id, form_params_id, and sender_id on 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

Choose a tag to compare

@github-actions github-actions released this 08 May 07:05

Version 0.20.0

📮 New Email scheduler

Added

  • This version introduces a new email scheduler and migrates the recipients schema to
    a more generic messagesschema. 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

Choose a tag to compare

@github-actions github-actions released this 15 Apr 11:54

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_UPDATES option 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

Choose a tag to compare

@github-actions github-actions released this 25 Feb 10:24

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_PATH is now respected when redirecting after login action (thanks @padjon and @Kptainflintt for reporting)

Keila v0.18.0

Choose a tag to compare

@github-actions github-actions released this 04 Jan 18:27

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 $empty operator 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_url in contact forms is now processed with Liquid, allowing personalized redirects
  • Added support for id_type in 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_text of 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_PATH is 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

Choose a tag to compare

@github-actions github-actions released this 14 Mar 19:31

Version 0.17.1

Fixed

  • Fixed error when launching the 0.17.0 release

Keila v0.17.0

Choose a tag to compare

@github-actions github-actions released this 14 Mar 12:34

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_id property for contacts
  • id_type query 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)