GreenArrow Updates
- Table of Contents
- Updates for Cloud Customers
- Updates For On-Premise Customers
- Update Prerequisites
- Update Procedure
- Version-Specific Steps
We release updates to GreenArrow periodically. You can see the currently available releases at any time by viewing the GreenArrow Changelog.
Updates for Cloud Customers
We update the majority of our Cloud Customers about once a month. The updates typically occur in the first few business days of the month.
Updates For On-Premise Customers
On-Premise customers can either ask GreenArrow technical support to perform updates for them or perform updates on their end by following the instructions in this document.
Update Prerequisites
If you choose to perform the update yourself, then note well that the GreenArrow update procedure has the following prerequisites:
-
You must have an experienced Linux systems administrator who can execute the update procedure.
-
Software packages that are not included with GreenArrow (i.e., software libraries and packages installed with and/or to augment the operating system) should be updated before attempting to update GreenArrow.
-
The file
/var/hvmail/bin/greenarrow_blockersmust exist, and when executed, it must output text telling you that it’s safe to proceed with the update. This is described in more detail in step 6 of the update procedure below.
GreenArrow software updates often times have dependencies on current versions of operating system libraries and other software packages. Failing to update these libraries and packages prior to updating GreenArrow can cause GreenArrow to run in a degraded state or not at all.
Update Procedure
This section describes how to update both GreenArrow Engine and Studio.
GreenArrow Engine and Studio have some shared code, so don’t be alarmed if you’re a GreenArrow Engine only customer, and see references to GreenArrow Studio in the output of the commands you run during the update.
GreenArrow has a lot of moving parts, so we recommend reading through the entire update procedure before proceeding, and considering whether the update should be scheduled. Depending on how old your current GreenArrow version is, what hardware is in use, and how much data is present, you can expect anywhere from a few seconds to a few minutes of downtime during most updates.
To update GreenArrow, follow these steps:
-
Login to the GreenArrow server as the
rootuser, or a user with equivalent permissions. -
Verify that you’ve met all the prerequisites described in the previous section, including operating system updates.
-
Identify the version of GreenArrow that you’re currently running.
-
If your current version of GreenArrow is v4.282.0 or later, you can use the
greenarrow infocommand, which will produce the following output:# greenarrow info GreenArrow Version: 4.364.0 (2026-04-09) Persistence Mode: Traditional License Key: [redacted] License Key: Status: current License Key: Expiration: 2026-06-17 License Key: Updates Expiration: 2026-06-17; only licensed to run versions of GreenArrow released on or before this date -
For very old versions of GreenArrow, you can run the following command to view GreenArrow’s version:
rpm -q greenarrow 2> /dev/null || dpkg -l greenarrow 2> /dev/null || rpm -q greenarrow-engine 2> /dev/null || dpkg -l greenarrow-engineThe exact format of the above command’s output depends on what Linux distribution you’re using. As an example, here’s what the output looks like for GreenArrow version 4.200.0 running on a server with AlmaLinux release 9.5:
greenarrow-4.200.0-0.x86_64
Record the version number so that it’s available in the unlikely event that you have to roll back by downgrading.
-
-
Determine the version of GreenArrow to which you want to update by consulting the GreenArrow Changelog. You have two choices here; you can either choose the most recent release of GreenArrow, or if you prefer you can pick a version that is newer than your currently installed version but older than the latest release. We will refer to this second option as an interim version.
-
Read through the Version-Specific Steps section for any extra manual steps which are needed as part of the update process. Complete them at the time indicated. (Step 10 in this procedure.)
-
Check if it’s safe to proceed with the update, and only proceed if the
greenarrow_blockerscommand outputs text telling you that it’s safe to proceed:/var/hvmail/bin/greenarrow_blockersStop here if
greenarrow_blockersreturns anything other than this:It is safe to upgrade this system by following the instructions at: https://www.greenarrowemail.com/docs/greenarrow-engine/Server-Management-and-Backups/GreenArrow-Updates -
If your server’s operating system is a Red Hat variant (e.g. AlmaLinux, Rocky Linux, Amazon Linux, Red Hat Enterprise Linux), ensure that you’ve enabled the additional repositories needed by specific distributions. Failure to do this may result in your package manager reporting that one or more dependencies cannot be installed.
You can check what repositories you have configured by running:
yum repolist allHere are the repositories needed, broken down by Linux distribution. If any of these repositories are missing, see the Installation Guide for reference on installing them before proceeding with upgrade.
crb epel powertools Alma Linux 8 — Yes Yes Alma Linux 9 Yes Yes — Alma Linux 10 Yes Yes — Rocky Linux 9 Yes Yes — Rocky Linux 10 Yes Yes — Red Hat Enterprise Linux 8 Yes Yes — Red Hat Enterprise Linux 9 Yes Yes — Red Hat Enterprise Linux 10 Yes Yes — Amazon Linux 2 — Yes — -
Update GreenArrow’s packages.
For RedHat variants
If you want to update to the most recent release, run this command:
If you want to update to an interim version, run this command, replacing VERSION with the desired GreenArrow version, such as 4.361.0:yum --enablerepo=greenarrow update greenarrowyum --enablerepo=greenarrow update greenarrow-VERSIONFor Debian systems
-
Enable GreenArrow’s package repository:
sed -e '/greenarrow main/ s/^#*//' -i /etc/apt/sources.list.d/greenarrow.list -
Install the updated packages:
If you want to update to the most recent release, run this command:
apt-get update && apt-get --only-upgrade install greenarrowIf you want to update to an interim version, run this command, replacing VERSION with the desired GreenArrow version, such as 4.361.0:
apt-get update && apt-get --only-upgrade install greenarrow=VERSION -
Disable GreenArrow’s package repository to prevent accidental updates in the future:
sed -e '/greenarrow main/ s/^#*/#/' -i /etc/apt/sources.list.d/greenarrow.list
-
-
Run the following command to ensure that your configuration file is compliant with the new version you’ve installed:
greenarrow config validateIf any issues are reported by this command, fix them and run this command to apply them:
greenarrow config reload -
Run automated post-update steps. This step normally takes anywhere from a few seconds to a few minutes to complete:
greenarrow update -
Complete any post-update steps that you noted after reading through the the Version-Specific Steps section.
-
Verify that some common misconfigurations are not present. Each test gets a simple pass/fail result:
hvmail_check_config -
Verify that all services are running normally. Any services with an abnormal state are shown in red:
greenarrow service status -
Send yourself a test email (replacing [email protected] with your actual email address):
date | /var/hvmail/bin/mailsubj "GreenArrow Test Message" [email protected]
That’s it! You’re now finished updating GreenArrow to your desired version.
If you run into a problem and need to downgrade, then see the GreenArrow Downgrades doc.
Version-Specific Steps
The following table is in ascending chronological order. Please begin reading through it at the first release listed which comes after your currently installed version and work your down. Here are two examples:
-
If you have GreenArrow Engine 4.1.234-0 installed and you’re updating to GreenArrow Engine version 4.1.273-0 then there are no version-specific steps to complete.
-
If you have GreenArrow Engine 4.1.217-0 installed, then you would begin with the upgrade instructions for 4.1.226-0.
All steps in this table should be completed before updating GreenArrow’s packages unless otherwise indicated:
|
4.1.216
April 18, 2018 |
This update introduces the greenarrow.conf configuration file. If GreenArrow’s Apache or PostgreSQL installation has a customized configuration, then one or more configuration directives may need to be moved into For this update, please:
|
|
4.1.226
August 16, 2018 |
Starting with this update, the contents of the Before performing this update, please review the contents of your If the new behavior presents a problem, then instead of defining VirtualHosts in |
|
4.1.227
August 31, 2018 |
This release lowers the dynamic defaults for apache_max_clients and passenger_max_requests_in_queue, reducing overall memory utilization to be closer to what it was before the April 2018 release of Engine 4.1.216. If you’re running Engine 4.1.215 or earlier, then your release predates dynamic defaults, so no extra steps are required. If you’re running Engine 4.1.216 or later, then we recommend the following:
The new dynamic defaults are calculated as follows: All systems start with the following: If the system has more than 4GB of RAM and at least 4 CPU cores, those numbers are increased: |
|
4.1.230
September 18, 2018 |
Before installing this update, please check if the If the directory does exist, then you’re using the old command line DKIM configuration system that was replaced in this release. You’ll need to convert any DKIM keys in that directory to a Web or API based DKIM configurations before the upgrade or the new command line system after the upgrade. If the directory does not exist, then no additional steps are required. |
|
4.1.233
October 17, 2018 |
|
|
4.1.274
October 3, 2019 |
Search for non-standard SMTP and QMQP services by running the following command: If the above command produces no output, then only default services are present, so you can ignore the rest of this version’s update instructions. If the above command does produce output, use the following update sequence:
Most GreenArrow installations do not have a QMQP service, so if you receive an error indicating that the |
|
4.1.284
March 13, 2020 |
Before updating to this release, run the |
|
4.200.0
June 1, 2020 |
The following extra steps are required to upgrade to this version or later:
|
|
4.212.0
November 12, 2020 |
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. You can review your anniversary autoresponders by following the procedure below.
If you are confident you have no anniversary autoresponders that would be adversely affected by this change, you can perform a normal upgrade without the above procedure. |
|
4.217.0
December 22, 2020 |
This release adds the greenarrow bounce_recovery tool to enable recovery from erroneous bounce results. We added the tool in response to the December 2020 Gmail outages during which Google generated bounces that indicated valid email addresses were invalid. To restore subscribers that were improperly deactivated because of the Gmail outage, we recommend upgrading to this release or later of GreenArrow, then completing the instructions in the December 2020 Gmail Outages document. |
|
4.222.0
March 22, 2021 |
This release is a Milestone Version. |
|
4.235.1
September 20, 2021 |
This release adds a After running |
|
4.242.0
November 5, 2021 |
This release upgrades Apache to a version that requires a specific system call to be available by the kernel (getrandom). If you’re running a very old kernel, this system call might not be available. To test that you’re not in a bad state, run the following command: It should output simply: If you see something like this, then you need to upgrade your kernel and reboot prior to upgrading GreenArrow: |
|
4.253.0
March 1, 2022 |
This release adds to Studio the ability to segment on whether an open was privacy or non-privacy. In support of this, some extra data needs to be migrated. Run this command to complete the migration: This migration may take several hours to complete, but GreenArrow is fully operational during the migration. |
|
4.293.0
August 24, 2023 |
This release updated GreenArrow’s systemd service file to be more resilient
to non-default system Run this command to effect this change: |
|
4.304.0
December 21, 2023 |
This release adds support for PostgreSQL 16. We recommend Upgrading to PostgreSQL 16 after you’ve upgraded to this release of GreenArrow. Upgrading PostgreSQL is optional for now. PostgreSQL 16 comes with performance enhancements that may speed up your GreenArrow installation. |
|
4.337.0
November 14, 2024 |
This release adds a dependency on the This can be done by installing and troubleshooting the new time synchronization service before upgrading GreenArrow. Intructions to install and troubleshoot the service are listed in this document. |
|
4.354.0
July 17, 2025 |
This release is a Milestone Version. |
|
4.359.0
February 3, 2026 |
This release is a Milestone Version. |
