# CiviCRM 4.7.25 Released October 4, 2017 - **[Synopsis](#synopsis)** - **[Features](#features)** - **[Bugs resolved](#bugs)** - **[Miscellany](#misc)** - **[Credits](#credits)** - **[Feedback](#feedback)** ## Synopsis | *Does this version...?* | | |:----------------------------------------------------------- |:-------:| | Fix security vulnerabilities? | no | | **Change the database schema?** | **yes** | | **Alter the API?** | **yes** | | Require attention to configuration options? | no | | Fix problems installing or upgrading to a previous version? | no | | **Introduce features?** | **yes** | | **Fix bugs?** | **yes** | ## Features ### Core CiviCRM - **[CRM-20769](https://issues.civicrm.org/jira/browse/CRM-20769) Allow for Button Text on profiles to be overriden in settings ([10940](https://github.com/civicrm/civicrm-core/pull/10940) and [11051](https://github.com/civicrm/civicrm-core/pull/11051))** This adds columns to the `civicrm_uf_group` table to support customizing profile buttons. - **[CRM-20964](https://issues.civicrm.org/jira/browse/CRM-20964) Include queue id while retrieving rows from Event Queue. ([10757](https://github.com/civicrm/civicrm-core/pull/10757))** `CRM_Mailing_Event_BAO_Queue::getRows()` returned rows for each intended recipients, but didn't include any info which differentiates each row. This adds a `queue_id` in the key column of the $result array which enables hooks to know which row is getting displayed. - **[CRM-21118](https://issues.civicrm.org/jira/browse/CRM-21118) Add action links for message templates overview at top of page ([10917](https://github.com/civicrm/civicrm-core/pull/10917))** Previously action links (add message template) were only shown at the bottom of the page. If you have lots of message templates it is not visible until scrolling down. This adds the links at the top of the page as well (like many other pages in CiviCRM). - **[CRM-20979](https://issues.civicrm.org/jira/browse/CRM-20979) pre help for price fields not exposed to UI. ([10780](https://github.com/civicrm/civicrm-core/pull/10780))** Adds a field to the Add/Edit Price Field Form to enter pre help for price fields. - **[CRM-20680](https://issues.civicrm.org/jira/browse/CRM-20680) Make the CiviCRM logo spin while waiting for next page to load ([10903](https://github.com/civicrm/civicrm-core/pull/10903)) (fix to previous work)** This fixes a side effect of the new feature that caused all CiviCRM logos on the page to spin. - **[CRM-21078](https://issues.civicrm.org/jira/browse/CRM-21078) Allow user to save and continue editing message template ([10871](https://github.com/civicrm/civicrm-core/pull/10871))** The message template editing screen now matches similar forms in CiviCRM by offering separate "Save" and "Save and Done" buttons. - **[CRM-20941](https://issues.civicrm.org/jira/browse/CRM-20941) Determine & notify date to end support for PHP5.3 and PHP5.4 ([10851](https://github.com/civicrm/civicrm-core/pull/10851))** A pre-upgrade message and system check now warn administrators of sites using PHP versions prior to 5.6. - **[CRM-17157](https://issues.civicrm.org/jira/browse/CRM-17157) CiviCRM money validation should allow more decimal places ([10827](https://github.com/civicrm/civicrm-core/pull/10827))** Previously, validation of money fields limited values to two decimal places. This allows for currencies that may have more decimal places. - **[CRM-20926](https://issues.civicrm.org/jira/browse/CRM-20926) Allow extensions to flag PHPIDS html/json fields ([10709](https://github.com/civicrm/civicrm-core/pull/10709))** Extensions can now denote fields that should be be evaluated as HTML, JSON, or exceptions for the intrusion detection system (IDS). - **[CRM-20155](https://issues.civicrm.org/jira/browse/CRM-20155) The dedupe code passes has serious maintainability issues, locked in by hooks ([10890](https://github.com/civicrm/civicrm-core/pull/10890)) (preliminary work)** This is initial cleanup work toward separating the dedupe process from the form layer, allowing for extensions to do custom dedupe logic. This initial work merely cleans up the existing processing. - **[CRM-17748](https://issues.civicrm.org/jira/browse/CRM-17748) Expose options['result_buffering'] to CRM_Core_DAO ([10585](https://github.com/civicrm/civicrm-core/pull/10585))** Queries sent to the DAO can now pass options for `DB_mysql`. Specifically, a `result_buffering` option can reduce PHP memory needs by calling for an unbuffered query. - **[CRM-20733](https://issues.civicrm.org/jira/browse/CRM-20733) Relationship report improvements ([10679](https://github.com/civicrm/civicrm-core/pull/10679))** The Relationship Report can now filter results by permissions (contact A over contact B and vice-versa) and order results by start date. - **[CRM-21108](https://issues.civicrm.org/jira/browse/CRM-21108) Creating contacts is slow, part 1 of 2: Calculating Greetings ([10906](https://github.com/civicrm/civicrm-core/pull/10906))** This optimizes the population of greetings for newly-created contacts, the slowest part of generating contacts. - **[CRM-18231](https://issues.civicrm.org/jira/browse/CRM-18231) Support safe migration from production to non-production instances ([10972](https://github.com/civicrm/civicrm-core/pull/10972), [10936](https://github.com/civicrm/civicrm-core/pull/10936), and [8724](https://github.com/civicrm/civicrm-core/pull/8724))** This introduces a feature of environment labels that can be set in `civicrm.settings.php` and be extended in specially-named settings files. If the label is anything other than `Production`, outbound email and scheduled jobs are disabled. See further explanation in the [Sysadmin Guide](https://docs.civicrm.org/sysadmin/en/master/misc/staging-production/) ### CiviCase - **[CRM-20958](https://issues.civicrm.org/jira/browse/CRM-20958) Data model: Track creation+modification times for activities+cases ([10754](https://github.com/civicrm/civicrm-core/pull/10754))** Adds timestamp columns created_date and modified_date to the tables `civicrm_activity` and `civicrm_case` - **[CRM-21052](https://issues.civicrm.org/jira/browse/CRM-21052) Allow opt-out of embedded case-activity tracking ([10842](https://github.com/civicrm/civicrm-core/pull/10842))** A new setting, "Enable Embedded Activity Revisions", determines whether each revision to a case records the change as an activity. This has been the behavior in the past and will continue to be the default for CiviCase until the redesign is complete. However, many CiviCase users may prefer to leave change logging to the log tables that are created when overall CiviCRM logging is enabled. ### CiviContribute - **[CRM-21058](https://issues.civicrm.org/jira/browse/CRM-21058) Add Event filter to PCP contribution report ([10862](https://github.com/civicrm/civicrm-core/pull/10862))** The Personal Campaign Page report now allows filtering by the title of a PCP's associated event. - **[CRM-20990](https://issues.civicrm.org/jira/browse/CRM-20990) Assign `$contributionStatus` to the Contribution Online message template ([10793](https://github.com/civicrm/civicrm-core/pull/10793))** The contribution status is now available as a Smarty variable on the receipt message template for online contributions. - **[CRM-21019](https://issues.civicrm.org/jira/browse/CRM-21019) Change column labels ([10813](https://github.com/civicrm/civicrm-core/pull/10813))** The column headers on accounting batch screens are now clearer. ### CiviEvent - **[CRM-20507](https://issues.civicrm.org/jira/browse/CRM-20507) Prevent disclosure of `is_public=0` Custom Groups in email templates ([10661](https://github.com/civicrm/civicrm-core/pull/10661))** Custom data groups can be public or backend-only as of 4.7.19. This suppresses non-public fields from email receipts for event registrations. ### CiviMail - **[CRM-20905](https://issues.civicrm.org/jira/browse/CRM-20905) Simple mail : Make max emails a hidden config instead of hardcoded value set to 50 ([10705](https://github.com/civicrm/civicrm-core/pull/10705))** The maximum number of emails sent through the quick "send an email" feature is set to 50. This change allows that number to be overridden through the setting API or settings file. ### CiviMember - **[CRM-21152](https://issues.civicrm.org/jira/browse/CRM-21152) Add spec for MembershipStatus.calc API function ([10944](https://github.com/civicrm/civicrm-core/pull/10944))** Adds a function to adjust metadata for `Calc` action. The metadata is used for setting defaults, documentation & validation. ### Drupal Integration - **[CRM-21016](https://issues.civicrm.org/jira/browse/CRM-21016) Allow Drupal views to be used for Notes related to contributions ([468](https://github.com/civicrm/civicrm-drupal/pull/468))** Drupal Views will now join to the `civicrm_note` table for any related entity, not just contacts. - **Add Contributions relevant to the Participant record. ([469](https://github.com/civicrm/civicrm-drupal/pull/469))** Drupal Views will now join to the `civicrm_participant_payment` table, allowing related contributions to be displayed alongside event registrations. ## Bugs resolved ### Core CiviCRM - **[CRM-21068](https://issues.civicrm.org/jira/browse/CRM-21068) &lastModified() fails more gracefully. ([10863](https://github.com/civicrm/civicrm-core/pull/10863))** This change avoids displaying an error if something is missing from the log entry for a contact when shown in the summary view. - **[CRM-21099](https://issues.civicrm.org/jira/browse/CRM-21099) Contribution search: "Total Cancelled Amount" surprisingly includes "refunded" status ([10893](https://github.com/civicrm/civicrm-core/pull/10893))** In the results of a Find Contributions search, summary numbers are displayed at the top. One of these is "Total Cancelled Amount" this total included contributions with a "Refunded" or "Cancelled" status. This total now only includes contributions with a status of "Cancelled". - **[CRM-21075](https://issues.civicrm.org/jira/browse/CRM-21075) Notice errors on contact edit ([10878](https://github.com/civicrm/civicrm-core/pull/10878))** When a user would edit their record, a series of notices would be generated because of use of a deprecated function. This change removes those errors. - **[CRM-21057](https://issues.civicrm.org/jira/browse/CRM-21057) export field mapping limited to 25 records ([10848](https://github.com/civicrm/civicrm-core/pull/10848))** This resolves a bug where only 25 saved export mappings were available to select. - **[CRM-21124](https://issues.civicrm.org/jira/browse/CRM-21124) Fix DB error on deduping by criteria when criteria string is too long ([10921](https://github.com/civicrm/civicrm-core/pull/10921))** - **[CRM-21061](https://issues.civicrm.org/jira/browse/CRM-21061) Fix rare CiviReport error relating to long report names ([10854](https://github.com/civicrm/civicrm-core/pull/10854))** The relatively short length of the `report_id` field in the `civicrm_report` table meant that reports with long names would produce obtuse errors. The field is now 512 characters long. - **[CRM-21004](https://issues.civicrm.org/jira/browse/CRM-21004) profile: unable to copy profiles used for events/contribs/etc. ([10802](https://github.com/civicrm/civicrm-core/pull/10802))** - **[CRM-21230](https://issues.civicrm.org/jira/browse/CRM-21230) Multi-value custom field import fail with error message: Call to undefined method `CRM_Custom_Import_Parser_Api::formatContactParameters` ([11039](https://github.com/civicrm/civicrm-core/pull/11039))** - **[CRM-21174](https://issues.civicrm.org/jira/browse/CRM-21174) Circular dependency during upgrade: civicrm_menu.module_data ([10974](https://github.com/civicrm/civicrm-core/pull/10974))** A field to be created during the upgrade was accidentally loaded as part of the upgrade. - **[CRM-21175](https://issues.civicrm.org/jira/browse/CRM-21175) Fatal error on multiple custom field import ([10975](https://github.com/civicrm/civicrm-core/pull/10975))** Import mappings now must have a mapping type. This resolves an error that would appear when a mapping type was missing; now, the mapping type is created on the fly. - **[CRM-20533](https://issues.civicrm.org/jira/browse/CRM-20533) 'Update Indices' System Status action can get tied up (index name already exists, localised dbs?) ([10908](https://github.com/civicrm/civicrm-core/pull/10908)) (continues previous work)** A system check offers to update old or missing table indices when it detects they are missing. In practice, many sites have equivalent indices to the ones that are supposedly missing, but the index names differ or the index fields are listed in a different order. This script has had persistent problems with attempting to create indices that already exist or incorrectly dropping indices. This most recent change deletes false indices automatically when the Update Indices process is started rather than asking the site administrator. Any false-looking index that is actually good will simply be replaced when the missing indices are populated. - **[CRM-21110](https://issues.civicrm.org/jira/browse/CRM-21110) Relationships tab on contact summary runs query twice ([10907](https://github.com/civicrm/civicrm-core/pull/10907))** This streamlines the processing of the contact relationship listing to reduce the number of queries to run. - **[CRM-21142](https://issues.civicrm.org/jira/browse/CRM-21142) Installation fails if PHP XML module isn't installed ([10939](https://github.com/civicrm/civicrm-core/pull/10939))** The installer now checks that PHP SimpleXML support is present. - **[CRM-21139](https://issues.civicrm.org/jira/browse/CRM-21139) Font-Awesome icons not showing on fatal error screen ([10937](https://github.com/civicrm/civicrm-core/pull/10937))** Now `crm-i.css` is specifically loaded on the fatal error template. - **[CRM-19933](https://issues.civicrm.org/jira/browse/CRM-19933) Importing contacts clears out preferred communication method ([10731](https://github.com/civicrm/civicrm-core/pull/10731))** - **[CRM-21079](https://issues.civicrm.org/jira/browse/CRM-21079) Datetime logs don't supports timezones ([10874](https://github.com/civicrm/civicrm-core/pull/10874)) (continues previous work)** A system check appears if certain database fields are `DATETIME` rather than `TIMESTAMP`. Due to the complexity of assigning timezones and the possibility of customizations depending upon those fields, the check merely explains the situation and recommends using [Doctor When](https://github.com/civicrm/org.civicrm.doctorwhen), a time lord extension, to straighten out the situation. - **[CRM-20970](https://issues.civicrm.org/jira/browse/CRM-20970) long postal code in db prevents searching by zipcode range ([10781](https://github.com/civicrm/civicrm-core/pull/10781)) (completes previous work)** This adds test coverage for the fix which appeared in 4.7.24. - **[CRM-20790](https://issues.civicrm.org/jira/browse/CRM-20790) CIVICRM-159 - Import Contacts, Current Employer (Employee of field) is not being imported at all ([10808](https://github.com/civicrm/civicrm-core/pull/10808))** Import would fail to record relationships if data for one or both contacts in the relationship matched existing contacts. - **[CRM-21049](https://issues.civicrm.org/jira/browse/CRM-21049) Can't create a RelationshipType record via API with "All Contacts" as a value ([10839](https://github.com/civicrm/civicrm-core/pull/10839))** This prevented relationship types created in the API where one or both contacts could be any contact type. - **[CRM-20993](https://issues.civicrm.org/jira/browse/CRM-20993) API - Extension get - Cannot filter by ID anymore ([10794](https://github.com/civicrm/civicrm-core/pull/10794))** - **[CRM-21029](https://issues.civicrm.org/jira/browse/CRM-21029) Activity report SQL syntax error ([10819](https://github.com/civicrm/civicrm-core/pull/10819))** A SQL error would appear in the Activity Report, including the Scheduled Activities dashlet, when no ACL `WHERE` clauses are applicable. - **[CRM-20858](https://issues.civicrm.org/jira/browse/CRM-20858) Custom fields migrated even when not asked during merge ([10831](https://github.com/civicrm/civicrm-core/pull/10831))** - **[CRM-21129](https://issues.civicrm.org/jira/browse/CRM-21129) CLI import doesn't allow single-column CSVs ([10924](https://github.com/civicrm/civicrm-core/pull/10924))** - **[CRM-19612](https://issues.civicrm.org/jira/browse/CRM-19612) DB error deduping a group when rule has more than one field ([10405](https://github.com/civicrm/civicrm-core/pull/10405))** - **[CRM-19664](https://issues.civicrm.org/jira/browse/CRM-19664) Skip row and keep importing if matching this contact based on the de-dupe rule would cause an external ID conflict ([9410](https://github.com/civicrm/civicrm-core/pull/9410))** ### CiviMail - **[CRM-21077](https://issues.civicrm.org/jira/browse/CRM-21077) Warn the user when testing outbound mail configuration if CIVICRM_MAIL_LOG is set ([10870](https://github.com/civicrm/civicrm-core/pull/10870))** When sending a test email from the Outbound Email form, a user would not be notified if the CiviCRM settings file was set to send all outbound email to a log file. - **[CRM-20643](https://issues.civicrm.org/jira/browse/CRM-20643) Fix invalid bounce type filter for bounce report ([10427](https://github.com/civicrm/civicrm-core/pull/10427))** A dummy option of `-- please select --` for bounce type was hard-coded as a filter option. This caused the report to default to this value and not load any data. - **[CRM-21000](https://issues.civicrm.org/jira/browse/CRM-21000) Display result as Mailing on Advance Search produces DB Error ([10798](https://github.com/civicrm/civicrm-core/pull/10798))** This resolves an error in Advanced Search when the form is set to display mailings rather than contacts. - **[CRM-20855](https://issues.civicrm.org/jira/browse/CRM-20855) Disabling "Search Primary Details Only" causes partial CiviMail delivery failure ([10915](https://github.com/civicrm/civicrm-core/pull/10915))** - **[CRM-20982](https://issues.civicrm.org/jira/browse/CRM-20982) Fix: Mails sent via command line fail due to EHLO/HELO being "localhost" ([10785](https://github.com/civicrm/civicrm-core/pull/10785))** SMTP connections from the command line now attempt to identify themselves with `EHLO` and the base URL rather than just `EHLO localhost`. ### Backdrop Integration - **[CRM-21088](https://issues.civicrm.org/jira/browse/CRM-21088) Backdrop class contains `drupal_` calls that should be changed ([10884](https://github.com/civicrm/civicrm-core/pull/10884))** This would cause problems if Backdrop compatibility mode was disabled. - **[CRM-21098](https://issues.civicrm.org/jira/browse/CRM-21098) Prevent Backdrop admin drop-down menus from appearing beneath CiviCRM admin menu ([10892](https://github.com/civicrm/civicrm-core/pull/10892))** - **[CRM-21095](https://issues.civicrm.org/jira/browse/CRM-21095) CSS conflicts between CiviCRM and Backdrop ([10891](https://github.com/civicrm/civicrm-core/pull/10891), [42](https://github.com/civicrm/civicrm-backdrop/pull/42), and [41](https://github.com/civicrm/civicrm-backdrop/pull/41))** ### CiviCampaign - **[CRM-21094](https://issues.civicrm.org/jira/browse/CRM-21094) Minor improvement to display of columns in Survey Details report ([10889](https://github.com/civicrm/civicrm-core/pull/10889))** This arranges the columns so that contact-related fields are together and preceding activity fields. - **[CRM-21089](https://issues.civicrm.org/jira/browse/CRM-21089) Fatal error on "Interview Respondents" ([10885](https://github.com/civicrm/civicrm-core/pull/10885))** ### Drupal Integration - **[CRM-17652](https://issues.civicrm.org/jira/browse/CRM-17652) Symfony conflict between Civi and Drupal 8 ([10694](https://github.com/civicrm/civicrm-core/pull/10694) and [465](https://github.com/civicrm/civicrm-drupal/pull/465)) (in progress)** This uses Composer to install dependencies (such as Symfony) in a way that does not conflict with Drupal 8. It resolves a bug where Drupal 8 sites with CiviCRM could not install any more modules. - **[CRM-20838](https://issues.civicrm.org/jira/browse/CRM-20838) Provide alert & fix method for tables in the CiviCRM Db with no log table ([10628](https://github.com/civicrm/civicrm-core/pull/10628))** If Drupal and CiviCRM are installed with the same database and logging is enabled, the logging triggers get confused by the existence of tables created by the role sync modules. A system check now suggests that corresponding log tables be created when it notices this. ### CiviMember - **[CRM-21126](https://issues.civicrm.org/jira/browse/CRM-21126) member_is_primary not set by default on passing owner in the url ([10923](https://github.com/civicrm/civicrm-core/pull/10923))** The membership search now allows `owner=1` to be specified as a URL parameter that populates the "Primary member?" field. - **[CRM-20571](https://issues.civicrm.org/jira/browse/CRM-20571) Offline / Back Office Renewal fatal error when "renewal_date" set to far back. ([10822](https://github.com/civicrm/civicrm-core/pull/10822))** A helpful warning appears when attempting to set a membership renewal date prior to the join date. - **[CRM-20966](https://issues.civicrm.org/jira/browse/CRM-20966) Contribution deleted when relationship deleted, incorrect line items & membership_payments for second inherited membership created in back end via price set ([10759](https://github.com/civicrm/civicrm-core/pull/10759))** This resolves a problem where membership contributions would be applied incorrectly when one contact inherits memberships of separate types from separate related contacts. This could result in data loss if the relationship is deleted. - **[CRM-20955](https://issues.civicrm.org/jira/browse/CRM-20955) Contact's second membership fails to inherit when created in back end using price set ([10745](https://github.com/civicrm/civicrm-core/pull/10745))** ### CiviContribute - **[CRM-21055](https://issues.civicrm.org/jira/browse/CRM-21055) Change label of cancel button ([10845](https://github.com/civicrm/civicrm-core/pull/10845))** The button to exit the backend contribution form without saving is now labeled "Close" rather than "Cancel". This now differs from all other forms. - **[CRM-17040](https://issues.civicrm.org/jira/browse/CRM-17040) Import Contributions using External Id's causes soft credit to be wrongly associated ([10797](https://github.com/civicrm/civicrm-core/pull/10797))** This resolves a problem that occurred when importing contributions that have both soft credit and donor contacts identified by external ID. The contribution would record the soft credit contact as the actual donor. - **[CRM-20949](https://issues.civicrm.org/jira/browse/CRM-20949) BillingBlock.tpl contains wrong paymentProcessor object on initial load of backend Contribution page. ([10734](https://github.com/civicrm/civicrm-core/pull/10734))** - **[CRM-21087](https://issues.civicrm.org/jira/browse/CRM-21087) Payment popup goes weird if you click 'adjust payment amount'. ([10882](https://github.com/civicrm/civicrm-core/pull/10882))** The pledge payment pop-up caused problems with page focus and covering the Save button. - **[CRM-20936](https://issues.civicrm.org/jira/browse/CRM-20936) Hide statuses on backoffice contribution form ([10718](https://github.com/civicrm/civicrm-core/pull/10718))** Non-applicable contribution statuses are now suppressed when creating contributions, event registrations, and memberships on the backend. - **[CRM-21045](https://issues.civicrm.org/jira/browse/CRM-21045) Multiple email field shown on Contribution Page. ([10832](https://github.com/civicrm/civicrm-core/pull/10832))** If a contribution page included a profile with a billing email, the email field at the top of the contribution page would fail to disappear, resulting in two HTML fields for the same data. This resolves that bug. - **[CRM-21047](https://issues.civicrm.org/jira/browse/CRM-21047) TypeError: financialtypeIds is undefined, on contribution form ([10836](https://github.com/civicrm/civicrm-core/pull/10836))** This resolves a Javascript error on the backend contribution form. - **[CRM-20615](https://issues.civicrm.org/jira/browse/CRM-20615) Export only those batches having status Exported ([10394](https://github.com/civicrm/civicrm-core/pull/10394))** This prevents batches from bein exported if the status isn't yet set to "exported". - **[CRM-21026](https://issues.civicrm.org/jira/browse/CRM-21026) Contribution count on contact tabs excludes contributions with disabled financial types ([10824](https://github.com/civicrm/civicrm-core/pull/10824))** - **[CRM-19469](https://issues.civicrm.org/jira/browse/CRM-19469) EWay transaction receipt not sent when member signs up using front-end form but works in the CiviCRM back-end ([9973](https://github.com/civicrm/civicrm-core/pull/9973))** - **[CRM-21043](https://issues.civicrm.org/jira/browse/CRM-21043) Fix Dupe check of on behalf organisation ([10830](https://github.com/civicrm/civicrm-core/pull/10830))** When contributing on behalf of an organization, the organization would not be checked against duplicates and a new contact would be created each time. - **[CRM-19739](https://issues.civicrm.org/jira/browse/CRM-19739) "New Account Relationship Option Screen" does not show exception ([10651](https://github.com/civicrm/civicrm-core/pull/10651))** Creating an invalid account relationship would result in an endless spinning logo rather than displaying an error. - **[CRM-21015](https://issues.civicrm.org/jira/browse/CRM-21015) Contribution page creates recurring contribution even though recurring is not selected ([10835](https://github.com/civicrm/civicrm-core/pull/10835))** Recurring contributions would be created if a contribution page had the option for recurring contributions and a membership price set, even if the recurring contribution checkbox was empty. - **[CRM-21005](https://issues.civicrm.org/jira/browse/CRM-21005) "Record Payment" dialogue lacks required field and is clunky ([10817](https://github.com/civicrm/civicrm-core/pull/10817))** The form for recording a payment did not require a payment method even though that is necessary. Omitting it would result in a system error rather than a validation error. Also, the payment amount now defaults to the amount due. - **[CRM-21031](https://issues.civicrm.org/jira/browse/CRM-21031) Financial type ID display instead of label in "View Price Options" ([10823](https://github.com/civicrm/civicrm-core/pull/10823))** - **[CRM-19186](https://issues.civicrm.org/jira/browse/CRM-19186) Subsequent Installments of Recurring Credit Card Contributions Indicate a Payment Instrument of Check ([10749](https://github.com/civicrm/civicrm-core/pull/10749))** - **[CRM-17281](https://issues.civicrm.org/jira/browse/CRM-17281) Pledges miscalculate when total amount is not an integer and a payment is received that covers three installments ([10861](https://github.com/civicrm/civicrm-core/pull/10861))** - **[CRM-21039](https://issues.civicrm.org/jira/browse/CRM-21039) Trying to add Asset account relationship throws validation error ([10828](https://github.com/civicrm/civicrm-core/pull/10828))** - **[CRM-20988](https://issues.civicrm.org/jira/browse/CRM-20988) Don't display option of Export, Delete etc to users who lack that permission ([10791](https://github.com/civicrm/civicrm-core/pull/10791))** ### CiviCase - **[CRM-20930](https://issues.civicrm.org/jira/browse/CRM-20930) Case Detail Report cannot filter by "Last Action Date" ([10712](https://github.com/civicrm/civicrm-core/pull/10712))** - **[CRM-18082](https://issues.civicrm.org/jira/browse/CRM-18082) CiviCase API Create ignores custom data ([10728](https://github.com/civicrm/civicrm-core/pull/10728))** ### CiviEvent - **[CRM-20935](https://issues.civicrm.org/jira/browse/CRM-20935) Deleting an event does not delete links to profiles it used ([10719](https://github.com/civicrm/civicrm-core/pull/10719))** Rows in `civicrm_uf_join` were not deleted when events were deleted. This resolves the bug and performs a cleanup of orphaned rows upon upgrade. - **[CRM-20237](https://issues.civicrm.org/jira/browse/CRM-20237) Event pricesets copied with long suffix cause DB error ([10929](https://github.com/civicrm/civicrm-core/pull/10929))** When copied, a price set has a copy ID tacked onto the end of its title. This change prevents copies of copies from accumulating many copy ID add-ons. - **[CRM-21069](https://issues.civicrm.org/jira/browse/CRM-21069) Fail more gracefully on event display with invalid data in the DB ([10865](https://github.com/civicrm/civicrm-core/pull/10865))** This avoids a database error by suppressing display of participant records where the event has been deleted in the database. - **[CRM-20914](https://issues.civicrm.org/jira/browse/CRM-20914) participant note field breaking export when populated with data over 32 characters ([10700](https://github.com/civicrm/civicrm-core/pull/10700))** - **[CRM-20933](https://issues.civicrm.org/jira/browse/CRM-20933) Updating Pay later event registration from backend produces formRule error ([10716](https://github.com/civicrm/civicrm-core/pull/10716))** - **[CRM-21121](https://issues.civicrm.org/jira/browse/CRM-21121) Event Income (Summary) report backtrace with 'only_full_group_by' ([10926](https://github.com/civicrm/civicrm-core/pull/10926))** - **[CRM-20027](https://issues.civicrm.org/jira/browse/CRM-20027) Need 'access deleted contacts' permission to retrieve loc block addresses using API ([10916](https://github.com/civicrm/civicrm-core/pull/10916))** Addresses lacking contact IDs because they're used for event locations were treated like addresses belonging to deleted contacts. - **[CRM-13309](https://issues.civicrm.org/jira/browse/CRM-13309) Participant Role on Event's Schedule Reminder form does not populate ([10801](https://github.com/civicrm/civicrm-core/pull/10801))** The field to restrict scheduled reminders to specific participant roles would not appear. - **[CRM-20942](https://issues.civicrm.org/jira/browse/CRM-20942) Email location type must be 'primary' in profile or user creation won't work for event ([10744](https://github.com/civicrm/civicrm-core/pull/10744))** ### WordPress Integration - **Fix parameter parsing in wp-cli civicrm api. ([114](https://github.com/civicrm/civicrm-wordpress/pull/114))** - **[CRM-21166](https://issues.civicrm.org/jira/browse/CRM-21166) WP-CLI commands fail due to whitespace in regex ([115](https://github.com/civicrm/civicrm-wordpress/pull/115))** ### Internationalization - **[CRM-19968](https://issues.civicrm.org/jira/browse/CRM-19968) Disable multiple languages fixes ([9783](https://github.com/civicrm/civicrm-core/pull/9783))** This patch makes the following tweaks to the SQL queries that run when disabling multiple languages so that it is more likely to succeed. 1. Column is renamed instead of created and copied, as the copy often leads to a row size constraint (eg. in civicrm_event when you have some text in intro_text_lang). 2. Use DROP VIEW IF EXISTS instead of DROP VIEW (supported in mysql 5.1+). There is more support for IF EXISTS on other SQL functions in new versions of mysql but we can't use them if we're maintaining compatibility. ## Miscellany - **[CRM-21153](https://issues.civicrm.org/jira/browse/CRM-21153) Fix mispelled variable ([10945](https://github.com/civicrm/civicrm-core/pull/10945))** Fixes a misspelled variable - **[CRM-21065](https://issues.civicrm.org/jira/browse/CRM-21065) Replace some deprecated slow function calls: some CRM_Core_OptionGroup::values with CRM_Activity_BAO_ActivityContact::buildOptions ([10860](https://github.com/civicrm/civicrm-core/pull/10860))** Replace (some not all) CRM_Core_OptionGroup::values with CRM_Activity_BAO_ActivityContact::buildOptions where it is safe to do so (ie. parameters map directly). - **[CRM-20927](https://issues.civicrm.org/jira/browse/CRM-20927) Allow `civicrm_menu` to store new data in generic column ([10858](https://github.com/civicrm/civicrm-core/pull/10858)) (completes previous work)** The schema change is moved to a PHP-based upgrade task rather than a SQL incremental upgrade query template. - **[CRM-21036](https://issues.civicrm.org/jira/browse/CRM-21036) Change deprecated comments to tags so phpstorm marks functions as deprecated ([10825](https://github.com/civicrm/civicrm-core/pull/10825))** - **[CRM-21023](https://issues.civicrm.org/jira/browse/CRM-21023) Replace deprecated code and hardcoded IDs with pseudoconstants in Activity BAO ([10816](https://github.com/civicrm/civicrm-core/pull/10816))** - **(NFC) SettingsStack - Finish incomplete docblock ([10950](https://github.com/civicrm/civicrm-core/pull/10950))** - **Reinstate accidentally deleted test. ([10938](https://github.com/civicrm/civicrm-core/pull/10938))** - **NFC remove some unused vars, fix comment ([10886](https://github.com/civicrm/civicrm-core/pull/10886))** - **Renamed test class. ([10730](https://github.com/civicrm/civicrm-core/pull/10730))** - **Fix PHP Warnings. Replace fatal with statusBounce. Mark breadcrumbs parameter as array instead of string so editors don't give a warning ([10888](https://github.com/civicrm/civicrm-core/pull/10888))** - **(NFC) Update contributor-key.yml ([10894](https://github.com/civicrm/civicrm-core/pull/10894))** - **(NFC) Improve docs in CONTRIBUTING.md ([10853](https://github.com/civicrm/civicrm-core/pull/10853))** - **(NFC) SettingsStack - Add test coverage for new helper class ([10867](https://github.com/civicrm/civicrm-core/pull/10867))** - **[NFC] Simplify method of getting logged in contact ID ([10855](https://github.com/civicrm/civicrm-core/pull/10855))** - **Update CONTRIBUTORS.txt ([10843](https://github.com/civicrm/civicrm-core/pull/10843))** - **Update Jon Goldberg in CONTRIBUTORS.txt ([10840](https://github.com/civicrm/civicrm-core/pull/10840))** - **Klaas Eikelboom (Kainuk Empowerment) is member of CiviCooP ([10812](https://github.com/civicrm/civicrm-core/pull/10812))** - **(NFC) Lint civicrm.drush.inc ([473](https://github.com/civicrm/civicrm-drupal/pull/473))** ## Credits This release was developed by the following code authors: Aaron Jones; Abhikalak Consultants - Amal Sharma; AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Agileware Team, Justin Freeman; Australian Greens - Seamus Lee; CEDC - Laryn Kragt Bakker; Circle Interactive - Dave Jenkins; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CiviFirst - John Kirk; CompuCorp - Camilo Rodriguez; Coop SymbioTIC - Mathieu Lutfy; Eaiman Shoshi; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; JMA Consulting - Edsel Lopez, Monish Deb, Pradeep Nayak; John Kingsnorth; Joinery - Allen Shaw; Ken West; Left Join Labs - Sean Madsen; Lemniscus - Noah Miller; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; myDropWizard - David Snopek; Oxfam Germany - Thomas Schüttler; Progressive Technology Project - Jamie McClelland; Randy Tobias; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: Artful Robot - Rich Lott; Barbara Miller; Black Brick Software - David Hayes; Blackfly Solutions - Alan Dixon; Brian Hay; Brian McFee; British Humanist Association - Andrew West, William Gordon; Christian Wach; Circle Interactive - Andrew Walker, Martin Castle; CiviCoop - Jaap Jansma, Klaas Eikelboom; CiviDesk - Nicolas Ganivet; Community Builders - Andrew Perry; CompuCorp - Guanhuan Chen, Omar Abu Hussein; Dave D; Dave Greenberg; Dave Rolsky; David Hepper; Davis Media Access - Darrick Servis; Deepak Srivastava; Donald Hirst; Donald Lobo; Effy Elden; Electronic Frontier Foundation - Mark Burdett; eQuality Technology - Greg Rundlett; Forest CRM Consulting - Tamar Meir; Fuzion - Chris Burgess, Peter Davis; Greenleaf Advancement - Guy Iaccarino; Hemophilia of North Carolina - Charles Register; JMA Consulting - Joe Murray; Joel Stevens; Johan Vervloet; Klangsoft - David Reedy Jr; Korlon - Stuart Gaston; Lullabot - Nate Lampton; Manish Zope; Marc Brazeau; Mathias Consulting - Cheryl Chase; Michal Mach; National Democratic Institute - Evan Summers; Nubay Services - David Tarrant; Openflows - Eric Goldhagen; Palante Technology Cooperative - Joseph Lacey; Phil McKerracher; Rareș Pamfil; Responsive Development Technologies - Thomas Nilefalk; Rex Keal; Richard van Oosterhout; Saurabh Batra; Semper IT - Karin Gerritsen; SEN Magazine - Jeremy Nicholls; Shailesh Lende; Skvare - Mark Hanna; Squiffle Consulting - Aidan Saunders; Steve Binkowski; Team Expansion - Greg Harris; Tobias Lounsbury; Wikimedia Foundation - Elliott Eggleston ## Feedback These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like to provide feedback on them, please login to https://chat.civicrm.org/civicrm and contact `@agh1`.