3 Released October 4, 2017
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
12 ## <a name="synopsis"></a>Synopsis
14 | *Does this version...?* | |
15 |:----------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | no |
17 | **Change the database schema?** | **yes** |
18 | **Alter the API?** | **yes** |
19 | Require attention to configuration options? | no |
20 | Fix problems installing or upgrading to a previous version? | no |
21 | **Introduce features?** | **yes** |
22 | **Fix bugs?** | **yes** |
24 ## <a name="features"></a>Features
28 - **[CRM-20769](https://issues.civicrm.org/jira/browse/CRM-20769) Allow for
29 Button Text on profiles to be overriden in settings
30 ([10940](https://github.com/civicrm/civicrm-core/pull/10940) and
31 [11051](https://github.com/civicrm/civicrm-core/pull/11051))**
33 This adds columns to the `civicrm_uf_group` table to support customizing
36 - **[CRM-20964](https://issues.civicrm.org/jira/browse/CRM-20964) Include queue
37 id while retrieving rows from Event Queue.
38 ([10757](https://github.com/civicrm/civicrm-core/pull/10757))**
40 `CRM_Mailing_Event_BAO_Queue::getRows()` returned rows for each intended
41 recipients, but didn't include any info which differentiates each row.
43 This adds a `queue_id` in the key column of the $result array which enables
44 hooks to know which row is getting displayed.
46 - **[CRM-21118](https://issues.civicrm.org/jira/browse/CRM-21118) Add action
47 links for message templates overview at top of page
48 ([10917](https://github.com/civicrm/civicrm-core/pull/10917))**
50 Previously action links (add message template) were only shown at the bottom
51 of the page. If you have lots of message templates it is not visible until
52 scrolling down. This adds the links at the top of the page as well (like many
53 other pages in CiviCRM).
55 - **[CRM-20979](https://issues.civicrm.org/jira/browse/CRM-20979) pre help for
56 price fields not exposed to UI.
57 ([10780](https://github.com/civicrm/civicrm-core/pull/10780))**
59 Adds a field to the Add/Edit Price Field Form to enter pre help for price
62 - **[CRM-20680](https://issues.civicrm.org/jira/browse/CRM-20680) Make the
63 CiviCRM logo spin while waiting for next page to load
64 ([10903](https://github.com/civicrm/civicrm-core/pull/10903)) (fix to previous
67 This fixes a side effect of the new feature that caused all CiviCRM logos on
70 - **[CRM-21078](https://issues.civicrm.org/jira/browse/CRM-21078) Allow user to
71 save and continue editing message template
72 ([10871](https://github.com/civicrm/civicrm-core/pull/10871))**
74 The message template editing screen now matches similar forms in CiviCRM by
75 offering separate "Save" and "Save and Done" buttons.
77 - **[CRM-20941](https://issues.civicrm.org/jira/browse/CRM-20941) Determine &
78 notify date to end support for PHP5.3 and PHP5.4
79 ([10851](https://github.com/civicrm/civicrm-core/pull/10851))**
81 A pre-upgrade message and system check now warn administrators of sites using
82 PHP versions prior to 5.6.
84 - **[CRM-17157](https://issues.civicrm.org/jira/browse/CRM-17157) CiviCRM money
85 validation should allow more decimal places
86 ([10827](https://github.com/civicrm/civicrm-core/pull/10827))**
88 Previously, validation of money fields limited values to two decimal places.
89 This allows for currencies that may have more decimal places.
91 - **[CRM-20926](https://issues.civicrm.org/jira/browse/CRM-20926) Allow
92 extensions to flag PHPIDS html/json fields
93 ([10709](https://github.com/civicrm/civicrm-core/pull/10709))**
95 Extensions can now denote fields that should be be evaluated as HTML, JSON, or
96 exceptions for the intrusion detection system (IDS).
98 - **[CRM-20155](https://issues.civicrm.org/jira/browse/CRM-20155) The dedupe
99 code passes has serious maintainability issues, locked in by hooks
100 ([10890](https://github.com/civicrm/civicrm-core/pull/10890)) (preliminary
103 This is initial cleanup work toward separating the dedupe process from the
104 form layer, allowing for extensions to do custom dedupe logic. This initial
105 work merely cleans up the existing processing.
107 - **[CRM-17748](https://issues.civicrm.org/jira/browse/CRM-17748) Expose
108 options['result_buffering'] to CRM_Core_DAO
109 ([10585](https://github.com/civicrm/civicrm-core/pull/10585))**
111 Queries sent to the DAO can now pass options for `DB_mysql`. Specifically,
112 a `result_buffering` option can reduce PHP memory needs by calling for an
115 - **[CRM-20733](https://issues.civicrm.org/jira/browse/CRM-20733) Relationship
117 ([10679](https://github.com/civicrm/civicrm-core/pull/10679))**
119 The Relationship Report can now filter results by permissions (contact A over
120 contact B and vice-versa) and order results by start date.
122 - **[CRM-21108](https://issues.civicrm.org/jira/browse/CRM-21108) Creating
123 contacts is slow, part 1 of 2: Calculating Greetings
124 ([10906](https://github.com/civicrm/civicrm-core/pull/10906))**
126 This optimizes the population of greetings for newly-created contacts, the
127 slowest part of generating contacts.
129 - **[CRM-18231](https://issues.civicrm.org/jira/browse/CRM-18231) Support safe
130 migration from production to non-production instances
131 ([10972](https://github.com/civicrm/civicrm-core/pull/10972),
132 [10936](https://github.com/civicrm/civicrm-core/pull/10936), and
133 [8724](https://github.com/civicrm/civicrm-core/pull/8724))**
135 This introduces a feature of environment labels that can be set in
136 `civicrm.settings.php` and be extended in specially-named settings files. If
137 the label is anything other than `Production`, outbound email and scheduled
138 jobs are disabled. See further explanation in the [Sysadmin
139 Guide](https://docs.civicrm.org/sysadmin/en/master/misc/staging-production/)
143 - **[CRM-20958](https://issues.civicrm.org/jira/browse/CRM-20958) Data model:
144 Track creation+modification times for activities+cases
145 ([10754](https://github.com/civicrm/civicrm-core/pull/10754))**
147 Adds timestamp columns created_date and modified_date to the tables
148 `civicrm_activity` and `civicrm_case`
150 - **[CRM-21052](https://issues.civicrm.org/jira/browse/CRM-21052) Allow opt-out
151 of embedded case-activity tracking
152 ([10842](https://github.com/civicrm/civicrm-core/pull/10842))**
154 A new setting, "Enable Embedded Activity Revisions", determines whether each
155 revision to a case records the change as an activity. This has been the
156 behavior in the past and will continue to be the default for CiviCase until
157 the redesign is complete. However, many CiviCase users may prefer to leave
158 change logging to the log tables that are created when overall CiviCRM logging
163 - **[CRM-21058](https://issues.civicrm.org/jira/browse/CRM-21058) Add Event
164 filter to PCP contribution report
165 ([10862](https://github.com/civicrm/civicrm-core/pull/10862))**
167 The Personal Campaign Page report now allows filtering by the title of a PCP's
170 - **[CRM-20990](https://issues.civicrm.org/jira/browse/CRM-20990) Assign
171 `$contributionStatus` to the Contribution Online message template
172 ([10793](https://github.com/civicrm/civicrm-core/pull/10793))**
174 The contribution status is now available as a Smarty variable on the receipt
175 message template for online contributions.
177 - **[CRM-21019](https://issues.civicrm.org/jira/browse/CRM-21019) Change column
178 labels ([10813](https://github.com/civicrm/civicrm-core/pull/10813))**
180 The column headers on accounting batch screens are now clearer.
184 - **[CRM-20507](https://issues.civicrm.org/jira/browse/CRM-20507) Prevent
185 disclosure of `is_public=0` Custom Groups in email templates
186 ([10661](https://github.com/civicrm/civicrm-core/pull/10661))**
188 Custom data groups can be public or backend-only as of 4.7.19. This
189 suppresses non-public fields from email receipts for event registrations.
193 - **[CRM-20905](https://issues.civicrm.org/jira/browse/CRM-20905) Simple mail :
194 Make max emails a hidden config instead of hardcoded value set to 50
195 ([10705](https://github.com/civicrm/civicrm-core/pull/10705))**
197 The maximum number of emails sent through the quick "send an email" feature is
198 set to 50. This change allows that number to be overridden through the
199 setting API or settings file.
203 - **[CRM-21152](https://issues.civicrm.org/jira/browse/CRM-21152) Add spec for
204 MembershipStatus.calc API function
205 ([10944](https://github.com/civicrm/civicrm-core/pull/10944))**
207 Adds a function to adjust metadata for `Calc` action. The metadata is used for
208 setting defaults, documentation & validation.
210 ### Drupal Integration
212 - **[CRM-21016](https://issues.civicrm.org/jira/browse/CRM-21016) Allow Drupal
213 views to be used for Notes related to contributions
214 ([468](https://github.com/civicrm/civicrm-drupal/pull/468))**
216 Drupal Views will now join to the `civicrm_note` table for any related entity,
219 - **Add Contributions relevant to the Participant record.
220 ([469](https://github.com/civicrm/civicrm-drupal/pull/469))**
222 Drupal Views will now join to the `civicrm_participant_payment` table,
223 allowing related contributions to be displayed alongside event registrations.
225 ## <a name="bugs"></a>Bugs resolved
229 - **[CRM-21068](https://issues.civicrm.org/jira/browse/CRM-21068)
230 &lastModified() fails more gracefully.
231 ([10863](https://github.com/civicrm/civicrm-core/pull/10863))**
233 This change avoids displaying an error if something is missing from the log
234 entry for a contact when shown in the summary view.
236 - **[CRM-21099](https://issues.civicrm.org/jira/browse/CRM-21099) Contribution
237 search: "Total Cancelled Amount" surprisingly includes "refunded" status
238 ([10893](https://github.com/civicrm/civicrm-core/pull/10893))**
240 In the results of a Find Contributions search, summary numbers are displayed
241 at the top. One of these is "Total Cancelled Amount" this total included
242 contributions with a "Refunded" or "Cancelled" status. This total now only
243 includes contributions with a status of "Cancelled".
245 - **[CRM-21075](https://issues.civicrm.org/jira/browse/CRM-21075) Notice errors
247 ([10878](https://github.com/civicrm/civicrm-core/pull/10878))**
249 When a user would edit their record, a series of notices would be generated
250 because of use of a deprecated function. This change removes those errors.
252 - **[CRM-21057](https://issues.civicrm.org/jira/browse/CRM-21057) export field
253 mapping limited to 25 records
254 ([10848](https://github.com/civicrm/civicrm-core/pull/10848))**
256 This resolves a bug where only 25 saved export mappings were available to
259 - **[CRM-21124](https://issues.civicrm.org/jira/browse/CRM-21124) Fix DB error
260 on deduping by criteria when criteria string is too long
261 ([10921](https://github.com/civicrm/civicrm-core/pull/10921))**
263 - **[CRM-21061](https://issues.civicrm.org/jira/browse/CRM-21061) Fix rare
264 CiviReport error relating to long report names
265 ([10854](https://github.com/civicrm/civicrm-core/pull/10854))**
267 The relatively short length of the `report_id` field in the `civicrm_report`
268 table meant that reports with long names would produce obtuse errors. The
269 field is now 512 characters long.
271 - **[CRM-21004](https://issues.civicrm.org/jira/browse/CRM-21004) profile:
272 unable to copy profiles used for events/contribs/etc.
273 ([10802](https://github.com/civicrm/civicrm-core/pull/10802))**
275 - **[CRM-21230](https://issues.civicrm.org/jira/browse/CRM-21230) Multi-value
276 custom field import fail with error message: Call to undefined method
277 `CRM_Custom_Import_Parser_Api::formatContactParameters`
278 ([11039](https://github.com/civicrm/civicrm-core/pull/11039))**
280 - **[CRM-21174](https://issues.civicrm.org/jira/browse/CRM-21174) Circular
281 dependency during upgrade: civicrm_menu.module_data
282 ([10974](https://github.com/civicrm/civicrm-core/pull/10974))**
284 A field to be created during the upgrade was accidentally loaded as part of
287 - **[CRM-21175](https://issues.civicrm.org/jira/browse/CRM-21175) Fatal error on
288 multiple custom field import
289 ([10975](https://github.com/civicrm/civicrm-core/pull/10975))**
291 Import mappings now must have a mapping type. This resolves an error that
292 would appear when a mapping type was missing; now, the mapping type is created
295 - **[CRM-20533](https://issues.civicrm.org/jira/browse/CRM-20533) 'Update
296 Indices' System Status action can get tied up (index name already exists,
298 ([10908](https://github.com/civicrm/civicrm-core/pull/10908)) (continues
301 A system check offers to update old or missing table indices when it detects
302 they are missing. In practice, many sites have equivalent indices to the ones
303 that are supposedly missing, but the index names differ or the index fields
304 are listed in a different order. This script has had persistent problems with
305 attempting to create indices that already exist or incorrectly dropping
308 This most recent change deletes false indices automatically when the Update
309 Indices process is started rather than asking the site administrator. Any
310 false-looking index that is actually good will simply be replaced when the
311 missing indices are populated.
313 - **[CRM-21110](https://issues.civicrm.org/jira/browse/CRM-21110) Relationships
314 tab on contact summary runs query twice
315 ([10907](https://github.com/civicrm/civicrm-core/pull/10907))**
317 This streamlines the processing of the contact relationship listing to reduce
318 the number of queries to run.
320 - **[CRM-21142](https://issues.civicrm.org/jira/browse/CRM-21142) Installation
321 fails if PHP XML module isn't installed
322 ([10939](https://github.com/civicrm/civicrm-core/pull/10939))**
324 The installer now checks that PHP SimpleXML support is present.
326 - **[CRM-21139](https://issues.civicrm.org/jira/browse/CRM-21139) Font-Awesome
327 icons not showing on fatal error screen
328 ([10937](https://github.com/civicrm/civicrm-core/pull/10937))**
330 Now `crm-i.css` is specifically loaded on the fatal error template.
332 - **[CRM-19933](https://issues.civicrm.org/jira/browse/CRM-19933) Importing
333 contacts clears out preferred communication method
334 ([10731](https://github.com/civicrm/civicrm-core/pull/10731))**
336 - **[CRM-21079](https://issues.civicrm.org/jira/browse/CRM-21079) Datetime logs
337 don't supports timezones
338 ([10874](https://github.com/civicrm/civicrm-core/pull/10874)) (continues
341 A system check appears if certain database fields are `DATETIME` rather than
342 `TIMESTAMP`. Due to the complexity of assigning timezones and the possibility
343 of customizations depending upon those fields, the check merely explains the
344 situation and recommends using [Doctor
345 When](https://github.com/civicrm/org.civicrm.doctorwhen), a time lord
346 extension, to straighten out the situation.
348 - **[CRM-20970](https://issues.civicrm.org/jira/browse/CRM-20970) long postal
349 code in db prevents searching by zipcode range
350 ([10781](https://github.com/civicrm/civicrm-core/pull/10781)) (completes
353 This adds test coverage for the fix which appeared in 4.7.24.
355 - **[CRM-20790](https://issues.civicrm.org/jira/browse/CRM-20790) CIVICRM-159 -
356 Import Contacts, Current Employer (Employee of field) is not being imported at
357 all ([10808](https://github.com/civicrm/civicrm-core/pull/10808))**
359 Import would fail to record relationships if data for one or both contacts in
360 the relationship matched existing contacts.
362 - **[CRM-21049](https://issues.civicrm.org/jira/browse/CRM-21049) Can't create a
363 RelationshipType record via API with "All Contacts" as a value
364 ([10839](https://github.com/civicrm/civicrm-core/pull/10839))**
366 This prevented relationship types created in the API where one or both
367 contacts could be any contact type.
369 - **[CRM-20993](https://issues.civicrm.org/jira/browse/CRM-20993) API -
370 Extension get - Cannot filter by ID anymore
371 ([10794](https://github.com/civicrm/civicrm-core/pull/10794))**
373 - **[CRM-21029](https://issues.civicrm.org/jira/browse/CRM-21029) Activity
374 report SQL syntax error
375 ([10819](https://github.com/civicrm/civicrm-core/pull/10819))**
377 A SQL error would appear in the Activity Report, including the Scheduled
378 Activities dashlet, when no ACL `WHERE` clauses are applicable.
380 - **[CRM-20858](https://issues.civicrm.org/jira/browse/CRM-20858) Custom fields
381 migrated even when not asked during merge
382 ([10831](https://github.com/civicrm/civicrm-core/pull/10831))**
384 - **[CRM-21129](https://issues.civicrm.org/jira/browse/CRM-21129) CLI import
385 doesn't allow single-column CSVs
386 ([10924](https://github.com/civicrm/civicrm-core/pull/10924))**
388 - **[CRM-19612](https://issues.civicrm.org/jira/browse/CRM-19612) DB error
389 deduping a group when rule has more than one field
390 ([10405](https://github.com/civicrm/civicrm-core/pull/10405))**
392 - **[CRM-19664](https://issues.civicrm.org/jira/browse/CRM-19664) Skip row and
393 keep importing if matching this contact based on the de-dupe rule would cause
394 an external ID conflict
395 ([9410](https://github.com/civicrm/civicrm-core/pull/9410))**
399 - **[CRM-21077](https://issues.civicrm.org/jira/browse/CRM-21077) Warn the user
400 when testing outbound mail configuration if CIVICRM_MAIL_LOG is set
401 ([10870](https://github.com/civicrm/civicrm-core/pull/10870))**
403 When sending a test email from the Outbound Email form, a user would not be
404 notified if the CiviCRM settings file was set to send all outbound email to a
407 - **[CRM-20643](https://issues.civicrm.org/jira/browse/CRM-20643) Fix invalid
408 bounce type filter for bounce report
409 ([10427](https://github.com/civicrm/civicrm-core/pull/10427))**
411 A dummy option of `-- please select --` for bounce type was hard-coded as a
412 filter option. This caused the report to default to this value and not load
415 - **[CRM-21000](https://issues.civicrm.org/jira/browse/CRM-21000) Display result
416 as Mailing on Advance Search produces DB Error
417 ([10798](https://github.com/civicrm/civicrm-core/pull/10798))**
419 This resolves an error in Advanced Search when the form is set to display
420 mailings rather than contacts.
422 - **[CRM-20855](https://issues.civicrm.org/jira/browse/CRM-20855) Disabling
423 "Search Primary Details Only" causes partial CiviMail delivery failure
424 ([10915](https://github.com/civicrm/civicrm-core/pull/10915))**
426 - **[CRM-20982](https://issues.civicrm.org/jira/browse/CRM-20982) Fix: Mails
427 sent via command line fail due to EHLO/HELO being "localhost"
428 ([10785](https://github.com/civicrm/civicrm-core/pull/10785))**
430 SMTP connections from the command line now attempt to identify themselves with
431 `EHLO` and the base URL rather than just `EHLO localhost`.
433 ### Backdrop Integration
435 - **[CRM-21088](https://issues.civicrm.org/jira/browse/CRM-21088) Backdrop class
436 contains `drupal_` calls that should be changed
437 ([10884](https://github.com/civicrm/civicrm-core/pull/10884))**
439 This would cause problems if Backdrop compatibility mode was disabled.
441 - **[CRM-21098](https://issues.civicrm.org/jira/browse/CRM-21098) Prevent
442 Backdrop admin drop-down menus from appearing beneath CiviCRM admin menu
443 ([10892](https://github.com/civicrm/civicrm-core/pull/10892))**
445 - **[CRM-21095](https://issues.civicrm.org/jira/browse/CRM-21095) CSS conflicts
446 between CiviCRM and Backdrop
447 ([10891](https://github.com/civicrm/civicrm-core/pull/10891),
448 [42](https://github.com/civicrm/civicrm-backdrop/pull/42), and
449 [41](https://github.com/civicrm/civicrm-backdrop/pull/41))**
453 - **[CRM-21094](https://issues.civicrm.org/jira/browse/CRM-21094) Minor
454 improvement to display of columns in Survey Details report
455 ([10889](https://github.com/civicrm/civicrm-core/pull/10889))**
457 This arranges the columns so that contact-related fields are together and
458 preceding activity fields.
460 - **[CRM-21089](https://issues.civicrm.org/jira/browse/CRM-21089) Fatal error on
461 "Interview Respondents"
462 ([10885](https://github.com/civicrm/civicrm-core/pull/10885))**
464 ### Drupal Integration
466 - **[CRM-17652](https://issues.civicrm.org/jira/browse/CRM-17652) Symfony
467 conflict between Civi and Drupal 8
468 ([10694](https://github.com/civicrm/civicrm-core/pull/10694) and
469 [465](https://github.com/civicrm/civicrm-drupal/pull/465)) (in progress)**
471 This uses Composer to install dependencies (such as Symfony) in a way that
472 does not conflict with Drupal 8. It resolves a bug where Drupal 8 sites with
473 CiviCRM could not install any more modules.
475 - **[CRM-20838](https://issues.civicrm.org/jira/browse/CRM-20838) Provide alert &
476 fix method for tables in the CiviCRM Db with no log table
477 ([10628](https://github.com/civicrm/civicrm-core/pull/10628))**
479 If Drupal and CiviCRM are installed with the same database and logging is
480 enabled, the logging triggers get confused by the existence of tables created
481 by the role sync modules. A system check now suggests that corresponding log
482 tables be created when it notices this.
486 - **[CRM-21126](https://issues.civicrm.org/jira/browse/CRM-21126)
487 member_is_primary not set by default on passing owner in the url
488 ([10923](https://github.com/civicrm/civicrm-core/pull/10923))**
490 The membership search now allows `owner=1` to be specified as a URL parameter
491 that populates the "Primary member?" field.
493 - **[CRM-20571](https://issues.civicrm.org/jira/browse/CRM-20571) Offline / Back
494 Office Renewal fatal error when "renewal_date" set to far back.
495 ([10822](https://github.com/civicrm/civicrm-core/pull/10822))**
497 A helpful warning appears when attempting to set a membership renewal date
498 prior to the join date.
500 - **[CRM-20966](https://issues.civicrm.org/jira/browse/CRM-20966) Contribution
501 deleted when relationship deleted, incorrect line items & membership_payments
502 for second inherited membership created in back end via price set
503 ([10759](https://github.com/civicrm/civicrm-core/pull/10759))**
505 This resolves a problem where membership contributions would be applied
506 incorrectly when one contact inherits memberships of separate types from
507 separate related contacts. This could result in data loss if the relationship
510 - **[CRM-20955](https://issues.civicrm.org/jira/browse/CRM-20955) Contact's
511 second membership fails to inherit when created in back end using price set
512 ([10745](https://github.com/civicrm/civicrm-core/pull/10745))**
516 - **[CRM-21055](https://issues.civicrm.org/jira/browse/CRM-21055) Change label
518 ([10845](https://github.com/civicrm/civicrm-core/pull/10845))**
520 The button to exit the backend contribution form without saving is now labeled
521 "Close" rather than "Cancel". This now differs from all other forms.
523 - **[CRM-17040](https://issues.civicrm.org/jira/browse/CRM-17040) Import
524 Contributions using External Id's causes soft credit to be wrongly associated
525 ([10797](https://github.com/civicrm/civicrm-core/pull/10797))**
527 This resolves a problem that occurred when importing contributions that have
528 both soft credit and donor contacts identified by external ID. The
529 contribution would record the soft credit contact as the actual donor.
531 - **[CRM-20949](https://issues.civicrm.org/jira/browse/CRM-20949)
532 BillingBlock.tpl contains wrong paymentProcessor object on initial load of
533 backend Contribution page.
534 ([10734](https://github.com/civicrm/civicrm-core/pull/10734))**
536 - **[CRM-21087](https://issues.civicrm.org/jira/browse/CRM-21087) Payment popup
537 goes weird if you click 'adjust payment amount'.
538 ([10882](https://github.com/civicrm/civicrm-core/pull/10882))**
540 The pledge payment pop-up caused problems with page focus and covering the
543 - **[CRM-20936](https://issues.civicrm.org/jira/browse/CRM-20936) Hide statuses
544 on backoffice contribution form
545 ([10718](https://github.com/civicrm/civicrm-core/pull/10718))**
547 Non-applicable contribution statuses are now suppressed when creating
548 contributions, event registrations, and memberships on the backend.
550 - **[CRM-21045](https://issues.civicrm.org/jira/browse/CRM-21045) Multiple email
551 field shown on Contribution Page.
552 ([10832](https://github.com/civicrm/civicrm-core/pull/10832))**
554 If a contribution page included a profile with a billing email, the email
555 field at the top of the contribution page would fail to disappear, resulting
556 in two HTML fields for the same data. This resolves that bug.
558 - **[CRM-21047](https://issues.civicrm.org/jira/browse/CRM-21047) TypeError:
559 financialtypeIds is undefined, on contribution form
560 ([10836](https://github.com/civicrm/civicrm-core/pull/10836))**
562 This resolves a Javascript error on the backend contribution form.
564 - **[CRM-20615](https://issues.civicrm.org/jira/browse/CRM-20615) Export only
565 those batches having status Exported
566 ([10394](https://github.com/civicrm/civicrm-core/pull/10394))**
568 This prevents batches from bein exported if the status isn't yet set to
571 - **[CRM-21026](https://issues.civicrm.org/jira/browse/CRM-21026) Contribution
572 count on contact tabs excludes contributions with disabled financial types
573 ([10824](https://github.com/civicrm/civicrm-core/pull/10824))**
575 - **[CRM-19469](https://issues.civicrm.org/jira/browse/CRM-19469) EWay
576 transaction receipt not sent when member signs up using front-end form but
577 works in the CiviCRM back-end
578 ([9973](https://github.com/civicrm/civicrm-core/pull/9973))**
580 - **[CRM-21043](https://issues.civicrm.org/jira/browse/CRM-21043) Fix Dupe check
581 of on behalf organisation
582 ([10830](https://github.com/civicrm/civicrm-core/pull/10830))**
584 When contributing on behalf of an organization, the organization would not be
585 checked against duplicates and a new contact would be created each time.
587 - **[CRM-19739](https://issues.civicrm.org/jira/browse/CRM-19739) "New Account
588 Relationship Option Screen" does not show exception
589 ([10651](https://github.com/civicrm/civicrm-core/pull/10651))**
591 Creating an invalid account relationship would result in an endless spinning
592 logo rather than displaying an error.
594 - **[CRM-21015](https://issues.civicrm.org/jira/browse/CRM-21015) Contribution
595 page creates recurring contribution even though recurring is not selected
596 ([10835](https://github.com/civicrm/civicrm-core/pull/10835))**
598 Recurring contributions would be created if a contribution page had the option
599 for recurring contributions and a membership price set, even if the recurring
600 contribution checkbox was empty.
602 - **[CRM-21005](https://issues.civicrm.org/jira/browse/CRM-21005) "Record
603 Payment" dialogue lacks required field and is clunky
604 ([10817](https://github.com/civicrm/civicrm-core/pull/10817))**
606 The form for recording a payment did not require a payment method even though
607 that is necessary. Omitting it would result in a system error rather than a
608 validation error. Also, the payment amount now defaults to the amount due.
610 - **[CRM-21031](https://issues.civicrm.org/jira/browse/CRM-21031) Financial type
611 ID display instead of label in "View Price Options"
612 ([10823](https://github.com/civicrm/civicrm-core/pull/10823))**
614 - **[CRM-19186](https://issues.civicrm.org/jira/browse/CRM-19186) Subsequent
615 Installments of Recurring Credit Card Contributions Indicate a Payment
617 ([10749](https://github.com/civicrm/civicrm-core/pull/10749))**
619 - **[CRM-17281](https://issues.civicrm.org/jira/browse/CRM-17281) Pledges
620 miscalculate when total amount is not an integer and a payment is received
621 that covers three installments
622 ([10861](https://github.com/civicrm/civicrm-core/pull/10861))**
624 - **[CRM-21039](https://issues.civicrm.org/jira/browse/CRM-21039) Trying to add
625 Asset account relationship throws validation error
626 ([10828](https://github.com/civicrm/civicrm-core/pull/10828))**
628 - **[CRM-20988](https://issues.civicrm.org/jira/browse/CRM-20988) Don't display
629 option of Export, Delete etc to users who lack that permission
630 ([10791](https://github.com/civicrm/civicrm-core/pull/10791))**
634 - **[CRM-20930](https://issues.civicrm.org/jira/browse/CRM-20930) Case Detail
635 Report cannot filter by "Last Action Date"
636 ([10712](https://github.com/civicrm/civicrm-core/pull/10712))**
638 - **[CRM-18082](https://issues.civicrm.org/jira/browse/CRM-18082) CiviCase API
639 Create ignores custom data
640 ([10728](https://github.com/civicrm/civicrm-core/pull/10728))**
644 - **[CRM-20935](https://issues.civicrm.org/jira/browse/CRM-20935) Deleting an
645 event does not delete links to profiles it used
646 ([10719](https://github.com/civicrm/civicrm-core/pull/10719))**
648 Rows in `civicrm_uf_join` were not deleted when events were deleted. This
649 resolves the bug and performs a cleanup of orphaned rows upon upgrade.
651 - **[CRM-20237](https://issues.civicrm.org/jira/browse/CRM-20237) Event
652 pricesets copied with long suffix cause DB error
653 ([10929](https://github.com/civicrm/civicrm-core/pull/10929))**
655 When copied, a price set has a copy ID tacked onto the end of its title. This
656 change prevents copies of copies from accumulating many copy ID add-ons.
658 - **[CRM-21069](https://issues.civicrm.org/jira/browse/CRM-21069) Fail more
659 gracefully on event display with invalid data in the DB
660 ([10865](https://github.com/civicrm/civicrm-core/pull/10865))**
662 This avoids a database error by suppressing display of participant records
663 where the event has been deleted in the database.
665 - **[CRM-20914](https://issues.civicrm.org/jira/browse/CRM-20914) participant
666 note field breaking export when populated with data over 32 characters
667 ([10700](https://github.com/civicrm/civicrm-core/pull/10700))**
669 - **[CRM-20933](https://issues.civicrm.org/jira/browse/CRM-20933) Updating Pay
670 later event registration from backend produces formRule error
671 ([10716](https://github.com/civicrm/civicrm-core/pull/10716))**
673 - **[CRM-21121](https://issues.civicrm.org/jira/browse/CRM-21121) Event Income
674 (Summary) report backtrace with 'only_full_group_by'
675 ([10926](https://github.com/civicrm/civicrm-core/pull/10926))**
677 - **[CRM-20027](https://issues.civicrm.org/jira/browse/CRM-20027) Need 'access
678 deleted contacts' permission to retrieve loc block addresses using API
679 ([10916](https://github.com/civicrm/civicrm-core/pull/10916))**
681 Addresses lacking contact IDs because they're used for event locations were
682 treated like addresses belonging to deleted contacts.
684 - **[CRM-13309](https://issues.civicrm.org/jira/browse/CRM-13309) Participant
685 Role on Event's Schedule Reminder form does not populate
686 ([10801](https://github.com/civicrm/civicrm-core/pull/10801))**
688 The field to restrict scheduled reminders to specific participant roles would
691 - **[CRM-20942](https://issues.civicrm.org/jira/browse/CRM-20942) Email location
692 type must be 'primary' in profile or user creation won't work for event
693 ([10744](https://github.com/civicrm/civicrm-core/pull/10744))**
695 ### WordPress Integration
697 - **Fix parameter parsing in wp-cli civicrm api.
698 ([114](https://github.com/civicrm/civicrm-wordpress/pull/114))**
700 - **[CRM-21166](https://issues.civicrm.org/jira/browse/CRM-21166) WP-CLI
701 commands fail due to whitespace in regex
702 ([115](https://github.com/civicrm/civicrm-wordpress/pull/115))**
704 ### Internationalization
706 - **[CRM-19968](https://issues.civicrm.org/jira/browse/CRM-19968) Disable
707 multiple languages fixes
708 ([9783](https://github.com/civicrm/civicrm-core/pull/9783))**
710 This patch makes the following tweaks to the SQL queries that run when
711 disabling multiple languages so that it is more likely to succeed.
713 1. Column is renamed instead of created and copied, as the copy often leads to
714 a row size constraint (eg. in civicrm_event when you have some text in
716 2. Use DROP VIEW IF EXISTS instead of DROP VIEW (supported
717 in mysql 5.1+). There is more support for IF EXISTS on other SQL functions in
718 new versions of mysql but we can't use them if we're maintaining
721 ## <a name="misc"></a>Miscellany
723 - **[CRM-21153](https://issues.civicrm.org/jira/browse/CRM-21153) Fix mispelled
724 variable ([10945](https://github.com/civicrm/civicrm-core/pull/10945))**
726 Fixes a misspelled variable
728 - **[CRM-21065](https://issues.civicrm.org/jira/browse/CRM-21065) Replace some
729 deprecated slow function calls: some CRM_Core_OptionGroup::values with
730 CRM_Activity_BAO_ActivityContact::buildOptions
731 ([10860](https://github.com/civicrm/civicrm-core/pull/10860))**
733 Replace (some not all) CRM_Core_OptionGroup::values with
734 CRM_Activity_BAO_ActivityContact::buildOptions where it is safe to do so (ie.
735 parameters map directly).
737 - **[CRM-20927](https://issues.civicrm.org/jira/browse/CRM-20927) Allow
738 `civicrm_menu` to store new data in generic column
739 ([10858](https://github.com/civicrm/civicrm-core/pull/10858)) (completes
742 The schema change is moved to a PHP-based upgrade task rather than a SQL
743 incremental upgrade query template.
745 - **[CRM-21036](https://issues.civicrm.org/jira/browse/CRM-21036) Change
746 deprecated comments to tags so phpstorm marks functions as deprecated
747 ([10825](https://github.com/civicrm/civicrm-core/pull/10825))**
749 - **[CRM-21023](https://issues.civicrm.org/jira/browse/CRM-21023) Replace
750 deprecated code and hardcoded IDs with pseudoconstants in Activity BAO
751 ([10816](https://github.com/civicrm/civicrm-core/pull/10816))**
753 - **(NFC) SettingsStack - Finish incomplete docblock
754 ([10950](https://github.com/civicrm/civicrm-core/pull/10950))**
756 - **Reinstate accidentally deleted test.
757 ([10938](https://github.com/civicrm/civicrm-core/pull/10938))**
759 - **NFC remove some unused vars, fix comment
760 ([10886](https://github.com/civicrm/civicrm-core/pull/10886))**
762 - **Renamed test class.
763 ([10730](https://github.com/civicrm/civicrm-core/pull/10730))**
765 - **Fix PHP Warnings. Replace fatal with statusBounce. Mark breadcrumbs
766 parameter as array instead of string so editors don't give a warning
767 ([10888](https://github.com/civicrm/civicrm-core/pull/10888))**
769 - **(NFC) Update contributor-key.yml
770 ([10894](https://github.com/civicrm/civicrm-core/pull/10894))**
772 - **(NFC) Improve docs in CONTRIBUTING.md
773 ([10853](https://github.com/civicrm/civicrm-core/pull/10853))**
775 - **(NFC) SettingsStack - Add test coverage for new helper class
776 ([10867](https://github.com/civicrm/civicrm-core/pull/10867))**
778 - **[NFC] Simplify method of getting logged in contact ID
779 ([10855](https://github.com/civicrm/civicrm-core/pull/10855))**
781 - **Update CONTRIBUTORS.txt
782 ([10843](https://github.com/civicrm/civicrm-core/pull/10843))**
784 - **Update Jon Goldberg in CONTRIBUTORS.txt
785 ([10840](https://github.com/civicrm/civicrm-core/pull/10840))**
787 - **Klaas Eikelboom (Kainuk Empowerment) is member of CiviCooP
788 ([10812](https://github.com/civicrm/civicrm-core/pull/10812))**
790 - **(NFC) Lint civicrm.drush.inc
791 ([473](https://github.com/civicrm/civicrm-drupal/pull/473))**
793 ## <a name="credits"></a>Credits
795 This release was developed by the following code authors:
797 Aaron Jones; Abhikalak Consultants - Amal Sharma; AGH Strategies - Alice Frumin,
798 Andie Hunt; Agileware - Agileware Team, Justin Freeman; Australian Greens -
799 Seamus Lee; CEDC - Laryn Kragt Bakker; Circle Interactive - Dave Jenkins;
800 CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CiviFirst - John
801 Kirk; CompuCorp - Camilo Rodriguez; Coop SymbioTIC - Mathieu Lutfy; Eaiman
802 Shoshi; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; JMA
803 Consulting - Edsel Lopez, Monish Deb, Pradeep Nayak; John Kingsnorth; Joinery -
804 Allen Shaw; Ken West; Left Join Labs - Sean Madsen; Lemniscus - Noah Miller;
805 Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology
806 Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; myDropWizard - David
807 Snopek; Oxfam Germany - Thomas Schüttler; Progressive Technology Project - Jamie
808 McClelland; Randy Tobias; Tadpole Collective - Kevin Cristiano; Wikimedia
809 Foundation - Eileen McNaughton
811 Most authors also reviewed code for this release; in addition, the following
812 reviewers contributed their comments:
814 Artful Robot - Rich Lott; Barbara Miller; Black Brick Software - David Hayes;
815 Blackfly Solutions - Alan Dixon; Brian Hay; Brian McFee; British Humanist
816 Association - Andrew West, William Gordon; Christian Wach; Circle Interactive -
817 Andrew Walker, Martin Castle; CiviCoop - Jaap Jansma, Klaas Eikelboom; CiviDesk -
818 Nicolas Ganivet; Community Builders - Andrew Perry; CompuCorp - Guanhuan Chen,
819 Omar Abu Hussein; Dave D; Dave Greenberg; Dave Rolsky; David Hepper; Davis Media
820 Access - Darrick Servis; Deepak Srivastava; Donald Hirst; Donald Lobo; Effy
821 Elden; Electronic Frontier Foundation - Mark Burdett; eQuality Technology - Greg
822 Rundlett; Forest CRM Consulting - Tamar Meir; Fuzion - Chris Burgess, Peter
823 Davis; Greenleaf Advancement - Guy Iaccarino; Hemophilia of North Carolina -
824 Charles Register; JMA Consulting - Joe Murray; Joel Stevens; Johan Vervloet;
825 Klangsoft - David Reedy Jr; Korlon - Stuart Gaston; Lullabot - Nate Lampton;
826 Manish Zope; Marc Brazeau; Mathias Consulting - Cheryl Chase; Michal Mach;
827 National Democratic Institute - Evan Summers; Nubay Services - David Tarrant;
828 Openflows - Eric Goldhagen; Palante Technology Cooperative - Joseph Lacey; Phil
829 McKerracher; Rareș Pamfil; Responsive Development Technologies - Thomas
830 Nilefalk; Rex Keal; Richard van Oosterhout; Saurabh Batra; Semper IT - Karin
831 Gerritsen; SEN Magazine - Jeremy Nicholls; Shailesh Lende; Skvare - Mark Hanna;
832 Squiffle Consulting - Aidan Saunders; Steve Binkowski; Team Expansion - Greg
833 Harris; Tobias Lounsbury; Wikimedia Foundation - Elliott Eggleston
835 ## <a name="feedback"></a>Feedback
837 These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
838 to provide feedback on them, please login to https://chat.civicrm.org/civicrm