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.x
- Craft 4.x
Installation
Freeform can be installed one of two ways:
- Command Line (CLI)
- Control Panel
Install from the CLIRecommended
Freeform can be installed through the CLI:
Open your CLI app and go to your Craft project:
cd /path/to/project
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
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.
Craft will automatically install the Express edition of Freeform. If you'd like the Lite or Pro edition, you can switch the edition one of two ways:
- Project Config
- Control Panel
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 video below).
If Freeform is right for your site, purchase a copy of it through the Plugin Store when you're ready!
Install from the Control Panel
Go to the Plugin Store area inside your Craft control panel and click on Freeform.
Once the product page opens, choose whether you want to install it by clicking the Try button under the Lite or Pro edition.
If Freeform is right for your site, purchase a copy of it through the Plugin Store when you're ready!
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 (Utilities → Updates) 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:
- Command Line (CLI)
- Composer CLI
- Control Panel
Update from the CLIRecommended
You can use the Craft update command to update Freeform.
Be sure to back up the database before proceeding.
Open your CLI and go to your Craft project:
cd /path/to/project
To see available updates, run this command:
php craft update
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 %
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.
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"
},
Open your CLI app and go to your Craft project:
cd /path/to/project
To run any available updates for your site, run:
composer update
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 %
Update from the Control Panel
Be sure to back up the database before proceeding.
Go to the Craft Updates area inside the control panel (Utilities → Updates) and review the changelog for Freeform.
Simply click the Update button and Craft will do the rest.
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.
Open your CLI app and go to your Craft project:
cd /path/to/project
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.
Uninstall Freeform
Follow the steps below to uninstall Freeform from your site.
Open your CLI app and go to your Craft project:
cd /path/to/project
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.
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
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 to1.0.99̅
)^1.0.0
- means this version & any minor release (up to1.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.
- Specifying
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:
- Go to the Plugins section of your Craft control panel (Craft CP → Settings → Plugins).
- For the plugin(s) that need to be purchased, click the Buy Now button to add them to your cart.
- 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.
- 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 forfreeform
. Where it saysedition: express
(orlite
), switch that toedition: 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 forfreeform
. Where it saysedition: express
(orlite
), switch that toedition: 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: