Commit 88661292 authored by Andrew Hunt's avatar Andrew Hunt Committed by totten

5.4.0 release notes (#12605)

* 5.4.0 release notes: raw from script

* 5.4.0 release notes: added boilerplate

* 5.4.0 release notes: finished documenting changes

* 5.4.0 release notes: updated contributors
parent 2286f0e9
......@@ -9,17 +9,28 @@ CiviCRM - Coleman Watts, Tim Otten
AGH Strategies - Alice Frumin, Andrew Hunt, Eli Lisseck
Agileware - Alok Patel, Francis Whittle, Justin Freeman
Andrew Thompson
Australian Greens - Seamus Lee
CiviDesk - Yashodha Chaku
CompuCorp - Michael Devery, Mukesh Ram, Omar Abu Hussein, René Olivo, Vinu
Varshith Sekar
Coop SymbioTIC - Samuel Vanhove
Bastien Ho
Blackfly Solutions - Alan Dixon
Caltha - Tomasz Pietrzkowski
CEDC - Laryn Kragt Bakker
Chris Burgess
CiviCoop - Jaap Jansma
CiviDesk - Sunil Pawar, Yashodha Chaku
CompuCorp - Camilo Rodriguez, Davi Alexandre, Debarshi Bhaumik, Michael Devery,
Mukesh Ram, Omar Abu Hussein, René Olivo, Vinu Varshith Sekar
Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove
Davis Media Access - Darrick Servis
Electronic Frontier Foundation - Mark Burdett
Fuzion - Jitendra Purohit
Ginkgo Street Labs - Frank Gómez
Hossein Amin
JMA Consulting - Monish Deb
Johan Vervloet
John Kingsnorth
Joinery - Allen Shaw
Kanzu Code - Carl Andrew Lema
Kompetenzzentrum Technik-Diversity-Chancengleichheit - Niels Heinemann
Left Join Labs - Sean Madsen
Lighthouse Design and Consulting - Brian Shaughnessy
......@@ -30,11 +41,17 @@ myDropWizard - David Snopek
Naomi Rosenberg
Olivier Tétard
Oxfam Germany - Thomas Schüttler, Yuliyana Liyana
Pradeep Nayak
Progressive Technology Project - Jamie McClelland
Romain Thouvenin
Squiffle Consulting - Aidan Saunders
Systopia - Björn Endres
Tadpole Collective - Kevin Cristiano
Third Sector Design - Michael McAndrew
Tom Bloor
Wikimedia Foundation - Eileen McNaughton
Wildsight - Lars Sanders-Green
Will Long
Key Contributors and Sponsors for 4.7
......@@ -148,6 +148,11 @@
- name : Matthias Bärnthaler
jira : baerm
- github : baernm
- github : bastienho
name : Bastien Ho
- github : bhahumanists
name : Andrew West
organization: British Humanist Association
......@@ -332,6 +337,10 @@
organization: Jvillage Network
jira : dinalondon
- name : Lizz Trudeau
organization: Drupal Association
jira : drupal_lizz
- github : dsnopek
name : David Snopek
organization: myDropWizard
......@@ -521,6 +530,9 @@
organization: AGH Strategies
jira : hollyhanks
- name : Hugo do Carmo
jira : hugo.carmo
- name : Anthony Colombo
organization: DreamSpace
jira : Hunabku
......@@ -891,9 +903,16 @@
organization: Coop SymbioTIC
jira : mlutfy
- name : Michal Mach
- github : michau
name : Michal Mach
organization: Caltha
jira : mover
- github : MikeyMJCO
name : Mikey O'Toole
organization: MJCO
jira : MikeyMJCO
- github : mmauroy
name : Matthias de Mauroy
organization: CYIM
......@@ -1085,6 +1104,9 @@
organization: Botanical Society of America
jira : robbrandt
- github : robfenwickuk
name : Robin Fenwick
- name : Robert Lang
jira : rjlang
......@@ -1142,7 +1164,7 @@
- github : scardinius
name : Tomasz Pietrzkowski
organization: We Move Europe/Caltha
organization: Caltha
jira : scardinius
- github : seamuslee001
......@@ -14,6 +14,36 @@ Other resources for identifying changes are:
## CiviCRM 5.4.0
Released August 1, 2018
- **[Synopsis](release-notes/**
- **[Features](release-notes/**
- **[Bugs resolved](release-notes/**
- **[Miscellany](release-notes/**
- **[Credits](release-notes/**
- **[Feedback](release-notes/**
## CiviCRM 5.3.2
Released July 25, 2018
- **[Synopsis](release-notes/**
- **[Bugs resolved](release-notes/**
- **[Credits](release-notes/**
- **[Feedback](release-notes/**
## CiviCRM 5.3.1
Released July 18, 2018
- **[Security advisories](release-notes/**
- **[Features](release-notes/**
- **[Bugs resolved](release-notes/**
- **[Miscellany](release-notes/**
- **[Credits](release-notes/**
## CiviCRM 5.3.0
Released July 3, 2018
# CiviCRM 5.4.0
Released August 1, 2018
- **[Synopsis](#synopsis)**
- **[Features](#features)**
- **[Bugs resolved](#bugs)**
- **[Miscellany](#misc)**
- **[Credits](#credits)**
- **[Feedback](#feedback)**
## <a name="synopsis"></a>Synopsis
| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
| Fix security vulnerabilities? | no |
| **Change the database schema?** | **yes** |
| **Alter the API?** | **yes** |
| **Require attention to configuration options?** | **yes** |
| **Fix problems installing or upgrading to a previous version?** | **yes** |
| **Introduce features?** | **yes** |
| **Fix bugs?** | **yes** |
## <a name="features"></a>Features
### Core CiviCRM
- **[CRM-20430]( A permission
'save Report Criteria'
Permission to edit the criteria for saved reports is now separate from the
permission to access and preview modifications of report criteria. This will
prevent non-privileged users from modifying the criteria of an organization's
standard reports. However when upgrading, site administrators will need to
grant the Save Report Criteria permission to roles that need that capability.
- **[dev/core#174]( Consistently use
swappable cache interfaces
[12389](, and
Sites using Redis or Memcache for caching will now use those facilities
exclusively rather than retaining the `civicrm_cache` table as a backstop.
This improves performance for these sites, especially those using multiple
MySQL servers.
- **[CRM-21574]( Allow to
disable sending of email from source contact for tell a friend on pcp
([12355]( (preliminary
Emails from the "tell a friend" feature are sent as if they are from the
donor's address. This can cause delivery failures as the site may not be a
valid source for the donor's email domain. Changes here are preliminary
- **[dev/core#32]( Add option to
disable cancel button on a profile form
The Cancel button is now optional on profile forms.
- **[CRM-21392]( Allow viewing
groups/smartgroups as as other entities (eg. memberships, events)
The Find Groups page now has a similar "View Results As" feature as the
Advanced Search: you can choose to view memberships, events, activities, etc.
of group subscribers rather than the contacts themselves.
- **[CRM-21622]( Make the Add
Parent Groups on Group Settings be a multiselect
The New Group form now allows you to set multiple parent groups for a single
- **[CRM-21460]( Programmatic
access to job execution status
Extension developers can implement two new hooks, `hook_civicrm_preJob` and
`hook_civicrm_postJob`, which are invoked before and after executing a
scheduled job.
- **Change default for `CIVICRM_CONTAINER_CACHE` to simplify admin/developer
experience ([12426](**
- **[dev/core#223]( Expose prefix
and suffix in reports
Individuals' prefix and suffix fields are now available as columns and filters
among the contact fields in most reports.
- **[dev/core#101]( Allow further
customization of search form in hooks
Fields are no longer explicitly included in the search form template since
that makes it hard to add or remove fields. Instead, the fields are listed in
template variables, and the template iterates over the list to render the
field elements.
- **[dev/core#183]( Temporary tables
should follow consistent naming convention
([12311]( (partially
This moves towards naming temporary tables--both true temporary tables in
MySQL and regular tables created for temporary use--in a consistent manner in
order to help database administrators employ replication policies based upon
table names.
- **[dev/core#144](
`getCustomFieldID` switch to API, add caching, add full string return option
([12218]( and
The function to retrieve a custom field ID now relies upon APIv3 rather than
an *ad hoc* SQL query. It also contains an option to return the ID preceded
by `custom_`. Finally, the function caches the result and attempts to return
the cached value rather than looking it up each time.
- **[dev/core#47]( Add "clone"
functionality to scheduled jobs
Scheduled jobs can now be copied, including their parameters, both from the
Scheduled Jobs page and through a new `Job.clone` API method.
### CiviCase
- **[dev/core#107]( After creating a
new case, the assignee for each activity must be selected manually
You can now select the default assignee for each activity in the standard
timeline for a case type. This may be defined according to a relationship
with the client, a single specific contact, or the contact who created the
- **CiviCase, added reference of activities from different timelines.
From an activity on a case timeline, you can now reference any activity
available to the case--not just those on that case timeline.
### CiviContribute
- **Add support for hidden fields in general (and 'token' specifically) on the
payment form. ([12332](
and [12391](**
A new authorization token field is added to the payment form to support
token-based payment processors.
- **[CRM-21808]( Install custom
group for Contribution or ContributioRecur subtypes based on XML file
Extensions created custom data sets for contributions can now specify the
custom data to apply only to a single financial type.
- **(dev/core/50) and
[dev/core#195]( Add Separate
Sub-tabs for Contributions and Recurring Contributions
([11956]( and
The Contributions tab on a contact now contains two sub-tabs--one for single
contributions, and the other for recurring contribution series--instead of
displaying one after the other.
- **[dev/core#96]( Expose source
column in booking report
The contribution Source field is now available as a column and filter on the
Bookkeeping Transactions report.
- **Use html5 color input for contribution page widget
### CiviMail
- **[dev/mail#1]( Add pause/resume
functionality to civicrm bulk mailing.
([11803]( and
A CiviMail mailing that is scheduled or in progress can now be paused in order
to allow an urgent message to go out first.
- **Add in bootstrap button classes to CiviMail interface
([12013]( and
This allows the interfaces to be themed more easily by Bootstrap-based themes.
## <a name="bugs"></a>Bugs resolved
### Core CiviCRM
- **[dev/core#222]( Importing
contacts with dedupe rule does not use the rule
- **[dev/core#284]( Aggressive cache
clearing significantly increases test time
([12590]( (partial work)**
Settings, compiled Javascript, extension, and other caches are now only
flushed along with the main CiviCRM cache if an external cache like Redis or
Memcache is in use.
- **[dev/core#279]( When Merging two
contacts, Flip between original and duplicate link not working in WordPress
- **Handle 'Check for Matching Contact(s)' button with ajax
This resolves a bug where the "Check for Matching Contact(s)" button would not
work if AJAX Deduping is enabled.
- **[dev/core#131]( Add in missing
UK shire Monmouthshire
([12538]( (follow-up on
previous work)**
Many individual sites had manually added the county of Monmouthshire in Wales
to the `civicrm_state_province` table, and upgrading to 5.3.0, which added the
missing record, would cause them a database error.
- **[dev/core#258]( Possible
unreleased regression - message template update altered customised template
- **[dev/core#249]( Contact Export
fails in 5.4 when trying to export using the All radio button
- **[dev/core#234]( Upgrade Steps in
5.3.alpha1 may not have been run
[12420](, and
- **[dev/core#155]( Improvements and
bugfixes to Option Groups UI
([12233]( and
The Option Groups page now displays whether each option group is reserved or
enabled. In addition, sites using sample data no longer have the sample
custom fields reserved.
- **[CRM-20184]( Some System
Workflow templates still miss {contact.email_greeting}
This makes receipt templates more consistent in using the contact's email
greeting when sent to individuals.
- **[dev/core#41]( Search Builder:
Not empty with date or integer custom fields gives a sql warning
([12351]( and
- **Make all form tasks inherit from `CRM_Core_Form_Task`
This addresses some export problems caused by tasks lacking certain properties
because their classes did not extend `CRM_Core_Form_Task`.
- **[dev/core#178]( Redis driver -
Error messages are invisible
The log now contains error messages passed from Redis.
- **[dev/core#180]( Deleting custom
values and custom_hook parameter `$entity_id` empty
The ID of the affected entity is now passed to `hook_civicrm_custom` when a
value is deleted from a custom field.
- **Fix access to scheduled reminders for admins without event access
Users with Administer CiviCRM permission but lacking Manage Events permission
would get an error when trying to create a non-event scheduled reminder.
- **Only treat a request as a get request (and hence use GET) if it starts with
get ([12308](**
- **[dev/core#179]( Redis driver -
Allow anonymous connections
Redis no longer attempts to authenticate when no password is set, such as on
local development environments.
- **[dev/core#177]( Redis driver -
Reports incorrect value for cache-miss
When a cache key is undefined, Redis now returns `NULL` rather than `FALSE`.
- **[dev/core#175]( Smart group
involving relationship type filter display incorrect results.
- **Make Send SMS permission independent of Edit Contact permission
You no longer need the permission to edit a contact (in addition to the Send
SMS permission) to send the contact a SMS message.
- **[dev/core#134]( Search Builder
broken filter for Source Contact ID
- **[dev/core#140]( add missing
pseudoconstant for `option_group_id` in CustomField.xml
Extensions creating custom fields can now refer to option groups by name
rather than ID.
- **[dev/accessiblity#3]( Add
aria-label (and label?) to form elements missing them
([12209]( and
[213]( (partial work)**
Besides adding `aria-label` attributes to sub-elements of the Quickform
date field, event info pages no longer wrap basic information labels in
`<label>` tags.
- **[CRM-20711]( Error - DB
Constraint Violation - GroupContact, get API
This adds the `location_id` field to the `civicrm_group_contact` table on
older sites that lack it.
- **[dev/core#152]( -
AdvMulti-Select cleanup
([531]( (follow-up work)**
This removes a couple of references to the now-removed "Advanced Multi-select"
custom field type
- **Upgrade Mime_mail to fix issues with PHP7.2
- **Apply fixes to have DB package support PHP7.2
- **[dev/core#117]( Remove usage of
`each()` This is deprecated in php7.2
([211]( (follow-up
- **Declare Subparts as array in mimePart to support PHP7.2
- **[CRM-19798]( Memory leak in
API3 EntityTag get operations
### CiviCase
- **Fix regression on case export from recent export fix
This resolves undefined property PHP notices when exporting cases.
- **[dev/core#24]( Passing an array
for contact_id/client_id to Case.Create API when updating an existing case
causes case to be "reassigned"
- **[CRM-21815]( On re-opening
a civicase - Case Coordinator (and other roles) are not reinstated
- **[dev/core#165]( Bad link in
civicrm/case/activity/view breadcrumb
### CiviContribute
- **[CRM-21637]( Search
Criteria for Card Type ID and Card Number not respected in Batch
The card type and card number filters for financial transactions in the
accounting batch interface now work as expected.
- **[CRM-21854]( Contribution
start date and end dates are not respected
([11881]( and
- **[dev/core#264]( Fatal Error on
editing Financial Transaction
- **[dev/core#220]( State
province/country doesn't show properly in the report
This resolves a bug in the Contribution History by Relationship report where
strange values would appear for the State/Province and Country fields.
- **[dev/core#202]( Empty row under
currency drop down
A warning now appears when a site has a disabled currency that is set as
- **[dev/core#88]( Make sure
`financial_type_id` is set when a contribution is created
This resolves a bug where the financial type would not be set on a one-time
contribution made through a contribution page.
- **[dev/core#170]( contribution
detail report errors when soft credits column is exposed
([12281]( and
- **Fix e-notice, remove legacy code pattern
This resolves a PHP notice when printing contribution receipts in bulk.
- **[dev/core#56]( Cancel Recurring
Contribution activity should have a source record id
The activity created when cancelling a recurring contribution now has the
recurring contribution ID as the `source_record_id`.
- **[dev/financial#14]( PayPal
Express recurring payment causes warning messages
- **[CRM-20697]( Online pay now
anomalies (contribution transfer to new contact)
The Pay Now form now uses contact ID and checksum to validate the
contribution's contact to avoid creating new contacts when an anonymous
visitor fulfills a pending contribution.
### CiviEvent
- **[dev/core#272]( Fatal Error
(Regression) on PCP pages associated with Events
- **[dev/core#124]( Registration
approval issues ([12160](
and [12417](**
This resolves a PHP warning and some confusing aspects of handling event
registration approvals.
### CiviGrant
- **[dev/core#187]( Fix typo in
`CRM_Grant_Form_Task` that prevents retrieving session key from URL
### CiviMail
- **[dev/core#133]( Reply-to field
with empty string get saved in DB as `NULL`
- **[CRM-20320]( Error in PEAR
SMTP causes mailing job to fail when an error occurs during one connection
CiviMail will now disconnect the SMTP connection when a connection error is
detected and record the group of messages as not delivered. This allows it to
reconnect later and send the messages.
- **[CRM-17753]( Newsletter