GreenArrow Email Software Documentation

Change Log

GreenArrow v4.312.0

March 14, 2024
  • Fixed an issue where SMTP connections made through a proxy_server would be reported as Sorry, I wasn't able to establish an SMTP connection. (#4.4.1) instead of the message from the remote server if the SMTP greeting is a failure.

  • Previously, when connecting through a proxy_server and receiving an error in the SMTP greeting (e.g. 554 No SMTP service), GreenArrow would try the next MX server. This was in contrast to the behavior when not using proxy_server, where GreenArrow would not continue to the next MX in this case. This release makes proxy_server consistent with non-proxy_server delivery – receiving an error in the SMTP greeting stops the delivery attempt and subsequent MX servers will not be tried.

  • Eliminated a defect where some (by default, 1 in 20,000, but this is controlled by simplemh_max_server_requests) SimpleMH SMTP injections would slow handoff times by reloading configuration after the request is received.

  • Add new bounce processor rules.

  • greenarrow update can no longer be disrupted by user-defined environment variables.

GreenArrow v4.311.0

February 29, 2024
  • Fixed an issue where delivery_attempt events could stop being sent if a logged header (log_header) included non-ASCII Unicode.

  • GreenArrow will no longer read the entire message into memory before sending the DATA command (unless that message is due to be customized via the replace_content_domain directive). Instead, messages are read as the data is streamed to the remote server. This will reduce memory utilization, particularly on servers that send large messages, at the expense of having more files open concurrently.

  • Added a legacy_behavior option load_message_before_sending_data to disable the above behavior and revert to loading the entire message before sending the DATA command.

  • Fixed an issue that prevented Postgres 9.5 Docker volumes from being upgraded to versions that support Postgres 16.

GreenArrow v4.310.0

February 22, 2024
  • Added new configuration directives for controlling the HTTP Submission API processing queue limits.

  • The HTTP Submission API SimpleMH server will now use, by default, at most 2% of system memory (no less than 100mb, and no greater than 1gb) for queueing messages to the processing queue. This can be overridden using the simplemh_processing_queue_max_memory directive.

  • The HTTP Submission API processing queue now defaults to applying back-pressure when there are 1,000 messages waiting to be processed (2x the maximum number of messages that can be injected in a single HTTP request), instead of 2,000 messages (4x the maximum number of messages that can be injected in a single HTTP request). This should result in no observable difference on systems that stay caught up, but may result in back-pressure being applied sooner on systems that are behind.

  • Introduced two new directives for tuning GreenArrow CPU and memory utilization.
  • The remote delivery attempt response 550 Requested action not taken: mailbox unavailable\nReject due to policy restrictions. is now considered bounce code 50 - Mail block - General (other) instead of 20 - Temp failure - General (soft).

  • Add support for the Rocky Linux 9 Linux distribution.

  • Fixed an issue that caused greenarrow update to fail on Docker installations due to a change introduced in v4.306.0.

GreenArrow v4.309.0

February 14, 2024
  • The DKIM Keys API index now accepts a domain to filter the results to only DKIM keys for that domain (case-insensitive).

  • Fix an issue where the Postgres data directory would not be automatically created when upgrading to Postgres 16 with the --no-link option.

GreenArrow v4.308.0

February 8, 2024
  • The event_delivery_anonymize_localparts option now by default applies to the sender field in addition to the email field. This is because GreenArrow’s VERP can contain the recipient email address. Use the do_not_anonymize_sender_localpart_in_events option on legacy_behavior to disable this behavior.

  • Fixed an issue where the default setting for dkim_key defined in the configuration file with define_dkim_keys_in_config_file could be incorrectly disabled.

  • Fixed an issue where Incoming Email Domains with underscores would yield errors in the /service/hvmail-config-agent service and prevent local domain configuration from updating.

  • greenarrow_config reload will no longer render GreenArrow inoperable when executed in an environment with an unfavorable umask.

  • Fixed an issue wherein the GreenArrow MTA could get stuck if email addresses with unicode in the domain name (this is invalid) were injected into GreenArrow for remote delivery.

  • The HTTP Submission API will no longer accept messages to be delivered to email addresses with improperly formatted domain names (i.e. where the domain is not ASCII). UTF-8 domains should be Punycode encoded prior to injection.

  • The GreenArrow SMTP services will no longer accept email with RCPT TO to a domain with non-ASCII characters. UTF-8 domains should be Punycode encoded prior to injection. Such RCPT TO domains will receive the response 550 recipient domain contains non-ASCII characters (#5.6.7).

  • Added a new directive event_delivery_anonymize_clicktrackingid for anonymizing the click_tracking_id field of events.

GreenArrow v4.307.0

January 25, 2024
  • Corrected a spurious warning on greenarrow_config validate and other GreenArrow commands that the Persistence Path has something wrong with it when it’s in good working order.

  • Updated Redis service to automatically clean up file corruption due to improper shutdown of GreenArrow.

  • Studio: Stopped shipping an old and very out-of-date Portuguese translation file.

    • If you’re using this file, you should back up /var/hvmail/studio/config/locales/pt.yml before upgrading to this version (or newer), then restore that file. GreenArrow will no longer manage this file going forward.
  • Fixed a spurious error reported by greenarrow_status apache_status.

  • Fixed a condition that could lead to errors when greenarrow update populate_privacy_recent_activities exits.

GreenArrow v4.306.0

January 4, 2024
  • Fixed an issue where versions v4.304.0 and beyond could not re-attach to persistence path installations.

  • Fixed error when searching Incoming Email Domains screen with many domains.

GreenArrow v4.305.0

December 22, 2023
  • Prior to this release, GreenArrow’s incoming SMTP service was noncompliant with RFC5321 Section 4.1.1.4 in allowing <LF>.<LF>, <LF>.<CR><LF>, <CR><LF>.<LF>, and <CR><LF>.<CR><LF> to all signify “end of data”. This behavior made GreenArrow vulnerable to SMTP smuggling.

    Starting with this release, only <CR><LF>.<CR><LF> signifies “end of data”.

    This release also includes noncompliant_smtp_data_dot as an option to legacy_behavior to restore the noncompliant behavior.

    More information about SMTP Smuggling can be found here.

GreenArrow v4.304.0

December 21, 2023
  • Incorporated pg_repack into the GreenArrow package to aid in dealing with bloated Postgres tables. Basic use of this tool is documented on the Troubleshooting Disk Space Issues page.

  • Add support for PostgreSQL 16. PostgreSQL 16 comes with performance enhancements that will speed up some parts of GreenArrow. New installations will use PostgreSQL 16 going forward. For existing installations, upgrading to PostgreSQL 16 is optional but recommended.

  • greenarrow update is now the preferred command to execute updates after upgrading GreenArrow to the latest release. The former command hvmail_migrate migrate is still supported.

  • Add support for the Amazon Linux 2 and Amazon Linux 2023 Linux distributions.

  • Update third-party software that ships with GreenArrow:

    • Apache from 2.4.57 to 2.4.58
  • Fixed an error where subscribers with very old custom field dates (e.g. 0000-07-24) could cause date-based segmentation to fail.

  • Added a new interface for Link Replacements. These can be managed via the UI or the API. Link Replacements allow you to modify or expire SimpleMH tracked links after delivery.

  • SimpleMH links may now have a default expiration time, controlled by the simplemh_default_link_expiration directive.

  • SimpleMH links may now include a data-ga-linkid attribute. Specifying a LinkID allows you to separately track different instances of the same URL. See SimpleMH Click and Open Tracking for more information.

  • SimpleMH links may now include a data-ga-notrack attribute. This prevents specific links from being tracked. See SimpleMH Click and Open Tracking for more information.

  • Studio: Fixed an issue where a global suppression list that is updated to be a more specific suppression list can continue to affect autoresponder mailings from all organizations.

GreenArrow v4.303.0

December 14, 2023
  • Added a new envelope_recipients field to the HTTP Submission API for directly specifying the RFC5321.RcptTo message recipients.

GreenArrow v4.302.0

November 16, 2023
  • Added new option skip_mx to smtp_pattern for skipping MX destinations based on the regular expression matching the remote SMTP server’s final response.

  • New directive skip_mx_behavior to customize how MX skipping works.

  • override_smtp_result and the result= option on smtp_pattern will no longer change success to temp_failure. This change was made to reduce the risk of duplicate deliveries due to configuration.

  • Studio 404 and 500 pages will no longer include a login link when on a public-facing URL endpoint (such as when attempting to render a non-existent campaign image name).

  • CSV event logfiles may now be configured to include headers using event_delivery_csv_fields.

  • delivery_attempt events now include mtaid_id, mtaid_name, outmtaid_name, and source_ip.

GreenArrow v4.301.0

November 9, 2023
  • Fix error when searching on the Incoming Email Domains page when more than 1,000 domains are configured.

  • Studio: Seed emails will no longer encode links with a special ?l= URL form on systems that have sent more than 1,000 unique links.

  • Fixed an issue in Engine’s sends screen where the daylight saving time offset hour may be included when it should not.

GreenArrow v4.300.0

November 1, 2023
  • Added the configuration directive event_delivery_sql_commit_size which defaults to 100. This change significantly improves the performance of SQL event delivery (no configuration change is needed to take advantage of this improvement).

  • The Delete Campaigns and Templates API is now available without a feature flag. However, only unsent campaigns and templates may be deleted. In order to delete sent campaigns, you must continue to enable the feature flag.

GreenArrow v4.299.0

October 26, 2023
  • Fixed an issue introduced in v4.294.0 that broke the custom date range filter in Engine’s Sends statistics page.

  • Loosened the validations on Mail Class custom headers to allow any header except X-Mailer-Info and most X-GreenArrow-* headers. See add_email_headers for more information on what headers are allowed.

  • Fixed an issue that caused SimpleMH to kill off child processes, leading to occassional 451 Internal error: Error reading response from internal service. Please try again. (#4.3.0) errors upon SMTP injection.

  • Studio: The Reply-To delivery setting may now include replacement codes, just as the From Name and From Email fields do.

GreenArrow v4.298.1

October 5, 2023
  • Add missing Lite Bounce Processor service files.

GreenArrow v4.298.0

October 5, 2023

GreenArrow v4.297.0

September 28, 2023
  • Fixed an issue where an exact set of circumstances could lead to SimpleMH messages failing with the message SMTP cannot transfer messages with partial final lines. (#5.6.2).

  • Studio: Improved handling of non-UTF8 characters in supressed address imports.

GreenArrow v4.296.0

September 21, 2023
  • Fixed an issue with Studio Subscriber Exports where the first hour of the day (12am) would be blank.

  • Fixed an issue where changing the type of VirtualMTA defined in the config file (for example, converting an IP Address to a Routing Rule) would result in an error when running greenarrow_config reload.

  • Studio: Increased campaign name maximum length from 150 to 200.

  • Studio: Mailing list names on the mailing list index are now links to the mailing list.

  • Studio: Fixed an issue that could lead to content being interpreted as ISO-8559-1 instead of UTF-8.

  • Fixed an issue where the disk space used and reported by hvmail_status status could be inaccurate.

GreenArrow v4.295.0

September 7, 2023
  • Fixed an issue where the Event Processor was incorrectly sending is_retry as an integer (1 or 0) in JSON instead of true or false. This was in contrast to the Legacy Event Processor, which sent this value as true or false.

    If your integration depends on is_retry being 1 or 0, you can keep this behavior using the legacy_behavior (event_processor_is_retry_as_integer) directive.

  • The include directive may now be specified within any context, not only at the top-level of greenarrow.conf.

  • Single-part messages generated by Studio and the HTTP Submission API now include the MIME-Version header.

GreenArrow v4.294.0

August 31, 2023
  • Update third-party software that ships with GreenArrow:

  • The Studio System Configuration page “Test reCAPTCHA API keys” will now warn you that an invalid key might cause the page to enter an infinite loop. This is due to a bug in Google’s reCAPTCHA JavaScript.

  • The Studio Subscribers API now accepts a segment_id parameter for filtering the list of retrieved subscribers to a specific segment.

  • Subscriber Export timestamps are now in 24-hour time (they were previously in 12-hour time but with no AM/PM marker).

GreenArrow v4.293.0

August 24, 2023
  • Fixed an issue where a bounce code of 999 could appear in delivery_attempt events instead of 40. Events that received a bounce code of 999 can be considered equivalent to bounce code 40.

  • Add support for the Debian 12 Linux distribution.

  • The backup program hvmail_unmanged_backup now uses pigz for compression instead of gzip. This causes the backup process to use more available CPUs, reducing the time it takes to complete a backup.

GreenArrow v4.292.0

August 17, 2023
  • The Studio subscribers and suppressed addresses index APIs both now present the total number of records in its pagination data, in line with other Studio APIs.

  • Fixed a bug that would prevent the studio_subscriber_created and studio_subscriber_updated events from being delivered by the Legacy Event Processor.

  • Fixed a bug wherein running greenarrow_config reload could clear the “redirect” setting for IP addresses and relay servers.

GreenArrow v4.291.0

August 10, 2023
  • The Incoming Email Domains index is now paginated when more than 1,000 domains are configured.

  • The Bounce Address dropdown will no longer cause the Mail Class edit screen or the Incoming Email Domains index to freeze when there are a huge number of bounce mailboxes.

  • Added a configuration directive simplemh_validate_bounce_address to disable SimpleMH bounce address validation. Setting this directive to no reverts the Mail Class bounce address configuration to how it was prior to v4.285.0.

GreenArrow v4.290.2

July 28, 2023
  • Bug fix: Systems that have sent a large number of events (more than 2 billion) will temporarily stop sending events. The events aren’t lost, but will be delayed until this fix is in effect.

  • Bug fix: Beginning with GreenArrow v4.288.0, messages could get stuck in-queue without delivery attempts. This issue is due to a bug in re-reading messages after the disk queue is restarted.

    Messages can only enter the stuck state when restarting the disk queue. If you have not restarted the disk queue since upgrading to a version after v4.288.0 (apart from the restart to accomplish the upgrade), you have not been affected.

    If you have been affected you will see lines like:

    2023-07-28 10:24:28.827654500 WARNING: queue_reader: cannot read file in queue (/var/hvmail/qmail-disk/queue/batches/17/275a2954-22dc-c1a1-dab5-d7623a7e09da-m1): error reading message file (/var/hvmail/qmail-disk/queue/batches/17/275a2954-22dc-c1a1-dab5-d7623a7e09da-m1): state self-check failed: message_batch not in normal mode: error in message index 0: error in recipient index 0: LastAttemptOutMtaID is non-zero (873) (State=DoneAndMarked)
    
    in your /var/hvmail/log/hvmail-disk-qmail-send logdir directory.

    Each stuck message batch will generate one log line like the above approximately every 5 minutes.

    You can estimate the number of stuck message batches by running this command:

    /var/hvmail/bin/logdir_select_time --dir /var/hvmail/log/disk-qmail-send --last '5 min' | grep 'state self-check failed: message_batch not in normal mode: error in message' | grep 'LastAttemptOutMtaID is non-zero' | wc -l
    

  • We have added a mechanism so that messages that were stuck (due to the above bug), once GreenArrow is updated and they can be processed, if they are older than their queue_lifetime, they will be failed with the error Message expired. (#5.4.7). This only applies to messages that were stuck.

GreenArrow v4.290.1

July 27, 2023
  • Bug fix: SimpleMH seed list bounces will now correctly write bounce_all and bounce_bad_address events for the seed address, instead of the original recipient address.

  • Loosened a Mail Class validation that rejected the System Default bounce address when the System Default was not set.

GreenArrow v4.290.0

July 27, 2023
  • Delivery attempts that received a non-successful SMTP response from a remote server now include bounce_code. This is the bounce code for the SMTP response. This does not apply to the Legacy Event Processor nor the Legacy Delivery Attempt Log. We’ve provided a new configuration directive delivery_attempt_bounce_categorization to disable this behavior.

  • Added some clarification to the bounce_processor_rule directive documentation to describe how to write regular expressions based on delivery_attempt.message instead of bounce_all.bounce_text.

GreenArrow v4.289.0

July 18, 2023

GreenArrow v4.288.0

June 29, 2023
  • This version includes new ways to see what’s in your disk queue.
    • Added a new GreenArrow command greenarrow report disk_queue_summary.
    • Added a new Disk Queue Summary API.
    • Added a new UI in the “Statistics” section called “Disk Queue Summary”.
    • In this new reporting, we offer VirtualMTA (Most Recent) and grouping the report by the throttling rule used for the most recent delivery attempt. This required new data to be tracked when delivery attempts are made. As such, after upgrading, you may temporarily see (not specified) listed as the VirtualMTA (Most Recent) or an incomplete list of domains listed for the Throttle. This reporting inaccuracy will naturally resolve as delivery attempts are made and the expected data is made available to the report.
  • Added the following configuration directives to pcompat DKIM signing:
  • Added a new configuration directive process_x_virtual_mta_header to optionally support the X-Virtual-MTA header.

GreenArrow v4.287.1

June 23, 2023
  • Fixed an issue with Persistence Path Mode that would cause hvmail_migrate to not run all necessary migrations after upgrading.

  • Performance optimization within greenarrow-remote on servers with lots of IP addresses.

GreenArrow v4.287.0

June 19, 2023
  • The X-GreenArrow-* headers now support header folding.

  • The headers logged when Logging all SimpleMH Messages now support header folding.

  • Fixed an issue with hvmail_update_tcprules that would prevent SMTP services from working if the user’s shell umask was unexpected.

GreenArrow v4.286.0

June 13, 2023
  • Added a new configuration directive log_header_remove to log and remove a header from injected messages.

  • Added a new configuration directive dkim_sign_extra_header to sign headers that aren’t present in the original message (thereby preventing those headers from being forged later). This is called “DKIM Oversigning” and helps to protect against DKIM replay attacks.

GreenArrow v4.285.0

June 1, 2023

GreenArrow v4.284.0

May 25, 2023
  • Fixed an issue with bounce processing concurrency when multiple bounces arriving for the same email address / listid combination at the same time, one of them could be skipped in processing. This fix does not apply to GreenArrow installations running Postgres 8.3.

  • Fixed an error on the “View all references” page for throttling templates referenced by many IP addresses.

  • With Google’s transition to Google Analytics 4 (which is replacing Universal Analytics), GreenArrow is phasing out the transmission of campaign renders/opens to Universal Analytics. Existing users will be unaffected for the time being, but be aware that Google is stopping support for Universal Analytics as of July 1, 2023.

  • Mailing lists may now be configured with Google Analytics 4 Measurement IDs (which look like G-ASDFZXCV). Clicks will be unaffected by this transition, as the relevant utm_* parameters are still included if the mailing list is configured with Google Analytics Integration enabled and the campaign has click tracking enabled.

  • Studio will now use the System Name (if set) instead of “GreenArrow” when generating the Two-Factor Authentication shared secret.

GreenArrow v4.283.0

May 17, 2023
  • hvmail_init status will now provide more helpful information if your license key is not in good standing.

  • greenarrow info now also includes the version date in addition to the version number. This is the date that GreenArrow uses to decide whether or not the installed version exceeds the configured license key’s License Key: Updates Expiration. This will always be before or equal to the release date found in this changelog.

  • greenarrow info will now warn you if you’re running a version of GreenArrow that exceeds your License Key: Updates Expiration.

  • Fixed an issue that could lead to Redis memory utilization bloating if Studio click & open requests arrive and Studio is not licensed.

  • Studio: Number custom fields now support an option to enable decimals in these custom fields. The default remains that these field values must be whole integers.

  • Added a new option to greenarrow init --admin-password-prompt to force a prompt for entering the user password. This helps avoid your password going into your shell history.

  • Fixed an issue where messages without a body were not DKIM signed.

  • Reduced HTTP server KeepAliveTimeout from 5s to 1s. This helps to reduce the Apache server utilization on servers with a high volume of click and open tracking traffic.

  • Updated the .greenarrow_web_form CSS class in Studio web forms to be .mailer_web_form to aid whitelabeled installations.

  • The bounce_bad_addresses table now includes click_tracking_id.

  • Fixed an error presented when attempting to create a subscriber import with no file specified (this should be a validation error, but was instead an Internal Error error page).

GreenArrow v4.282.0

April 27, 2023
  • Added a new GreenArrow command greenarrow init. This command is used to initialize new installations in the updated Installation Guide and replaces several steps of the install procedure.

  • Added a new way to run GreenArrow called Persistence Path Mode which is covered in the updated Installation Guide. Traditional Mode is the well-established way to run GreenArrow.

  • Clarified in the Installation Guide that Docker is a supported way to run GreenArrow.

  • Added a new GreenArrow command greenarrow info for printing details about this installation of GreenArrow such as version number, persistence mode, and license key expiration.

  • Tweak definition of 21st field of log_smtp_timings to be more clear and accurate. Fixes an issue where the 1st field could be negative.

  • Recategorized some x.4.1 bounces that could be considered hard bounces as soft bounces.

  • Restored support for remote delivery to mail exchangers that support only TLS 1.0.

  • Mail class names may now be up to 64 characters in length. Please see the Bounce Processor Concepts documentation for caveats regarding long mail class names.

  • Update third-party software that ships with GreenArrow:

    • Apache from 2.4.52 to 2.4.56

GreenArrow v4.281.0

April 6, 2023
  • Engine: Added a new option to SimpleMH Mail Classes to be able to disable the List-Unsubscribe header that is usually automatically added.

  • Engine: Added a new SimpleMH header X-GreenArrow-Disable-Auto-List-Unsubscribe-Header for disabling per-message the List-Unsubscribe header that is usually automatically added.

GreenArrow v4.280.0

March 30, 2023
  • log_smtp_timings now includes time spent waiting for VirtualMTA throttle availability in the backlog queue.

  • Fixed an issue where greenarrow remote_connections could sometimes show saved connections that are being used as still saved_for_reuse.

  • Studio: Fixed an issue where some valid UTF-8 files would fail import validation.

GreenArrow v4.279.0

March 30, 2023
  • Added a new SMTP logging option log_smtp_timings.

  • Delivery attempt events will now include the message size in bytes (if loaded).

  • Delivery attempt events may now include SMTP timing in nanoseconds (if log_smtp_timings is enabled).

  • The Remote Delivery Status Log now includes average message sizes.

  • Fixed an issue in hvmail_unmanaged_backup where an error could be reported if rpm is installed on a Debian or Ubuntu system. This error did not affect backup taken.

GreenArrow v4.278.0

March 23, 2023
  • Fixed an issue where only half of the legacy event processor would use CPU resources when concurrency was in use.

  • Fixed an issue where bounce_bad_address events generated by the repeat bounce counting system would not include the most recent bounce’s click_tracking_id value (instead it would be null).

  • Fixed an issue where the retry_time_randomize and extra_delivery_attempts_after_conmmaxout were not working correctly when configured within the virtual_mta_injected directive.

  • Studio: Speed up subscriber import creation by deferring file encoding validation for files larger than 1MB. Deferred validation means that a bad import file may fail after it has been scheduled.

  • Add new bounce processor rules.

  • Engine UI: Fixed an error where multiple “invalid sign-in” messages could appear when sign-in fails.

  • Studio: Fixed a graphical error in an organization’s “Invalid Selections” table.

  • greenarrow_config reload and greenarrow_config validate will now warn if the kernel parameter net.core.somaxconn is too low for the requested SMTP concurrency.

  • Added a new command greenarrow config recommend_sysctl that will print recommended sysctl settings, including the recommended value for net.core.somaxconn.

GreenArrow v4.277.0

March 1, 2023
  • Fixed an issue wherein a broken pipe_command configured in the Delivery Attempt Log could lead to long-running transaction locks being held (which in turn could cause hvmail_migrate migrate to fail after upgrades).

  • Studio: Fixed an issue that could result in campaigns failing if a subscriber included in that campaign is deleted while the campaign is sending.

  • Fixed an error reported by greenarrow_blockers if rpm was installed on a Debian-based operating system.

  • Studio: The “DEACTIVATE SUBSCRIBERS NOT IN IMPORT” option on subscriber imports is now protected behind a confirmation dialog to prevent users from accidentally enabling this dangerous feature.

  • Engine API: Added a new API for pausing and dumping send queues.

GreenArrow v4.276.0

February 8, 2023
  • GreenArrow will now more quickly retry messages that are deferred due to connmaxout (i.e. delivery attempts that are throttled). This behavior can be tuned with the new extra_delivery_attempts_after_conmmaxout configuration directive.

  • GreenArrow will now schedule a message’s next delivery attempt based on the current time, rather than the time the previous delivery attempt started.

  • The disk queue can now have its own (optional) backlog setting.

  • Added new configuration directive for applying some randomization to custom retry schedules.

GreenArrow v4.275.0

February 2, 2023
  • Added new configuration directives for filtering events by mail class or listid when delivering events using the new Event Processor.
  • Fixed an issue in the Engine UI where sometimes attempting to delete a record (for example a DKIM Key) could lead to an error instead of successful deletion.

  • Fixed an issue in the legacy event processor where non-legacy events can be written to logfiles (as written by the logfile configuration option in the legacy event processor).

  • Fixed an error emitted by greenarrow_config reload that could occur when defining Engine configuration objects in the configuration file.

  • Studio: The subscriber import view page now indicates whether or not the “Deactivate Subscribers Not In Import” setting was used for this import.

  • Fixed the HTTP Submission API to properly wrap base64 encoded attachments in the generated message.

  • Optimize Engine API call authorization speed when using legacy Engine users.

GreenArrow v4.274.3

January 18, 2023
  • Fixed presentation of IP Addresses with more than 100 IPs.

GreenArrow v4.274.2

January 17, 2023
  • Fixed an issue that could prevent access to the Engine statistics screen on web browsers with saved HTTP basic credentials.

GreenArrow v4.274.1

January 13, 2023
  • Fixed an issue preventing access to the Engine statistics screen on Centos 7 when HTTP is redirected.

  • Fixed an issue where internally created campaigns (campaigns created by GreenArrow for the bounce messages it creates) could have inaccurate send statistics when the bounce queue is at capacity.

  • The Studio split campaign statistics screen will now properly download CSV reports for only the part of the split that is currently loaded.

  • Restored view links in the “References to This IP Address” table.

  • Fixed a permission error encountered when editing throttling rules on the Dynamic Delivery screen.

GreenArrow v4.274.0

January 10, 2023
  • Engine users are now defined in the UI / API or configuration file (instead of an htpasswd file).

  • Engine authentication is now accomplished via a login screen (instead of HTTP Basic authentication).

  • Both Engine and Studio now support two-factor authentication.

  • Introduced the following configuration directives for defining Engine users in the configuration file:

  • Docker integration will no longer create an admin Engine user account when initializing a new container. Instead, GA_ADMIN_EMAIL will be used as the initial administrator account username.

  • Studio: The Get a List of Campaigns API now accepts a state parameter for filtering the results by the requested state(s).

  • Added a new configuration directive lets_encrypt_service_restart_delay for delaying how frequently GreenArrow’s Let’s Encrypt integration can restart background services.

  • Fixed an issue in Studio’s subscriber domain segment. When using the does not end with any of operator, the segment returned the wrong set of subscribers when provided with multiple suffixes.

  • Fixed an issue when purging Studio organizations that would cause all subscriber imports to be pulled into memory, sometimes leading to out-of-memory errors on organizations with extremely large numbers of imports.

  • Fixed an error in Studio’s suppressed addresses API when adding multiple suppressed addresses with the same address, differing only by leading or trailing whitespace.

  • Applied a patch to Apache to optimize loading configuration on systems with thousands of URL domains and thousands of IP addresses.

  • Fixed an issue in the bounce processor where messages that failed due to DNS resolution could erroneously be categorized as a hard bounce.

  • Fixed domain name security to be case-insensitive, protecting links against web clients that lowercase domain names.

GreenArrow v4.273.0

November 29, 2022
  • Studio will now check for the user permission “Subscribers Search/View” for the “View result for each message” screen in the SMTP section of statistics. This closes a hole where such users were able to access the list of SMTP recipients.

  • Fixed an issue in Studio’s content editor where the “Convert from HTML” button for text parts could fail if the converted text content had not changed from what was previously saved.

  • Fixed a performance regression to Studio’s subscriber imports introduced in GreenArrow v4.271.0 when neither of the studio_subscriber_created nor studio_subscriber_updated events are in use.

  • Fixed an issue in Studio where a custom field value of null (case insensitive) would store as blank.

GreenArrow v4.272.0

November 10, 2022
  • Fixed an issue wherein local deliveries in MultiQueue batches would fail.

  • Updated the hvmail_snapshot_stats command to be more resilient to execution environment.

  • Expanded event selection syntax in the new Event Processor. You may now specify that you want “all” events, minus specific events (i.e. event_delivery_events all delivery_attempt=no).
  • Updated our documentation to add a guide on how to Upgrade From Legacy Event Processor.

GreenArrow v4.271.0

November 1, 2022
  • Studio: Subscriber exports will now be automatically purged 30 days after the export finishes. This will prevent endless disk usage by subscriber exports.

  • Fix an issue introduced in GreenArrow v4.270.0 that would prevent studio_subscriber_created and studio_subscriber_updated events from being generated in the new event processor.

GreenArrow v4.270.0

October 20, 2022

GreenArrow v4.269.0

October 13, 2022
  • GreenArrow has a new bounce categorizer. This new categorizer is more accurate and supports a new bounce_processor_rule configuration directive for specifying your own bounce code overrides.

  • Studio: Restored stat_id that was previously available in the Get Campaign Details API. This was a regression in GreenArrow v4.248.0.

  • Studio: Fixed an issue with the subscriber importer where upper-cased domains containing non-ASCII Unicode characters would fail upon re-import.

  • The following commands will now warn you if you haven’t run hvmail_migrate after upgrading GreenArrow packages: hvmail_init status, greenarrow_status, and greenarrow_config reload

  • Studio: Fixed an issue where the “Deactivate Subscribers Not In Import” feature could sometimes cause a Postgres deadlock and fail the import.

GreenArrow v4.268.0

September 22, 2022
  • Updated greenarrow_blockers to warn you if your license key’s Support & Updates term has expired. This makes it harder to accidentally upgrade to a version of GreenArrow that isn’t supported by your license key. (Perpetual licensees have a perpetual right to use the software released while they maintained Support & Updates, but are not licensed to use versions released after the end of their Support & Updates term. This is enforced by the GreenArrow license key.)

  • Studio: Added a new API for estimating the number of recipients in a campaign.

  • Added new possible return action new_config to Running Custom Code During Delivery Attempts. You can use this to override the VirtualMTA or envelope sender of the email.

  • Fixed an issue where extra metadata was included in the sender key to Running Custom Code During Delivery Attempts.

  • Add new attribute to the HTTP Submission API amp_html for injecting mail that uses AMP for Email.

  • text/x-amp-html parts of SimpleMH emails will now have click and open tracking applied to it (when enabled). This applies equally to email submitted using the new amp_html of the HTTP Submission API and for emails injected via SMTP.

  • Add support for the RedHat 9 and Alma Linux 9 Linux distributions.

  • Fix problem with removing base64 padding from DKIM public keys. Removing this padding was not RFC-compliant and was causing some systems to not validate 4096-bit keys.

GreenArrow v4.267.0

August 30, 2022
  • Engine: Added a new API for retrieving the status of throttles and to take throtles out of backoff mode.

  • Engine: Added UI buttons to take throttles out of backoff mode.

  • Added a new configuration directive smtp_match_begin_backoff_mode for engaging SMTP backoff mode using a regular expression.

  • Fixed presentation of times in Engine’s throttle screens (these times were previously printed in UTC – they now respect the engine_time_zone configuration).

  • Ending of SMTP Backoff mode is now evaluated every few seconds instead of purely on 5-minute intervals. This means that backoff mode ending times are no longer rounded to the closest 5 minutes.

  • Fix typo in error message for override_smtp_result.

  • Studio: Fix for autoresponder “Download Overview CSV” report. It previously wouldn’t honor the date range selected, instead loading all stats for the autoresponder.

GreenArrow v4.266.0

August 23, 2022
  • GreenArrow will no longer attempt to exceed the limits specified by the sysctl parameter kernel.sem when setting postgres_max_connections. See this document on tuning kernel.sem for more information.

  • Studio: Replacement codes intended for usage by the Autoresponder trigger API can now include a :raw suffix (e.g. %%api:first_name:raw%%) to skip HTML/URL encoding of the replaced content.

  • Fix support for values of /var/hvmail/control/queue.ram.concurrencyremote or /var/hvmail/control/queue.disk.concurrencyremote above int16max (32767).

  • Removed a dead symlink /var/hvmail/apache/htdocs/assets/highcharts.js – this could cause warnings when running hvmail_server_migration.

GreenArrow v4.265.0

August 9, 2022
  • Studio: Adding addresses to a suppression list when they already exist is no longer a validation error. This will not produce duplicate records.

  • Improvements to the Event Notification System’s automatic table bloat cleaner.

  • Added a new configuration directive disable_automatic_shrink_events_table to disable the Event Notification System’s automatic table bloat cleaner.

  • Update language when deleting mailing lists to be clear that it will break links in campaigns that have already been sent with click-tracking enabled.

GreenArrow v4.264.0

July 28, 2022
  • Engine: SimpleMH click tracking statistics now consider uniqueness based on click tracking ID, in addition to email address.

  • Studio: Fixed presentation of statistics when all bounces are recorded as remote.

  • Increased the recommendation (or dynamically chosen value) for postgres_max_connections to account for additional configuration parameters that can affect Postgres utilization.

  • The CloudFlare header CF-Connecting-IP is now supported in addition to X-Forwarded-For and Client-IP.

  • The files /var/hvmail/control/studio.trusted_proxy_ips and /var/hvmail/control/opt.engine.trusted_proxy_ips now support CIDR ranges (in addition to specific IP addresses).

  • Add new bounce processor rules.

  • Add support for the Ubuntu 22.04 Linux distribution.

  • Increased the allowed CPU and IO utilization of pre-processing Engine per-campaign statistics (to increase the priority of keeping statistics up-to-date).

  • Reverted default of dkim_sign_canonicalization_mode to be “relaxed” because we found that “simple” could cause an impact on deliverability in rare cases.

  • Studio: Fixed an issue that could prevent suppression lists from being deleted when referenced by segments on deleted mailing lists.

GreenArrow v4.263.0

July 19, 2022
  • Added a new configuration directive override_smtp_result for overriding the SMTP result of a remote delivery using a regular expression.

GreenArrow v4.262.0

July 11, 2022
  • Studio: Fixed an issue where quickly pausing and resuming a campaign with a slow sending speed could result in the campaign still being in a paused state.

GreenArrow v4.261.0

July 5, 2022
  • Added a new command greenarrow engine_clicks_opens_delete for deleting old Engine clicks and opens data.

  • Studio: Added ability to delete subscribers via the UI and API.

  • Studio: Introduced a new configuration directive to prevent the deletion of subscribers:
  • Performance boost to injection and delivery.

  • DKIM signing now by default uses “simple” canonicalization instead of “relaxed”. The following configuration directive is available to override this behavior.

GreenArrow v4.260.0

June 23, 2022
  • Introduced several new configuration directives that control how messages are written to the disk queue.
  • The following undocumented configuration files have been replaced by the directives listed above.
    • /var/hvmail/qmail-ram/control/rspawn-limiter.msgmover.maxmessages
    • /var/hvmail/qmail-ram/control/rspawn-limiter.msgmover.maxtime
    • /var/hvmail/qmail-ram/control/rspawn-limiter.msgmover.maxprocs
  • The following documented configuration file has been replaced by the disk_queue_writer_fsync directive listed above.
    • /var/hvmail/control/opt.queue_no_fsync
  • If any of the above configuration files were in a non-default state, an entry setting the overrided value will be added to /var/hvmail/control/greenarrow.conf when you run hvmail_migrate migrate.

  • The default value for disk_queue_writer_concurrency is changing from 5 to 20. This may help performance for systems with large amounts of messages that are written to the disk queue. The value of 20 works much better for SSDs, which most installations of GreenArrow use. Spinning magnetic media hard drives might get better performance with lower values.

  • Studio: Added an appropriate error when attempting to make non-global a suppression list which is used by the system configuration for automatic suppression.

GreenArrow v4.259.0

June 15, 2022
  • Added a new configuration directive simplemh_generate_click_tracking_id for automatically generating a click tracking ID in SimpleMH.

  • Studio: Added an alt="" attribute to the Google Analytics image tags.

  • Studio: Fixed an issue where %%subscriber_id%% would not be replaced in Google Analytics image tags.

GreenArrow v4.258.0

May 24, 2022
  • Fixed an error when clicks or opens did not include a user agent.

  • Updated the hvmail_snapshot_stats command to not require PATH to be set.

  • Reduced memory utilization of SimpleMH when injecting exceptionally large messages.

GreenArrow v4.257.0

May 9, 2022
  • Update default throttling template to include RoadRunner for new installations.

  • Fixed issue where SimpleMH would encode trailing whitespace into click tracking URLs, instead of stripping it.

  • Add new bounce processor rules.

GreenArrow v4.256.0

April 28, 2022
  • Studio: Fixed an issue where the responsive editor’s button components did not do click tracking when clicked in Microsoft Outlook.

  • Studio: Added semicolons as a supported subscriber import delimiter (in addition to commas and tabs).

  • Added support for TLS 1.2 connections to MS-SQL server in the event processor.

GreenArrow v4.255.0

April 14, 2022
  • Engine: Fixed a UI issue where new routing rules did not contain a default blank entry.

  • Studio: Fixed an issue where the “Portion” segmentation rule did not accept floating point numbers for the upper and lower bound over the API.

  • Engine: Fixed an issue with updating certain throttling rules from the command line.

GreenArrow v4.254.0

March 24, 2022
  • Prevent injection of emails using qmail-inject, SMTP, and HTTP Submission API to email addresses with blank localparts.

  • Permit List-Help in custom headers in both Studio and SimpleMH.

  • The Event Notification System will now automatically free up table bloat from the events queue table.

GreenArrow v4.253.0

March 1, 2022
  • studio_open and engine_open events now include an is_privacy_open attribute.

  • Studio: Added ability to segment on whether or not an open was a privacy or non-privacy open.

  • Studio: Added ability to segment on Autoresponder opens.

GreenArrow v4.252.0

February 24, 2022
  • Added a new command greenarrow print_disk_queue for viewing what’s currently in the disk queue.

  • Introduced a new configuration directive engine_time_zone for setting the time zone in Engine. This replaces a variety of other mechanisms for configuring the time zone in Engine.

  • Added a new configuration directive dkim_sign_ignore_header to skip selected headers when DKIM signing.

  • Improve warnings issued by greenarrow_config when the number of Postgres connections configured doesn’t line up with the number of connections that may be required.

GreenArrow v4.251.0

February 17, 2022
  • Studio: Introduced a new field on the Subscribers API apply_custom_field_defaults to allow API users to take advantage of custom field default values.

  • Studio: Fixed an issue where subscriber imports could leave temporary data behind permanently, leading to bloat in GreenArrow’s internal Redis server.

GreenArrow v4.250.0

February 16, 2022
  • Studio: Fixed an issue where subscriber imports that use the “deactivate subscribers not in import” feature could become stuck and not complete.

GreenArrow v4.249.0

February 15, 2022
  • Improved the suppression list search tool to allow for deleting suppressed addresses, making it easier to find and remove addresses from suppression lists.

  • The mailbox password is no longer included on Engine’s Mailboxes API. This may break some integrations.

  • Added the configuration directive mailbox_password_encoded to avoid putting raw passwords into greenarrow.conf.

  • Allow Studio campaigns to scheduled with zero recipients. Campaigns that send to zero recipients will also not send to its seed lists.

  • Fixed an error in our legacy support for EDM Designer, restoring operation.

  • Added new configuration directives replace_content_domain_applies_to_from_domain and replace_content_domain_applies_to_reply_to_domain.

GreenArrow v4.248.0

February 1, 2022
  • Added privacy protection statistics to the Autoresponders API.

  • Speed improvements to segment creation on systems with many historic campaigns.

  • Prevent an issue where a slow loading segment could be overwritten if the user clicks on “Use this segment” before the segment loads.

GreenArrow v4.247.0

January 27, 2022
  • The SimpleMH click and open tracking domain can now optionally be specified using the X-GreenArrow-URL-Domain header.

  • Studio: Add whether an open was a privacy open to the subscriber activity screen.

  • Numeric custom fields will now be presented to Studio Special Sending Rules as integers (instead of a string containing an integer). This fix is to eliminate a difference between what the SSR “Preview” shows and what the SSR actually receives when sending a campaign.

GreenArrow v4.246.0

January 12, 2022

GreenArrow v4.245.0

December 21, 2021
  • Update third-party software that ships with GreenArrow:

  • Routing rule interfaces will no longer reorder when editing in the user interface.

  • The “b” format is now the default click and open tracker URL format for X-GreenArrow-Tracker-Format. We discovered that the “b” format receives fewer bot clicks than the old default “a” format.

    This can be overrided globally using the /var/hvmail/control/opt.simplemh.tracker_format configuration file (see the link above for more information).

GreenArrow v4.244.0

December 15, 2021
  • Fix alignment of new message lines in Engine dynamic delivery charts.

  • Added queue files that were previously generated at the time of installation to the RPM / Debian packages.

  • Fixed an issue when images with the same name were deleted and re-uploaded in the responsive content editor.

GreenArrow v4.243.1

December 3, 2021
  • Fixed an issue with delivery attempt logs and events when the system clock was very far in the past.

GreenArrow v4.243.0

November 23, 2021
  • Add an option pipe_command to the Delivery Attempt Log. This is used to deliver delivery attempt logs to a program instead of (or in addition to) a file.

  • Fixed incorrect reporting in Engine of “Recipients Clicked (Unique Clicks)”.

  • Added privacy protection statistics to Studio’s “Download Overview CSV” stat report.

  • Reliability improvement in first delivery attempt queueing that addresses a rare corner-case.

  • Added support for greenarrow_status apache_status when /var/hvmail/control/httpd.listen is configured to a port other than 80.

  • Fixed a broken path to a loading animation in Engine’s user interface.

GreenArrow v4.242.0

November 5, 2021
  • Updated default throttling template on new installations to use MX throttling.

  • Studio: Added two new replacement codes %%data_url_domain%% and %%data_url_domain_with_protocol%%.

  • Fixed an erroneous warning printed by greenarrow_config when replace_content_domain and disable_validating_domain_in_tracking_security are used together.

  • Allow Content-Type to be application/json; charset=utf-8 in the HTTP Submission API.

  • Update third-party software that ships with GreenArrow:

    • Apache from 2.4.48 to 2.4.51
  • Fixed an issue with old disk-queue messages where they could get stuck in the queue when the internal message ID exceeded 32-bit integers. Any such messages will either send or expire once GreenArrow is upgraded to this release.

  • Fix position of popup in Engine’s “SMTP Server Stats” screen. It was appearing very low on the screen, impacting smaller screen sizes.

  • New installations of GreenArrow now have starttls_use enabled by default.

  • If you haven’t edited your greenarrow.conf, you will get the new default version of this file with starttls_use enabled.

  • GreenArrow recommends enabling starttls_use if you haven’t already done so. This is done with the following configuration directive:

    ip_address * {
      domain * {
        # Use STARTTLS when it is available.
        starttls_use yes
      }
    }
    

GreenArrow v4.241.0

October 19, 2021

GreenArrow v4.240.0

October 14, 2021
  • Added support for throttling and delivery configuration based upon the resolved MX hostname. See the domain configuration directive or Throttling more information.

  • Added a **super** ip_address context for overriding all other configuration that would otherwise apply to a delivery attempt.

  • All delivery attempts now perform an MX lookup on the recipient domain - even when routing through a relay server. This is done in order to support the mx: syntax in throttling and routing rules.

  • The delivery_override directive now accepts an optional second argument for customizing the message that will appear in the delivery attempt log.

GreenArrow v4.239.0

October 5, 2021
  • Added a new table to Engine and Studio statistics that breaks down opens between “All subscribers”, “Subscribers using privacy features”, and “Subscribers not using privacy features”.

    This is intended to help with the impact of privacy features such as iCloud+ Private Relay and Mail Privacy Protection. Privacy features, when enabled, can automatically load and cache all images in a recipient’s incoming email – including tracking pixels. Additionally, when the email is actually read, no images are loaded from the server but instead served from this cache. This has the effect of artificially inflating open rates.

    The new table will enable you to see an open rate that is roughly comparable to current open rates (that is, the unique open rate for “Subscribers not using privacy features”).

GreenArrow v4.238.0

September 30, 2021

GreenArrow v4.237.0

September 28, 2021
  • GreenArrow now includes the domain name in the anti-tamper protection in links created for click tracking, to prevent abuse of the link redirector service. Anti-tamper protection detects if the destination URL, the subscriber, or campaign details are tampered with, and returns an error to the user if the link was modified.

    Including the domain name in anti-tamper protection is useful for email service providers, where one customer could send a link to themselves, capture that link, modify it to use a different domain name belonging to the ESP or another of the ESP’s customers, and then send spam using the modified link – hijacking a domain’s reputation to which they were never supposed to have access.

    This release closes this loophole and helps to protect domain reputation.

  • Added the configuration directive disable_validating_domain_in_tracking_security to disable this behavior.

  • Added the configuration directive disable_validating_all_tracking_security which is intended for use when debugging issues related to proxy servers or load balancers in front of GreenArrow as a result of the new domain security enforcement.

  • WARNING Proxy servers or load balancers in front of GreenArrow must provide the X-Forwarded-Host header which advises click and open tracking the originally requested domain name by the client. If you use a proxy server or load balancer in front of GreenArrow, please read this section of our HTTP Server documentation before upgrading.

  • WARNING If you use the configuration directive replace_content_domain, you must also enable disable_validating_domain_in_tracking_security in order for click and open tracking links to function properly.

GreenArrow v4.236.0

September 23, 2021
  • Fixed an issue that could cause the ram-queue to be filled, causing message injection to fail.

  • Fixed an issue where Studio was not using the “default” key in the bounce processor configuration – this caused Studio bounces to not apply custom bounce processor configuration properly.

  • Fixed an issue where delivery to domains with malformed MX records would defer instead of using available valid MX records.

  • Restored missing “Subscriber Clicked Any Campaign/Autoresponder” segment option.

  • Add new bounce processor rules.

GreenArrow v4.235.1

September 20, 2021
  • Fixed an error in Studio’s link tracking. This error could cause multiple links (in GreenArrow’s database) to be created for the same URL, resulting in incorrect reporting and segmentation of subscriber clicks.

  • Fixed an issue that caused the “View” button in the campaign content editor to not work with Remote Lists.

  • Fixed an issue that would cause GreenArrow to not start up automatically after a reboot on Debian when installed on a separate partition.

GreenArrow v4.235.0

September 16, 2021
  • Add new bounce processor rules.

  • Corrected the presentation of GreenArrow’s license type in Studio’s “System Configuration” page (next to the version number). Servers with older license keys will not show the previously incorrect value. New license keys will show the correct license type.

GreenArrow v4.234.2

September 8, 2021
  • Fixed an issue where if SimpleMH was configured with $CLICKTHROUGH_URL ending in /click.php instead of /click the List-Unsubscribe header tag would be generated incorrectly. This fix is backward compatible with the incorrect links that were sent.

  • Add new bounce processor rules.

GreenArrow v4.234.1

September 1, 2021
  • Internal changes for GreenArrow Cloud.

GreenArrow v4.234.0

August 31, 2021
  • SimpleMH now supports multiple click and open tracker URL formats. See the X-GreenArrow-Tracker-Format documentation for more information.

  • Fixed an error in reporting of the disk queue size by greenarrow disk_usage when the disk queue is heavily used.

  • Studio: Added support for autoresponders in both the “Subscriber Clicked Campaign” (now labeled as “Subscriber Clicked Campaign/Autoresponder”) and “Subscriber Clicked Link” clauses.

GreenArrow v4.233.1

August 24, 2021
  • Fixed an issue where a queue was not flushed and a small percentage of messages could be lost in specific configurations.

GreenArrow v4.233.0

August 18, 2021
  • Internal changes for GreenArrow Cloud.

GreenArrow v4.232.0

August 17, 2021
  • Added a new delivery_paused configuration directive. This is also available on the UI and API. This configuration will cause deliveries from a specific IP address to be paused in a fashion similar to the effect of pausing deliveries of individual sends in Engine’s UI.

  • Reduced GreenArrow’s CPU utilization when the disk queue has been idle for a long period of time.

GreenArrow v4.231.0

August 10, 2021
  • Added a new configuration directive replace_content_domain for changing domain names in content at the time of delivery based upon the IP Address or Relay Server used for delivery. See our documentation about this feature for more information.

  • Studio will now send remaining seeds “as fast as possible” once all campaign recipients have been sent. This fixes an edge case where you could pause a campaign after it had sent to all recipients (excluding seeds), leading to the campaign crashing.

GreenArrow v4.230.5

August 4, 2021
  • Fixed an issue in Studio’s TinyMCE editor where the “Campaign Images Browser” would spin forever after uploading a new image.

GreenArrow v4.230.4

August 3, 2021
  • Fixed an issue regarding migrations when upgrading from very old versions of GreenArrow. Previously individual migrations might call greenarrow_config reload; instead, this is now performed automatically after hvmail_migrate migrate is run.

GreenArrow v4.230.3

August 2, 2021
  • Fixed an issue where the GREENARROW_LOG_SMTP_COMMANDS debug logging option on SMTP services would cause all authenticated incoming SMTP sessions to fail.

GreenArrow v4.230.2

July 31, 2021
  • Fixed a UI error when viewing IP addresses and no settings were present in greenarrow.conf.

GreenArrow v4.230.1

July 28, 2021
  • Added an option file /var/hvmail/control/opt.simplemh.debug to enable more detailed logging in the SimpleMH service.

  • Fixed a bug in the suppression list user interface where you could errantly get a “Mailing List cannot be set” error.

GreenArrow v4.230.0

July 27, 2021
  • SimpleMH will now always report the user agent of clicks and opens in the engine_click and engine_open Events. This was formerly controlled by the value of the /var/hvmail/control/opt.simplemh_tracking_include_user_agent file.

  • Marketing Studio will now report the user agent of clicks and opens in the studio_click and studio_open Events.

  • Added a new synchronous attribute on bounce_all Events.

  • Studio: Add a new type of suppression list that is not applied by default. See our Suppression List documentation for more information.

  • Studio: Add a segmentation criteria “Not In Suppression List” that can be used to segment on the new type of suppression list.

  • Increased the number of open files that Passenger may open. This resolved an issue where the web interface could display “Internal server error” instead of the requested content when under a high load.

  • Added support for RFC 8058 (List-Unsubscribe-Post) three ways.

    • SimpleMH: Added support for a X-GreenArrow-List-Unsubscribe-HTTP-URL-Post header.

      • If you are specifying a HTTP/HTTPS URL to be used in the List-Unsubscribe header by using the X-GreenArrow-List-Unsubscribe-HTTP-URL header, then you can now also specify the value of the List-Unsubscribe-Post header by adding a X-GreenArrow-List-Unsubscribe-HTTP-URL-Post header.
      • The value of X-GreenArrow-List-Unsubscribe-HTTP-URL-Post will set the List-Unsubscribe-Post header in the final message.
      • If X-GreenArrow-List-Unsubscribe-HTTP-URL is not specified, this header will not be used.
    • SimpleMH: If X-GreenArrow-List-Unsubscribe-HTTP-URL is not specified, an HTTPS unsubscribe link will be added to List-Unsubscribe automatically.

      • Previously, the List-Unsubscribe header added by SimpleMH included only a mailto address.
      • Now, the List-Unsubscribe header added by SimpleMH will also include an HTTPS unsubscribe link and a List-Unsubscribe-Post header will be added as well.
      • That unsubscribe link requires confirmation unless a POST is issued to it.
    • Marketing Studio: All email sent from Marketing Studio will now include the List-Unsubscribe-Post header.

      • This header enables one-click unsubscribe workflows in some email readers.
      • Previously, Marketing Studio’s unsubscribe page never required confirmation when using the HTTPS unsubscribe link found in the List-Unsubscribe header. With this release, a confirmation click will be required if the user has JavaScript is disabled.

GreenArrow v4.229.1

July 13, 2021
  • Fix an issue introduced in v4.228.2 where in Engine’s “SMTP Server Stats” tab, the popup of Failure messages failed to dismiss.

GreenArrow v4.229.0

July 13, 2021
  • Add support for the Ubuntu 20.04 Linux distribution.

  • Add the hvmail_snapshot_stats command which, records system statistics snapshots for GreenArrow support.

  • Make the hvmail_unmanged_backup command ignore sockets recently added to GreenArrow. Before this release, the new sockets caused the script to print two harmless socket ignored notices.

GreenArrow v4.228.3

July 6, 2021
  • Make the permissions of the /var/hvmail/studio/gems directory more restrictive.

  • Update PHP from 7.3.28 to 7.3.29.

GreenArrow v4.228.2

July 1, 2021
  • Fixed a visual issue in the Engine “sends” page where a long send name could cause the table to appear broken.

  • Performance optimization to the “Distribute Unsubs / Bounces / Spam Complaints” feature.

  • Upgrade jQuery to 3.6.0

GreenArrow v4.228.1

June 28, 2021
  • Update third-party software that ships with GreenArrow:

GreenArrow v4.228.0

June 16, 2021
  • GreenArrow now supports version 1 of HAProxy’s PROXY Protocol for SMTP delivery. This is configured with the proxy_server directive. See the Proxy Protocol documentation for more information.

  • The “SMTP Server Stats” each-message report can now be filtered by the SMTP result code.

  • Fix an issue where messages injected while the GreenArrow MTA is being restarted could show up twice in statistics.

  • Fixes in preparation for an upcoming conversion of subscriber IDs to be 64-bit integers.

GreenArrow v4.227.3

June 9, 2021
  • Add a missing package to dependencies: shared-mime-info

GreenArrow v4.227.2

June 9, 2021
  • Eliminate the fade-on-hover effect on the dynamic delivery charts.

  • Fixed an issue that could cause autoresponders to send duplicate messages.

GreenArrow v4.227.1

June 7, 2021
  • Fixed an issue introduced in v4.227.0 which caused some SMTP log messages to be logged incorrectly.

GreenArrow v4.227.0

June 1, 2021

GreenArrow v4.226.1

May 12, 2021
  • Reduce memory requirements of downloading Marketing Studio campaign/autoresponder statistics.

GreenArrow v4.226.0

May 11, 2021

GreenArrow v4.225.0

May 3, 2021
  • Fix a bug that prevents the default HTTPS VirtualHost from loading the intermediate certificate specified by tls_certificate_files.

  • The control file /var/hvmail/control/opt.simplemh_tracking was previously an undocumented feature that enabled both /var/hvmail/control/record_events.simplemh.open and /var/hvmail/control/record_events.simplemh.click. This file has been removed. If the file was enabled, the two individual control files will be turned on.

  • /var/hvmail/bin/logdir_select_time now supports LZOP compressed log files.

  • Fix an issue with GreenArrow Docker integration where initialization of new volumes would fail on recent releases.

GreenArrow v4.224.0

April 19, 2021
  • Expand the ability to import and export throttle rules on the command line to support Throttle Templates. Previously, only throttle rules assigned to specific IP addresses could be imported and exported.

  • Remove the “Fullscreen” menu option when TinyMCE is launched from the campaign editor. That editor is already fullscreen and using it caused a graphical glitch.

GreenArrow v4.223.0

April 13, 2021
  • GreenArrow has a new disk-queue. This disk-queue uses a new data format. Your existing queue will be automatically converted to the new format. If you run into trouble and choose to downgrade, follow the downgrade instructions here.

  • Messages will no longer receive a final delivery attempt after expiring. Instead, the expiration time is compared to the next retry time after each delivery attempt. If the next retry time is beyond the expiration time, the message is treated as expired and bounces.

  • Added retry_time directive for overriding the retry time of messages on a per-VirtualMTA and/or per-domain basis. Using this directive, you can specify your own retry schedule.

  • Added queue_lifetime directive for overriding how long messages will be retried on a per-VirtualMTA and/or per-domain basis.

  • Fix a bug that caused hvmail_report’s processed logfile format to omit the SendSliceID field unless the --human option was used. This could break compatibility for integrations depending on the order of hvmail_report’s output of the last 3 fields (SendSliceID, throttleid, and clicktrackingid).

GreenArrow v4.222.0

March 22, 2021
  • Update the SMTP sink service to use GreenArrow Sink. This change speeds up the sink service. The sink no longer delays delivery by 1 second.
  • Studio: Fixed an issue causing Special Sending Rule previews to falsely claim a URL domain or bounce email was deleted.

GreenArrow v4.221.0

March 19, 2021
  • Internal changes for GreenArrow Cloud.

GreenArrow v4.220.2

March 17, 2021
  • Studio: Campaign attachments will now have the correct Content-Type set for Microsoft Office documents.

GreenArrow v4.220.1

March 12, 2021
  • SimpleMH: Fixed an issue where HTML entities that don’t end in semicolons would be decoded when click tracking. For example, HTML with a link to http://example.com/?a&reg=123 would be decoded as http://example.com?a®=123. HTML entities now must end in a semicolon to be decoded.

  • Engine: Fixed an issue in the event processor where a remote database connection that has encountered an error would continue to be tried.

GreenArrow v4.220.0

March 8, 2021
  • Add a new soft bounce rule to the bounce processor.

  • Update third-party software that ships with GreenArrow:

GreenArrow v4.219.0

February 23, 2021
  • Add a tool for viewing the remote connections that are currently open from the MTA. See this documentation for more information.

  • Engine: Update the HTTP Submission API to allow setting a custom Date header with the headers hash.

  • Studio: Users can now change their default campaign HTML editor. This option does not affect existing campaign contents. See our user documentation for more information.

  • Engine: Make the hvmail_init status command report on the disk-queue’s ok file status. It previously only reported that file’s status for the ram-queue and bounce-queue.

  • Studio: Updated SQL used by some segmentation criteria that could lead to slow starts to campaigns.

GreenArrow v4.218.0

February 1, 2021
  • Fix a configuration issue that could allow anonymous FTP logins if the /var/ftp/ directory exists.

  • Engine: smtpd services will now log a message that looks like this when it cannot parse AUTH input:

    smtpd: smtp-auth authentication failure from (HOST) for username (unknown) with reason (malformed auth input)
    

  • Fixed an issue where some DKIM keys may not be used for signing.

GreenArrow v4.217.0

December 22, 2020

GreenArrow v4.216.0

December 14, 2020
  • Added new columns to the Campaign Statistics Index export file:
    • Campaign ID
    • Subject (newline separated when more than one is present)
    • Accepted
    • Total Renders / Opens
    • Total Render / Open rate
    • Total Clicks
    • Total Clicks rate
    • Segment (if a named segment was used)
  • Added the number of “Accepted” messages to Studio’s statistics index.

  • Fixed an issue wherein GreenArrow’s “Received:” header could simply be written as “Received: from unknown”.

GreenArrow 4.215.0

December 4, 2020

GreenArrow 4.214.0

December 3, 2020
  • GreenArrow can now run in SELinux permissive mode. Before this release, SELinux had to be disabled. SELinux enforcing mode remains unsupported.

  • Upgrade GreenArrow’s version of Highcharts to the latest release - 8.2.2.

GreenArrow 4.213.0

November 24, 2020
  • Upgrade TinyMCE to the current release (5.5.1).

  • Updates to the following third-party software that ships with GreenArrow:

GreenArrow 4.212.0

November 17, 2020
  • Studio: Anniversary autoresponders in Studio were using their delay settings inverted of what was intended. So if you have an anniversary autoresponder set to send “2 days before at 6pm”, it would actually send “2 days after at 6pm” (the reverse is also true - so “4 days after at 12pm” would be treated as “4 days before at 12pm”). This behavior has been fixed.

    See GreenArrow Updates for information on updating existing autoresponders to maintain the old behavior.

  • Studio: Fixed an issue that could cause subscriber import deactivations to take an exceptionally long time.

  • Engine UI: Reword “SMTP Deferral Percentage” to be “SMTP Deferral+Failure Percentage”. The functionality has not changed - we’ve updated the label to better reflect the existing behavior.

  • Engine UI: Dynamic delivery charts date ranges should now be more accurate and reliable. Previously there was a mix of web browser and server time zones being used; now the charts use only the server time zone.

  • Engine/Studio: Fix a bug that caused the default HTTPS TLS certificate to take precedence over httpd.ssl.listen entries that did not specify a server name.

  • Upgrade TinyMCE to the current release (5.5.1).

GreenArrow 4.211.0

November 10, 2020
  • Updated the Mailing List, Templates, and Campaigns tables so that each column can be used to sort the table.

GreenArrow 4.210.0

October 28, 2020

GreenArrow 4.209.0

August 21, 2020
  • Update GreenArrow’s Docker container support to work with both CentOS 7 and Debian 10. Previously, only CentOS 7 was supported. See our drhinternet/greenarrow-docker Github repository for more information on how this beta feature works.

  • Updated the remote list retry schedule. Formerly, connections to remote list databases would get a total of 3 attempts in quick succession prior to marking the campaign as failed. The new retry schedule will make a total of 11 attempts with 30 seconds between each attempt.

  • Fix an issue that could cause Studio campaigns to fail with links longer than 2,712 bytes.

GreenArrow 4.208.0

August 17, 2020
  • Added a new configuration option to the Event Processor that allows events to be delivered to HTTP endpoints as JSON, instead of form data. The option use_json_for_http_post can be set globally or on individual event destinations.

GreenArrow 4.207.0

August 4, 2020

GreenArrow 4.205.0

July 29, 2020
  • New segmentation criteria - “Date Deactivated” - this allows you to find subscribers that were deactivated on a specific date (or date range). See the Segmentation Builder documentation for more information.

GreenArrow 4.204.1

July 28, 2020
  • Fix an issue introduced in GreenArrow 4.203.0. An interaction between throttle limits and connection reuse could cause some throttle groups to lock up, causing delivery attempts to that throttle group to stop.

  • Support for installing GreenArrow in Docker is now in beta. See our drhinternet/greenarrow-docker Github repository for more information on how this works.

GreenArrow 4.204.0

July 28, 2020
  • You can now save custom rows for reuse in our responsive content editor. Custom rows are associated with a single mailing list, but can easily be used for campaigns on other lists. Read more in our content editor documentation.
    • You must access Studio via HTTPS in order to use custom rows.

GreenArrow 4.203.0

July 23, 2020
  • The criteria for outgoing SMTP connection reuse has changed.

    The previous behavior only reused connections when the domain of the recipient email address matched an available connection’s domain.

    The new behavior reuses connections when all of the following are true:

    • The recipient’s domain is part of the same throttle rule in GreenArrow as an available connection’s original recipient domain.
    • The destination IP of the available connection matches at least one IP of the MX record returned by the recipient’s domain.
    • The TLS status of the connection meets the requirement of the starttls_use and starttls_require directives.

    This allows for more connection reuse.

GreenArrow 4.202.2

July 16, 2020
  • When creating new IP addresses, if there is exactly one throttling template, it will be selected as the default when the form loads.

GreenArrow 4.202.1

July 9, 2020
  • Fix a bug that could allow GreenArrow Engine web interface users with a -statsonly suffix to view non-stats pages in GreenArrow’s web interface.

GreenArrow 4.202.0

July 8, 2020
  • Add support for triggering Studio Anniversary Autoresponders with global custom fields.
  • Update GreenArrow’s packages to mark them as providing email related capabilities. This corrects a bug introduced in GreenArrow 4.200.0, where these markers were removed.
    • For Red Hat-based Linux distributions, the markers restored are: /usr/sbin/sendmail, MTA, and smtpdaemon
    • For Debian-based Linux distributions, the marker restored is: mail-transport-agent
  • Sending the alarm signal to the disk-queue (svc -a /service/hvmail-disk-qmail-send) now causes all queued messages in the disk-queue to be retried. This speeds up dumping messages from the disk-queue.
  • Dynamic Delivery charts will no longer show an error regarding falling behind on new installations of GreenArrow.

GreenArrow 4.201.0

June 24, 2020
  • Added an option https_verify_peer to the Event Processor configuration. This option allows you to disable HTTPS certificate verification during event delivery.

  • Added an option https_client_certificate to the Event Processor configuration. This option allows you to set an HTTPS client certificate to be included event delivery to HTTPS destinations. This is useful if the destination server requires client certificate authorization.

  • The list of trusted Certificate Authorities used by the Event Processor has been updated.

  • Added an option commit_batch_size to the Event Processor configuration. This option can provide increased event delivery performance.

  • New configuration directive lets_encrypt_registration_server. This lets you override the Let’s Encrypt registration server, useful for testing without impacting your Let’s Encrypt Rate Limits.

  • Increased frequency of event delivery, leading to a significant increase in the Event Processor’s throughput.

  • A new value (mtaid_exists) is available to custom code that’s run during delivery attempts.

GreenArrow 4.200.1

June 15, 2020

GreenArrow 4.200.0

June 1, 2020
  • Unified GreenArrow Engine and GreenArrow Studio into a single “greenarrow” package
  • Unified GreenArrow’s miscellaneous non-Engine and non-Studio packages into a single “greenarrow-support” package
  • Reduced the disk space requirements of GreenArrow packages

Before GreenArrow version v4.200.0, Engine and Studio maintained separate changelogs. Refer to the Historic Engine Changelog or the Historic Studio Changelog for those versions


Copyright © 2012–2024 GreenArrow Email