2.14.0
Change Log
Security
- Prevented updating custom fields that were not set as publicly updateable
- Fixed theme's Author URL XSS vulnerability (Reported by @joanbono)
- Fixed company name XSS vulnerability (Reported by @joanbono)
Features
- #6201 Feature install plugins command (@escopecz)
- #6132 Allow a contact to go through a campaign multiple times (@alanhartless)
- #6107 Company level email data reporting API (@dreiser)
- #6060 Adds option to set custom headers for emails (@alanhartless)
- #5974 UTM tags - add a report for UTM tags (@Maxell92)
- #5869 [Enhancement] Allow filtering contacts by UTM data within campaigns. (@heathdutton)
- #5623 Builder preview button (@GaberNeighbor)
- #5344 Command to deduplicate contacts (@alanhartless)
Enhancements
- #6295 SMS transport use Lead instead of hardcoded phone (@alanhartless)
- #6292 Add campaign ID to the Momentum payload (@alanhartless)
- #6221 Add support to dispatch CampaignEvents::ON_EVENT_SCHEDULED_BATCH for the batch of failed rescheduled jobs (@alanhartless)
- #6215 New campaign action to jump to another event in the current campaign (@dongilbert)
- #6127 Add close button to form results (@kuzmany)
- #6120 Add FormBuilder to CustomFormEvent so plugins could modify Mautic forms (@escopecz)
- #6086 [Improvement] Add an index for manually_removed. (@heathdutton)
- #6074 Change default behavior for Send form results action (@dongilbert)
- #6073 Momentum Integration (@dreiser)
- #6043 Store tokens in redirect URLs and replace the tokens on redirect (@escopecz)
- #6036 Dispatch event before Report's query execution for plugins to alter query (@scottshipman)
- #6016 Inject new custom content hooks below graphs (@kuzmany)
- #5980 Phpstan Travis check for Config and DashboardBundles (@escopecz)
- #5942 Complete refactoring of campaign processing (@alanhartless)
- #5886 [Enhancement] Allow filtering contacts by UTM data for segments. (@heathdutton)
- #5849 Display list of contacts on click in Click stats table across all channel (@kuzmany)
- #5781 Email code improvements (@escopecz)
- #5755 Segment refactoring (@Maxell92)
- #5728 Disable trackable urls in SMS integration (@kuzmany)
Bugs
- #6322 Fixed bug introduced in campaign refactoring that prevented some decisions from being evaluated (@alanhartless)
- #6294 Decouple Twilio from enabling campaign and channel subscribers (@alanhartless)
- #6293 Fixed bug that prevented push to campaign from working if we did not update the SF person (@alanhartless)
- #6287 Fix critical error when user hit email but lead is deleted (@Enc3phale)
- #6285 Fix widget events trigger in time (@Dcoutelle)
- #6260 Fix compatibility between tokens and redirect links (@alanhartless)
- #6246 Fix typo in PlainText Message Helper classname (@maxlawton)
- #6244 Decode special characters before setting from name (@alanhartless)
- #6239 Fix: Remove tags in campaign action (@kuzmany)
- #6238 Fix permission when cloning object (@Enc3phale)
- #6229 Fixed contact identification in clickthroughs generated in dynamic content and fixed fatal error for direct-to-contact sends (@alanhartless)
- #6222 Chart time unit (@scottshipman)
- #6208 Fixed extracting channel from event properties (@alanhartless)
- #6207 [Bugfix] Scheduled Campaign Events without Contacts (@dongilbert)
- #6200 Stop progress bar on ajax complete to account for timeouts (@escopecz)
- #6190 Bug empty csv header (@escopecz)
- #6176 Fixed BC break where property changes were no longer included in the fields array for getChanges() (@alanhartless)
- #6174 Correct the method used to clean URL (@Enc3phale)
- #6173 Fix reports when a column is added to aggregator and not to select (@escopecz)
- #6170 Do not generate company name from email address domain (@escopecz)
- #6169 Changed label from sent to opened (@Enc3phale)
- #6163 Set owner_id when sending emails via campaign to support owner is mailer (@escopecz)
- #6160 Fixed PHP notice during contact merging and redirects with asset and page link tokens (@escopecz)
- #6131 Prevent tracking device against a Mautic user (@alanhartless)
- #6118 Prevent points from getting reset after primary company is set (@alanhartless)
- #6116 Add field type url to work with contains, startsWith, endsWith on reports (@escopecz)
- #6098 Fixing duplicated tracking hashes (@hammad-tfg)
- #6085 Add Contact ID column into form results table (@escopecz)
- #6084 Fixes some things with merged #6060 custom headers (@alanhartless)
- #6083 Webhook payload type fixed (@escopecz)
- #6069 Fixed missing graph on the email reports (@escopecz)
- #6061 Fix form mapped field radio and checkbox group company (@kuzmany)
- #6041 Validate time units for data API endpoint (@escopecz)
- #6010 Prevent
.1from appending to theme filepath resulting in inability to download (@alanhartless) - #6002 Make pre-comit hook executable (@escopecz)
- #5999 Multiselect - clearing all values on Company form fixed (@escopecz)
- #5993 Close button in segments redirect to view controller (@kuzmany)
- #5990 API getList endpoint without viewOther permission fixed (@enguerr)
- #5922 Support syncList form in Focus (@kuzmany)
- #5915 Fix: Update company fields If company exist on form submit (@kuzmany)
- #5875 [Bug] SQL error if no field is chosen for "Form field value" conditional. (@heathdutton)
- #5844 remove the hidden-xs class on Do Not Contact action on contact list mobile view (@guillaumedufour)
- #5777 fixing font (@GaberNeighbor)
- #5753 Fixed double return : unreachable code after return statement (@mtahiue)
- #5637 fix validation email exists (@Noa83)
Dev Notes
A big thank you to the following community members for contributing to this release either by code or bug report: @alanhartless, @Dcoutelle, @dongilbert, @dreiser, @Enc3phale, @enguerr, @escopecz, @GaberNeighbor, @GabriGreese, @guillaumedufour, @hammad-tfg, @heathdutton, @isleshocky77, @johbuch, @jonasstinkens, @justinfortes, @kuzmany, @luizeof, @Maxell92, @maxlawton, @Mazzim, @mtahiue, @Noa83, @npracht, @panchtatvam, @r-martins, @rc125, @sarahwernik, @scottshipman, @snoek8, @stoneddesigner, @tadinski, @Woeler, @yrammos
SHA1 for 2.14.0.zip = 1a926d8d3752c85bc3cc2543625d8762e44ca206
SHA1 for 2.14.0-update.zip = faab69da1ad5303523450195838e0ef126104832