5.28.0 release notes: added boilerplate
[civicrm-core.git] / release-notes / 4.7.19.md
1 # CiviCRM 4.7.19
2
3 Released May 3, 2017
4
5 - **[Features](#features)**
6 - **[Bugs resolved](#bugs)**
7 - **[Miscellany](#misc)**
8 - **[Credits](#credits)**
9
10 ## <a name="features"></a>Features
11
12 ### Backdrop Integration
13
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)**
17
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
20 CiviCRM.
21
22 ### Core CiviCRM
23
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))**
27
28 A new option allows for generated PDF and other document files to be
29 automatically attached to their corresponding activities.
30
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))**
35
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
40 purposes.
41
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)
46
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))**
50
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.
54
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))**
58
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".
62
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))**
66
67 This change increases the coverage of `hook_civicrm_selectWhereClause` to
68 include the activity listing on a contact record.
69
70 - **[CRM-20312](https://issues.civicrm.org/jira/browse/CRM-20312) Identify and
71 fix missing indexes
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))**
75
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
79 indices.
80
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))**
85
86 This adds database indices to several commonly-filtered columns in
87 `civicrm_activity`, `civicrm_entity_financial_account`, and
88 `civicrm_mailing_event_queue`.
89
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))**
93
94 Extension developers can now modify all items in the "Actions" list on a
95 contact record using `hook_civicrm_summaryActions`.
96
97 - **[CRM-18251](https://issues.civicrm.org/jira/browse/CRM-18251) Pingback
98 improvements ([8525](https://github.com/civicrm/civicrm-core/pull/8525))**
99
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
102 those statistics.
103
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))**
107
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
110 the primary key.
111
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))**
115
116 Several report templates that had the "order by" clause directly specified in
117 code now use the standard sorting options.
118
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))**
124
125 The from email address for an activity assignment notification will now be
126 determined in the following order of preference:
127
128 1. The email address of the source contact of the activity
129
130 2. If that can not be found, the default `from` email address for the domain
131
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
134 behavior.
135
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))**
140
141 The Supplemental Address 3 field is now available to view and edit in the UI.
142
143 - **Icons for attachments
144 ([10078](https://github.com/civicrm/civicrm-core/pull/10078))**
145
146 File attachments now have an icon corresponding to their MIME type.
147
148 ### CiviCase
149
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))**
152
153 Case subjects can now be edited, generating a "Change Case Subject" activity.
154
155 - **[CRM-20345](https://issues.civicrm.org/jira/browse/CRM-20345) Sortable
156 columns ([10058](https://github.com/civicrm/civicrm-core/pull/10058)) (partial
157 work)**
158
159 Cases can now be sorted according to client.
160
161 - **[CRM-20105](https://issues.civicrm.org/jira/browse/CRM-20105) Search actions
162 ([10188](https://github.com/civicrm/civicrm-core/pull/10188))**
163
164 Cases can now be merged with each other or restored from the trash using the
165 API.
166
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
170 previous work)**
171
172 UI improvements to the case type management screen.
173
174 ### CiviContribute
175
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))**
179
180 Two fields are added as columns and filters on the Bookkeeping Report:
181 contribution ID and financial account owner.
182
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))**
186
187 The receipt for partial payments has updated language appropriate for use
188 besides merely for participant partial payments.
189
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))**
198
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
201 transaction.
202
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
206 complete)**
207
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.
210
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))**
214
215 The last four digits of a card number are now searchable in the Find
216 Contributions search and Advanced Search pane.
217
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))**
221
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))**
225
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))**
229
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))**
233
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))**
237
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))**
241
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))**
245
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))**
249
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))**
253
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))**
257
258 When viewing payment details on a credit card contribution, the credit card
259 type and last four digits are displayed if available.
260
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
264 previous work)**
265
266 CiviCRM can now process tokens for contribution custom fields (most lately in
267 emails sent from search results).
268
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))**
272
273 Payment details now appear before soft credits when recording or editing
274 contributions in the backend.
275
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))**
279
280 The listing of financial transactions for batches now allows for viewing more
281 lines per page.
282
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))**
287
288 The batch title is now available to view and group in the Contribution
289 Summary report.
290
291 ### CiviEvent
292
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))**
297
298 This change increases the coverage of `hook_civicrm_selectWhereClause` to
299 include selecting events.
300
301 ### CiviMail
302
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))**
306
307 Mailing reports now can display the subject line in addition to the internal
308 mailing name.
309
310 ### CiviMember
311
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))**
315
316 The membership join date is now displayed even on the table of a contact's
317 inactive memberships.
318
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))**
322
323 Auto-renew options on contribution pages now appear or freeze according to the
324 selected membership type's settings for auto-renew.
325
326 ### Drupal Integration Modules
327
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))**
331
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.
334
335 ### WordPress Integration
336
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))**
340
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.
344
345 ## <a name="bugs"></a>Bugs resolved
346
347 ### Core CiviCRM
348
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))**
352
353 A number of untranslated phrases are now sent through translation.
354
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))**
358
359 A zero value had been interpreted as disallowing any size file.
360
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))**
364
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))**
368
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
372 work)**
373
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))**
377
378 Notices appeared when the user has access to contacts via ACLs rather than the
379 "View all contacts" permission.
380
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))**
387
388 The fatal error occurred when the user has access to contacts via ACLs rather
389 than the "View all contacts" permission.
390
391 - **Added object type selector to panel rule
392 ([10175](https://github.com/civicrm/civicrm-core/pull/10175))**
393
394 This fixes a bug where all elements with the `panel` class were hidden.
395
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))**
399
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))**
403
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))**
407
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))**
411
412 Select2 widgets had been expected to accept comma-delimited data and produce
413 arrays. This change makes input and output consistent.
414
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))**
418
419 - **[CRM-19400](https://issues.civicrm.org/jira/browse/CRM-19400) open street
420 map no longer works
421 ([10049](https://github.com/civicrm/civicrm-core/pull/10049))**
422
423 Mapping with OpenStreetMap now uses the Carto tile server.
424
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))**
428
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))**
432
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))**
436
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 `<`.
442
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))**
446
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))**
450
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))**
454
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))
457 (preliminary work)**
458
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.
461
462 ### CiviCampaign
463
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))**
467
468 - **Crm 20378 - simplify SurveyDetail report - improve line breaks in PDF, etc.
469 ([10097](https://github.com/civicrm/civicrm-core/pull/10097))**
470
471 ### CiviMember
472
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))**
476
477 Editing a cancelled membership may result in a new membership activity being
478 created.
479
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))**
483
484 If creating a membership payment fails on a recurring payment, the entire
485 transaction should not roll back.
486
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))**
491
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))**
496
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))**
500
501 This fixes a bug where contributions created by memberships created in the
502 backend have the payment instrument incorrectly recorded as "Check".
503
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))**
507
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))**
511
512 ### CiviMail
513
514 - **[CRM-20340](https://issues.civicrm.org/jira/browse/CRM-20340) Translate
515 unsubscribe string
516 ([10047](https://github.com/civicrm/civicrm-core/pull/10047))**
517
518 The unsubscribe button on the unsubscribe form was not translated.
519
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))**
523
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))**
527
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.
530
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))**
534
535 Some spam notifications were being treated as syntax bounces.
536
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))**
540
541 ### CiviContribute
542
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))**
546
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))**
551
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))**
555
556 The last four digits of a credit card number were being stored as an integer
557 rather than a four-character string.
558
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))**
562
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))**
566
567 The `receive_date` had been populated by the current date.
568
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))**
576
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))**
580
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))**
584
585 - **Refactored Deferred Revenue report to follow more standardized approach.
586 ([10113](https://github.com/civicrm/civicrm-core/pull/10113))**
587
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))**
592
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))**
596
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))**
600
601 Date handling in profiles is simplified and standardized.
602
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))**
606
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))**
610
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))**
614
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))**
618
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))**
622
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))**
626
627 ### CiviSMS
628
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))**
632
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))**
637
638 ### CiviEvent
639
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))**
643
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.
646
647 ### Drupal Integration
648
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))**
652
653 The cache of custom fields will no longer be populated when a site is being
654 upgraded.
655
656 - **Drupal bootstrap failures should throw debuggable exception
657 ([9616](https://github.com/civicrm/civicrm-core/pull/9616))**
658
659 ## <a name="misc"></a>Miscellany
660
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))**
664
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))**
669
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))**
673
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))**
680
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.
684
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))**
694
695 This refactors and standardizes code for matching contacts and preparing to
696 merge duplicates.
697
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))**
701
702 The function was obsolete and unused.
703
704 - **Fix spelling. ([10282](https://github.com/civicrm/civicrm-core/pull/10282))**
705
706 - **[NFC] Remove comment as this has been fixed
707 ([10199](https://github.com/civicrm/civicrm-core/pull/10199))**
708
709 - **[NFC] Further test improvement
710 ([10198](https://github.com/civicrm/civicrm-core/pull/10198))**
711
712 - **CiviEventInspector - Add util for displaying hook metadata
713 ([10161](https://github.com/civicrm/civicrm-core/pull/10161))**
714
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
717 hook/event.
718
719 - **Code cleanup ([10176](https://github.com/civicrm/civicrm-core/pull/10176))**
720
721 This removes redundant code relating to financial accounts.
722
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))**
726
727 - **GenCode - Reduce merge-conflicts on AllCoreTables
728 ([10182](https://github.com/civicrm/civicrm-core/pull/10182))**
729
730 - **[NFC] Fix invalid php in test-generated example
731 ([10185](https://github.com/civicrm/civicrm-core/pull/10185))**
732
733 - **Fix visibility typo
734 ([10177](https://github.com/civicrm/civicrm-core/pull/10177))**
735
736 - **Document PR scope & size
737 ([10174](https://github.com/civicrm/civicrm-core/pull/10174))**
738
739 - **Make sourceSQLFile throw an error when it can't find a file.
740 ([10160](https://github.com/civicrm/civicrm-core/pull/10160))**
741
742 - **Fix test regression by correctly setting timestamp in test method
743 ([10145](https://github.com/civicrm/civicrm-core/pull/10145))**
744
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))**
748
749 Only comments are added.
750
751 - **Add my details ([10110](https://github.com/civicrm/civicrm-core/pull/10110))**
752
753 - **Minor spelling & casing tidy ups
754 ([10107](https://github.com/civicrm/civicrm-core/pull/10107))**
755
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))**
759
760 - **(NFC) Update stale GenCode checksums
761 ([10048](https://github.com/civicrm/civicrm-core/pull/10048))**
762
763 - **Remove CRM_Core_Form::generateID().
764 ([9968](https://github.com/civicrm/civicrm-core/pull/9968))**
765
766 ## <a name="credits"></a>Credits
767
768 This release was developed by the following code authors:
769
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
780
781 Most authors also reviewed code for this release; in addition, the following
782 reviewers contributed their comments:
783
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