a:2:{i:0;a:2:{s:3:"cms";a:4:{s:6:"status";s:8:"eligible";s:8:"releases";a:50:{i:0;a:4:{s:7:"version";s:8:"4.12.6.1";s:8:"critical";b:0;s:5:"notes";s:186:"
- Custom field condition rules are now ignored if they reference a field with an incompatible type. (#15850)
";s:4:"date";s:19:"2024-10-09T00:00:00";}i:1;a:4:{s:7:"version";s:6:"4.12.6";s:8:"critical";b:0;s:5:"notes";s:1690:"
- The Plugin Store now displays plugin ratings and reviews. (#15860)
- An
InvalidConfigException
is now thrown if the defaultCountryCode
config setting is set to an empty string. (#15812)
- Fixed an error that could occur when saving an element, if a Date field’s time zone input was focused.
- Fixed a bug where the time zones listed in Date fields weren’t labelled properly based on the selected date. (#15805)
- Fixed an error that could occur if a native element property was attempted to be eager-loaded. (#15822)
- Fixed errors that could occur if a custom source or field condition referenced a custom field whose type had changed. (#15850)
- Fixed a bug where disclosure menus weren’t sticking to their trigger element as it was scrolled, if it was within a slideout or other inline-scrollable container. (#15852)
- Fixed a bug where the default backup command for MySQL was exporting triggers twice. (#15854)
- Fixed a bug where Multi-select fields were saving the selected options in the user-selected order rather than the field-defined order. (#15857)
- Fixed a missing authorization vulnerability.
";s:4:"date";s:19:"2024-10-08T00:00:00";}i:2;a:4:{s:7:"version";s:6:"4.12.5";s:8:"critical";b:0;s:5:"notes";s:465:"
- Fixed a bug where entries’
deletedWithEntryType
values in the entries
table weren’t getting set back to null
after being restored.
- Fixed a bug where it wasn’t possible to discard changes for related elements via slideouts, if they didn’t exist in the primary site. (#15798)
- Fixed an information disclosure vulnerability.
";s:4:"date";s:19:"2024-09-27T00:00:00";}i:3;a:4:{s:7:"version";s:8:"4.12.4.1";s:8:"critical";b:0;s:5:"notes";s:114:"
- Fixed a JavaScript error. (#15784)
";s:4:"date";s:19:"2024-09-24T00:00:00";}i:4;a:4:{s:7:"version";s:6:"4.12.4";s:8:"critical";b:0;s:5:"notes";s:993:"
- Auto-generated handles, slugs, etc. now update immediately when the source input is changed. (#15754)
- Fixed a bug where Table fields’ Default Values table could lose existing rows if they only consisted of Dropdown columns without configured options.
- Fixed a bug where custom fields’
required
properties were always false
. (#15752)
- Fixed a bug where
craft\helpers\StringHelper::toHandle()
was allowing non-alphanumeric/underscore characters through. (#15772)
- Fixed a bug where entries were getting auto-saved while dragging elements within element select inputs.
- Fixed a bug where the
maxBackups
config setting wasn’t working. (#15780)
";s:4:"date";s:19:"2024-09-23T00:00:00";}i:5;a:4:{s:7:"version";s:6:"4.12.3";s:8:"critical";b:0;s:5:"notes";s:487:"
- Fixed a data deletion bug that occurred during garbage collection on PostgreSQL. (#14891)
- Fixed a bug where image constraint labels weren’t translated within the Image Editor.
- Fixed a bug where image orientation labels weren’t getting translated for screen readers within the Image Editor.
- Fixed a PHP error. (#14635)
";s:4:"date";s:19:"2024-09-14T00:00:00";}i:6;a:4:{s:7:"version";s:6:"4.12.2";s:8:"critical";b:0;s:5:"notes";s:319:"
- Updated Twig to 3.14. (#15704)
- Fixed a bug where soft-deleted structures weren’t getting hard-deleted via garbage collection. (#15705)
- Fixed an RCE vulnerability.
";s:4:"date";s:19:"2024-09-11T00:00:00";}i:7;a:4:{s:7:"version";s:6:"4.12.1";s:8:"critical";b:0;s:5:"notes";s:1242:"
- Added
craft\services\Security::isSystemDir()
.
- Fixed a bug where
craft\helpers\StringHelper::lines()
was returning an array of Stringy\Stringy
objects, rather than strings.
- Fixed styling issues with Template field layout UI elements’ selector labels.
- Fixed a validation error that could occur when saving a relational field, if the “Maintain hierarchy” setting had been enabled but was no longer applicable. (#15666)
- Fixed a bug where formatted addresses weren’t using the application locale consistently. (#15668)
- Fixed a bug where Tip and Warning field layout UI elements would display in field layouts even if they had no content. (#15681)
- Fixed an error that could occur when reverting an element’s content from a revision, if the element had been added to additional sites since the time the revision was created. (#15679)
- Fixed an information disclosure vulnerability.
";s:4:"date";s:19:"2024-09-06T00:00:00";}i:8;a:4:{s:7:"version";s:6:"4.12.0";s:8:"critical";b:0;s:5:"notes";s:3439:"Content Management
- Element conditions can now have a “Site Group” rule, if there are two or more site groups. (#15625)
Development
- Country field values and
craft\elements\Address::getCountry()
now return the country in the current application locale.
Extensibility
- Added
craft\base\ApplicationTrait::getEnvId()
. (#15313)
- Added
craft\base\ElementInterface::getRootOwner()
. (#15534)
- Added
craft\elements\conditions\SiteGroupConditionRule
.
- Added
craft\helpers\Session::close()
.
- Added
craft\services\Sites::getEditableSitesByGroupId()
.
craft\helpers\Session
methods are now safe to call on console requests.
- Deprecated
craft\helpers\ElementHelper::rootElement()
. craft\base\ElementInterface::getRootOwner()
should be used instead.
- Deprecated
craft\db\mysql\Schema::quoteDatabaseName()
.
- Deprecated
craft\db\pgqsl\Schema::quoteDatabaseName()
.
System
- MySQL mutex locks and PHP session names are now namespaced using the application ID combined with the environment name. (#15313)
- Craft now sends
X-Robots-Tag: none
headers for preview requests. (#15612, #15586)
x-craft-preview
and x-craft-live-preview
params are now hashed, and craft\web\Request::getIsPreview()
will only return true
if the param validates. (#15605)
- Generated URLs no longer include
x-craft-preview
or x-craft-live-preview
query string params based on the requested URL, if either were set to an unverified string. (#15605)
- The PHP session is now closed before making API requests. (#15643)
- Updated Twig to 3.12. (#15568)
- Fixed a SQL error that occurred when running the
db/convert-charset
command if there were any custom database views or sequences. (#15598)
- Fixed a bug where
craft\helpers\Db::supportsTimeZones()
could return false
on databases that supported time zone conversion. (#15592)
- Fixed a bug where Assets fields were validating settings that weren’t applicable depending on the “Restrict assets to a single location” setting. (#15545)
- Fixed a bug where
null
values within associative arrays were ignored when applying project config data. (#10512)
";s:4:"date";s:19:"2024-09-03T00:00:00";}i:9;a:4:{s:7:"version";s:6:"4.11.5";s:8:"critical";b:0;s:5:"notes";s:750:"
- Fixed a bug where it wasn’t possible to override named transforms in GraphQL queries. (#15572)
- Fixed a bug where address subdivision fields could be incorrectly labelled and/or populated with the wrong options. (#15551, #15584)
- Fixed a bug where Country fields were displaying the selected country code within element index tables, rather than the country name.
- Fixed a bug where
{% cache %}
tags were caching content for Live Preview requests. (#15586)
";s:4:"date";s:19:"2024-08-26T00:00:00";}i:10;a:4:{s:7:"version";s:6:"4.11.4";s:8:"critical";b:0;s:5:"notes";s:1380:"
- Updated jQuery UI to 1.14.0. (#15558)
- Fixed a bug where
craft\helpers\App::env()
and normalizeValue()
could return incorrect results for values that looked like floats. (#15533)
- Fixed a bug where the
users/set-password
action wasn’t respecting redirect
params. (#15538)
- Fixed a bug where the “Default Values” Table field setting wasn’t escaping column headings. (#15552)
- Fixed a bug where Craft couldn’t be installed with existing project config files, if any plugins specified their schema version via
composer.json
. (#15559)
- Fixed a bug where Money fields’ min, max, and default values weren’t being set to the correct currency. (#15565, #15566)
- Fixed a bug where PHP-originated Craft Console API requests weren’t timing out if the API was down. (#15571)
";s:4:"date";s:19:"2024-08-21T00:00:00";}i:11;a:4:{s:7:"version";s:6:"4.11.3";s:8:"critical";b:0;s:5:"notes";s:278:"
- Fixed a bug where the system name in the control panel’s global sidebar was getting hyperlinked even if the primary site didn’t have a URL. (#15525)
- Fixed a right-to-left styling issue.
";s:4:"date";s:19:"2024-08-13T00:00:00";}i:12;a:4:{s:7:"version";s:6:"4.11.2";s:8:"critical";b:0;s:5:"notes";s:602:"
- Fixed an error that could occur if a new element was saved recursively. (#15517)
- Fixed a bug where plugins were being instantiated at the beginning of Craft installation requests, rather than after Craft was installed. (#15506)
- Fixed a bug where an unhelpful error message was output when
config/general.php
returned an array with unsupported config settings. (#15514)
";s:4:"date";s:19:"2024-08-12T00:00:00";}i:13;a:4:{s:7:"version";s:6:"4.11.1";s:8:"critical";b:0;s:5:"notes";s:433:"
- Fixed a PHP error that could occur when generating URLs via console requests. (#15374)
- Fixed a bug where
craft\filters\Headers
and craft\filters\Cors
were applied to control panel requests rather than site requests. (#15495)
- Fixed a JavaScript error.
";s:4:"date";s:19:"2024-08-07T00:00:00";}i:14;a:4:{s:7:"version";s:8:"4.11.0.2";s:8:"critical";b:0;s:5:"notes";s:73:"
- Fixed an error that could occur on console requests.
";s:4:"date";s:19:"2024-08-06T00:00:00";}i:15;a:4:{s:7:"version";s:8:"4.11.0.1";s:8:"critical";b:0;s:5:"notes";s:198:"
- Fixed an error that occurred when accessing custom config settings defined in
config/custom.php
. (#15481)
";s:4:"date";s:19:"2024-08-06T00:00:00";}i:16;a:4:{s:7:"version";s:6:"4.11.0";s:8:"critical";b:0;s:5:"notes";s:7070:"Content Management
- Entry and category conditions now have a “Has Descendants” rule. (#15276)
- “Replace file” actions now display success notices on complete. (#15217)
- Double-clicking on folders within asset indexes and folder selection modals now navigates the index/modal into the folder. (#15238)
- When propagating an element to a new site, relation fields no longer copy relations for target elements that wouldn’t have been selectable from the propagated site based on the field’s “Related elements from a specific site?” and “Show the site menu” settings. (#15459)
Administration
- Added the
env
, env/set
, and env/remove
commands. (#15431)
- New sites’ Base URL settings now default to an environment variable name based on the site name. (#15347)
- Craft now warns against using the
@web
alias for URL settings, regardless of whether it was explicitly defined. (#15347)
Development
- Added the
withCustomFields
element query param.
- Added support for application-type based
general
and db
configs (e.g. config/general.web.php
). (#15346)
general
and db
config files can now return a callable that modifies an existing config object. (#15346)
- Added the
lazyGqlTypes
config setting. (#15429)
- The
allowedGraphqlOrigins
config setting is now deprecated. craft\filters\Cors
should be used instead. (#15397)
- The
permissionsPolicyHeader
config settings is now deprecated. craft\filters\Headers
should be used instead. (#15397)
{% cache %}
tags now cache any asset bundles registered within them.
- Country field values are now set to
CommerceGuys\Addressing\Country\Country
objects. (#15455, #15463)
- Auto-populated section and category group Template settings are now suffixed with
.twig
.
x-craft-preview
/x-craft-live-preview
URL query string params are now added to generated URLs for Live Preview requests, so craft\web\Request::getIsPreview()
continues to return true
on subsequent pages loaded within the iframe. (#15447)
Extensibility
- Added
craft\config\GeneralConfig::addAlias()
. (#15346)
- Added
craft\elements\Address::getCountry()
. (#15463)
- Added
craft\elements\Asset::$sanitizeOnUpload
. (#15430)
- Added
craft\filters\Cors
. (#15397)
- Added
craft\filters\Headers
. (#15397)
- Added
craft\helpers\App::configure()
.
- Added
craft\models\ImageTransform::$indexId
.
- Added
craft\web\View::clearAssetBundleBuffer()
.
- Added
craft\web\View::startAssetBundleBuffer()
.
- Added
Craft.EnvVarGenerator
.
craft\helpers\UrlHelper::cpUrl()
now returns URLs based on the primary site’s base URL (if it has one), for console requests if the baseCpUrl
config setting isn’t set, and the @web
alias wasn’t explicitly defined. (#15374)
craft\services\Config::setDotEnvVar()
now accepts false
for its value
argument, which removes the environment variable from the .env
file.
- Deprecated
craft\web\assets\elementresizedetector\ElementResizeDetectorAsset
.
System
- Improved the performance of element indexes in structure view.
- The control panel now displays Ajax response-defined error messages when provided, rather than a generic “server error” message. (#15292)
- Craft no longer sets the
Permissions-Policy
header on control panel responses. (#15348)
- Control panel
resize
events now use ResizeObserver.
- Twig templates no longer attempt to preload singles for global variable names. (#15468)
- Craft no longer ensures that the
cpresources
folder is writable.
- Front-end queue runner scripts are now injected before the
</body>
tag, rather than at the end of the response HTML.
graphql/api
requests no longer update the schema’s lastUsed
timestamp if it was already updated within the last minute. (#15464)
- Updated Yii to 2.0.51.
- Updated yii2-debug to 2.1.25.
- Updated svg-sanitizer to 0.19.
- Updated Axios to 0.28.1. (#15448)
- Fixed a bug where error messages returned by the
users/send-password-reset-email
action weren’t accounting for the useEmailAsUsername
config setting. (#15425)
- Fixed a bug where
$element->isNewForSite
was always false
from fields’ normalizeValue()
methods when propagating an element to a new site.
- Fixed a bug where
assets/generate-transforms
requests could generate the wrong transform, if another transform index with the same parameters existed. (#15402, #15477)
";s:4:"date";s:19:"2024-08-06T00:00:00";}i:17;a:4:{s:7:"version";s:6:"4.10.8";s:8:"critical";b:0;s:5:"notes";s:1222:"
- Fixed a PHP error. (#14635)
- Fixed a PHP error that could occur when running Codeception tests. (#15445)
- Fixed a bug where
deleteAsset
, deleteCategory
, deleteEntry
, and deleteTag
GraphQL mutations were returning null
rather than true
or false
. (#15465)
- Fixed a styling issue. (#15473)
- Fixed a bug where
exists()
element queries weren’t working if distinct
, groupBy
, having,
or union
params were set on them during query preparation. (#15001, #15223)
- Fixed a bug where users’
username
properties weren’t getting set if useEmailAsUsername
was enabled. (#15475)
";s:4:"date";s:19:"2024-08-05T00:00:00";}i:18;a:4:{s:7:"version";s:6:"4.10.7";s:8:"critical";b:0;s:5:"notes";s:1059:"
- Fixed a bug where element index result counts weren’t getting updated when the element list was refreshed but pagination was preserved. (#15367)
- Fixed a PHP error that occurred when making a field layout component conditional on a Time or CKEditor field. (craftcms/ckeditor#267)
- Fixed an error that occurred when editing a user via a slideout, if the current user didn’t have permission to edit the primary site. (#15408)
- Fixed a bug where editable tables with single-select checkbox columns weren’t deselecting the selected option automatically. (#15415)
- Fixed a styling issue. (#15422)
- Fixed a bug where category groups’ Template settings weren’t being auto-populated for new groups.
";s:4:"date";s:19:"2024-07-29T00:00:00";}i:19;a:4:{s:7:"version";s:6:"4.10.6";s:8:"critical";b:0;s:5:"notes";s:1009:"
craft\helpers\UrlHelper::actionUrl()
now returns URLs based on the primary site’s base URL (if it has one), for console requests if the @web
alias wasn’t explicitly defined.
- Fixed a bug where it wasn’t possible to expand/collapse descendants of disabled table rows within element select modals. (#15337)
- Fixed a bug where PhpStorm autocomplete wasn’t working when chaining custom field methods defined by
CustomFieldBehavior
. (#15336)
- Fixed a bug where new Matrix blocks created on newly-created elements weren’t getting duplicated to all other sites for the owner element. (#15321)
- Fixed a bug where focus could jump unexpectedly when a slideout was opened. (#15314)
";s:4:"date";s:19:"2024-07-16T00:00:00";}i:20;a:4:{s:7:"version";s:6:"4.10.5";s:8:"critical";b:0;s:5:"notes";s:1454:"Craft now sends no-cache headers for requests that generate/retrieve a CSRF token. If your Craft install is behind a static caching service like Cloudflare, enable the asyncCsrfInputs config setting to avoid a significant cache hit reduction. (#15293, #15281)
- Craft now sends no-cache headers for any request that calls
craft\web\Request::getCsrfToken()
. (#15293, #15281)
- Fixed a bug where structures’ Max Levels settings weren’t being enforced when dragging elements with collapsed descendants. (#15310)
- Fixed a bug where
craft\helpers\ElementHelper::isDraft()
, isRevision()
, and isDraftOrRevision()
weren’t returning true
if a nested draft/revision element was passed in, but the root element was canonical. (#15303)
- Fixed a bug where focus could be trapped within slideout sidebars. (#15314)
";s:4:"date";s:19:"2024-07-11T00:00:00";}i:21;a:4:{s:7:"version";s:6:"4.10.4";s:8:"critical";b:0;s:5:"notes";s:741:"
- Craft now sends no-cache headers for any request that generates a CSRF token. (#15281, verbb/formie#1963)
- Fixed a JavaScript error that occurred when creating a new custom element source, preventing the Default Sort and Default Table Columns fields from showing up.
- Fixed a bug where the control panel was getting asynchronous CSRF inputs if the
asyncCsrfInputs
config setting was enabled.
- Fixed a bug where Craft’s Twig implementation wasn’t respecting sandboxing rules for object properties. (#15278)
";s:4:"date";s:19:"2024-07-02T00:00:00";}i:22;a:4:{s:7:"version";s:6:"4.10.3";s:8:"critical";b:0;s:5:"notes";s:1185:"
- Previewing PDF/video assets without public URLs now displays a “Preview not supported.” message. (#15235)
- Added
Garnish.once()
and Garnish.Base::once()
, for registering event handlers that should only be triggered one time.
- Fixed a bug where Edit Asset pages showed a “View” button for assets without URLs. (#15235)
- Fixed a bug where asset indexes attempted to link to assets without URLs. (#15235)
- Fixed a bug where queue job tracking and element activity tracking could stop working after a user session expired and then was reauthenticated.
- Fixed an error that occurred if an element select input was initialized without a
name
value.
- Fixed a bug where Selectize inputs could be immediately focused and marked as dirty when opening an element editor slideout, if they were the first focusable element in the field layout. (#15245)
";s:4:"date";s:19:"2024-06-27T00:00:00";}i:23;a:4:{s:7:"version";s:6:"4.10.2";s:8:"critical";b:0;s:5:"notes";s:1001:"
- Added
craft\base\conditions\BaseNumberConditionRule::$step
.
- Added
Garnish.muteResizeEvents()
.
- Fixed a JavaScript performance degradation bug. (#14510)
- Fixed a bug where scalar element queries weren’t working if
distinct
, groupBy
, having,
or union
params were set on them during query preparation. (#15001)
- Fixed a bug where Edit Asset pages would warn about losing unsaved changes when navigating away, if the file was replaced but nothing else had changed.
- Fixed a bug where Edit Asset pages would show a notification with a “Reload” button after the file was replaced.
- Fixed a bug where Number fields’ condition rules weren’t allowing decimal values. (#15222)
";s:4:"date";s:19:"2024-06-18T00:00:00";}i:24;a:4:{s:7:"version";s:6:"4.10.1";s:8:"critical";b:0;s:5:"notes";s:918:"
- Added
craft\web\View::getModifiedDeltaNames()
.
craft\web\View::registerDeltaName()
now has a $forceModified
argument.
- Fixed a bug where changed field values could be forgotten within Matrix fields, if a validation error occurred. (#15190)
- Fixed a bug where the
graphql/create-token
command was prompting for the schema name, when it meant the token name. (#15205)
- Fixed an error that could occur when applying a draft. (#15211)
- Fixed a bug where keyboard shortcuts weren’t getting registered properly for modals and slideouts opened via a disclosure menu. (#15209)
";s:4:"date";s:19:"2024-06-17T00:00:00";}i:25;a:4:{s:7:"version";s:6:"4.10.0";s:8:"critical";b:0;s:5:"notes";s:6301:"Content Management
- Relational field condition rules no longer factor in the target elements’ statuses or sites. (#14989)
- “Save and continue editing” actions now restore the page’s scroll position on reload.
Administration
- Added the
--format
option to the db/backup
and db/restore
commands for PostgreSQL installs. (#14931)
- The
db/restore
command now autodetects the backup format for PostgreSQL installs, if --format
isn’t passed. (#14931)
- The
install
command and web-based installer now validate the existing project config files at the outset, and abort installation if there are any issues.
- The web-based installer now displays the error message when installation fails.
- GraphQL schema edit pages now have a “Save and continue editing” alternate action.
- The system edition can now be defined by a
CRAFT_EDITION
environment variable. (#15094)
- The rebrand assets path can now be defined by a
CRAFT_REBRAND_PATH
environment variable. (#15110)
Development
- Added the
{% expires %}
tag, which simplifies setting cache headers on the response. (#14969)
- Added
craft\elements\ElementCollection::find()
, which can return an element or elements in the collection based on a given element or ID. (#15023)
- Added
craft\elements\ElementCollection::fresh()
, which reloads each of the collection elements from the database. (#15023)
- The
collect()
Twig function now returns a craft\elements\ElementCollection
instance if all of the items are elements.
craft\elements\ElementCollection::contains()
now returns true
if an element is passed in and the collection contains an element with the same ID and site ID; or if an integer is passed in and the collection contains an element with the same ID. (#15023)
craft\elements\ElementCollection::countBy()
, collapse()
, flatten()
, keys()
, pad()
, pluck()
, and zip()
now return an Illuminate\Support\Collection
object. (#15023)
craft\elements\ElementCollection::diff()
and intersect()
now compare the passed-in elements to the collection elements by their IDs and site IDs. (#15023)
craft\elements\ElementCollection::flip()
now throws an exception, as element objects can’t be used as array keys. (#15023)
craft\elements\ElementCollection::map()
and mapWithKeys()
now return an Illuminate\Support\Collection
object, if any of the mapped values aren’t elements. (#15023)
craft\elements\ElementCollection::merge()
now replaces any elements in the collection with passed-in elements, if their ID and site ID matches. (#15023)
craft\elements\ElementCollection::only()
and except()
now compare the passed-in values to the collection elements by their IDs, if an integer or array of integers is passed in. (#15023)
craft\elements\ElementCollection::unique()
now returns all elements with unique IDs, if no key is passed in. (#15023)
Extensibility
- Improved type definitions for
craft\db\Query
, element queries, and craft\elements\ElementCollection
.
- Added
craft\db\getBackupFormat()
.
- Added
craft\db\getRestoreFormat()
.
- Added
craft\db\setBackupFormat()
.
- Added
craft\db\setRestoreFormat()
.
- Added
craft\events\InvalidateElementcachesEvent::$element
.
- Added
craft\fields\BaseRelationField::existsQueryCondition()
.
- Added
craft\helpers\DateTimeHelper::relativeTimeStatement()
.
- Added
craft\helpers\DateTimeHelper::relativeTimeToSeconds()
.
- Added
craft\helpers\StringHelper::indent()
.
- Added
craft\queue\Queue::getJobId()
.
craft\elements\ElementCollection::with()
now supports collections made up of multiple element types.
- Added the
reloadOnBroadcastSave
setting to Craft.ElementEditor
. (#14814)
System
- Improved the performance of
exists()
element queries.
- The Debug Toolbar now pre-serializes objects stored as request parameters, fixing a bug where closures could prevent the entire Request panel from showing up. (#14982)
- Batched queue jobs now verify that they are still reserved before each step, and before spawning additional batch jobs. (#14986)
- Updated Yii to 2.0.50. (#15124)
- Updated inputmask to 5.0.9.
- Updated punycode to 2.3.1.
";s:4:"date";s:19:"2024-06-12T00:00:00";}i:26;a:4:{s:7:"version";s:5:"4.9.7";s:8:"critical";b:0;s:5:"notes";s:333:"
- Fixed a bug where the
db/backup
command could fail on Windows. (#15090)
- Fixed an error that could occur when applying project config changes if a site was deleted. (#14373)
";s:4:"date";s:19:"2024-06-05T00:00:00";}i:27;a:4:{s:7:"version";s:5:"4.9.6";s:8:"critical";b:0;s:5:"notes";s:705:"
- Added
craft\helpers\Gql::isIntrospectionQuery()
.
- Fixed a bug where some condition rules weren’t getting added when applying project config changes, if they depended on another component which hadn’t been added yet. (#15037)
- Fixed a bug where the
craft\base\Element::EVENT_DEFINE_ADDITIONAL_BUTTONS
event wasn’t being respected for user edit pages. (#15095)
- Fixed a bug where GraphQL queries could be misidentified as introspection queries. (#15100)
";s:4:"date";s:19:"2024-06-03T00:00:00";}i:28;a:4:{s:7:"version";s:5:"4.9.5";s:8:"critical";b:0;s:5:"notes";s:1936:"
- Scalar element queries now set
$select
to the scalar expression, and $orderBy
, $limit
, and $offset
to null
, on the element query. (#15001)
- Added
craft\fieldlayoutelements\TextareaField::inputTemplateVariables()
.
- Fixed a bug where
craft\helpers\Assets::prepareAssetName()
wasn’t sanitizing filenames if $preventPluginModifications
was true
.
- Fixed a bug where element queries’
count()
methods were factoring in the limit
param when searching with orderBy
set to score
. (#15001)
- Fixed a bug where soft-deleted elements that belonged to a revision could be deleted by garbage collection. (#14995)
- Fixed a bug where soft-deleted structure data associated with elements that belonged to a revision could be deleted by garbage collection. (#14995)
- Fixed a bug where element edit pages’ scroll positions weren’t always retained when automatically refreshed.
- Fixed a bug where the
up
command could remove component name comments from the project config YAML files, for newly-added components. (#15012)
- Fixed a bug where assets’ Alternative Text fields didn’t expand to match the content height. (#15026)
- Fixed a bug where
craft\helpers\UrlHelper::isAbsoluteUrl()
was returning true
for Windows file paths. (#15043)
";s:4:"date";s:19:"2024-05-22T00:00:00";}i:29;a:4:{s:7:"version";s:5:"4.9.4";s:8:"critical";b:0;s:5:"notes";s:551:"
- Fixed a bug where
craft\elements\db\ElementQuery::exists()
would return true
if setCachedResult()
had been called, even if an empty array was passed.
- Fixed a bug where it wasn’t possible to interact with disabled Matrix blocks. (#15002)
- Fixed an infinite recursion bug that could occur when
craft\web\Response::redirect()
was called. (#15014)
";s:4:"date";s:19:"2024-05-17T00:00:00";}i:30;a:4:{s:7:"version";s:5:"4.9.3";s:8:"critical";b:0;s:5:"notes";s:1092:"
- Fixed a SQL error that could occur when applying or rebuilding the project config.
- Fixed a bug where adjacent selected table rows were getting extra spacing in Firefox.
- Fixed a SQL error that could occur when creating revisions after garbage collection was run. (#14309)
- Fixed a bug where the
serve
command wasn’t serving paths with non-ASCII characters. (#14977)
- Fixed a bug where element chips within element selection tables had insufficient contrast. (#14963)
- Fixed a bug where
craft\helpers\Html::explodeStyle()
and normalizeTagAttributes()
weren’t handling styles with encoded images via url()
properly. (#14964)
- Fixed a bug where the
db/backup
command would fail if the destination path contained a space.
";s:4:"date";s:19:"2024-05-14T00:00:00";}i:31;a:4:{s:7:"version";s:5:"4.9.2";s:8:"critical";b:0;s:5:"notes";s:964:"
- Fixed a bug where the
db/backup
command would prompt for password input on PostgreSQL. (#14945)
- Fixed a bug where pressing Shift + Spacebar wasn’t reliably opening the asset preview modal on the Assets index page. (#14943)
- Fixed a bug where pressing Shift + Spacebar within an asset preview modal wasn’t closing the modal.
- Fixed a bug where pressing arrow keys within asset preview modals wasn’t retargeting the preview modal to adjacent assets. (#14943)
- Fixed a bug where entry selection modals could have a “New entry” button even if there weren’t any sections enabled for the selected site. (#14923)
";s:4:"date";s:19:"2024-05-07T00:00:00";}i:32;a:4:{s:7:"version";s:5:"4.9.1";s:8:"critical";b:0;s:5:"notes";s:607:"
- Fixed a bug where disclosure menus weren’t releasing their
scroll
and resize
event listeners on hide. (#14911, #14510)
- Fixed a bug where MySQL backups weren’t restorable on certain environments. (#14925)
- Fixed a bug where
app/resource-js
requests weren’t working for guest requests. (#14908)
";s:4:"date";s:19:"2024-05-02T00:00:00";}i:33;a:4:{s:7:"version";s:5:"4.9.0";s:8:"critical";b:0;s:5:"notes";s:4559:"Content Management
- It’s now possible to preview revisions. (#14521)
- Element conditions can now include condition rules for Time fields. (#14616)
- Sort options are now sorted alphabetically within element indexes, and custom fields’ options are now listed in a “Fields” group. (#14725)
- Unselected table column options are now sorted alphabetically within element indexes.
Administration
- Improved the behavior of the URI input within Edit Route modals. (#14884)
- The “Upgrade Craft CMS” page in the Plugin Store no longer lists unsupported editions.
- Added the
asyncCsrfInputs
config setting. (#14625)
- Added the
backupCommandFormat
config setting. (#14897)
- The
backupCommand
config setting can now be set to a closure, which will be passed a mikehaertl\shellcommand\Command
object. (#14897)
resave
commands now support an --if-invalid
option. (#14731)
Development
- Added the
safeMode
config setting. (#14734)
- Added the
language
element query param, which filters the resulting elements based on their sites’ languages. (#14631)
- GraphQL responses now include full exception details, when Dev Mode is enabled or an admin is signed in with the “Show full exception views when Dev Mode is disabled” preference enabled. (#14527)
craft\helpers\Html::csrfInput()
and the csrfInput
Twig function now support passing an async
key to the options
array, overriding the default behavior per the asyncCsrfInputs
config setting. (#14625)
Extensibility
- Added
craft\services\ProjectConfig::getAppliedChanges()
. (#14851)
- Added
craft\services\Sites::getSitesByLanguage()
.
- Added
craft\web\ErrorHandler::exceptionAsArray()
.
- Added
craft\web\ErrorHandler::showExceptionDetails()
.
- Added
craft\web\Request::getBearerToken()
. (#14784)
craft\base\NameTrait::prepareNamesForSave()
no longer updates the name properties if fullName
, firstName
, and lastName
are already set. (#14665)
System
- Batched queue jobs now set their progress based on the total progress across all batches, rather than just the current batch. (#14817)
- Craft now calls
setlocale()
based on the target language, so that SORT_LOCALE_STRING
behaves as expected. (#14509, #14513)
- Improved the performance of scalar element queries like
count()
.
- Fixed a bug where
craft\elements\db\ElementQuery::count()
could return the wrong number if the query had a cached result, with offset
or limit
params.
- Console requests no longer filter out info logs. (#14280, #14434)
- Fixed a styling issue with Categories and Entries fields when “Maintain Hierarchy” was enabled.
- Fixed a bug where Delete actions weren’t working in admin tables. (craftcms/commerce#3444)
";s:4:"date";s:19:"2024-04-30T00:00:00";}i:34;a:4:{s:7:"version";s:6:"4.8.11";s:8:"critical";b:0;s:5:"notes";s:742:"
- Fixed a bug where element caches weren’t getting invalidated when an element was moved within a structure. (#14846)
- Fixed a bug where CSV’s header rows weren’t using the configured delimiter. (#14855)
- Fixed a bug where editable table cell text styling could change after initial focus. (#14857)
- Fixed a bug where conditions could list rules with duplicate labels.
- Fixed a bug where admin tables weren’t displaying disabled statuses. (#14861)
";s:4:"date";s:19:"2024-04-29T00:00:00";}i:35;a:4:{s:7:"version";s:6:"4.8.10";s:8:"critical";b:0;s:5:"notes";s:1469:"
- Fixed a SQL error that could occur when converting a field to a Lightswitch field on PostgreSQL. (#14792)
- Fixed a bug where the Database Backup utility was present when the
backupCommand
config setting was set to false
.
- Fixed an error that occurred when running the
db/convert-charset
command, if any tables contained char
or varchar
foreign key columns. (#14815)
- Fixed a bug where parsed first/last names could have different casing than the full name that was submitted. (#14723)
- Fixed a bug where
craft\helpers\UrlHelper::isAbsoluteUrl()
was returning false
for URLs with schemes other than http
or https
, such as mailto
and tel
. (#14830)
- Fixed a JavaScript error that occurred when opening Live Preview, if an Assets field’s “Upload files” button had been pressed. (#14832)
- Fixed a bug where Twig’s spread operator (
...
) wasn’t working with attribute accessors. (#14827)
";s:4:"date";s:19:"2024-04-23T00:00:00";}i:36;a:4:{s:7:"version";s:5:"4.8.9";s:8:"critical";b:0;s:5:"notes";s:602:"
- Fixed a bug where element queries with the
relatedTo
param set to a list of element IDs were overly complex.
- Fixed a bug where redundant Matrix block revisions were getting created.
- Fixed a bug where Twig’s spread operator (
...
) wasn’t working when the preloadSingles
config setting was enabled. (#14783)
- Fixed a bug where Live Preview wasn’t retaining the scroll position properly. (#14218)
";s:4:"date";s:19:"2024-04-10T00:00:00";}i:37;a:4:{s:7:"version";s:5:"4.8.8";s:8:"critical";b:0;s:5:"notes";s:1081:"
- Fixed a bug where
craft\helpers\ElementHelper::siteStatusesForElement()
wasn’t working for soft-deleted elements. (#14753)
- Fixed a bug where the Queue Manager was listing delayed jobs before others. (#14755)
- Fixed a bug where LTR and RTL characters weren’t getting stripped from sanitized asset filenames. (#14711)
- Fixed a bug where admin table row reordering wasn’t working in Safari. (#14752)
- Fixed a bug where the
utils/fix-field-layout-uids
command wasn’t looking at field layouts defined with a fieldLayout
key in the project config.
- Fixed a bug where element indexes’ View menus could show the “Sort by” field when the structure view was selected. (#14780)
";s:4:"date";s:19:"2024-04-09T00:00:00";}i:38;a:4:{s:7:"version";s:5:"4.8.7";s:8:"critical";b:0;s:5:"notes";s:563:"
- The Craft 5 Upgrade utility now shows the upgrade status and latest compatible version for abandoned plugins.
- Fixed a “Double-instantiating a checkbox select on an element” JavaScript warning. (#14707)
- Fixed a bug where
craft\cache\DbCache
was attempting to store values beyond the cache.data
column’s storage capacity.
- Fixed a bug where the Updates utility could include submit buttons without labels for abandoned plugins.
";s:4:"date";s:19:"2024-04-03T00:00:00";}i:39;a:4:{s:7:"version";s:5:"4.8.6";s:8:"critical";b:0;s:5:"notes";s:61:"
- Added the “Craft 5 Upgrade” utility.
";s:4:"date";s:19:"2024-03-26T00:00:00";}i:40;a:4:{s:7:"version";s:5:"4.8.5";s:8:"critical";b:0;s:5:"notes";s:851:"
- Selectize inputs no longer automatically select the hovered option on Tab press. (selectize/selectize.js#2085)
- The
setup/cloud
command now ensures that the environment and composer.json
are configured to use PHP 8.1+.
- Fixed a JavaScript error that could occur if another error occurred when performing an element action.
- Fixed a bug where filesystems’
afterSave()
and afterDelete()
methods weren’t getting called. (#14634)
- Fixed an error that could occur on
elements/recent-activity
Ajax requests when editing an element. (#14635)
";s:4:"date";s:19:"2024-03-22T00:00:00";}i:41;a:4:{s:7:"version";s:5:"4.8.4";s:8:"critical";b:0;s:5:"notes";s:133:"
- Craft no longer shows an alert when an installed Craft/plugin edition is a lower tier than the licensed edition.
";s:4:"date";s:19:"2024-03-19T00:00:00";}i:42;a:4:{s:7:"version";s:5:"4.8.3";s:8:"critical";b:0;s:5:"notes";s:538:"
craft\helpers\DateTime::toDateTime()
now attempts to create a DateTime
object by passing the passe-in value into its constructor.
- Fixed a bug where navigating back after creating an entry or applying a draft would return a 404 error. (#14587)
- Fixed a bug where action URLs weren’t respecting the subpath specified by the
@web
alias, if it wasn’t present in the local URL to index.php
.
";s:4:"date";s:19:"2024-03-15T00:00:00";}i:43;a:4:{s:7:"version";s:5:"4.8.2";s:8:"critical";b:0;s:5:"notes";s:958:"
- Entry queries are now ordered by
postDate DESC, id DESC
by default, rather than just postDate DESC
, to ensure their order is consistent when two entries have the same post date.
- Fixed a bug where
craft\helpers\DateRange::dateIntervalByTimePeriod()
wasn’t accounting for DST changes.
- Fixed a bug where programmatically-updated
<textarea>
s weren’t triggering autosaves. (craftcms/ckeditor#172)
- Fixed a JavaScript error that could occur when navigating between asset folders, when a JavaScript-based uploader was registered. (#14542)
- Fixed a bug where action URLs were getting duplicate URI segments if Craft was installed in a subpath within the webroot. (#14559)
";s:4:"date";s:19:"2024-03-12T00:00:00";}i:44;a:4:{s:7:"version";s:5:"4.8.1";s:8:"critical";b:0;s:5:"notes";s:784:"
- Fixed a bug where some characters were getting misinterpreted as elisions when normalizing search keywords.
- Fixed a bug where
craft\helpers\UrlHelper::actionUrl()
was using the site URL rather than the requested URL. (#14440)
- Fixed a bug where
craft\helpers\Html::parseTagAttribute()
wasn’t handling attribute values with newlines. (#14498)
- Fixed a bug where the “Filesystem Type” setting wasn’t toggling type-specific settings when editing a filesystem via a slideout. (#14522)
- Fixed a potential SSTI vulnerability.
";s:4:"date";s:19:"2024-03-05T00:00:00";}i:45;a:4:{s:7:"version";s:5:"4.8.0";s:8:"critical";b:0;s:5:"notes";s:3511:"Trialing Craft and plugin updates with expired licenses is allowed now, on non-public domains.
When licensing issues occur on public domains, the control panel will now become temporarily inaccessible for logged-in users, alerting them to the problems and giving them an opportunity to resolve them. (The front end will not be impacted.)
Content Management
- Assets fields’ selection modals now open to the last-viewed location by default, if their Default Upload Location doesn’t specify a subpath. (#14382)
- Element sources no longer display
0
badges.
Administration
- Color fields now have a “Presets” settings. (#14463)
- It’s now possible to update expired licenses from the Updates utility, on non-public domains.
- The
queue/run
command now supports a --job-id
option.
update all
and update <handle>
commands now support a --with-expired
option.
Development
- The GraphQL API is now available for Craft Solo installs.
- The
{% js %}
and {% css %}
tags now support .js.gz
and .css.gz
URLs. (#14243)
- Relation fields’ element query params now factor in the element query’s target site(s). (#14258, #14348, #14304)
- Element queries’
level
param now supports passing an array which includes null
. (#14419)
Extensibility
- Added
craft\services\ProjectConfig::EVENT_AFTER_WRITE_YAML_FILES
. (#14365)
- Added
craft\services\Relations::deleteLeftoverRelations()
. (#13956)
- Added
craft\services\Search::shouldCallSearchElements()
. (#14293)
System
- Relations for fields that are no longer included in an element’s field layout are now deleted after element save. (#13956)
- The Sendmail email transport type now uses the
sendmail_path
PHP ini setting by default. (#14433)
- Composer installation commands suggested by the Plugin Store now include a minimum version constraint.
- Fixed a bug where it wasn’t possible to eager-load Matrix block revisions, or load them via GraphQL. (#14448)
- Fixed a PHP warning that could occur when publishing asset bundles on Dev Mode. (#14455)
- Fixed a bug where the Updates utility and Updates widget weren’t handling update check failures.
- Updated Twig to 3.8.
";s:4:"date";s:19:"2024-02-26T00:00:00";}i:46;a:4:{s:7:"version";s:5:"4.7.4";s:8:"critical";b:0;s:5:"notes";s:1924:"
- The Plugin Store now shows “Tested on Cloud” and “Supports GraphQL” labels for plugins when appropriate.
- Fixed a JavaScript error that could occur when switching between asset sources, if the user had permission to upload assets to some but not others. (#14403)
- Fixed a bug where setting
showSiteMenu
to true
on element index templates was being treated as 'auto'
. (#14404)
- Fixed a SQL error that occurred when setting the Max Length of a URL field beyond what’s allowed by a
varchar
column. (#14408)
- Fixed a bug where
data-target
and data-reverse-target
attributes weren’t getting properly namespaced if they included a class name selector.
- Fixed the type annotation for
craft\behaviors\CustomFieldBehavior::$fieldHandles
. (#14421)
- Fixed a bug where the Shift + Spacebar keyboard shortcut for previewing assets was only working for the first selected asset, rather than the focused one.
- Fixed a JavaScript error that could occur when previewing an image.
- Fixed a bug where PHP errors that occurred during bootstrap weren’t getting logged to
stderr
for console requests. (#14424)
- Fixed a bug where disabled elements and drafts weren’t automatically getting propagated to newly-created sites, when appropriate.
- Fixed a bug where the selected tab wasn’t being remembered when switching sites on element edit pages. (#4018)
";s:4:"date";s:19:"2024-02-22T00:00:00";}i:47;a:4:{s:7:"version";s:5:"4.7.3";s:8:"critical";b:0;s:5:"notes";s:1096:"
- Updated the bundled
composer.phar
to Composer 2.7.1. (CVE-2024-24821)
- Fixed a bug where read/write splitting was always getting disabled for GraphQL POST requests. (#14324)
- Fixed a bug where GraphQL schema edit pages could include empty category headings.
- Fixed a bug where asset slideouts weren’t showing validation errors on the Filename field. (#14329)
- Fixed a bug where element slideouts would open when long-pressing on an element’s “Remove” button within an element select input.
- Fixed a bug where relations weren’t getting deleted when an element was deleted for a site. (#14347)
- Fixed a SQL error that occurred when saving a Number field with Decimals set to more than 30 on MySQL. (#14370)
";s:4:"date";s:19:"2024-02-15T00:00:00";}i:48;a:4:{s:7:"version";s:7:"4.7.2.1";s:8:"critical";b:0;s:5:"notes";s:295:"
- Craft now requires Composer ^2.7.0. (CVE-2024-24821)
- Fixed a PHP error that could occur when using Checkboxes or Multi-select fields. (#14326)
";s:4:"date";s:19:"2024-02-08T00:00:00";}i:49;a:4:{s:7:"version";s:5:"4.7.2";s:8:"critical";b:0;s:5:"notes";s:1440:"
- It’s now possible to select the temp asset volume within Assets fields, if the temp upload location includes a subpath. (#14246)
- Fixed a bug where it wasn’t possible to set the “Formatting Locale” user preference back to “Same as language” once another value had been selected.
- Fixed a bug where layout components provided by disabled plugins weren’t getting omitted. (#14236)
- Fixed a bug where “Move to the left” and “Move to the right” actions within field layout designers weren’t always getting enabled when they should, if a new tab was added.
- Fixed a bug where “Move to the left” and “Move to the right” actions within field layout designers were labelled incorrectly for right-to-left languages.
- Fixed a bug where users with “Create entries” permission but not “Delete entries” weren’t allowed to delete their own unpublished drafts. (#14294)
- Fixed a bug where Yii-provided Chinese translations weren’t getting picked up in the control panel. (#14287)
- Fixed an alignment bug with sortable structure views. (#14299)
";s:4:"date";s:19:"2024-02-07T00:00:00";}}s:13:"phpConstraint";s:6:"^8.0.2";s:11:"packageName";s:12:"craftcms/cms";}s:7:"plugins";a:10:{s:6:"cloner";a:3:{s:6:"status";s:8:"eligible";s:8:"releases";a:0:{}s:11:"packageName";s:12:"verbb/cloner";}s:9:"codefield";a:3:{s:6:"status";s:8:"eligible";s:8:"releases";a:0:{}s:11:"packageName";s:28:"nystudio107/craft-code-field";}s:8:"freeform";a:4:{s:6:"status";s:8:"eligible";s:8:"releases";a:68:{i:0;a:4:{s:7:"version";s:5:"5.6.5";s:8:"critical";b:0;s:5:"notes";s:874:"Added
- Added support for Cloudflare Turnstile spam protection captcha.
Changed
- Updated the sample Grid and Flexbox formatting templates to allow for compatibility between Group fields and Conditional Rules.
Fixed
- Fixed a bug where the Decimal Count setting for the Calculation field type was not seeing
0
as a valid value.
- Fixed a bug where the Freeform 4.x migration was converting status colors to
gray
instead of grey
while in Craft 4.x.
- Fixed a bug where the Send Success Email from Stripe to Submitter setting was not respected and Stripe would continue sending email receipts.
- Fixed a bug where using the List view on the forms dashboard could trigger an error for some customers.
";s:4:"date";s:19:"2024-10-11T00:00:00";}i:1;a:4:{s:7:"version";s:5:"5.6.4";s:8:"critical";b:0;s:5:"notes";s:1153:"Added
- Added support for Is One Of and Is Not One Of rule types for conditional rules, allowing you to perform advanced conditional checks on multi-option field types.
- Added a Decimal Count setting to the Calculation field type for the ability to automatically round result values.
- Added support for PKCE (Proof Key for Code Exchange) in the Pardot integration.
Changed
- Improved the form builder to remember the last opened items for the Notifications, Rules and Integrations tabs.
- Updated the French translation.
Fixed
- Fixed a bug where Export Notifications were not working.
- Fixed a bug where disabling email notifications inside the form builder would not disable them.
- Fixed a bug where duplicating a form would exclude email notifications, conditional rules and integrations.
- Fixed a bug where a default error message was not set for the Regex field type.
- Fixed a bug where the Freeform 4.x migration was not migrating or setting a default error message for Regex fields.
";s:4:"date";s:19:"2024-10-07T00:00:00";}i:2;a:4:{s:7:"version";s:5:"5.6.3";s:8:"critical";b:0;s:5:"notes";s:492:"Added
- Added a new Stripe
EVENT_AFTER_UPDATE_PAYMENT_METADATA
event that allows additional metadata to be attached to a payment intent when a submission is created.
Fixed
- Fixed a bug where custom fields were not showing for mapping in the Pipedrive CRM integration.
- Fixed a bug where mapping a field handle of
name
to a Stripe integration will prevent the Stripe field from loading in the front end.
";s:4:"date";s:19:"2024-09-27T00:00:00";}i:3;a:4:{s:7:"version";s:5:"5.6.2";s:8:"critical";b:0;s:5:"notes";s:640:"Fixed
- Fixed a bug where the Export Freeform data utility was not loading correctly in Craft 4.
- Fixed a bug where email notification templates could not be assigned to forms in the form builder for some users.
- Fixed a bug where the form "Cards" icon was not showing in the button on the form dashboard page.
- Fixed a bug where form submission and spam counters were not displaying in the dashboard for users and groups without read or manage permissions.
- Fixed a bug where links to modify forms in the List view of the dashboard did not account for user and group permissions.
";s:4:"date";s:19:"2024-09-20T00:00:00";}i:4;a:4:{s:7:"version";s:5:"5.6.1";s:8:"critical";b:0;s:5:"notes";s:124:"Fixed
- Fixed a bug where file-based email notification templates were not being read correctly.
";s:4:"date";s:19:"2024-09-18T00:00:00";}i:5;a:4:{s:7:"version";s:5:"5.6.0";s:8:"critical";b:0;s:5:"notes";s:1463:"Added
- Added a utility for granularly exporting and importing Freeform data (beta), including forms, submissions, templates, integrations, and Freeform settings.
- Added the ability to organize form cards into groups on the Forms dashboard page.
- Added the ability to switch the Forms dashboard page from Cards to a List table view.
- Added the ability to check in Twig to see if an integration is enabled for a form. Use
{% if form.isIntegrationEnabled("integrationHandle") %}
.
- Added template-level overrides for POST Forwarding, allowing for Twig in the POST Forwarding URL and error phrase.
- Added the ability to hide advanced settings for Submit buttons with the Limited Users feature.
- Added compatibility of Hubspot tracking code to the Hubspot CRM integration.
- Added French translation. Thanks @scandella!
- Added German translation.
Changed
- Updated all sample formatting templates to load all scripts and styles via URLs to aid with strict content security policies. Added a migration for the Grid and Flexbox formatting template names in forms and the demo templates.
- Updated Status column styling to match Craft 5 for CP submissions/spam indexes.
Fixed
- Fixed various issues with missing translation strings.
- Fixed style issues on Payment cards in the CP submissions index.
";s:4:"date";s:19:"2024-09-17T00:00:00";}i:6;a:4:{s:7:"version";s:6:"5.5.10";s:8:"critical";b:0;s:5:"notes";s:297:"Fixed
- Fixed a compatibility issue with Campaign 3.x on Craft 5.x.
- Fixed a bug where an error could occur when creating new forms on some MySQL installs.
- Fixed a bug where the Diagnostics page could error on integration reporting if using PostgreSQL.
";s:4:"date";s:19:"2024-09-06T00:00:00";}i:7;a:4:{s:7:"version";s:5:"5.5.9";s:8:"critical";b:0;s:5:"notes";s:1082:"Added
- Added support for migrating Submit button labels in the Freeform 4.x migration.
- Added support for migrating conditional rules on Submit buttons in the Freeform 4.x migration.
- Verified support for Craft 5.4.x.
Changed
- Various updates to Dutch translations.
Fixed
- Fixed a bug where uploading assets to submissions in the control panel would incorrectly mark them as unfinalized assets to be deleted
- Fixed a bug where the Forms element field type was not alphabetically ordering the list of forms.
- Fixed a bug where some types of conditional rules on fields were not migrating properly in the Freeform 4.x migration.
- Fixed a bug where the Constant Contact integration was not implementing the refresh token interface.
- Fixed a bug where the Pardot integration was missing the
pardot_api
scope.
Security
- Updated the
phpoffice/phpspreadsheet
dependency to correct an XSS vulnerability.
";s:4:"date";s:19:"2024-09-04T00:00:00";}i:8;a:4:{s:7:"version";s:5:"5.5.8";s:8:"critical";b:0;s:5:"notes";s:128:"Fixed
- Fixed a bug where some headers were missing in the Pardot integration authorization request.
";s:4:"date";s:19:"2024-08-30T00:00:00";}i:9;a:4:{s:7:"version";s:5:"5.5.7";s:8:"critical";b:0;s:5:"notes";s:746:"Changed
- Updated Webhooks to improve the inclusion of file metadata.
- Updated the Stripe dependency versions to include
v14
and v15
.
- Changed Freeform so it does not set
noCache
headers on every request. Includes support for Craft's asyncCsrfInputs
feature.
Fixed
- Fixed a bug where the
site
parameter would lose track of the active site on nav links in the control panel when using the multi-site feature. For this to work correctly, you must enable the Site Filtering for Forms and Submissions setting.
- Fixed a bug where Freeform scripts were being attached to non-Freeform forms.
";s:4:"date";s:19:"2024-08-14T00:00:00";}i:10;a:4:{s:7:"version";s:5:"5.5.6";s:8:"critical";b:0;s:5:"notes";s:459:"Added
- Added Keap CRM integration.
- Add a
queuePriority
setting to set the Craft queue priority of Freeform jobs.
- Verified support for Craft 5.3.x.
Fixed
- Fixed issues with permissions when using the Craft Team edition.
- Fixed a bug where custom field types were not showing in the Express edition.
- Fixed some minor styling issues on the diagnostics page.
";s:4:"date";s:19:"2024-08-10T00:00:00";}i:11;a:4:{s:7:"version";s:5:"5.5.5";s:8:"critical";b:0;s:5:"notes";s:593:"Changed
- Refactored exception catching. Added a failsafe which performs a token refresh flow once if an access token returns an unauthorized response.
Fixed
- Fixed a bug where the Bypass All Spam Checks for Logged in Users setting did not correctly bypass all spam checks for logged-in users when a form is cached.
- Fixed a bug where moving fields around in the builder layout would sometimes not work correctly.
- Fixed a bug where the Surveys & Polls link in form cards was broken.
";s:4:"date";s:19:"2024-07-30T00:00:00";}i:12;a:4:{s:7:"version";s:5:"5.5.4";s:8:"critical";b:0;s:5:"notes";s:724:"Added
- Added
freeform.loadScripts()
template function for manually loading Freeform scripts (e.g. Freeform JS, reCAPTCHA, JS Test, etc).
Changed
- Changed form deleting from a
DELETE
to POST
request for better compatibility with server permissions.
Fixed
- Fixed a bug where Webhooks were being triggered on submissions sent to the Spam Folder.
- Fixed a bug where the CP Submissions chart was not showing for users with no settings access permissions.
- Fixed a bug where integration field mapping wasn't always cleaning up correctly.
- Fixed some Dutch translation language bugs.
";s:4:"date";s:19:"2024-07-11T00:00:00";}i:13;a:4:{s:7:"version";s:5:"5.5.3";s:8:"critical";b:0;s:5:"notes";s:982:"Added
- Added support for mapping URLs, email addresses, and phone numbers to the Craft URL field type for element integrations.
- Added a
loadFormSpecificScripts
template function for manually loading additional form-specific scripts (e.g. reCAPTCHA, JS Test, etc).
Changed
- Updated integrations to fail gracefully on the front end when a user submits the form. If there's a configuration issue or error for the integration, the form will continue to process for the user and log an error in the Freeform error log.
- Updated integrations to no longer encrypt setting values configured with an ENV variable. Instead, the ENV variable will be stored in the database to continue working in multiple environments.
Fixed
- Fixed a bug where email notification jobs would fail when the Store Submission Data setting was disabled for the form.
";s:4:"date";s:19:"2024-07-04T00:00:00";}i:14;a:4:{s:7:"version";s:5:"5.5.2";s:8:"critical";b:0;s:5:"notes";s:658:"Changed
- Improved field error validation on multi-page forms using Element integrations. If required element fields are not present on the current Freeform form page, their error validation will happen at the end of the form instead.
- Improved integration error messages in the settings page.
Fixed
- Fixed a bug where email notifications were not rendering all fields from all pages.
- Fixed a bug where email notification jobs did not contain submission object data (if using that to render submission data).
- Fixed a potential ordering issue when dragging fields between rows.
";s:4:"date";s:19:"2024-07-03T00:00:00";}i:15;a:4:{s:7:"version";s:5:"5.5.1";s:8:"critical";b:0;s:5:"notes";s:808:"Changed
- Updated the form deletion process to include a delete confirmation modal to prevent accidental deletion of forms.
Fixed
- Fixed a bug that caused the Email Notification and Integration jobs to break when the Store Submitted Data setting was disabled.
- Fixed a bug that intermittently prevented integrations using OAuth from working.
- Fixed a bug where the Spam Blocking integrations page was not visible while admin changes were not allowed.
- Fixed a bug where going to a previous page in multi-page forms would not retain any data entered on the current page.
- Fixed a bug where the Move, Duplicate, and Archive form card buttons were displaying for the Express edition, which is not relevant.
";s:4:"date";s:19:"2024-06-27T00:00:00";}i:16;a:4:{s:7:"version";s:5:"5.5.0";s:8:"critical";b:0;s:5:"notes";s:2055:"Added
- Added the ability to bulk insert options into option-based field types (Checkboxes, Dropdown, etc).
- Added the ability to archive forms. Archived forms will continue to work and be accessible, but will no longer appear prominently on the Forms dashboard page.
- Added file attachments to be included in the POST Forwarding feature.
Changed
- Changed spam blocking to be integrations now. Previously, whenever
allowAdminChanges
was set to false
, it was no longer possible for users to modify blocked keywords, emails and IP addresses. This has been rectified by moving them from the settings to integration types. Users can now create pre-built sets of spam blocks, share them across forms, and manage each individually per form.
- Removed Blocked Keywords, Emails, and IP Addresses from the Spam Protection settings area.
- Added new integration types
Keywords
, Emails
and IP Addresses
.
- Added a migration that migrates previous settings into new integrations and applies them to existing forms.
- Updated the File Drag & Drop field type to use
title
attribute to display error information on files and removed the microtip
library, as it was incompatible with a strict Content Security Policy that doesn't allow inline styles or inline scripts to be used.
Fixed
- Fixed a bug where rearranging fields into different rows in the form builder many times could cause it to stop working correctly.
- Fixed a bug that intermittently prevented integrations using OAuth from working. Added a buffer time for the refresh token check.
- Fixed a bug where failed Webhook integrations would break forms upon submission. Errors are now just logged in the Freeform error log.
- Fixed a bug where Date & Time field validation issues with native HTML types. A new setting has been added.
";s:4:"date";s:19:"2024-06-26T00:00:00";}i:17;a:4:{s:7:"version";s:5:"5.4.2";s:8:"critical";b:0;s:5:"notes";s:272:"Changed
- Updated remaining unnecessary inline
style
attributes to be handled in freeform.css
file instead.
Fixed
- Fixed some visual issues in the settings area of the Limited Users feature.
";s:4:"date";s:19:"2024-06-21T00:00:00";}i:18;a:4:{s:7:"version";s:5:"5.4.1";s:8:"critical";b:0;s:5:"notes";s:129:"Fixed
- Fixed a bug where the form builder would not load correctly on the Express and Lite editions.
";s:4:"date";s:19:"2024-06-19T00:00:00";}i:19;a:4:{s:7:"version";s:5:"5.4.0";s:8:"critical";b:0;s:5:"notes";s:1836:"Added
- Added Limited Users feature (Pro), which allows you to customize the form builder experience for specific users or groups.
- You can choose which field types are available and which settings and page tabs are visible.
- This ensures that these users are not overwhelmed by advanced settings and prevents them from accidentally breaking your forms or site.
- Multiple limited user groups can be created.
- Added ability to set email notifications and integrations to use Craft's queue.
- Added settings to control the Default 'From Name' and 'From Name' when creating new email notification templates.
- Added a chart to the Submissions index page.
- Added full translation support for the form builder and overhauled the English and Dutch translation files to be complete.
Changed
- Updated email notifications and integrations to be now handled by Craft's jobs. These can optionally be queued as well.
- Moved all remaining inline CSS and Javascript into external script files. This does not include inline CSS and JS for sample formatting templates.
- Updated the Date & Time field type to use
date
, time
, and datetime-local
when not using the Flatpickr date/time picker feature.
Fixed
- Fixed a bug where the form Save & Continue feature was not working correctly.
- Fixed a bug where Stripe Payment forms would not scroll to the top of the form if there were errors.
- Fixed a bug that prevented clicking the Back button on a page that contained a Stripe Payment field from working.
- Fixed a bug where conditional rules were not being scoped within each form, which could affect other similar forms.
";s:4:"date";s:19:"2024-06-18T00:00:00";}i:20;a:4:{s:7:"version";s:5:"5.3.5";s:8:"critical";b:0;s:5:"notes";s:730:"Added
- Verified support for Craft 5.2.
- Verified support for the reCAPTCHA Enterprise API and updated the Settings page.
Changed
- Updated Survey & Poll report summary page to limit Text answers to the most recent 20 each to help with performance and readability.
Fixed
- Fixed a bug where the Entries Elements integration was not working correctly on multi-site setups when attempting to map to a section with the primary site disabled.
- Fixed a bug where the spam reason was not displaying correctly for Captchas and JS Test.
- Fixed a bug where 'checked' was available for option-based fields in the GraphQL Explorer.
";s:4:"date";s:19:"2024-06-13T00:00:00";}i:21;a:4:{s:7:"version";s:5:"5.3.4";s:8:"critical";b:0;s:5:"notes";s:293:"Added
- Added a list of active modules to the Freeform Diagnostics page.
Changed
- Minor updates to the plugin icon for better visibility in Craft 5.
Fixed
- Fixed a potential error when uninstalling Freeform 5.
";s:4:"date";s:19:"2024-06-07T00:00:00";}i:22;a:4:{s:7:"version";s:7:"5.3.3.1";s:8:"critical";b:0;s:5:"notes";s:175:"Changed
- Reverted improved Twig template debugging for formatting templates change (5.1.17) for now, as it is causing issues with Windows servers.
";s:4:"date";s:19:"2024-06-05T00:00:00";}i:23;a:4:{s:7:"version";s:5:"5.3.3";s:8:"critical";b:0;s:5:"notes";s:562:"Changed
- Updated the Password field type's Minimum Length setting to suppress Craft's minimum password length message when integrating with a Craft User to handle user registration.
- Updated the Freeform Diagnostics page to include additional checks and improve some existing ones.
Fixed
- Fixed a bug where Windows servers would show an error when attempting to load formatting templates.
- Fixed a bug where a duplicate form filter could sometimes display in the CP Submissions index page.
";s:4:"date";s:19:"2024-06-05T00:00:00";}i:24;a:4:{s:7:"version";s:5:"5.3.2";s:8:"critical";b:0;s:5:"notes";s:510:"Changed
- Updating the Surveys & Polls report/results page to include additional CSS that hides the Craft navbar and header for printing (or saving as PDF).
Fixed
- Fixed a bug where the Table field type's built-in JS and max rows settings inside the form builder did not affect the front end.
- Fixed a bug where en and em dash characters were not saving in submission data on Radios, Dropdown, and Opinion Scale field types.
";s:4:"date";s:19:"2024-05-31T00:00:00";}i:25;a:4:{s:7:"version";s:5:"5.3.1";s:8:"critical";b:0;s:5:"notes";s:147:"Fixed
- Fixed a bug that could cause the Craft search index to break if multiple forms had fields with the same handle.
";s:4:"date";s:19:"2024-05-28T00:00:00";}i:26;a:4:{s:7:"version";s:5:"5.3.0";s:8:"critical";b:0;s:5:"notes";s:1968:"Changed
- Improved the Script Insert feature:
The Static URLs option is no longer available, and the default is now Craft's Asset Bundles (an improved version of As Files). This ensures the best performance and reliability for any site and compatibility with Craft Cloud.
- The file pointers endpoints (_Static URLs) remain available for backward compatibility.
- The manual script loading approach (
loadFreeformPlugin
) will also automatically load Asset Bundle URLs.
- Renamed the Freeform Script Insertion Location and Freeform Script Insert Type settings to Script Insert Location and Script Insert Type, respectively.
- Updated the demo templates:
- The submissions index view now orders submissions in descending order.
- The submission view now includes an enhanced display of assets for File Drag & Drop fields (in addition to regular File fields).
- Various updates to sample formatting templates:
- No longer include vague CSS classes to avoid conflict with other site styles. Added
freeform-form
class to the <form>
tag for all sample templates.
- No longer force overrides for
addButtonLabel
and removeButtonLabel
on Table fields.
- Improved display and positioning of submit buttons on Basic sample templates.
- Improved display of success and error banners on Basic sample templates.
Fixed
- Fixed a bug where the
tableAttributes
template overrides for Table fields were not working.
- Fixed a bug where displaying assets from File fields in CP Submissions was broken.
- Fixed a bug where the Theme setting was mislabeled for File Drag & Drop fields inside the form builder.
";s:4:"date";s:19:"2024-05-24T00:00:00";}i:27;a:4:{s:7:"version";s:5:"5.2.2";s:8:"critical";b:0;s:5:"notes";s:658:"Added
- Added
freeform-stripe-load
event for Payments forms and moved Mutation Observer outside of window.onload
.
Changed
- Updated the Conditional Rules JSON attachment from
<script>
to <div>
with a data attribute for better compatibility with JS frameworks.
Fixed
- Fixed a bug where fetching Payment records (
freeform.payments
) in the Submissions query was not available.
- Fixed a bug where an error about
freeform_feed
would be triggered when attempting to install Freeform.
";s:4:"date";s:19:"2024-05-22T00:00:00";}i:28;a:4:{s:7:"version";s:5:"5.2.1";s:8:"critical";b:0;s:5:"notes";s:121:"Fixed
- Fixed a bug where the Express Forms migration was not working as of Freeform 5.1.19+.
";s:4:"date";s:19:"2024-05-21T00:00:00";}i:29;a:4:{s:7:"version";s:5:"5.2.0";s:8:"critical";b:0;s:5:"notes";s:1233:"Added
- Added optional Site Filtering setting for forms and submissions (Pro). This setting allows you to filter form lists by Sites and prevents other admins from accessing forms that belong to Sites they don't have access to.
- This only controls access to forms and submissions. It does not enable translations per site.
- If you'd like to apply this change retroactively, you should run the
./craft freeform/submissions/resave
CLI command after enabling this setting.
- Added settings for Password field to set a minimum number of characters to be used (Min Length) and whether the password should contain at least one number, one lowercase letter, one uppercase letter, and one special character (Character Variability).
- Added an integration for Google Sheets (Pro).
Changed
- Updated sample formatting templates to use
novalidate
. It was previously incorrectly applied to inputs instead of <form>
.
Fixed
- Fixed a bug where Stripe payment information was unavailable in email notifications.
";s:4:"date";s:19:"2024-05-15T00:00:00";}i:30;a:4:{s:7:"version";s:8:"5.1.19.1";s:8:"critical";b:0;s:5:"notes";s:210:"Fixed
- Fixed a bug where attempting to update to Freeform 5.1.19 could cause the process to crash.
- Fixed input placeholder styles for Bootstrap sample formatting templates.
";s:4:"date";s:19:"2024-05-09T00:00:00";}i:31;a:4:{s:7:"version";s:6:"5.1.19";s:8:"critical";b:0;s:5:"notes";s:761:"Changed
- Updated the Settings → Statuses to no longer have conflicting logic to set the default status for new forms. This is now done in the Settings → Form Builder area in Freeform 5+.
- Improved integration errors to log more meaningful error messages.
Fixed
- Fixed a bug where the Update Notices feature for the Freeform dashboard was not working.
- Fixed a bug where clicking the Source type an additional time would clear any option settings you currently have for Options-based field types.
- Fixed a bug where setting
allowedGraphqlOrigins
to false
in general.php would cause form submissions to crash.
";s:4:"date";s:19:"2024-05-08T00:00:00";}i:32;a:4:{s:7:"version";s:8:"5.1.18.1";s:8:"critical";b:0;s:5:"notes";s:631:"If you are experiencing visual issues with form layouts and styles on the front end, please update Freeform and ensure you're adding the |raw
filter to form.attributes.success
and form.attributes.errors
in any custom formatting templates you may have when not using AJAX.
Changed
- Added the
|raw
filter to form.attributes.success
and form.attributes.errors
in sample formatting templates as they began parsing with an extra set of quotes around them when not using AJAX.
";s:4:"date";s:19:"2024-05-06T00:00:00";}i:33;a:4:{s:7:"version";s:6:"5.1.18";s:8:"critical";b:0;s:5:"notes";s:872:"If you are experiencing visual issues with form layouts and styles on the front end, please update Freeform and ensure you're adding the |raw
filter to form.attributes.row
in any custom formatting templates you may have.
Changed
- Added the
|raw
filter to form.attributes.row
in sample formatting templates as they began parsing with an extra set of quotes around them.
Fixed
- Fixed a bug where forms would fail when loading if a Confirm field was used and the Duplicate Check setting was set to Anyone - Once per Email Address.
- Fixed a bug where the form builder's field association badges for Checkbox, HTML, and Rich Text fields did not display correctly.
";s:4:"date";s:19:"2024-05-06T00:00:00";}i:34;a:4:{s:7:"version";s:6:"5.1.17";s:8:"critical";b:0;s:5:"notes";s:1222:"Added
- Added Assets as an Element source for populating Freeform field options.
- Confirmed compatibility with Craft 5.1.x.
Changed
- Improved Twig template debugging for formatting templates.
- Updated Tailwind formatting template to have instructions below the field label instead of below the input.
- Updated the JSON payload from forms to no longer contain details of the user(s) that created and last updated the form.
- Updated the Field Type Manager to store field types set to hidden in the database instead of the Project Config file.
Fixed
- Fixed a bug where Freeform fields with long handles could cause Craft's search indexing jobs to fail.
- Fixed a bug where Export Notifications would fail if they contained multiple email addresses.
- Fixed a bug where conditional rules were outputted to the browser console.
- Fixed a bug where some integration could fail due to model properties being before EVENT_BEFORE_SAVE.
- Fixed a bug where Notification Persistence would throw errors if the form upsert event has errors.
";s:4:"date";s:19:"2024-05-03T00:00:00";}i:35;a:4:{s:7:"version";s:8:"5.1.16.1";s:8:"critical";b:0;s:5:"notes";s:124:"Fixed
- Fixed a bug where the update migration for 5.1.16 was not automatically being triggered.
";s:4:"date";s:19:"2024-04-29T00:00:00";}i:36;a:4:{s:7:"version";s:6:"5.1.16";s:8:"critical";b:0;s:5:"notes";s:885:"Added
- Added the ability to set conditional rules that can prematurely fully submit the form if matched.
- Added the ability to set conditional rules on Submit, Back and Save buttons.
- Added support for using conditional rules across different pages, e.g. Field C on Page 2 will display if Field A on Page 1 is X.
Changed
- Updated the color of submit buttons inside the form builder to dark gray to prevent confusion with actual action buttons.
Fixed
- Fixed a bug where saving any Freeform settings would clear the Form Builder "defaults" settings.
- Fixed a bug where submissions flagged as spam would still send data off to integrations instead of being queued.
- Fixed some potential issues with submitting Checkbox fields.
";s:4:"date";s:19:"2024-04-26T00:00:00";}i:37;a:4:{s:7:"version";s:6:"5.1.15";s:8:"critical";b:0;s:5:"notes";s:765:"Changed
- Updated GraphQL to include HTML and Rich Text field types.
Fixed
- Fixed a bug where the Export Profiles page in the CP would display an error in Craft 5 when any profiles exist.
- Fixed a bug where Stripe Payment submissions were still processed when flagged as spam by Freeform.
- Fixed a bug where the form builder included two labels for Checkbox fields.
- Fixed a bug where creating a new Site and setting it to be the Primary site (at the same time) would fail due to Freeform.
- Fixed a bug where the old approach of
FreeformField_Submit
and FreeformField_Save
were still showing under fields
in the GraphQL explorer.
";s:4:"date";s:19:"2024-04-24T00:00:00";}i:38;a:4:{s:7:"version";s:6:"5.1.14";s:8:"critical";b:0;s:5:"notes";s:453:"Added
- Added
freeform/submissions/generate
CLI command to allow the creation of fake submission data into forms. Useful for testing and troubleshooting some issues.
- Added support for searching into specific fields in the CP Submission element search bar (e.g.
firstName:bob
). You may need to run ./craft freeform/submissions/resave --update-search-index
once for this to work.
";s:4:"date";s:19:"2024-04-19T00:00:00";}i:39;a:4:{s:7:"version";s:8:"5.1.13.1";s:8:"critical";b:0;s:5:"notes";s:100:"Fixed
- Fixed an issue with the Dotdigital integration.
";s:4:"date";s:19:"2024-04-18T00:00:00";}i:40;a:4:{s:7:"version";s:6:"5.1.13";s:8:"critical";b:0;s:5:"notes";s:888:"Added
- Added Craft element search support for submissions. You may need to run
./craft freeform/submissions/resave --update-search-index
once for this to work.
- Added
freeform/submissions/resave
CLI command to resave all existing submissions.
- Added
freeform/submissions/fix-titles
CLI command to fix the migration of Element titles for sites that have upgraded from Craft 4 to Craft 5. This command needs to be run once after the migration.
Fixed
- Fixed a visual issue with the Quick Export modal styles in Craft 5.
- Fixed a bug where the Express Forms migration utility would not work if there were no fields in a form.
- Fixed a race condition issue where refreshing the browser in the form builder would sometimes show stale or invalid data on section tabs.
";s:4:"date";s:19:"2024-04-17T00:00:00";}i:41;a:4:{s:7:"version";s:6:"5.1.12";s:8:"critical";b:0;s:5:"notes";s:493:"Changed
- Changed all
PUT
requests to POST
requests for sites with strict method allowlists.
- Updated the form builder to include the Craft notice banner for successes and errors when saving the form.
- Updated success/error notices throughout the plugin.
- Updated breadcrumbs throughout the plugin.
Fixed
- Fixed a bug where error validation was not working correctly in the form builder.
";s:4:"date";s:19:"2024-04-12T00:00:00";}i:42;a:4:{s:7:"version";s:6:"5.1.11";s:8:"critical";b:0;s:5:"notes";s:1852:"Changed
- Refactored Captcha loaders and added lazy load support.
- Improved Failure Behavior settings for Captchas inside the form builder.
- Improved display of HTML, Rich Text, Hidden and Invisible field types in the form builder.
- Updated the
fields
and lists
limits in the ActiveCampaign integration.
- Updated the
stripe/stripe-php
dependencies to include ^13.0
.
- Updated the
symfony/property-access
, symfony/finder
, symfony/filesystem
and symfony/expression-language
dependencies to remove 2.8|^3.0|^4.0
.
- Updated the
symfony/serializer
dependency to include ^5.0
and ^7.0
.
- Updated the
hashids/hashids
dependency to include ^5.0
and remove ^2.0
.
- Removed the
composer/composer
dependency requirement.
Fixed
- Fixed an issue with the Dotdigital integration.
- Fixed a deprecation error when viewing the CP Submissions index in Craft 5.
- Fixed an alignment issue with the Submit buttons in the CP Submission and Spam detail pages.
- Fixed a bug where Element integration field mapping was not reliably loading and saving data.
- Fixed a bug where Email Marketing integrations could fail when field mapping is updated.
- Fixed a bug in which the form's Updated date was not correctly updated.
- Fixed a bug where the Javascript Test was loading inside the CP Submission detail page.
- Fixed a bug where an element query could execute before Craft loaded.
";s:4:"date";s:19:"2024-04-11T00:00:00";}i:43;a:4:{s:7:"version";s:6:"5.1.10";s:8:"critical";b:0;s:5:"notes";s:328:"Changed
- Updated the
symfony/property-access
, symfony/finder
, symfony/filesystem
and symfony/expression-language
dependencies to include ^7.0
.
- Updated the
nesbot/carbon
dependency to include ^3.0.0"
.
";s:4:"date";s:19:"2024-04-04T00:00:00";}i:44;a:4:{s:7:"version";s:5:"5.1.9";s:8:"critical";b:0;s:5:"notes";s:1594:"Added
- Added an updated Dotdigital email marketing integration.
- Added an
EVENT_UPDATE_PAYMENT_METADATA
developer event for modifying Stripe metadata.
Changed
- Refactored the form submit and submit button lock process to work reliably when more complex features and flows are active (e.g. Stripe, Captchas, File Drag & Drop, etc).
- Updated the domain extension length maximum from
6
to 15
for Website fields.
- Exposed the Maximum Length field setting for GraphQL.
Fixed
- Fixed a bug where Freeform fields could not map to Salesforce Checkbox fields.
- Fixed an issue with Stripe subscriptions and empty product names. Also added a failsafe for the product name.
- Fixed a bug where the Page tab label editor in the builder was broken when a scrollbar was present (lots of pages).
- Fixed a bug where the Max Length setting was not present for applicable fields.
- Fixed a bug where deleting Group fields could delete other fields that share its row in the builder.
- Fixed a bug where the reCAPTCHA v2 Checkbox was not being validated if left empty on a form with Stripe.
- Fixed a bug where the Submit button was prematurely becoming active again before the Stripe payment form was fully processed.
- Fixed a bug where Captchas were loaded inside the CP submission detail page when enabled.
";s:4:"date";s:19:"2024-04-03T00:00:00";}i:45;a:4:{s:7:"version";s:5:"5.1.8";s:8:"critical";b:0;s:5:"notes";s:978:"Added
- All reCAPTCHA and hCaptcha versions are now available for the Lite edition (as well as Pro).
Changed
- Updated the delete icon display and behavior for managing page tabs in the builder.
Fixed
- Fixed a bug where the form submit button was not always locking correctly with forms using Stripe or File Upload fields.
- Fixed a bug where deleting Group fields in the builder was not also removing the fields inside.
- Fixed a visual issue when editing page tab names in the builder when using the Safari and Firefox browsers.
- Fixed a visual issue for field blocks in the builder when using the Microsoft Edge browser.
- Fixed a bug where long field labels overlapped other field labels in the builder.
- Fixed a bug where conditional rules for forms might not always migrate correctly from Freeform 4.
";s:4:"date";s:19:"2024-03-27T00:00:00";}i:46;a:4:{s:7:"version";s:5:"5.1.7";s:8:"critical";b:0;s:5:"notes";s:457:"Fixed
- Fixed a bug where reCAPTCHA would conflict with forms using Stripe Payments.
- Fixed a bug where mapping a field with a handle of
name
would break the Stripe integration.
- Fixed a bug where running the migration from Freeform 3.x could trigger a
Base table or view already exists
error.
- Fixed some Safari browser stying issues with the horizontal scrollbar for page tabs.
";s:4:"date";s:19:"2024-03-22T00:00:00";}i:47;a:4:{s:7:"version";s:5:"5.1.6";s:8:"critical";b:0;s:5:"notes";s:712:"Added
- Added a Not Like option for filtering on field values in Export Profiles.
Changed
- Improved the form builder so it doesn't prematurely close the property editor when a click and drag happens beyond it (e.g. selecting a value in a text input field to clear and replace it).
Fixed
- Fixed a bug where fields could have conditional rules for each other and cause an infinite loop.
- Fixed a bug where removing conditional rules did not always remove the correct rule set.
- Fixed a bug where using multiple Stripe fields from multiple Stripe accounts in the same form would not work correctly.
";s:4:"date";s:19:"2024-03-20T00:00:00";}i:48;a:4:{s:7:"version";s:7:"5.1.5.1";s:8:"critical";b:0;s:5:"notes";s:142:"Fixed
- Fixed a bug where a change for setting
nocache
headers in Freeform 5.1.5 broke the Craft CLI.
";s:4:"date";s:19:"2024-03-20T00:00:00";}i:49;a:4:{s:7:"version";s:5:"5.1.5";s:8:"critical";b:0;s:5:"notes";s:1176:"Changed
- Updated the CSRF input to send
nocache
headers when rendering.
- Adjusted the Diagnostics page to include PHP 8.2 and 8.3 compatibility.
Fixed
- Fixed a bug where Freeform was opening unnecessary sessions.
- Fixed a bug where page tabs would become inaccessible when the number of tabs exceeds the width of the browser window.
- Fixed a bug where mapping to the Enabled setting on Craft Entry element integrations was not working.
- Fixed a bug where user group selection in the User element integration did not allow multiple choice.
- Fixed a bug where files were not being uploaded for regular File Upload fields when not using AJAX.
- Fixed a bug where the User element integration was not always working when used in edit mode.
- Fixed a bug where changes to email notifications in the form builder were not sticking if you switched to another tab.
- Fixed a bug where the default theme option for Stripe was incorrectly named
default
instead of stripe
, causing console errors in the browser.
";s:4:"date";s:19:"2024-03-19T00:00:00";}i:50;a:4:{s:7:"version";s:5:"5.1.4";s:8:"critical";b:0;s:5:"notes";s:512:"Added
- Added the ability to add attributes to Captcha containers at the template level.
Changed
- Reverted the Campaign Monitor to API tokens (instead of OAuth) to address several complications.
Fixed
- Fixed a bug where the Freeform 4 to 5 migration could fail when creating submission database tables in some circumstances.
- Added clarity to the Activate Users setting for the User element integration.
";s:4:"date";s:19:"2024-03-14T00:00:00";}i:51;a:4:{s:7:"version";s:5:"5.1.3";s:8:"critical";b:0;s:5:"notes";s:513:"Fixed
- Fixed a bug where Dynamic Recipient fields could sometimes fail in the Freeform 4 to 5 migration.
- Fixed a bug where saving submissions via console commands would fail on the saved notes feature.
- Fixed a bug where the Calculations field type was not triggering the Stripe element refresh when set as the dynamic amount field while set as Plain Text.
- Fixed a bug where the Empty Option Label feature was showing on fields other than Dropdowns.
";s:4:"date";s:19:"2024-03-11T00:00:00";}i:52;a:4:{s:7:"version";s:5:"5.1.2";s:8:"critical";b:0;s:5:"notes";s:467:"Fixed
- Fixed a bug where Success Templates were not being mapped in the Freeform 4 to 5 migration.
- Fixed a bug where the Calculations field type was not triggering the Stripe element refresh when set as the dynamic amount field.
- Fixed a bug where changing a form's Form Type had no effect.
- Fixed a bug in conditional rules logic that prevented fields with handles beginning with a number from working correctly.
";s:4:"date";s:19:"2024-03-07T00:00:00";}i:53;a:4:{s:7:"version";s:5:"5.1.1";s:8:"critical";b:0;s:5:"notes";s:1230:"Added
- Added compatibility with Craft 5 beta (in addition to Craft 4.x).
- Added back support for an optional Empty Option Label for Dropdown fields that are populated by Elements or Predefined options.
- Added support for Automatic Spam Purging in the Lite edition of Freeform.
Changed
- Refactored the Submission Purge functionality to use the Craft queue.
- Updated the Stripe dynamic amount field setting to accept Calculation fields.
Fixed
- Fixed a bug where the default Status set inside the builder was not being respected.
- Fixed a bug where only the first File Upload field would work if using multiple File Upload fields in the form.
- Fixed a bug where the Freeform 4 to 5 migration was setting the Success Behavior setting to Reload for all forms instead of matching what was set in Freeform 4.
- Fixed a bug where converting a field with Array data to a different field type without (e.g. Checkboxes to Dropdown) would trigger an error.
- Fixed a bug where the Calculation field was not being added to the Special field group on migration.
";s:4:"date";s:19:"2024-03-06T00:00:00";}i:54;a:4:{s:7:"version";s:5:"5.1.0";s:8:"critical";b:0;s:5:"notes";s:445:"Added
- Added a Calculation field type, which allows you to perform dynamic calculations based on user-input values within forms.
- Added a migration from the Express Forms plugin. It will import forms and fields, submissions, and notification templates.
- Added ability to set dynamic notifications using GraphQL.
Fixed
- Fixed a bug where page buttons were not translatable.
";s:4:"date";s:19:"2024-03-01T00:00:00";}i:55;a:4:{s:7:"version";s:6:"5.0.16";s:8:"critical";b:0;s:5:"notes";s:121:"Fixed
- Fixed a bug where the Stripe payments field would not load correctly when logged out.
";s:4:"date";s:19:"2024-02-28T00:00:00";}i:56;a:4:{s:7:"version";s:6:"5.0.15";s:8:"critical";b:0;s:5:"notes";s:288:"Changed
- Updated all sample formatting templates to include complete Stripe appearance API customization.
Fixed
- Fixed a bug where connecting to new integrations using OAuth 2.0 were not working due to the redirect URI being empty.
";s:4:"date";s:19:"2024-02-27T00:00:00";}i:57;a:4:{s:7:"version";s:8:"5.0.14.1";s:8:"critical";b:0;s:5:"notes";s:105:"Fixed
- Fixed some remaining issues related to the migration from Freeform 4.
";s:4:"date";s:19:"2024-02-23T00:00:00";}i:58;a:4:{s:7:"version";s:6:"5.0.14";s:8:"critical";b:0;s:5:"notes";s:699:"Changed
- Updated the reserved words list to make exceptions for
name
, type
, and username
as they are more likely to be used and don't appear to cause any issues.
Fixed
- Fixed a bug where Confirm fields were present in email notifications.
- Fixed a bug where the Page Skipping feature for Conditional Rules was not working correctly.
- Fixed a bug where forms would error when Freeform Date fields were mapping to Craft date fields (e.g. Post Date, Expiry Date, etc) in Element integrations.
- Fixed a bug where setting a template override for the submission status was not working.
";s:4:"date";s:19:"2024-02-23T00:00:00";}i:59;a:4:{s:7:"version";s:6:"5.0.13";s:8:"critical";b:0;s:5:"notes";s:1225:"Added
- Added a reserved word validator using Craft's reserved words to check against field handles.
- Added the ability to map directly to the Full Name in the Craft User element integration.
Changed
- Updated Confirm fields to no longer store data when targeting a Password field.
Fixed
- Fixed a bug where creating new forms with special or foreign characters would cause the form not to be created due to an invalid form handle.
- Fixed a bug where the Fill Form Values from the GET Query String setting was not being respected.
- Fixed a bug where editing existing users via the Craft User element integration in a Freeform form did not affect First Name and Last Name fields.
- Fixed a bug where the Page Skipping feature for Conditional Rules was not working at all.
- Fixed a bug where the Stripe Payments field was not working with the Tailwind sample formatting template (and potentially some custom templates).
- Fixed a bug where some sample formatting templates showed unnecessary styling wrappers around Stripe Payments fields.
";s:4:"date";s:19:"2024-02-23T00:00:00";}i:60;a:4:{s:7:"version";s:6:"5.0.12";s:8:"critical";b:0;s:5:"notes";s:388:"Added
- Added support for querying conditional rules for fields and pages in GraphQL.
Fixed
- Fixed a bug where migrated forms with a Dynamic Recipients field (not User Select) would trigger an error loading/submitting the form.
- Fixed a bug where Regex fields were triggering an error if left empty when submitting the form.
";s:4:"date";s:19:"2024-02-19T00:00:00";}i:61;a:4:{s:7:"version";s:6:"5.0.11";s:8:"critical";b:0;s:5:"notes";s:933:"Added
- Added a setting to allow users to enable dashes in field handle names.
Fixed
- Fixed several issues related to the migration from Freeform 4, including table prefixes and field handles that are too long getting corrupted.
- Fixed an issue where table prefixes were not being respected on fresh installs.
- Fixed the precedence order for overriding attributes in formatting templates. Overrides in the template loading the form now take precedence over the formatting template overrides within it.
- Fixed a bug where editing/saving a submission inside the control panel could sometimes error about a user ID being
0
.
- Fixed a bug where the Stripe Webhook URL was incorrectly including a CP admin path. Any existing Stripe integrations will need to be manually adjusted.
- Adjusted the JS in a few of the sample templates.
";s:4:"date";s:19:"2024-02-16T00:00:00";}i:62;a:4:{s:7:"version";s:6:"5.0.10";s:8:"critical";b:0;s:5:"notes";s:940:"Added
- Added PKCE (Proof Key for Code Exchange) implementation for integrations using the OAuth2.0 flow.
- Added support for PKCE (Proof Key for Code Exchange) in the Salesforce integration.
Fixed
- Fixed a bug where the CP Submission detail pages were not handling conditional rule logic correctly.
- Fixed a bug where the Send Digest Email job was added to the Craft queue even when turned off.
- Fixed a bug where the Stripe Payments field would not load in the form when the Freeform Script Insertion Location setting was set to Page Header.
- Fixed a bug where the Use Option Labels when Exporting setting was causing exports to fail.
- Fixed a bug where the Freeform was causing Element query executed before Craft is fully initialized errors to be logged in the Craft logs.
";s:4:"date";s:19:"2024-02-08T00:00:00";}i:63;a:4:{s:7:"version";s:5:"5.0.9";s:8:"critical";b:0;s:5:"notes";s:322:"Fixed
- Fixed a bug where the Mailchimp integration was only showing one audience/mailing list.
- Fixed a bug where the
fieldIdPrefix
parameter was not working.
- Fixed a bug where the Conditional Rules value input was not being hidden for empty condition rule types.
";s:4:"date";s:19:"2024-02-07T00:00:00";}i:64;a:4:{s:7:"version";s:5:"5.0.8";s:8:"critical";b:0;s:5:"notes";s:589:"Changed
- Implemented better cache busting for loading script pointers.
- Implemented a unified entry point for loading scripts based on current settings.
- Implemented a single Stripe script loader and mutation observer.
- Updated dropdown settings to have a clearer distinction between mapped/unmapped items.
Fixed
- Fixed a bug where the Stripe Payment field would sometimes not load on the front end.
- Fixed a bug where all old integrations were not being cleared during the migration from Freeform 4.
";s:4:"date";s:19:"2024-02-06T00:00:00";}i:65;a:4:{s:7:"version";s:5:"5.0.7";s:8:"critical";b:0;s:5:"notes";s:561:"Added
- Added support for querying page Submit buttons in GraphQL.
Changed
- Updated the HubSpot integration to use v3 of the API and the private app token approach instead of OAuth flow.
Fixed
- Fixed a bug where hyphens were allowed in form and field handles.
- Fixed a bug where the GraphQL cache was not resetting after making form updates.
- Fixed a bug where
maxLength
was included in Text and Textarea field types in GraphQL when not applicable.
";s:4:"date";s:19:"2024-02-02T00:00:00";}i:66;a:4:{s:7:"version";s:7:"5.0.6.1";s:8:"critical";b:0;s:5:"notes";s:287:"Fixed
- Fixed a bug where integration settings pages were not being displayed in the navigation when
allowAdminChanges
was set to false
.
- Fixed a bug where the Dynamic Template Notifications feature was not working correctly.
";s:4:"date";s:19:"2024-02-01T00:00:00";}i:67;a:4:{s:7:"version";s:5:"5.0.6";s:8:"critical";b:0;s:5:"notes";s:899:"Added
- Added the ability to manually render Submit buttons in forms.
Changed
- Adjusted the Manual Form extra template in the demo templates to use the new manual Submit button approach.
Fixed
- Fixed a bug where the replace syntax for template overrides (e.g.
=class
) was not working correctly.
- Fixed a bug where
0
was not considered a valid value for a Number field with the required
validator.
- Fixed a bug where regular File Upload fields were not working correctly if the field was set to be required.
- Fixed a bug where field values/default values were not returning correctly in GraphQL queries.
- Fixed a bug where some sample formatting templates did not correctly style the File Upload Drag & Drop fields.
";s:4:"date";s:19:"2024-01-31T00:00:00";}}s:13:"phpConstraint";s:13:"^8.0.2|^8.2.0";s:11:"packageName";s:23:"solspace/craft-freeform";}s:18:"google-tag-manager";a:3:{s:6:"status";s:8:"eligible";s:8:"releases";a:0:{}s:11:"packageName";s:41:"la-haute-societe/craft-google-tag-manager";}s:15:"locale-selector";a:3:{s:6:"status";s:8:"eligible";s:8:"releases";a:0:{}s:11:"packageName";s:38:"la-haute-societe/craft-locale-selector";}s:8:"redactor";a:8:{s:6:"status";s:8:"eligible";s:8:"releases";a:1:{i:0;a:4:{s:7:"version";s:5:"3.1.0";s:8:"critical";b:0;s:5:"notes";s:226:"- Redactor fields now prevent element edit pages from automatically reloading when in fullscreen mode (requires Craft CMS 4.10+). (craftcms/cms#14814)
";s:4:"date";s:19:"2024-06-12T00:00:00";}}s:13:"phpConstraint";s:6:"^8.0.2";s:11:"packageName";s:17:"craftcms/redactor";s:9:"abandoned";b:1;s:15:"replacementName";s:8:"CKEditor";s:17:"replacementHandle";s:8:"ckeditor";s:14:"replacementUrl";s:37:"https://plugins.craftcms.com/ckeditor";}s:3:"seo";a:4:{s:6:"status";s:8:"eligible";s:8:"releases";a:3:{i:0;a:4:{s:7:"version";s:5:"4.2.4";s:8:"critical";b:0;s:5:"notes";s:77:"
- Fixed canonical URL issues (via @therealpecus)
";s:4:"date";s:19:"2024-10-09T00:00:00";}i:1;a:4:{s:7:"version";s:5:"4.2.3";s:8:"critical";b:0;s:5:"notes";s:102:"Fixed
- Fix snippet issue when field has more that one % (via @ttempleton)
";s:4:"date";s:19:"2024-07-13T00:00:00";}i:2;a:4:{s:7:"version";s:5:"4.2.2";s:8:"critical";b:0;s:5:"notes";s:156:"Fixed
- use pagination information on canonical (via @therealpecus)
- sitemap element type grouping (via @jamesedmonston)
";s:4:"date";s:19:"2024-02-16T00:00:00";}}s:13:"phpConstraint";s:4:"^8.0";s:11:"packageName";s:9:"ether/seo";}s:12:"social-share";a:4:{s:6:"status";s:8:"eligible";s:8:"releases";a:3:{i:0;a:4:{s:7:"version";s:5:"1.0.6";s:8:"critical";b:0;s:5:"notes";s:66:"Changed
- Update English translations.
";s:4:"date";s:19:"2024-05-29T00:00:00";}i:1;a:4:{s:7:"version";s:5:"1.0.5";s:8:"critical";b:0;s:5:"notes";s:158:"Added
- Add support for
headlessMode
redirect URIs.
Changed
- Update English translations.
";s:4:"date";s:19:"2024-04-29T00:00:00";}i:2;a:4:{s:7:"version";s:5:"1.0.4";s:8:"critical";b:0;s:5:"notes";s:147:"Added
- Add improved session-handling for authorization and callback methods, to improve failed sessions in some cases.
";s:4:"date";s:19:"2024-04-05T00:00:00";}}s:13:"phpConstraint";s:6:"^8.0.2";s:11:"packageName";s:18:"verbb/social-share";}s:13:"style-inliner";a:4:{s:6:"status";s:8:"eligible";s:8:"releases";a:1:{i:0;a:4:{s:7:"version";s:5:"3.0.6";s:8:"critical";b:0;s:5:"notes";s:110:"Fixed
- Update Composer dependencies to resolve Dependabot alerts #13, #14 and #15
";s:4:"date";s:19:"2023-08-25T00:00:00";}}s:13:"phpConstraint";s:6:"^8.0.0";s:11:"packageName";s:33:"enovatedesign/craft-style-inliner";}s:15:"twig-perversion";a:4:{s:6:"status";s:8:"eligible";s:8:"releases";a:0:{}s:11:"packageName";s:31:"marionnewlevant/twig-perversion";s:9:"abandoned";b:1;}}}i:1;N;}