5 - **[Features](#features)**
6 - **[Bugs resolved](#bugs)**
7 - **[Miscellany](#misc)**
8 - **[Credits](#credits)**
10 ## <a name="features"></a>Features
12 ### Backdrop Integration
14 - **[CRM-17711](https://issues.civicrm.org/jira/browse/CRM-17711) Add Support
15 for Backdrop ([10184](https://github.com/civicrm/civicrm-core/pull/10184))
16 (completes previous work)**
18 Backdrop is a fork of the Drupal project designed to offer a smooth upgrade
19 from Drupal 7. This is now the fourth content management system supported by
24 - **[CRM-20420](https://issues.civicrm.org/jira/browse/CRM-20420) Allow
25 retention of generated PDFs/Docs
26 ([10155](https://github.com/civicrm/civicrm-core/pull/10155))**
28 A new option allows for generated PDF and other document files to be
29 automatically attached to their corresponding activities.
31 - **[CRM-19813](https://issues.civicrm.org/jira/browse/CRM-19813) Hook
32 priorities and core hooks to support LExIM
33 ([10138](https://github.com/civicrm/civicrm-core/pull/10138) and
34 [9949](https://github.com/civicrm/civicrm-core/pull/9949))**
36 CiviCRM has increasingly relied upon the Symfony framework for providing new
37 areas of functionality. Symfony offers an [EventDispatcher](http://symfony.com/doc/current/components/event_dispatcher.html)
38 component that allows for extensions to respond to events and modify values.
39 Meanwhile, CiviCRM has long offered a Drupal-style hook system for those
42 This change runs hook invocations through the EventDispatcher system to allow
43 for a richer feature set for extensions. This will let core functionality
44 become more modular. [Read the introduction to the pull request for more
45 background](https://github.com/civicrm/civicrm-core/pull/9949#issue-212649186)
47 - **[CRM-20361](https://issues.civicrm.org/jira/browse/CRM-20361) Populate
48 tokens when Scheduled Reminders are set to Record Activity for Automated Email
49 ([10081](https://github.com/civicrm/civicrm-core/pull/10081))**
51 Activities generated by scheduled reminders now have the token values
52 populated. This is valuable for referring to fields that have changed since
53 the message was generated.
55 - **[CRM-20318](https://issues.civicrm.org/jira/browse/CRM-20318) Add is_public
56 setting on Custom Groups.
57 ([10028](https://github.com/civicrm/civicrm-core/pull/10028))**
59 Custom data sets now have an additional setting determining whether the fields
60 should be displayed in "public" contexts. The only current application is for
61 events: event custom fields will only display if they are marked as "public".
63 - **[CRM-20207](https://issues.civicrm.org/jira/browse/CRM-20207) Introduce
64 selectWhereClause hook for activity results on activity tab contact summary
65 page ([9916](https://github.com/civicrm/civicrm-core/pull/9916))**
67 This change increases the coverage of `hook_civicrm_selectWhereClause` to
68 include the activity listing on a contact record.
70 - **[CRM-20312](https://issues.civicrm.org/jira/browse/CRM-20312) Identify and
72 ([10109](https://github.com/civicrm/civicrm-core/pull/10109),
73 [10106](https://github.com/civicrm/civicrm-core/pull/10106), and
74 [10108](https://github.com/civicrm/civicrm-core/pull/10108))**
76 A new system check compares the indices on a site's database with those that
77 would be expected from the CiviCRM configuration. (A mismatch can cause
78 performance problems.) A utility now offers to clean up the database's
81 - **[CRM-20313](https://issues.civicrm.org/jira/browse/CRM-20313) Add index to
82 civicrm_activity.status_id
83 ([10169](https://github.com/civicrm/civicrm-core/pull/10169) and
84 [10025](https://github.com/civicrm/civicrm-core/pull/10025))**
86 This adds database indices to several commonly-filtered columns in
87 `civicrm_activity`, `civicrm_entity_financial_account`, and
88 `civicrm_mailing_event_queue`.
90 - **[CRM-20332](https://issues.civicrm.org/jira/browse/CRM-20332) Refactor
91 summaryActions hook to allow user-defined actions in third column
92 ([10046](https://github.com/civicrm/civicrm-core/pull/10046))**
94 Extension developers can now modify all items in the "Actions" list on a
95 contact record using `hook_civicrm_summaryActions`.
97 - **[CRM-18251](https://issues.civicrm.org/jira/browse/CRM-18251) Pingback
98 improvements ([8525](https://github.com/civicrm/civicrm-core/pull/8525))**
100 By default, CiviCRM sends basic usage statistics to civicrm.org. This adds
101 the country of the domain's address and the count of delivered mailings to
104 - **[CRM-20330](https://issues.civicrm.org/jira/browse/CRM-20330) Generate a
105 table with composite primary key
106 ([10038](https://github.com/civicrm/civicrm-core/pull/10038))**
108 The database schema generation system of CiviCRM now supports the creation of
109 tables with composite primary keys: two or more fields in tandem serving as
112 - **[CRM-20368](https://issues.civicrm.org/jira/browse/CRM-20368) report
113 templates: don't hard-code order bys
114 ([10087](https://github.com/civicrm/civicrm-core/pull/10087))**
116 Several report templates that had the "order by" clause directly specified in
117 code now use the standard sorting options.
119 - **[CRM-20308](https://issues.civicrm.org/jira/browse/CRM-20308) Activity copy
120 is always sent FROM logged in user's email ID
121 ([10158](https://github.com/civicrm/civicrm-core/pull/10158),
122 [10122](https://github.com/civicrm/civicrm-core/pull/10122),
123 and [10163](https://github.com/civicrm/civicrm-core/pull/10163))**
125 The from email address for an activity assignment notification will now be
126 determined in the following order of preference:
128 1. The email address of the source contact of the activity
130 2. If that can not be found, the default `from` email address for the domain
132 3. If the default `from` email address for the domain can not be found the
133 email address of the logged-in user will be used. This was the prior
136 - **[CRM-19464](https://issues.civicrm.org/jira/browse/CRM-19464)
137 supplemental_address_3 only exists in API
138 ([10166](https://github.com/civicrm/civicrm-core/pull/10166) and
139 [9857](https://github.com/civicrm/civicrm-core/pull/9857))**
141 The Supplemental Address 3 field is now available to view and edit in the UI.
143 - **Icons for attachments
144 ([10078](https://github.com/civicrm/civicrm-core/pull/10078))**
146 File attachments now have an icon corresponding to their MIME type.
150 - **[CRM-16633](https://issues.civicrm.org/jira/browse/CRM-16633) Case Subject
151 not Editable ([10123](https://github.com/civicrm/civicrm-core/pull/10123))**
153 Case subjects can now be edited, generating a "Change Case Subject" activity.
155 - **[CRM-20345](https://issues.civicrm.org/jira/browse/CRM-20345) Sortable
156 columns ([10058](https://github.com/civicrm/civicrm-core/pull/10058)) (partial
159 Cases can now be sorted according to client.
161 - **[CRM-20105](https://issues.civicrm.org/jira/browse/CRM-20105) Search actions
162 ([10188](https://github.com/civicrm/civicrm-core/pull/10188))**
164 Cases can now be merged with each other or restored from the trash using the
167 - **[CRM-19778](https://issues.civicrm.org/jira/browse/CRM-19778) Allowed
168 statuses per case-type
169 ([10065](https://github.com/civicrm/civicrm-core/pull/10065)) (completes
172 UI improvements to the case type management screen.
176 - **[CRM-20384](https://issues.civicrm.org/jira/browse/CRM-20384) Bookkeeping
177 report add contrib ID, filter by financial account owner (IIDA-85)
178 ([10112](https://github.com/civicrm/civicrm-core/pull/10112))**
180 Two fields are added as columns and filters on the Bookkeeping Report:
181 contribution ID and financial account owner.
183 - **[CRM-20400](https://issues.civicrm.org/jira/browse/CRM-20400) Update the
184 Payment Receipt to use for Contribution payment
185 ([10128](https://github.com/civicrm/civicrm-core/pull/10128))**
187 The receipt for partial payments has updated language appropriate for use
188 besides merely for participant partial payments.
190 - **[CRM-20264](https://issues.civicrm.org/jira/browse/CRM-20264) Store CC type
191 and last 4 digits from Contribution form
192 ([10234](https://github.com/civicrm/civicrm-core/pull/10234),
193 [10228](https://github.com/civicrm/civicrm-core/pull/10228),
194 [10157](https://github.com/civicrm/civicrm-core/pull/10157),
195 [10193](https://github.com/civicrm/civicrm-core/pull/10193),
196 [10194](https://github.com/civicrm/civicrm-core/pull/10194), and
197 [10189](https://github.com/civicrm/civicrm-core/pull/10189))**
199 When processing a credit card from the front or back end, the last four digits
200 of the card number along with the card type are now stored on the financial
203 - **[CRM-20158](https://issues.civicrm.org/jira/browse/CRM-20158) Store card
204 type and last 4 digits of credit card
205 ([9880](https://github.com/civicrm/civicrm-core/pull/9880)) (partially
208 This is the parent issue for tracking and retrieving card type and the last
209 four digits of the card number on financial transactions.
211 - **[CRM-20391](https://issues.civicrm.org/jira/browse/CRM-20391) Add
212 pan_truncation to search form
213 ([10139](https://github.com/civicrm/civicrm-core/pull/10139))**
215 The last four digits of a card number are now searchable in the Find
216 Contributions search and Advanced Search pane.
218 - **[CRM-20273](https://issues.civicrm.org/jira/browse/CRM-20273) Add credit
219 card type field for Contribution Details Report
220 ([9987](https://github.com/civicrm/civicrm-core/pull/9987))**
222 - **[CRM-20278](https://issues.civicrm.org/jira/browse/CRM-20278) Add credit
223 card type field for Top Donor Report
224 ([9991](https://github.com/civicrm/civicrm-core/pull/9991))**
226 - **[CRM-20275](https://issues.civicrm.org/jira/browse/CRM-20275) Add credit
227 card type field for Contributions by Organization Report
228 ([9989](https://github.com/civicrm/civicrm-core/pull/9989))**
230 - **[CRM-20277](https://issues.civicrm.org/jira/browse/CRM-20277) Add credit
231 card type field for Contributions by Household Report
232 ([9990](https://github.com/civicrm/civicrm-core/pull/9990))**
234 - **[CRM-20279](https://issues.civicrm.org/jira/browse/CRM-20279) Add credit
235 card type field for SYBUNT report
236 ([9992](https://github.com/civicrm/civicrm-core/pull/9992))**
238 - **[CRM-20280](https://issues.civicrm.org/jira/browse/CRM-20280) Add credit
239 card type field for LYBUNT report
240 ([9993](https://github.com/civicrm/civicrm-core/pull/9993))**
242 - **[CRM-20281](https://issues.civicrm.org/jira/browse/CRM-20281) Add credit
243 card type field for Soft Credit Report
244 ([9994](https://github.com/civicrm/civicrm-core/pull/9994))**
246 - **[CRM-20284](https://issues.civicrm.org/jira/browse/CRM-20284) Add credit
247 card type field for Contribution Aggregate by Relationship report
248 ([9997](https://github.com/civicrm/civicrm-core/pull/9997))**
250 - **[CRM-20285](https://issues.civicrm.org/jira/browse/CRM-20285) Add credit
251 card type field for Recurring Contributions report
252 ([10001](https://github.com/civicrm/civicrm-core/pull/10001))**
254 - **[CRM-20331](https://issues.civicrm.org/jira/browse/CRM-20331) Add card type
255 and pan truncation besides payment method
256 ([10037](https://github.com/civicrm/civicrm-core/pull/10037))**
258 When viewing payment details on a credit card contribution, the credit card
259 type and last four digits are displayed if available.
261 - **[CRM-8526](https://issues.civicrm.org/jira/browse/CRM-8526) Support
262 [contribution.custom_nn] tokens in templates
263 ([9848](https://github.com/civicrm/civicrm-core/pull/9848)) (completes
266 CiviCRM can now process tokens for contribution custom fields (most lately in
267 emails sent from search results).
269 - **[CRM-20379](https://issues.civicrm.org/jira/browse/CRM-20379) Move payment
270 details above less important sections on backoffice form
271 ([10101](https://github.com/civicrm/civicrm-core/pull/10101))**
273 Payment details now appear before soft credits when recording or editing
274 contributions in the backend.
276 - **[CRM-19892](https://issues.civicrm.org/jira/browse/CRM-19892) Improve
277 financial transaction pager for batch assignment
278 ([9694](https://github.com/civicrm/civicrm-core/pull/9694))**
280 The listing of financial transactions for batches now allows for viewing more
283 - **[CRM-20022](https://issues.civicrm.org/jira/browse/CRM-20022) Add Batch
284 Title to Columns, Grouping tabs on Contribution Summary report
285 ([10142](https://github.com/civicrm/civicrm-core/pull/10142) and
286 [10006](https://github.com/civicrm/civicrm-core/pull/10006))**
288 The batch title is now available to view and group in the Contribution
293 - **[CRM-19773](https://issues.civicrm.org/jira/browse/CRM-19773) Call
294 hook_civicrm_selectWhereClause from the BAOs
295 ([10125](https://github.com/civicrm/civicrm-core/pull/10125) and
296 [9544](https://github.com/civicrm/civicrm-core/pull/9544))**
298 This change increases the coverage of `hook_civicrm_selectWhereClause` to
299 include selecting events.
303 - **[CRM-20369](https://issues.civicrm.org/jira/browse/CRM-20369) include
304 subject field in mailing reports
305 ([10088](https://github.com/civicrm/civicrm-core/pull/10088))**
307 Mailing reports now can display the subject line in addition to the internal
312 - **[CRM-20344](https://issues.civicrm.org/jira/browse/CRM-20344) Make 'Member
313 Since' displayed on membership tabs for Inactive Memberships.
314 ([10055](https://github.com/civicrm/civicrm-core/pull/10055))**
316 The membership join date is now displayed even on the table of a contact's
317 inactive memberships.
319 - **[CRM-20375](https://issues.civicrm.org/jira/browse/CRM-20375) Respect
320 membership auto-renew status for contribution pages
321 ([10095](https://github.com/civicrm/civicrm-core/pull/10095))**
323 Auto-renew options on contribution pages now appear or freeze according to the
324 selected membership type's settings for auto-renew.
326 ### Drupal Integration Modules
328 - **[CRM-20319](https://issues.civicrm.org/jira/browse/CRM-20319) Expose
329 relationship permission to views
330 ([437](https://github.com/civicrm/civicrm-drupal/pull/437))**
332 Views can now display, filter by, and sort by whether a relationship grants
333 permission for one contact to view or edit the other.
335 ### WordPress Integration
337 - **[CRM-20148](https://issues.civicrm.org/jira/browse/CRM-20148) WP-CLI
338 installer won't run if it can be run
339 ([110](https://github.com/civicrm/civicrm-wordpress/pull/110))**
341 CiviCRM can now be installed using WP-CLI, either by first downloading and
342 enabling the CiviCRM plugin or manually including the `wp-cli/civicrm.php`
343 file as part of the command.
345 ## <a name="bugs"></a>Bugs resolved
349 - **[CRM-20417](https://issues.civicrm.org/jira/browse/CRM-20417) Translate
350 strings ([10179](https://github.com/civicrm/civicrm-core/pull/10179) and
351 [10148](https://github.com/civicrm/civicrm-core/pull/10148))**
353 A number of untranslated phrases are now sent through translation.
355 - **[CRM-20246](https://issues.civicrm.org/jira/browse/CRM-20246) maxfilesize on
356 import should respect 0 as meaning "no limit"
357 ([10021](https://github.com/civicrm/civicrm-core/pull/10021))**
359 A zero value had been interpreted as disallowing any size file.
361 - **[CRM-20333](https://issues.civicrm.org/jira/browse/CRM-20333) Search menu
362 visible even when a user has not access to any contacts.
363 ([10040](https://github.com/civicrm/civicrm-core/pull/10040))**
365 - **[CRM-20451](https://issues.civicrm.org/jira/browse/CRM-20451) Do no assume
366 all BAOs have exportableFields method in Core_report
367 ([10191](https://github.com/civicrm/civicrm-core/pull/10191))**
369 - **[CRM-20481](https://issues.civicrm.org/jira/browse/CRM-20481) Refactor
370 Activity api to more efficient query
371 ([10280](https://github.com/civicrm/civicrm-core/pull/10280)) (preliminary
374 - **[CRM-20467](https://issues.civicrm.org/jira/browse/CRM-20467) PHP notices on
375 contact search for ACL'd user
376 ([10243](https://github.com/civicrm/civicrm-core/pull/10243))**
378 Notices appeared when the user has access to contacts via ACLs rather than the
379 "View all contacts" permission.
381 - **[CRM-20441](https://issues.civicrm.org/jira/browse/CRM-20441) Fatal error on
382 contact summary for ACL'd user (from activity tab count)
383 ([10237](https://github.com/civicrm/civicrm-core/pull/10237),
384 [10232](https://github.com/civicrm/civicrm-core/pull/10232),
385 [10231](https://github.com/civicrm/civicrm-core/pull/10231), and
386 [10212](https://github.com/civicrm/civicrm-core/pull/10212))**
388 The fatal error occurred when the user has access to contacts via ACLs rather
389 than the "View all contacts" permission.
391 - **Added object type selector to panel rule
392 ([10175](https://github.com/civicrm/civicrm-core/pull/10175))**
394 This fixes a bug where all elements with the `panel` class were hidden.
396 - **[CRM-20436](https://issues.civicrm.org/jira/browse/CRM-20436) Non Static
397 method CRM_Upgrade_Incremental_php_FourSeven::updateKenyanProvinces should be
398 static ([10170](https://github.com/civicrm/civicrm-core/pull/10170))**
400 - **[CRM-20429](https://issues.civicrm.org/jira/browse/CRM-20429) Deleting an
401 activity with target contacts > 50 results in error
402 ([10162](https://github.com/civicrm/civicrm-core/pull/10162))**
404 - **[CRM-20339](https://issues.civicrm.org/jira/browse/CRM-20339) Custom field
405 data on relationships only saved when creating a new relationship, not on edit
406 ([10092](https://github.com/civicrm/civicrm-core/pull/10092))**
408 - **[CRM-20390](https://issues.civicrm.org/jira/browse/CRM-20390) Data type
409 mismatch in angular select2 bindings
410 ([10116](https://github.com/civicrm/civicrm-core/pull/10116))**
412 Select2 widgets had been expected to accept comma-delimited data and produce
413 arrays. This change makes input and output consistent.
415 - **[CRM-19921](https://issues.civicrm.org/jira/browse/CRM-19921) CustomGroup
416 $params['extends'] should only be required on create, not on update
417 ([9724](https://github.com/civicrm/civicrm-core/pull/9724))**
419 - **[CRM-19400](https://issues.civicrm.org/jira/browse/CRM-19400) open street
421 ([10049](https://github.com/civicrm/civicrm-core/pull/10049))**
423 Mapping with OpenStreetMap now uses the Carto tile server.
425 - **[CRM-20350](https://issues.civicrm.org/jira/browse/CRM-20350) Incorrect
426 escaping of double-quotes in iCalendar text values
427 ([10067](https://github.com/civicrm/civicrm-core/pull/10067))**
429 - **[CRM-20011](https://issues.civicrm.org/jira/browse/CRM-20011) Profile date
430 fields using YYYY-MM or MM YY don't work
431 ([10003](https://github.com/civicrm/civicrm-core/pull/10003))**
433 - **[CRM-20327](https://issues.civicrm.org/jira/browse/CRM-20327) API chaining -
434 replace $value when using operators.
435 ([10033](https://github.com/civicrm/civicrm-core/pull/10033))**
437 API Chaining is a CiviCRM feature introduced in May 2011 by Eileen McNaughton
438 ([CRM-8148](https://issues.civicrm.org/jira/browse/CRM-8148)) allowing for a
439 single API call to both retrieve entities and perform actions on those
440 entities. The value of the parent link in a chain is denoted by `$value`, but
441 this was not handled properly with operators like `IF` or `<`.
443 - **[CRM-20178](https://issues.civicrm.org/jira/browse/CRM-20178) Writes to
444 timestamp fields are silently ignored by $dao->save()
445 ([178](https://github.com/civicrm/civicrm-packages/pull/178))**
447 - **[CRM-20427](https://issues.civicrm.org/jira/browse/CRM-20427) Many pages
448 break on multilingual on 4.7.18
449 ([10171](https://github.com/civicrm/civicrm-core/pull/10171))**
451 - **[CRM-19663](https://issues.civicrm.org/jira/browse/CRM-19663) A scheduled
452 reminder set to use an absolute date does not allow repeats
453 ([9773](https://github.com/civicrm/civicrm-core/pull/9773))**
455 - **[CRM-19612](https://issues.civicrm.org/jira/browse/CRM-19612) Dedupe_copy DB
456 error ([10035](https://github.com/civicrm/civicrm-core/pull/10035))
459 Deduping according to a matching rule with more than one field can result in a
460 database error. Users still report facing this bug.
464 - **[CRM-20376](https://issues.civicrm.org/jira/browse/CRM-20376) SurveyDetails
465 Report should not repeat field names when printing
466 ([10096](https://github.com/civicrm/civicrm-core/pull/10096))**
468 - **Crm 20378 - simplify SurveyDetail report - improve line breaks in PDF, etc.
469 ([10097](https://github.com/civicrm/civicrm-core/pull/10097))**
473 - **[CRM-20343](https://issues.civicrm.org/jira/browse/CRM-20343) Wrong Activity
474 creation when Membership status is changed from membership form.
475 ([10093](https://github.com/civicrm/civicrm-core/pull/10093))**
477 Editing a cancelled membership may result in a new membership activity being
480 - **[CRM-20371](https://issues.civicrm.org/jira/browse/CRM-20371) Set
481 is_transactional when trying to create membership_payments in recur
482 transaciton ([10091](https://github.com/civicrm/civicrm-core/pull/10091))**
484 If creating a membership payment fails on a recurring payment, the entire
485 transaction should not roll back.
487 - **[CRM-20311](https://issues.civicrm.org/jira/browse/CRM-20311) Membership
488 cancelation via contribution doesn't create membership status change activity
489 ([10054](https://github.com/civicrm/civicrm-core/pull/10054) and
490 [10024](https://github.com/civicrm/civicrm-core/pull/10024))**
492 - **[CRM-20008](https://issues.civicrm.org/jira/browse/CRM-20008)
493 repeattrasaction should create pending membership when
494 contribtuion_status_id is pending
495 ([10030](https://github.com/civicrm/civicrm-core/pull/10030))**
497 - **[CRM-20413](https://issues.civicrm.org/jira/browse/CRM-20413) Wrong
498 payment_instrument used for civicrm_contribution for membership office
499 contributions ([10144](https://github.com/civicrm/civicrm-core/pull/10144))**
501 This fixes a bug where contributions created by memberships created in the
502 backend have the payment instrument incorrectly recorded as "Check".
504 - **[CRM-19243](https://issues.civicrm.org/jira/browse/CRM-19243) Free
505 membership results in two activities and email receipts
506 ([10084](https://github.com/civicrm/civicrm-core/pull/10084))**
508 - **[CRM-20329](https://issues.civicrm.org/jira/browse/CRM-20329) Backend
509 Membership with Payment set to Failed results in Membership being set to New
510 ([10036](https://github.com/civicrm/civicrm-core/pull/10036))**
514 - **[CRM-20340](https://issues.civicrm.org/jira/browse/CRM-20340) Translate
516 ([10047](https://github.com/civicrm/civicrm-core/pull/10047))**
518 The unsubscribe button on the unsubscribe form was not translated.
520 - **[CRM-20316](https://issues.civicrm.org/jira/browse/CRM-20316) Api mailing
521 create should work without logged in user (eg. drush)
522 ([10186](https://github.com/civicrm/civicrm-core/pull/10186))**
524 - **[CRM-20389](https://issues.civicrm.org/jira/browse/CRM-20389) Cloned
525 experiment or winner mailing should have type standalone
526 ([10127](https://github.com/civicrm/civicrm-core/pull/10127))**
528 Reusing a mailing from an A/B test should not carry the type from the test;
529 it should look like other "normal" mailings.
531 - **[CRM-20402](https://issues.civicrm.org/jira/browse/CRM-20402) improve "spam"
532 pattern match for bounces
533 ([10132](https://github.com/civicrm/civicrm-core/pull/10132))**
535 Some spam notifications were being treated as syntax bounces.
537 - **[CRM-20140](https://issues.civicrm.org/jira/browse/CRM-20140) CiviCRM
538 alterMailParams hook does not work on subject
539 ([9869](https://github.com/civicrm/civicrm-core/pull/9869))**
543 - **[CRM-20374](https://issues.civicrm.org/jira/browse/CRM-20374) Don't crash
544 when we can't UpdateSubscription for recurring contributions
545 ([10094](https://github.com/civicrm/civicrm-core/pull/10094))**
547 - **[CRM-20450](https://issues.civicrm.org/jira/browse/CRM-20450) Fix invoice
548 math for partial payments
549 ([10223](https://github.com/civicrm/civicrm-core/pull/10223) and
550 [10222](https://github.com/civicrm/civicrm-core/pull/10222))**
552 - **[CRM-20465](https://issues.civicrm.org/jira/browse/CRM-20465) pan truncation
553 doesn't respect values preceding with 0
554 ([10218](https://github.com/civicrm/civicrm-core/pull/10218))**
556 The last four digits of a credit card number were being stored as an integer
557 rather than a four-character string.
559 - **[CRM-20464](https://issues.civicrm.org/jira/browse/CRM-20464) Smarty error
560 when receipt is send for recording payment
561 ([10210](https://github.com/civicrm/civicrm-core/pull/10210))**
563 - **[CRM-19597](https://issues.civicrm.org/jira/browse/CRM-19597) Allow the
564 receive_date to be passed in when replaying Authorize.net transactions
565 ([10099](https://github.com/civicrm/civicrm-core/pull/10099))**
567 The `receive_date` had been populated by the current date.
569 - **[CRM-20392](https://issues.civicrm.org/jira/browse/CRM-20392) Credit card
570 payment not recorded when contribution is partially paid
571 ([10187](https://github.com/civicrm/civicrm-core/pull/10187),
572 [10143](https://github.com/civicrm/civicrm-core/pull/10143),
573 [10129](https://github.com/civicrm/civicrm-core/pull/10129),
574 [10137](https://github.com/civicrm/civicrm-core/pull/10137), and
575 [10136](https://github.com/civicrm/civicrm-core/pull/10136))**
577 - **[CRM-20388](https://issues.civicrm.org/jira/browse/CRM-20388) Payflow Pro
578 payment processor codes rejected payments as completed
579 ([10115](https://github.com/civicrm/civicrm-core/pull/10115))**
581 - **[CRM-20385](https://issues.civicrm.org/jira/browse/CRM-20385) oversensitive
582 deferred revenue account validation
583 ([10114](https://github.com/civicrm/civicrm-core/pull/10114))**
585 - **Refactored Deferred Revenue report to follow more standardized approach.
586 ([10113](https://github.com/civicrm/civicrm-core/pull/10113))**
588 - **[CRM-19633](https://issues.civicrm.org/jira/browse/CRM-19633) Contribution
589 page shows error on multisite when viewed from a domain that the payment
590 processor isn't linked to
591 ([9371](https://github.com/civicrm/civicrm-core/pull/9371))**
593 - **[CRM-20336](https://issues.civicrm.org/jira/browse/CRM-20336) Failed iATS
594 contribution should be set to failed, not pending
595 ([10041](https://github.com/civicrm/civicrm-core/pull/10041))**
597 - **[CRM-20012](https://issues.civicrm.org/jira/browse/CRM-20012) contribution
598 batch update: can't unset thank you date value
599 ([9729](https://github.com/civicrm/civicrm-core/pull/9729))**
601 Date handling in profiles is simplified and standardized.
603 - **[CRM-20334](https://issues.civicrm.org/jira/browse/CRM-20334) Regression
604 within release cycle - Fatal Error on Submit Credit Card Form
605 ([10039](https://github.com/civicrm/civicrm-core/pull/10039))**
607 - **[CRM-20449](https://issues.civicrm.org/jira/browse/CRM-20449) Possible
608 regression - enotices from 'send thankyou letter' on contribution search
609 actions ([10219](https://github.com/civicrm/civicrm-core/pull/10219))**
611 - **[CRM-20393](https://issues.civicrm.org/jira/browse/CRM-20393) Authorize.net:
612 fix for the "check if the user already submitted this transaction"
613 ([10147](https://github.com/civicrm/civicrm-core/pull/10147))**
615 - **[CRM-19517](https://issues.civicrm.org/jira/browse/CRM-19517) Show price
616 field Options that use disabled Financial Types so they can be edited.
617 ([9276](https://github.com/civicrm/civicrm-core/pull/9276))**
619 - **[CRM-20360](https://issues.civicrm.org/jira/browse/CRM-20360) Payment
620 Options heading is incorrectly shown when default amount is 0
621 ([10080](https://github.com/civicrm/civicrm-core/pull/10080))**
623 - **[CRM-19741](https://issues.civicrm.org/jira/browse/CRM-19741) Price set and
624 price set value "label" fields are inconsistant to users
625 ([10120](https://github.com/civicrm/civicrm-core/pull/10120))**
629 - **[CRM-20410](https://issues.civicrm.org/jira/browse/CRM-20410) Refactor SMS
630 provider BAO to have proper create function
631 ([10135](https://github.com/civicrm/civicrm-core/pull/10135))**
633 - **[CRM-19961](https://issues.civicrm.org/jira/browse/CRM-19961) Make CiviCRM
634 SMS Providers multisite aware
635 ([9796](https://github.com/civicrm/civicrm-core/pull/9796) and
636 [10100](https://github.com/civicrm/civicrm-core/pull/10100))**
640 - **[CRM-20029](https://issues.civicrm.org/jira/browse/CRM-20029) Events with
641 file custom fields don't copy the files
642 ([9960](https://github.com/civicrm/civicrm-core/pull/9960))**
644 Copying an event with files uploaded to custom fields should result in copies
645 of the files attached to the copy of the event.
647 ### Drupal Integration
649 - **[CRM-20502](https://issues.civicrm.org/jira/browse/CRM-20502) Drush upgrade
650 crashes on loading "is_public" field
651 ([444](https://github.com/civicrm/civicrm-drupal/pull/444))**
653 The cache of custom fields will no longer be populated when a site is being
656 - **Drupal bootstrap failures should throw debuggable exception
657 ([9616](https://github.com/civicrm/civicrm-core/pull/9616))**
659 ## <a name="misc"></a>Miscellany
661 - **[CRM-20439](https://issues.civicrm.org/jira/browse/CRM-20439) Rename
662 card_type to card_type_id of civicrm_financial_trxn table (IIDA-126)
663 ([10178](https://github.com/civicrm/civicrm-core/pull/10178))**
665 - **[CRM-20367](https://issues.civicrm.org/jira/browse/CRM-20367) Add wrapper
666 function for adding and dropping Index in Upgrader
667 ([10131](https://github.com/civicrm/civicrm-core/pull/10131) and
668 [10086](https://github.com/civicrm/civicrm-core/pull/10086))**
670 - **[CRM-19967](https://issues.civicrm.org/jira/browse/CRM-19967) Contact query
671 inline docs improvements from CRM-4287
672 ([10090](https://github.com/civicrm/civicrm-core/pull/10090))**
674 - **[CRM-19715](https://issues.civicrm.org/jira/browse/CRM-19715) Remove Close
675 Accounting Period code
676 ([10083](https://github.com/civicrm/civicrm-core/pull/10083),
677 [9974](https://github.com/civicrm/civicrm-core/pull/9974),
678 [9985](https://github.com/civicrm/civicrm-core/pull/9985), and
679 [10077](https://github.com/civicrm/civicrm-core/pull/10077))**
681 An unadvertised set of features allowed for closing the books at the end of an
682 accounting period and producing a trial balance. This feature set is more
683 appropriate in an extension.
685 - **[CRM-20328](https://issues.civicrm.org/jira/browse/CRM-20328) Remove code
686 duplication when calling Dedupe functions
687 ([10053](https://github.com/civicrm/civicrm-core/pull/10053),
688 [10034](https://github.com/civicrm/civicrm-core/pull/10034),
689 [10150](https://github.com/civicrm/civicrm-core/pull/10150),
690 [10069](https://github.com/civicrm/civicrm-core/pull/10069),
691 [10070](https://github.com/civicrm/civicrm-core/pull/10070), and
692 [10064](https://github.com/civicrm/civicrm-core/pull/10064)) (towards
693 [CRM-20155](https://issues.civicrm.org/jira/browse/CRM-20155))**
695 This refactors and standardizes code for matching contacts and preparing to
698 - **[CRM-20357](https://issues.civicrm.org/jira/browse/CRM-20357) Remove
699 CRM_Dedupe_Finder::dupesOfContact function
700 ([10071](https://github.com/civicrm/civicrm-core/pull/10071))**
702 The function was obsolete and unused.
704 - **Fix spelling. ([10282](https://github.com/civicrm/civicrm-core/pull/10282))**
706 - **[NFC] Remove comment as this has been fixed
707 ([10199](https://github.com/civicrm/civicrm-core/pull/10199))**
709 - **[NFC] Further test improvement
710 ([10198](https://github.com/civicrm/civicrm-core/pull/10198))**
712 - **CiviEventInspector - Add util for displaying hook metadata
713 ([10161](https://github.com/civicrm/civicrm-core/pull/10161))**
715 This utility makes use of the fact that hooks are now handled by Symfony
716 events, providing the ability to view information about implementations of a
719 - **Code cleanup ([10176](https://github.com/civicrm/civicrm-core/pull/10176))**
721 This removes redundant code relating to financial accounts.
723 - **Used Api to get financial account for an entity defined in
724 civicrm_entity_financial_account table
725 ([10130](https://github.com/civicrm/civicrm-core/pull/10130))**
727 - **GenCode - Reduce merge-conflicts on AllCoreTables
728 ([10182](https://github.com/civicrm/civicrm-core/pull/10182))**
730 - **[NFC] Fix invalid php in test-generated example
731 ([10185](https://github.com/civicrm/civicrm-core/pull/10185))**
733 - **Fix visibility typo
734 ([10177](https://github.com/civicrm/civicrm-core/pull/10177))**
736 - **Document PR scope & size
737 ([10174](https://github.com/civicrm/civicrm-core/pull/10174))**
739 - **Make sourceSQLFile throw an error when it can't find a file.
740 ([10160](https://github.com/civicrm/civicrm-core/pull/10160))**
742 - **Fix test regression by correctly setting timestamp in test method
743 ([10145](https://github.com/civicrm/civicrm-core/pull/10145))**
745 - **[CRM-19987](https://issues.civicrm.org/jira/browse/CRM-19987) Disabled
746 activities are shown in search results
747 ([10119](https://github.com/civicrm/civicrm-core/pull/10119))**
749 Only comments are added.
751 - **Add my details ([10110](https://github.com/civicrm/civicrm-core/pull/10110))**
753 - **Minor spelling & casing tidy ups
754 ([10107](https://github.com/civicrm/civicrm-core/pull/10107))**
756 - **[CRM-20346](https://issues.civicrm.org/jira/browse/CRM-20346) Remove
757 encryptDB.php from codebase
758 ([10059](https://github.com/civicrm/civicrm-core/pull/10059))**
760 - **(NFC) Update stale GenCode checksums
761 ([10048](https://github.com/civicrm/civicrm-core/pull/10048))**
763 - **Remove CRM_Core_Form::generateID().
764 ([9968](https://github.com/civicrm/civicrm-core/pull/9968))**
766 ## <a name="credits"></a>Credits
768 This release was developed by the following code authors:
770 AGH Strategies - Andrew Hunt; Agileware - Agileware Team; Australian Greens -
771 Seamus Lee; CiviCoop - Erik Hommel, Jaap Jansma; CiviCRM - Coleman Watts, Tim
772 Otten; CiviFirst - John Kirk; CompuCorp - Omar Abu Hussein; Coop SymbioTIC -
773 Mathieu Lutfy; Erich Schulz; Fuzion - Chris Burgess, Eileen McNaughton, Jitendra
774 Purohit; JMA Consulting - Edsel Lopez, Joe Murray, Monish Deb, Pradeep Nayak;
775 Joinery - Allen Shaw; Lighthouse Design and Consulting - Brian Shaughnessy; MJW
776 Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland;
777 Romain Thouvenin; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan
778 Saunders; Stan Dragnev; Systopia - Björn Endres; Third Sector Design - Michael
779 McAndrew; Tobias Lounsbury; Wikimedia Foundation - Eileen McNaughton
781 Most authors also reviewed code for this release; in addition, the following
782 reviewers contributed their comments:
784 AGH Strategies - Mika Weinstein; Annertech - Anthony Lindsay; Barbara Miller;
785 Blackfly Solutions - Alan Dixon; British Humanist Association - William Gordon;
786 Canine Companions for Independence - Angela Cacciola; Christian Wach; Circle
787 Interactive - Dave Jenkins, Martin Castle; CiviCRM - Josh Gowans; CiviDesk -
788 Nicolas Ganivet, Steve Kessler, Sunil Pawar, Yashodha Chaku; Comunica2 - René
789 Nieuwburg; CompuCorp - Guanhuan Chen, Mirela Stanila; Coop SymbioTIC - Mathieu
790 Lutfy; Donald Lobo; Freeform Solutions - Herb van den Dool; Fuzion - Gemma
791 Potaka, Peter Davis; Ginkgo Street Labs - Frank Gómez; Glick Software - David
792 Glick; GMCVO Databases - Jon-man Cheung; Greenleaf Advancement - Guy Iaccarino;
793 Hartmann Computer Consulting - Peter Hartmann; JMA Consulting - Jon Goldberg;
794 John Kingsnorth; Korlon - Stuart Gaston; Lullabot - Nate Lampton; Marc Brazeau;
795 MC3 - Graham Mitchell; Michal Mach; Richard van Oosterhout; Romain Thouvenin;
796 Samuel Haskell; Sean Madsen; Semper IT - Karin Gerritsen; Spry Digital - Ellen
797 Hendricks, Sheila Burkett; Tadpole Collective - Kevin Cristiano; Team Expansion -
798 Greg Harris; Timbsoft Technologies - Tunbola Ogunwande