# CiviCRM 5.5.0
Released September 11, 2018
- **[Bugs resolved](#bugs)**
## <a name="synopsis"></a>Synopsis
| *Does this version...?* | |
| Fix security vulnerabilities? | no |
| Change the database schema? | no |
| **Alter the API?** | **yes** |
| Require attention to configuration options? | no |
| **Fix problems installing or upgrading to a previous version?** | **yes** |
| **Introduce features?** | **yes** |
| **Fix bugs?** | **yes** |
#### Api4 Extension now included
The [Api v4 extension](https://github.com/civicrm/org.civicrm.api4) is now included in the CiviCRM download.
It provides the latest version of CiviCRM's api for integration with extensions and other software; is is still under active development but considered complete enough to use.
Because it is not yet used by CiviCRM core, it is disabled by default.
If you install an extension which requires this api, it will be enabled automatically.
## <a name="features"></a>Features
### Core CiviCRM
- **Further fix for updating custom fields linked to optiongroups.
When a user editing a custom field that uses an option group, you may now
switch to any non-reserved option groups.
- **Further Fix for updating custom field when not linked to an option group.
Further following fix from 12729 to ensure that the Edit Custom Field form works when
not linked to an option group.
- **Upgrader - When updating message templates, identify them by name
On the Upgrade screen, when a change has been made to a message template, this
change makes it so that the name of the message template is included in the
- **Refine upgrade message for `save Report Criteria`
This change alters the update message for "save Report Criteria" to be more
readable and concise.
- **[dev/core#217](https://lab.civicrm.org/dev/core/issues/217) Allow
replacement of PrevNextCache implementation (for search screens)
Preliminary work to allow contact searches to retain their results via
Redis/Memcache (instead of MySQL).
- **Export - add tests out header output, move phone_type_id to metadata
This change makes it so one can export phone_type_id.
- **api - CustomValue::get - add handling for comma separated return fields
This change makes it so twhen using the CustomValue get api accepts comma
separated return fields.
- **[dev/core#291](https://lab.civicrm.org/dev/core/issues/291) Allow password
field sizes to be set in props a la text fields
This change makes it so password fields can be any size. Prior to this change
password fields were all the same size.
- **Entity form : Establish methodology to allow default values to be passed in
on the url ((https://github.com/civicrm/civicrm-core/pull/12185))**
This change makes it so that some values can be passed thru the url for more
information see: [dev/core#115](https://lab.civicrm.org/dev/core/issues/115).
- **[dev/core#244](https://lab.civicrm.org/dev/core/issues/244) Allow use of
custom fields of type select without specifying an optiongroup
This change makes it so one can dynamically populate a custom field of type
select using hooks without using an optiongroup.
- **Reduce config required to use Redis.
This change makes it so if using Redis, Sysadmins only have to specify the port
if not using the standard port 6379.
- **Update navigation menu items to use FontAwesome
Updates the menu "caret" (triangles) to use FontAwesome instead of
an image file. This is a performance improvement.
- **Link to option group page from option group menu item
This change adds a link to the option group page from the option group menu
item to make it easier to access the "Option Groups" page.
- **[dev/core#259](https://lab.civicrm.org/dev/core/issues/259) OptionGroup
Admin UI workflow improvements
This change improves the Option Group Administration workflow by adding
options to edit group settings, displaying a Reserved column on the option
group settings, not allowing users to change the data type on reserved option
groups, when a user edits an option group redirecting them to the option
groups list instead of the default admin page.
- **Icons in colored boxes for relationship permissions
This change makes it so that on the Relationship tab for a contact permissioned
relationships are denoted by icons in squares. Specifically, view permissions
appear as a green box with an eye icon and edit permissions as a blue box with
a pencil icon. Before this change relationship permissions were denoted with
an asterisk and view permissions with an eye icon.
Add aria-label (and label?) to form elements missing them
(https://github.com/civicrm/civicrm-core/pull/12373)) (preliminary work)**
Advances work to to use accessible labels on all pages/forms specifically on
the Contribution form and the Contact Edit Form.
- **[dev/core#233](https://lab.civicrm.org/dev/core/issues/233) Expose
information about where a contact has been merged to
This change makes it so that if a contact has been merged and is still in the
trash next to the contacts name is text explaining which ontact the contact
has been merged to. Additionally this change makes it so one can access
information on where a contact was merged from/to via the api.
- **[dev/core#34](https://lab.civicrm.org/dev/core/issues/34) Split edit/view
access on permissioned relationships
This change makes it so that permissioned relationships can be view only,
before this change permissioned relationships were view AND edit. Now one can
permission a relationship as view only or view and edit. This change also adds
a title to the icon tags that specify if a user has view or edit
- **BAO_Navigation: Respect domain_id param
This change makes it so that when creating or updating a navigation menu item
one can set the domain_id.
- **[dev/core#93](https://lab.civicrm.org/dev/core/issues/93) Update
CRM_Utils_Rule::mysqlOrderBy() to accommodate more than 2 joins
This change makes it so that API users can do more than two joins.
- **[dev/core#176](https://lab.civicrm.org/dev/core/issues/176) Odd / Even
street number sort column missing from Reports
This change adds a Odd/Even street number sort column to reports.
Improve consistency displaying "Test Transactions"
This change makes it so that when you are viewing a test membership help text
appears at the top stating that the membership is a test.
- **Expose UI support for custom fields on financial types
This change makes a user interface for custom fields on financial types.
Financial Account cannot be change to non deductible
This change makes it so that a Financial Account can be changed from
deductible to non-deductible.
- **[dev/core#241](https://lab.civicrm.org/dev/core/issues/241) Fix Manage
Premiums UI ((https://github.com/civicrm/civicrm-core/pull/12436))**
This change makes it so that on the Manage Premiums Form Financial Type is
displayed properly, Money is formatted properly and the Cost field is
- **[CRM-21768](https://issues.civicrm.org/jira/browse/CRM-21768) NOFOLLOW
Trackable links in public online view of mailings
This change adds the nofollow tag to the trackable URLs in the public view of
mailings to prevent the links from being indexed by google.
- **[CRM-21574](https://issues.civicrm.org/jira/browse/CRM-21574) Allow to
disable sending of email from source contact for tell a friend on pcp
When sending an email using the "Tell a Friend" functionality for personal
campaign pages this change makes it so you can choose whether the email should
come from the default email for the organization OR the contact IDs email
address. Before this change the emails would always go out from the contact
which can break SPF/DMARC and lead to bounced/failed email delivery.
- **[CRM-20845](https://issues.civicrm.org/jira/browse/CRM-20845) create
This change creates a hook to alter the mailing recipients after they have
been constructed but before the mailing is sent.
- **[CRM-21425](https://issues.civicrm.org/jira/browse/CRM-21425) Make 'Inbound
E-mail' Activities Editable
Before this change no one had permission to edit activities of type "Inbound
Email", this change adds two new permissions 'edit inbound email basic
information' and 'edit inbound email basic information and content' users with
these permissions can edit activities of type "Inbound Email".
- **[dev/core#111](https://lab.civicrm.org/dev/core/issues/111) Support Custom
Data for MembershipType entity
This change makes it so that one can view/edit custom data on the
## <a name="bugs"></a>Bugs resolved
### Core CiviCRM
RSS feed and Getting Started are not displaying in dashlets
- **[dev/core#353](https://lab.civicrm.org/dev/core/issues/353) As of 5.4.0,
Activity Search gives an empty result set
- **Fix for issue editing custom fields with option groups after #12423
This change fixes a bug where one could not save changes to a custom field
that uses option groups so that one can save changes to a custom field with
- **Update civicrm_generated mysql file following changes to custom mysql…
This change ensures that some default custom groups are not reserved.
- **[dev/core#293](https://lab.civicrm.org/dev/core/issues/293) Error log is
filled with geocoding configuration errors when no provider is set
This change fixes a bug where if no geocoding provider is set on a site an
error was thrown to the error log so that no error is thrown.
- **[dev/core#232](https://lab.civicrm.org/dev/core/issues/232) Contact types
with double hyphens in 'name' field : searches not returning any contactsh
This change fixes a bug where when searching for contacts using a contact sub type
no results were returned so that contacts of that sub type are returned.
- **[dev/core#210](https://lab.civicrm.org/dev/core/issues/210) Regex filter
broken in Search Builder
This change fixes the Regex filter in the Search Builder so that it returns
more accurate results.
- **Theme layer Fix search for Shoreditch compatibility
This change fixes the ui on the search page to show the table headers for
sites using the shoreditch theme.
- **Shoreditch support: Fix following change in core that resulted in visual
regression in shoreditch in advanced search
This change improves the layout of the advanced search page for users using
- **[dev/core#150](https://lab.civicrm.org/dev/core/issues/150) Chain select for
country/state in Search Builder does not stay within OR groupings
This change fixes a bug in search builder where if one Choose a Country in the
"Include contacts where" section that would also filter the available state
options in the "Also include contacts where" section.
- **[dev/core#230](https://lab.civicrm.org/dev/core/issues/230) Saved Search :
Set Mapping id to null on mapping delete
This change fixes a db error when deleting a saved search so that one can
delete a saved search without getting a database error.
- **Fix false negatives in checkResourceUrl()
This change fixes a bug where an "The Resource URL is not set correctly.
Please set the CiviCRM Resource URL." error was being thrown when the CiviCRM
Resource URL was set to "[civicrm.root]/" so that no error is thrown when
the CiviCRM Resource URL is set.
- **Fix activity report to bring it under standardised report testing
This change makes it possible to write unit tests for the Activity Report.
- **[dev/core#155](https://lab.civicrm.org/dev/core/issues/155) Improvements and
bugfixes to Option Groups UI
((https://github.com/civicrm/civicrm-core/pull/12423)) (preliminary work)**
This change makes it so that Option Groups that are created thru the user
interface can be used with custom fields.
- **Disable inline-edit of multi-record custom fields in profiles
This change makes it so that one cannot inline-edit multi-record custom fields
in profiles. Before this change there was a button to edit but clicking it
- **Make domain_id optional in membership_type api.
This change makes the domain_id a optional parameter in the membership_type
api, if it is not sent it is set to be the current domain.
- **[dev/core#141](https://lab.civicrm.org/dev/core/issues/141) Custom groups
with different names but same title would not be saved
This change makes it so you can have custom groups with the same title so long
as they have different names.
- **CustomValue gettree api - More accurate permission check
This change makes it so that a user can call the gettree api from ajax if they
have the permission to view the main object. Prior to this change the user had
to have the permission 'administer CiviCRM' to access the gettree api from
- **[dev/core#221](https://lab.civicrm.org/dev/core/issues/221) Inappropriate
warning on preview page of empty custom data set
Removes an Undefined Offset error being thrown when a new custom data set is
created and then previewed.
- **[dev/core#228](https://lab.civicrm.org/dev/core/issues/228) Option group
disabled on update
Fixes a bug where Option Groups being being created or updated thru the api
without the is_active parameter set were being set as not active.
- **Implement CRM_Utils_SQL_Delete
This change makes CRM_Utils_SQL_Delete a query-building utility and has it
extend a common base-class as CRM_Utils_SQL_Select.
- **[dev/core#174](https://lab.civicrm.org/dev/core/issues/174) Consistently use
swappable cache interfaces
This patch makes tests more reliable by refining the way SqlGroup handles
trivially short TTLs.
- **[dev/core#212](https://lab.civicrm.org/dev/core/issues/212) Contribution
Details report fails when "Is not one of" condition is used for Groups field
Fixes a DB error when contribution detail report is filtered by the "is not
one of" Group operator.
- **[dev/core#292](https://lab.civicrm.org/dev/core/issues/292) Search builder
stops working after 5.3.1 (due accents on custom set fields titles)
Fixes a bug where search builder would choke on accented characters in custom
set field titles so that Search builder can handle accented characters in
custom set field titles.
- **[CRM-21754](https://issues.civicrm.org/jira/browse/CRM-21754) Duplicate
rows in Activity Details report when address fields are displayed
Fixes a bug where the Activity Details report would show duplicate rows when
activity contacts had different addresses so that only one row is shown per
- **[dev/core#326] (https://lab.civicrm.org/dev/core/issues/326) Fatal Error in Section Headers
of Contribution Detail report
Fixes a DB fatail error when running the contribution detail report and selectng contact name as a
section header for the report.
- **[dev/core#289](https://lab.civicrm.org/dev/core/issues/289) CiviCase
Dashboard link to edit an activity status broken
This change fixes a bug on the CiviCase dashboard where when a user clicked
the pencil to edit an activity CiviCRM would throw a 'required params missing'
error and crash so that one can edit a case from the CiviCase dashboard by
clicking the pencil.
- **[dev/core#278](https://lab.civicrm.org/dev/core/issues/278) DB syntax error
when try to search deleted cases
This change fixes a DB syntax error that was being thrown whens searching
- **[dev/core#218](https://lab.civicrm.org/dev/core/issues/218) On Case Type
listing page, for reserved ones the, 'More' link don't show any options
Fixes a bug where on the Case Types Listing page the 'More' link would not
show any options for reserved case types.
- **[dev/core#325](https://lab.civicrm.org/dev/core/issues/325) and
[dev/core#327](https://lab.civicrm.org/dev/core/issues/327) Fatal errors 'DB
Error: no such field' and 'Call to undefined method' on Contribution detail
- **[CRM-21104](https://issues.civicrm.org/jira/browse/CRM-21104) CiviCRM
Contribution pages which have no Profile associated with them do not include a
ReCaptcha and as a result are prime targets for credit card fraud.
This change makes it so that ReCaptcha is shown on all Contribution pages that
use a payment processor to process online payments. Before this change
ReCaptcha only was shown on contribution pages that used profiles.
- **[dev/core#277](https://lab.civicrm.org/dev/core/issues/277) Recurring
contribution tab shouldn't count test transactions
This change makes it so that the Recurring Contributions tab count only counts
the 'Active Recurring Contributions' (does not count 'Inactive Recurring
Contributions') and sorts the Recurring Contributions by start date starting
with the newest.
- **[dev/core#242](https://lab.civicrm.org/dev/core/issues/242) Fix display of
premiums on contribution pages
This change fixes a bug where premium products without financial types
were not being displayed on contribution pages so that premium products are displayed on
contribution pages regardless of whether they have a financial type.
- **[dev/financial#27](https://lab.civicrm.org/dev/financial/issues/27) Paypal
recurring IPNs don't work under some circumstances
This change fixes a bug where IPNs for recurring donations made using PayPal
Standard did not work if the business emails did not match.
- **[dev/core#188](https://lab.civicrm.org/dev/core/issues/188) Fix Floating
Point Precision Comparison Exception on Order Creation
This change fixes a bug where sometimes contributions would fail because the
total amount and the total of the line items would not be exactly equal
because of floating point precision issues.
- **PriceField: show pre/post help if not empty, not if isset.
Fixes a bug for multilingual mode where radio options in price sets with empty
pre/post help were displaying pre/post help as ':' so that no ':' are shown.
- **[dev/core#346](https://lab.civicrm.org/dev/core/issues/346) Fix Online Pay Now links when used from Dashboard.
This fixes an issue with the Online Paynow link when the dashboard is access by an annonmyous user using a checksum link.
- **Fix + Add test for exporting location types with changed names
This change fixes a bug where if a location types name did not exactly match
its value it was not exporting properly so that the label exports properly.
- **Event Info: show waitinglist statusline only when registration is open
This change makes it so when on an Event Info page, if the event is closed, no
other notices about registration are shown.
- **[dev/core#255](https://lab.civicrm.org/dev/core/issues/255) Changes to
copied event location reflects in original event location
Fixes a bug where if one copied an event and then changed the location, the
location would also be changed on the original event so that one can change
the event on the copy without it having an effect on the original.
- **[dev/core#239](https://lab.civicrm.org/dev/core/issues/239) Huge title
dialog box on hovering form element on Event's configuration backend form
This change improves the user interface on the Event Configuration Form by
making the dialog boxes when hovering on form elements cleaner.
This change fixes a bug where DoNotSms preference was not being respected when
sending Mass Sms messages.
- **[dev/core#256](https://lab.civicrm.org/dev/core/issues/256) - Wrong A/B test
recipient assignment when reaching 2^31 recipients overall
This change fixes a bug where when submitting an A/B mailing to a big enough
group (2^31) the whole target group would receive Version A, so that 50% of
the sample group receives version A, the other half version B, and the rest is
assigned to Final mailing.
- **CiviMail: Fix logic for handling SMTP socket errors, temporary failures and
Fixes support for sending mail directly to AWS SES via SMTP by detecting
additional temporary failure modes.
- **[dev/mail#15](https://lab.civicrm.org/dev/mail/issues/15) Extraneous space
in From address causes on-hold set on all recipients
This change fixes a bug where if there were extraneous spaces in the From
address for a CiviMail mailing then no emails were sent and all recipients
were marked as On-Hold so that the extraneous space is stripped out and the
mailing goes out successfully.
- **[dev/core#368](https://lab.civicrm.org/dev/core/issues/368) Scheduled
Reminder edit form does not populate date criteria correctly when editing old
- **Only auto-renew membership when contribution status is completed
This change makes it so that Membership will only auto-renew when the
contribution is in state "Completed".
### Backdrop Integration
- **[dev/core#243](https://lab.civicrm.org/dev/core/issues/243) Backdrop
authentication function missing in kcfinder package.
Fixes Kcfinder package authentication for Backdrop users.
### Drupal Integration
- **Allow Drupal 8 vendor folder outside webroot
This change makes it so that civicrm Drupal 8 integrations can store vendor
folders outside the webroot.
- **Fix Views custom field handler not displaying select value labels when
fields share the same label.
Fixes a bug where views custom field handler was not displaying select value
labels when more than one field had the same label.
### WordPress Integration
- **[CRM-21812](https://issues.civicrm.org/jira/browse/CRM-21812) WordPress
install variable causes conflict with some WP plugins
This change makes it so civicrm is compatible with the wp-cli-login-server
## <a name="misc"></a>Miscellany
- **Extract contact summary basic block to its own tpl
- **Simplify input params on OptionValue::addOptionValue
- **Enable syntaxConformance on entities that now succeed
- **CRM_Core_BAO_PrevNextCache - Remove unused buildSelectedContactPager()
- **NFC - Deprecate duplicate function
- **[NFC] Update comment link
- **[NFC] Export - don't pass arrays as reference when they are not changed
- **(NFC) Update readme to link to GitLab instead of JIRA
- **(NFC) Remove deprecated recursive array utils
- **(NFC) Deprecate redundant array util function
- **[NFC] Comment fixes
- **(NFC) Remove deprecated function use
- **(NFC) Ignore generated karma.cv.js file
- **(NFC) Update comment on membership type domain_id API Test
- **(NFC) Regenerate OptionGroup DAO file
- **NFC cleanup to financial classes
- **Stdise references to BAO_Query->_fields [nfc]
- **Test fix for intermittant error
- **Test fix, update activity report adds a this.month filter by default,
- **Customvalue ID is ignored
- **Towards using EntityForm.tpl for Membership type & enabling custom data
- **Export Add unit test + minor refactor covering specifiable payment output
fields for participant export.
- **Export clean up sql columns
- **crmRouteBinder - Don't convert arrays to objects
- **Added code to throw exception on getvalue api call
- **[dev/financial#24](https://lab.civicrm.org/dev/financial/issues/24) Link
payment method to financial account when created using api
- **Move relationship return properties to the processor class to fix leakage
related test fail
- **Extract code for getting additional return properties, test
- **Fix signature on BAO_Product::add to make ids optional
- **Export : Add a lot of unit tests. Fix an enotice
- **Fix regression on case export from recent export fix
- **Remove LOWER from street_address search, rely on mysql to handle.
- **Respect '0' as a default when generating DAOs
- **Export cleanup Extract bulk of the transformation for each field to its own
- **Fix enotice in test
- **Test fix, use separate emails so distinct doesn't meld them
- **Export cleanup - pass processor object rather than the query object
- **Minor refactor preparatory to function extraction
- **Cleanup redundant array functions
- **Export code tidy up Use queryFields rather than query. Look to stop passing
around query. ((https://github.com/civicrm/civicrm-core/pull/12484))**
- **Export class code cleanup Start building export processor class.
- **Rename CRM_Contribute_BAO_ManagePremiums to CRM_Contribute_BAO_Product and
- **Remove unused variables & comment cleanup
- **Non functional changes towards shared functions in Core_Form_Task
- **Export class code readability - Reduce passing of variable, define on class
- **Deprecate array on ManagePremiums
- **Remove old deprecated crmeditable.tpl
- **Fix potential undefined array index
- **CRM_Utils_StringTest - Fix false-negative on systems with non-standard HTTP port
## <a name="credits"></a>Credits
This release was developed by the following code authors:
AGH Strategies - Andrew Hunt; Agileware - Alok Patel; Australian Greens - Seamus
Lee; Calibrate - Wannes De Roy; Caltha - Tomasz Pietrzkowski; Chris Burgess;
CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil
Pawar, Yashodha Chaku; CompuCorp - Camilo Rodriguez, Mukesh Ram; Coop SymbioTIC -
Mathieu Lutfy; Electronic Frontier Foundation - Mark Burdett; eQuality
Technology - Greg Rundlett; Freeform Solutions - Herb van den Dool; Fuzion -
Jitendra Purohit; JMA Consulting - Monish Deb; John Kingsnorth; Left Join Labs -
Sean Madsen; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting -
Matthew Wire; OSSeed Technologies - Madhavi Malgaonkar; Oxfam Germany - Thomas
Schüttler; Pradeep Nayak; Progressive Technology Project - Jamie McClelland;
Richard van Oosterhout; Romain Thouvenin; Squiffle Consulting - Aidan Saunders;
Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew;
Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
AGH Strategies - Alice Frumin; Agileware - Agileware Team; Andrew
Cormick-Dockery; Ben Mango; CEDC - Laryn Kragt Bakker; Chris Burgess; Christian
Wach; Circle Interactive - Dave Jenkins; Francesc Bassas i Bullich; Fuzion -
Luke Stewart, Peter Davis; GMCVO Databases - Jon-Man Cheung; Greenleaf
Advancement - Karen Stevenson; Laurynn Lowe; Lemniscus - Noah Miller; Lighthouse
Design and Consulting - Brian Shaughnessy; marsh-circle; MillerTech - Chamil
Wijesooriya; myDropWizard - David Snopek; Semper IT - Karin Gerritsen; Tanya
## <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`.