# CiviCRM 5.11.0
Released March 6, 2019
- **[Bugs resolved](#bugs)**
## <a name="synopsis"></a>Synopsis
| *Does this version...?* | |
| Fix security vulnerabilities? | |
| Change the database schema? | |
| Alter the API? | **yes** |
| Require attention to configuration options? | |
| Fix problems installing or upgrading to a previous version? | **yes** |
| Introduce features? | **yes** |
| Fix bugs? | **yes** |
## <a name="features"></a>Features
### Core CiviCRM
- **[dev/core#635](https://lab.civicrm.org/dev/core/issues/635) Implement
reconnect/replay-on-write for database connections
(https://github.com/civicrm/civicrm-core/pull/13394)) Continued Work**
These changes move towards making CiviCRM compatibility with a split DB
architecture in which one routes MySQL requests to (a) read-only slave DBs
and/or (b) read-write master DB. Specifically by implementing a
"reconnect-on-write" or "replay-on-write" (RPOW) mechanism.
- **[dev/core#561](https://lab.civicrm.org/dev/core/issues/561) Replace
jcalendar instances with datepicker
These changes switch fields that store dates from using jcalendar to use the
datepicker in the following places: the grant task form fields, grant search
fields, campaign date fields and activity followup form fields.
- **Add routine for updating smartgroups, currently handling datepicker
This change converts fields from smart groups using grant date fields to new
- **[dev/core#491](https://lab.civicrm.org/dev/core/issues/491) Report results
don't show inactive campaigns
This change standardizes the campaign fields offered on the the Activity,
Member, Contribution Detail and Member Lapse reports.
- **[dev/core#527](https://lab.civicrm.org/dev/core/issues/527) Non translatable
fields in profile schema
This change adds the ability to set translated text for the Submit and Cancel
buttons on a profile.
- **[dev/core#682](https://lab.civicrm.org/dev/core/issues/682) Add basic
contact filters to Summary Contributions Report
This change adds the basic contact filters and columns to the Summary
- **[dev/core#686](https://lab.civicrm.org/dev/core/issues/686) Make "Amount
Statistics" columns optional on Membership Summary report
This change makes it so users can choose whether or not to include the "Amount
Statistics" columns on the Member Summary report.
- **Respect pre hook for relationship to alter id in $params
This change makes it so developers can use the pre hook to alter the id in
$params for Relationships.
- **use number widget for weight and other numeric fields in more forms
This change works towards a consistent ui by making all forms "weight and
other numeric" fields number input widgets, before this change some were
plain-text inputs and some were number input widgets.
- **Survey form - use number widget for number fields
This change works towards a more consistent user experience by making the
survey form use the number widget for all number fields.
- **use number widget for weight fields in all forms
This change works towards a more consistent user experience by making all
weight fields use the number input widget (before this change some were number
input widget and some were plain text inputs).
- **Allow help text to be overridden from an .extra.hlp file
This change makes it so that .extra.hlp files can be used to override help
text. Before this change .extra.hlp files could be used to append help text
but not override help text.
- **Add extension compatibility list
Extensions whose functionality is now redundant with core may cause problems
if left installed. This change makes it so that: Obsolete extensions are
automatically disabled during core upgrades, obsolete extensions are filtered
out of the list of downloadable extensions, obsolete extensions are ignored
when considering dependencies.
- **Add selectWhere hook call to the query that generates the 'annual' query -
the 'amount this year' on a contact dash
This change adds the selectWhere hook to the getAnnualQuery function so that
extension developers can use the selectWhere hook to alter the the amount &
count values for donations this year on a contact dashboard.
- **Convert Campaign widgets to entityRef
This change cleans up the code and UI for selecting a campaign. Specifically,
instead of a select list with a button to load past campaigns, now the entire
list of campaigns is searchable and filterable. Additionally this makes it so
new campaigns can be created on-the-fly.
- **geocode job: Provide country_id to geocoders.
This change ensures that geocoders receive the country name and id (before
this change they only received the name). This change fixes a compatibility
issue with the org.wikimedia.geocoder extension.
- **Use icon for timepicker placeholder
This change adds a clock icon to all timepicker fields.
- **Add default for domain_id for report_instance.
This change makes it so when using ReportInstance.create the domain_id
defaults to the current domain.
- **Added support to generic settings form for sorting settings by weight.
This change makes it so one can order a generic settings form by weight.
- **C51-384: Added case tokens on Email Activity Modal
This change makes case tokens available in the email activity modal.
- **Translate untranslated string
This change makes it so the case activity subject when sending a copy of a
case activity can be translated.
- **Speed up loading of contribution tab on contacts with large number of
contributions in a large database
This change enhances performance when loading the contribution tab on a
- **CRM/Contribute - Add query optimization for creditnote_id
This change improves performance when cancelling or refunding contributions.
- **Fix order api to support a pseudoConstant for financial_type_id
This change makes it so the api Order.create supports both the name or the id
for financial_type_id. This improves consistency with Contribution.create api
### Backdrop Integration
- **Add main nav icon for CiviCRM (Backdrop)
This change adds the CiviCRM logo to the Backdrop main navigation item for
### Wordpress Integration
- **[dev/wordpress#11](https://lab.civicrm.org/dev/wordpress/issues/11) Code
This change adds an editor config file, that makes it so Editors that respect
`.editorconfig` settings will default to double-space-indented code as is the
Wordpress code style norm.
## <a name="bugs"></a>Bugs resolved
### Core CiviCRM
- **[dev/core#434](https://lab.civicrm.org/dev/core/issues/434) Scheduled
Reminder Error On Using Absolute Date With Repeat
This change fixes a SQL error when editing a scheduled reminder with an
'absolute_date' to 'Repeat'.
- **[dev/core#506](https://lab.civicrm.org/dev/core/issues/506) Advanced Search:
There is an error when the user tries to display results as Cases
This change ensures on the Advanced Search Form the "Display Results As" field
only shows enabled components.
- **[dev/core#731](https://lab.civicrm.org/dev/core/issues/731) Smart Group DB
Errors post-upgrade, specifically 1292 Truncated incorrect DOUBLE value
A new feature was introduced recently that allows multiple email addresses on
a contact to receive bulk mailings. This changed the "On Hold" field to be
options besides `1` and `0`, and the search was updated to allow searching
multiple values. Old smart groups had not been updated, though: this adds an
upgrade step to fix them.
- **[dev/core#745](https://lab.civicrm.org/dev/core/issues/745) Smart groups
broken when "Enable multiple bulk email address for a contact" setting is off
- **[dev/core#609](https://lab.civicrm.org/dev/core/issues/609) Can't view
"Advanced Search" links on Mailing Report without "View All Contacts"
This change makes it so that users without the permission "View All Contacts"
can view the "Advanced Search" links on mailing reports.
- **[dev/core#636](https://lab.civicrm.org/dev/core/issues/636) Custom field for
Address: The "No" value is not defaulted
This change ensures that if a contact has selected "No" for an Address custom
field (of type boolean yes/no), when editing that field it defaults to "No".
Before this change, if a user had an Address custom field with the value set
to 0 or False (like "No" does when using a Yes/No boolean) then when editing
that field it would appear unfilled.
- **[dev/core#649](https://lab.civicrm.org/dev/core/issues/649) DB error on Find
Activities with follow up criteria
This change fixes a DB error when using the Find Activities search with the
"Has a Followup Activity" search field sent to "Yes".
- **[dev/core#650](https://lab.civicrm.org/dev/core/issues/650) Use popups for
This change makes it so that when viewing a membership, when one clicks the
"View Recurring Contribution" Link it opens as a popup instead of as a new
page. This change also makes it so that when viewing a Recurring Contribution
with a membership, when one clicks on the "Membership" it opens in a popup
instead of a new page.
- **[dev/core#652](https://lab.civicrm.org/dev/core/issues/652) Copying activity
file custom data doesn't copy mime type
- **[dev/core#658](https://lab.civicrm.org/dev/core/issues/658) Consider
specifying the $frontend argument as true in getNotifyUrl()
This change specifies that Test-drive contribution pages are front end which
ensures that they display on the front end in Wordpress and that the IPN
notification URLs point to the front end.
CRM_Utils_GeocodeTest throwing test-negatives everywhere
- **[dev/core#677](https://lab.civicrm.org/dev/core/issues/677) Current Employer
'refine search' dropdown includes criteria irrelevant to organisations
Organisation/Individual: image isn't displayed
This change fixes a bug where Contact images with the .jpg file extension were
not being displayed in Internet Explorer 11.
- **[dev/core#715](https://lab.civicrm.org/dev/core/issues/715) Cannot delete
relationship type through UI
This change fixes a fatal error that was being thrown when deleting a
- **[dev/core#639](https://lab.civicrm.org/dev/core/issues/639) Note: No
restriction of the Subject field length
This change restricts the subject field input to 255 chars, before this change
there was no restriction on the input field (so no validation) but the
database field is limited to 255 chars so entering more than 255 chars would
result in an error.
- **Used field name defined in DAO file for Activity Subject
This change limits the activity subject field input size (before this change
it was unlimited).
- **Add html type for civicrm_note.privacy field
- **l10n.js - Reload when logging in as new user
This change prevents a bug where clientside settings could be served from a
stale browser cache when switching users.
- **Fix permission checks on contact create popups
This change ensures that users can only see the buttons to create a new
contact on a profile form if they have permissions to create a new contact.
- **Fix undefined throwing error in CRM.checkPerm
- **Fix broken date fields in survey response form
This change fixes a couple broken date fields (that were displaying as blank)
on the Record Survey Responses screen.
- **setLocale: precaution for when setLocale is called on an unilingual site
This change ensures that calling `setLocale()` on a non-multilingual DB does
not result in SQL queries failing.
- **Fix undefined index warning
Fixes an undefined index warning and the recent items list, when viewing an
activity with no subject.
- **Fix activity.getcount function to filter out unpermitted activities.
This change ensures that the activity.getcount function only returns
activities the user is permitted to access.
- **Do not show delete task option on create new report
- **Fix bug where getsingle calls chained actions twice
- **Fix \Civi\Token\TokenRow::customToken() failure if field is not set
This change ensures that calling \Civi\Token\TokenRow::customToken() with a
custom field that is not set works.
- **Prevent \Civi\Token\TokenCompatSubscriber::evaluate() erroring when no
contactId is given.
- **Format token custom fields with value of 0 correctly
- **PHP 7.1 incompatibility error fix for -> Error: Using $this when not in
object context in civicrm_form_data()
- **[dev/core#757](https://lab.civicrm.org/dev/core/issues/757) Viewing Contact
Note comments is broken in 5.10.4
- **Don't break loop if address fields not found while formatting rows in
This resolves a bug with state/province, country, and county IDs not being
translated into names on CSV export from reports.
- **[dev/core#768](https://lab.civicrm.org/dev/core/issues/768) Fatal error on
group search ((https://github.com/civicrm/civicrm-core/pull/13738) and
The query for groups and tags did not properly handle the case when no group
IDs are specified. This caused a fatal error when using Search Builder to
find contacts where groups or tags `IS NULL`.
- **Case type management fixes
This change ensures that only active relationships are displayed when
selecting case roles for a case type. Additionally this change ensures that
users can edit case types activity types even if the case type uses an
activity type that has been deleted. Before this change trying to edit a case
type that used an activity type that had been deleted resulted in a fatal
- **[dev/core#500](https://lab.civicrm.org/dev/core/issues/500) CiviCase:
dashboard summary count includes cases from inactive relationships
This change ensures that only active relationships are counted in the summary
count on the case dashboard.
- **[dev/core#670](https://lab.civicrm.org/dev/core/issues/670) Cases: Edit
Activity does not save tags
- **[dev/core#681](https://lab.civicrm.org/dev/core/issues/681) - Fatal Error on
submitting "Change Case Status" activity form.
- **[dev/core#693](https://lab.civicrm.org/dev/core/issues/693) On contact
summary page, on submitting a 'New Case' form doesn't redirect to 'Manage
Case' screen ((https://github.com/civicrm/civicrm-core/pull/13527))**
- **Display error instead of fatal error when trying to view a case that you
don't have permission to access
Authorize.net doesn't support MD5 hashing at the end of the month
Authorize.net is phasing out MD5 based transHash element in favor of the
SHA-512 based transHashSHA2. This change removes the MD5 check in the
Authorize.net payment processor to prevent it from breaking when MD5 based
transHash is phased out.
(Regression) Contribution page amounts change on save when > $1,000
This formats money at the form layer on the contribution page in order to
avoid problems with the comma (in locales using it as a thousands delimiter)
is treated as a decimal delimiter.
- **Do not check financial permissions on contribution.create if
check_perrmissions is FALSE.
- **Simplify billingblock in Contribution/Form/Main template
This change ensures the billing block is only loaded once. Before this change
it was being loaded twice once by CRM/Financial/Form/Payment.tpl and once by
- **Convert Paypal Standard IPN payment_date to system's time zone
This change ensures the Paypal Standard IPN payment_date uses the system's time
zone. Before this change the `payment_date` was set to the local time for Paypal
(a Pacific time zone of `PST` or `PDT` is part of the timestamp). This led to
the wrong time being written to the database.
- **Remove inappropriate exception handling.
This change removes an exception when a payment is recorded through the api
for a contribution that has a status other than "Partially paid" or "Pending
- **[dev/core#586](https://lab.civicrm.org/dev/core/issues/586) PCP Report does
not show accurate total amount and total donors
This change ensures that the "Personal Campaign Page Report" provides accurate
numbers for the "Committed Amount" and the "Number of Donors" in the report
- **[dev/core#756](https://lab.civicrm.org/dev/core/issues/756) Error on
Contributions tab with soft credits in multiple currencies
- **[dev/core#646](https://lab.civicrm.org/dev/core/issues/646) Event date
sorting doesn't work for ical listing
This change ensures that on the ical listing of events, when sorting by event
dates, the dates get sorted by ASC/DSC for start date instead of alphabetical
- **[dev/core#766](https://lab.civicrm.org/dev/core/issues/766) New Event using
a template - clicking "Continue" doesn't save custom data
- **Don't require CiviEvent permission to create repeating activity
- **[dev/mail#32](https://lab.civicrm.org/dev/mail/issues/32) Deduping test
email is case sensitive
When composing a mailing, the email address used in the "send test email to"
field at the bottom is deduped, this change ensures that the deduping is not
case sensitive so that emails that are the same but have different upper/lower
case combinations match appropriately.
- **[dev/mail#36](https://lab.civicrm.org/dev/mail/issues/36) Bounce processing
fails for invalid unicode characters
This change ensures that bounce messages containing invalid unicode characters
are processed. Before this change an exception was thrown and a bounce was not
stored in the datebase, but mail was moved to the processed folder. After this
change: invalid characters are replaced with unicode replacement characters,
No exception is thrown and the bounce is saved.
- **[dev/mail#37](https://lab.civicrm.org/dev/mail/issues/37) Bounce processing
fails for 4-byte unicode characters
This change ensures that bounce messages containing 4-byte unicode characters
are processed appropriately. Before this change when a bounce message
contained a 4-byte unicode character: an exception was thrown, the bounce was
not stored in the database, the mail was moved to the processed folder. After
this change: 4-bytes unicode characters are replaced with unicode replacement
characters, no exception is thrown and the bounce is saved.
- **[dev/core#644](https://lab.civicrm.org/dev/core/issues/644) "From" address
on membership renewal notices is wrong
This change ensures Membership renewal notifications and receipts are sent
"From" the logged-in users name and email. Before this change the "From" was
set as the logged in users contact id.
- **Membership custom fields sometimes don't display
There change fixes a bug where some Membership custom field sets would
sometimes not display.
- **[dev/membership#10](https://lab.civicrm.org/dev/membership/issues/10) "Start
date must be the same or later than Member since" triggered when dates are the
### Drupal Integration
- **[dev/drupal#43](https://lab.civicrm.org/dev/drupal/issues/43) Drupal8:
composer requires psr/log ~1.0.0, incompatible with psr/log 1.1.0
This change updates the civicrm-cxn-rpc and psr/log requirements so that they
are a compatible with Drupal8.
civicrm/file/imagefile serving up wrong images
This change fixes a bug where files saved in CiviCRM with ids and event ids
were not loading properly in drupal views.
- **Email sent from CiviCRM for a new Case and Activity does not evaluate the
$activityTypeName or $manageCaseURL tokens
### Wordpress Integration
- **Fix shortcode button when popup setting is disabled
This change makes it so that the WP shortcode button works regardless of
whether ajax popups are disabled in CiviCRM settings.
- **[dev/core#666](https://lab.civicrm.org/dev/core/issues/666) Prevent trailing
ampersand in some URLs in WordPress
## <a name="misc"></a>Miscellany
- **[dev/core#647](https://lab.civicrm.org/dev/core/issues/647) Not all unit
tests classes are used by jenkins
- **Deprecate unused function
- **Removed '>' from comment
- **Fix regression whereby making receive_date required breaks back offic…
- **Update 5.10.0.md
- **(NFC) Add 'schema' to \Civi\Token\TokenProcessor()
- **(NFC) Add listTokens() function to return formatted list of tokens for forms
- **(NFC) Ensure that when loading in the test data it is done with UTF8 …
- **(NFC) Add unit test of creating notes from the contact.create API
- **[tidy-up] remove a couple of useless bits of code
- **Add unit test for emailing receipts from additional payment page
- **remove duplicated call to createCreditNoteId()
- **[REF] Replace ->assign with CRM_Core_Smarty::singleton()->assign in
preparation for making function shareable
- **[REF] Create pseudo bao CRM_Financial_BAO_Payment & move create function to
- **REF Convert forms to standard customData template
- **REF Remove redundant function
- **(REF) Make activeTokens a class property of
- **REF Remove duplicate call to session singleton
- **REF Remove undefined variable when creating note
- **(REF) Add CRM_Utils_Cache::nack(). Use it for NaiveHasTrait.
- **[dev/core#562](https://lab.civicrm.org/dev/core/issues/562) Remove instances
of $dao->free ((https://github.com/civicrm/civicrm-core/pull/13393))**
- **Re-run gencode for fix on PriceField DAO
- **Performance fix for alternate getActivity listing function
- **Convert deprecated OptionGroup::getLabel to PseudoConstant::getLabel for
- **removed unwanted parameter from getLineItems()
- **Escape the header title & section title in reports to better support
- **Upgrade Jquery contained within KcFinder
- **Remove tests that no longer work due to dead service
## <a name="credits"></a>Credits
This release was developed by the following code authors:
AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Agileware Team, Alok
Patel, Francis Whittle, Justin Freeman; Australian Greens - Seamus Lee; CEDC -
Laryn Kragt Bakker; Christian Wach; Circle Interactive - Dave Jenkins; CiviCRM -
Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Debarshi
Bhaumik, René Olivo, Vinu Varshith Sekar; Coop SymbioTIC - Mathieu Lutfy;
Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Frank
J. Gómez; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe -
Patrick Figel; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; Joinery -
Allen Shaw; Ken West; Liquid Web, Inc. - Jason Gillman Jr.; Megaphone Technology
Consulting - Jon Goldberg; MillerTech - Chamil Wijesooriya; MJW Consulting -
Matthew Wire; Oxfam Germany - Thomas Schüttler; PeaceWorks Technology Solutions
- Martin Hansen; Pradeep Nayak; Progressive Technology Project - Jamie
McClelland; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
British Humanist Association - Andrew West; CiviDesk - Nicolas Ganivet; Clare
Marsh; CompuCorp - Shitij Gugnani; Fuzion - Peter Davis; JMA Consulting - Joe
Murray; Lighthouse Design and Consulting - Brian Shaughnessy; Richard van
Oosterhout; QED42 - Swastik Pareek; Tadpole Collective - Kevin Cristiano;
## <a name="feedback"></a>Feedback
These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
and contact `@agh1`.