Skip to main content

Installing & Updating

Requirements

Freeform 5.x support both Craft 5.x and Craft 4.x. It meets mostly the same requirements as listed on the Craft Requirements page.

Craft 5.xNew in 5.1+

  • Craft 5.0.0-beta.1+
  • PHP 8.2.0+
  • MySQL 8.0.17+ using InnoDB, MariaDB 10.4.6+, or PostgreSQL 13+
  • 256MB+ of memory allocated to PHP
  • BC Math and GD PHP extensions
  • Windows and macOS browsers:
    • Chrome 63+
    • Firefox 67+
    • Safari 11.1+
    • Edge 79+

Craft 4.x

  • Craft 4.0.0+
  • PHP 8.0.2+
  • MySQL 5.7.8+ with InnoDB, MariaDB 10.2.7+, or PostgreSQL 10+
  • 256MB+ memory allocated to PHP
  • BC Math and GD PHP extensions
  • Windows and macOS browsers:
    • Chrome 63+
    • Firefox 67+
    • Safari 11.1+
    • Edge 79+

Installation

Freeform can be installed one of two ways:

Install from the CLIRecommended

Freeform can be installed through the CLI:

1

Open your CLI app and go to your Craft project:

cd /path/to/project
2

Then tell Composer to require the plugin:

composer require solspace/craft-freeform -w

To load a specific version, use:

composer require solspace/craft-freeform:5.0.0 -w
3

Install Freeform by running the following command:

php craft plugin/install freeform

OR to install via the Craft control panel, go to Settings → Plugins and click the Cog button for Freeform and select Install.

4

Craft will automatically install the Express edition of Freeform. If you'd like the Lite or Pro edition, you can switch the edition 1 of 2 ways:

Project ConfigRecommended

Open up your Project Config file (/config/project/project.yaml) and/ search for freeform. Where it says edition: express, switch that to edition: pro and then approve the update inside the CP.

   freeform:
- edition: express
+ edition: pro
enabled: true

Control Panel

Click on the EXPRESS / trial button beside Freeform's name and when it takes you to the Plugin Store page, scroll down to the bottom and click on the Try button for the Pro edition (see screenshots below).

5

If Freeform is right for your site, purchase a copy of it through the Plugin Store when you're ready!

Finished!

Install from the Control Panel

1

Go to the Plugin Store area inside your Craft control panel and click on Freeform.

2

Once the product page opens, choose whether you want to install it by clicking the Try button under the Lite or Pro edition.

3

If Freeform is right for your site, purchase a copy of it through the Plugin Store when you're ready!

Finished!

Updating

Freeform uses the Craft Updates Service, which means that every time there's an update available, it'll show up in the Updates area (UtilitiesUpdates) of the Craft control panel. You can then review the changelog there, or view it here.

If you're upgrading from Freeform 4.x, please see the special upgrade guide here.

Freeform can be updated one of three ways:

Update from the CLIRecommended

You can use the Craft update command to update Freeform.

Be sure to back up the database before proceeding.

1

Open your CLI and go to your Craft project:

cd /path/to/project
2

To see available updates, run this command:

php craft update
3

Follow the prompts, or run:

php craft update freeform

To update to a specific version of Freeform, run:

php craft update freeform:5.0.0

Updating from the CLI will look something like this:

[username@Computer site.test % php craft update
Fetching available updates ... done
You've got one available update:

- freeform 5.0.2 => 5.1.6

Run craft update all or craft update <handle> to perform an update.

[username@Computer site.test % php craft update freeform
Fetching available updates ... done
Performing one update:

- freeform 5.0.2 => 5.1.6

Create database backup? (yes no) [yes]:yes
Backing up the database ... done
Performing update with Composer ... done
Applying new migrations ... done
Checking for pending Craft and plugin migrations ...
No new migrations found. Your system is up to date.

username@Computer site.test %
Finished!

Update via Composer from the CLI

You can also update Freeform more manually if you like, using Composer (composer update). This may also be helpful in certain scenarios where you need to workaround an issue while updating.

Be sure to back up the database before proceeding.

1

Open your Craft site's main composer.json file and adjust the version number for Freeform (see guide below).

"require": {
"craftcms/cms": "^5.0.0",
"vlucas/phpdotenv": "^5.4.0",
- "solspace/craft-freeform": "^5.0.0",
+ "solspace/craft-freeform": "^5.3.0",
"solspace/craft-calendar": "^5.0.0"
},
2

Open your CLI app and go to your Craft project:

cd /path/to/project
3

To run any available updates for your site, run:

composer update
4

Proceed to the Craft control panel and click the Finish Updates button if it shows.

OR enter the following command to check for migrations for Craft and all plugins:

php craft migrate/all

OR just perform Freeform migration(s):

php craft migrate --plugin=freeform

Migrating from the CLI will look something like this:

[username@Computer site.test % php craft migrate --plugin=freeform
Checking for pending Freeform migrations ...
Total 1 new migration to be applied:
m230901_143430_ChangeLabelFieldColumnType

Apply the above migration? (yes|no) [no]:yes
*** applying m230901_143430_ChangeLabelFieldColumnType
> alter column label in table {{%freeform_crm_fields}} to text ... done (time: 0.044s)
*** applied m230901_143430_ChangeLabelFieldColumnType (time: 0.054s)

1 migration was applied.

Migrated up successfully.
username@Computer site.test %
Finished!

Update from the Control Panel

Be sure to back up the database before proceeding.

1

Go to the Craft Updates area inside the control panel (UtilitiesUpdates) and review the changelog for Freeform.

2

Simply click the Update button and Craft will do the rest.

Finished!

Disable Freeform

Freeform can be temporarily disabled from the CLI or control panel. The benefit of this is to troubleshoot potential issues and conflicts while preserving your data until a proper fix or change to the site is made.

1

Open your CLI app and go to your Craft project:

cd /path/to/project
2

Disable Freeform by running the following command in your CLI app:Recommended

php craft plugin/disable freeform

OR to disable via the Craft control panel, go to Settings → Plugins and click the Cog button for Freeform and select Disable.

Finished!

Uninstall Freeform

Follow the steps below to uninstall Freeform from your site.

1

Open your CLI app and go to your Craft project:

cd /path/to/project
2

Uninstall Freeform by running the following command in your CLI app:Recommended

This action cannot be undone. All of your Freeform data be will lost forever, unless you have made a backup.

php craft plugin/uninstall freeform

OR to uninstall via the Craft control panel, go to Settings → Plugins and click the Cog button for Freeform and select Uninstall.

3

Then tell Composer to remove the plugin:

Do not remove a plugin package with Composer before uninstalling it from the control panel or with Craft's CLI.

composer remove solspace/craft-freeform
Finished!

Understanding versions and composer update

  • For example, under the "require" area, change "solspace/craft-freeform": "5.0.2", to "solspace/craft-freeform": "5.1.3",.
  • You can also use ~ and ^ to somewhat automate your updating process.
    • 1.0.0 - means exactly & only this version
    • ~1.0.0 - means this version & any patch release (up to 1.0.99̅)
    • ^1.0.0 - means this version & any minor release (up to 1.99̅.99̅)
      • Specifying "solspace/craft-freeform": "^5.0.0", for example, would always get you the latest version of Freeform 5.x (e.g. 5.1.9), but never the next major version of Freeform like 6.x.

Your final composer.json file might have something like this:

"require": {
"craftcms/cms": "^5.0.0",
"vlucas/phpdotenv": "^5.4.0",
"solspace/craft-freeform": "^5.0.0",
"solspace/craft-calendar": "^5.0.0",
},

Getting Latest Unreleased Version

Sometimes you need to update your site to use the latest unreleased changes in the Calendar repository. This could be in the main branch or a temporary fix/feat branch, e.g. v5 or feat/SFT-123.

To access the latest unreleased version of Calendar (v5), you would set the version in your composer.json file to just v5.x-dev and run composer update after. Your final composer.json file might have something like this:

"require": {
"craftcms/cms": "^5.0.0",
"vlucas/phpdotenv": "^5.4.0",
"solspace/craft-freeform": "v5.x-dev",
"solspace/craft-calendar": "^5.0.0",
},

To access an unreleased version from a different branch (e.g. feat/SFT-123), you would prefix the branch with dev- + the exact branch path/name. We also recommend that you run those changes as a "dummy" next version number and append a beta version. For example, if the current released version of Freeform is 5.3.4 and there are new unreleased changes in the feat/SFT-123 branch you want to grab, go up 1 patch version number + -beta.1. In this case, we would assume 5.3.5 was the next version, so we'd create the version number: 5.3.5-beta.1. Altogether, we'd be specifying: dev-feat/SFT-123 as 5.3.5-beta.1. Your final composer.json file might have something like this:

"require": {
"craftcms/cms": "^5.0.0",
"vlucas/phpdotenv": "^5.4.0",
"solspace/craft-freeform": "dev-feat/SFT-123 as 5.3.5-beta.1",
"solspace/craft-calendar": "^5.0.0",
},

If there are more unreleased changes to the repo in the future, you could change -beta.1 to -beta.2 and so on. For example, dev-feat/SFT-123 as 5.3.5-beta.2.

Purchasing

Trialing

Craft allows you to trial third-party plugins to see if they're right for your needs. We recommend trying any commercial plugin first before buying it. You can trial any plugin or Craft CMS itself by running your site from any domain that Craft does not consider to be a public domain.

Purchasing

If this is your first time purchasing a third-party plugin, here's an overview of the purchasing process of plugins. You may purchase licenses for plugins either via the Craft Plugin Store website or directly through the Craft Control Panel. For the latter, here is the process:

  1. Go to the Plugins section of your Craft control panel (Craft CPSettingsPlugins).
  2. For the plugin(s) that need to be purchased, click the Buy Now button to add them to your cart.
  3. Proceed to purchase the plugin directly inside your Craft control panel. If you think you'll need updates and product support beyond the first year, you can optionally pre-purchase renewal years. You can also purchase renewals later after expiry.
  4. Once purchased, the current trial license key for the Freeform will become valid. These product keys can also be accessed and managed later on in your Craft Console account by visiting the Plugins area.

If you encounter any issues with licensing your plugin, please refer to the Troubleshooting guide below.

Renewals

Renewals are not required to continue using Freeform past the one-year term, but they are required if you wish to update to newer versions of Freeform and receive official support from Solspace. Renewals can be set to automatic, or you may also purchase a renewal directly through the Craft Control Panel or via the Craft Console website.

Changing Editions

If you wish to change the edition of Freeform from Lite to Pro (or Pro to Lite while trialling), simply visit the Plugin Store area in the Craft control panel and click on the Try button for the edition you wish to change to. If you've already purchased a copy of Freeform Lite but wish to upgrade to the Pro edition, you can do so for the price difference only ($50).

If using Craft's allowAdminChanges config setting, be sure to temporarily set it to true in order to make changes to the edition (which can be switched back to false afterward).

How to Switch During Trial

If you'd like to switch during the trial from Express or Lite to the Pro edition, you can switch the edition 1 of 2 ways:

  • From Project Config: Open up your Project Config file (/config/project/project.yaml) and search for freeform. Where it says edition: express (or lite), switch that to edition: pro and then approve the update inside the CP.
  • From CP: Click on the EXPRESS / trial (or LITE) button beside Freeform's name and when it takes you to the Plugin Store page and click on the Try button for the Pro edition.

How to Switch After Purchase

If, sometime after purchasing Freeform Lite (or using Freeform Express), you decide that you need more features that are available in the Lite or Pro edition, you can switch at any time for the price difference (e.g. from Lite to Pro would be $50) rather than needing to purchase the Pro edition at full price. We suggest you start by switching to a trial of the Pro edition and then purchase it if it meets your needs. You can switch the edition 1 of 2 ways:

  • From Project Config: Open up your Project Config file (/config/project/project.yaml) and search for freeform. Where it says edition: express (or lite), switch that to edition: pro and then approve the update inside the CP.
  • From CP: Click on the EXPRESS / trial (or LITE) button beside Freeform's name and when it takes you to the Plugin Store page and click on the Try button for the Pro edition.

Once you're ready to complete the purchase, you can visit the Cart inside your site's control panel:

Troubleshooting

Third-party plugin licenses are managed and validated entirely by Craft. Some issues may require that you contact the Craft Team directly if issues persist. The following troubleshooting tips account for the most common issues we've seen our customers report to us:

Error: 'This license is tied to another Craft install'

If you receive the error This license is tied to another Craft install. Visit id.craftcms.com to resolve. it indicates that the license is tied to another install of Craft CMS. This is likely because either you purchased this under a different domain or subdomain, or something glitched in the process of purchasing the license. Regardless of what happened here, this can likely be resolved by:

  1. Visit your Craft Console account.
  2. Under LicensesPlugins, look for the Freeform (or affected plugin) license in the list and confirm it's tied to the correct Craft CMS license. If not, click into the license (e.g. CRZ6) and click on the Detach from this Craft license button. This will release it from being attached to the wrong or orphaned Craft CMS license and allow you to enter it into the Craft install you're using.

If you are moving an existing site to a new non-public domain from a different local hostname, you will need to clear your data caches from the Clear Caches tool on the Settings page before Craft realizes that the hostname has changed.

Error: 'This license isn't allowed to run version X.X.X.'

If you receive the error This license isn't allowed to run version X.X.X., it indicates that you're using a version of the plugin that your license isn't eligible for, which in almost all cases would be a plugin license that expired/finished the 1-year term since the initial purchase. According to Craft's policy (out of Solspace's control), once the plugin license has expired, the current version you have installed is the maximum version you can have. The rationale behind this (according to Craft) is that if, for example, you were using Freeform 3.10.1 at the time of expiry, but 3.11.4 was available to you just before the license expiry date, if that 3.11.4 version was available to you indefinitely, one might update to that version months or years later and experience issues while upgrading, which could generate issues and support requests to the developer beyond that initial 1 year term. This is a fair statement and concern on Craft's part, in our opinion. Craft does send out 30-day notices reminding customers of plugin licenses nearing expiry, so it would be wise to consider squeezing in your final update(s) earlier in that 30-day window if you do not wish to renew your license for future updates beyond the initial 1-year term.

When a license expires, you can keep using the version that's currently installed. However, you won't be able to update it to newer versions until you've renewed the license.

As for how this happened in the first place, Craft's CP updater and their recommended built-in update command feature will make sure that you never update to a plugin version you don't have access to. However, if you used Composer to update, it bypasses all of Craft's license validation and you can get yourself into the situation where you now have a version that your license shouldn't have access to, which then generates the error inside the Craft CP. The only way to resolve this would be reverting back to the previous version (which is not always recommended, as it's possible plugin update migration(s) could have taken place, and reverting could break your install), or renew your license. Please feel free to reach out to us for further clarification and assistance if you're in a bind with this, and we'll do the best we can to help.

Plugin shows it's 'Missing'

If you have a plugin that shows as Missing, this is because you don't have the plugin installed and/or the plugin files are not in the Craft vendor folder, BUT you have a valid purchased Craft 3 license for the plugin tied to that Craft install. Depending on your scenario, you likely either have the issue of wanting the plugin to be available or not wanting it to show up there.

If you purchased the plugin and are expecting it to show up for installation, what likely happened is that Craft or your server environment glitched and didn't correctly add the plugin dependency (files) to your Craft site's vendor folder (but knows that you have a valid purchase of it). If this is the case, you'll need to follow the Installation Instructions documentation above to install the plugin.

If the above is not the case for you, and you don't want this license showing up on your Craft site, this can likely be resolved by:

  1. Visit your Craft Console account.
  2. Under LicensesPlugins, look for the Freeform (or affected plugin) license in the list and confirm it's tied to the correct Craft CMS license. If not, click into the license (e.g. CRZ6) and click on the Detach from this Craft license button. This will release it from being attached to the wrong or orphaned Craft CMS license, and later use it on the correct/different Craft install.

Can't purchase upgrade from Lite to Pro edition

If you're currently using the Lite edition of Freeform and are trying to purchase an upgrade to the Pro edition, but it's not letting you (the Add to Cart button isn't showing), please ensure that the allowUpdates and allowAdminChanges Craft General Config items are NOT set to false. At least enable them temporarily to allow this change to happen.

'allowUpdates' => true
'allowAdminChanges' => true