Test fix - legacy api4 wrapper should always return id
[civicrm-core.git] / release-notes / 5.11.0.md
1 # CiviCRM 5.11.0
2
3 Released March 6, 2019
4
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
11
12 ## <a name="synopsis"></a>Synopsis
13
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | |
17 | Change the database schema? | |
18 | Alter the API? | **yes** |
19 | Require attention to configuration options? | |
20 | Fix problems installing or upgrading to a previous version? | **yes** |
21 | Introduce features? | **yes** |
22 | Fix bugs? | **yes** |
23
24 ## <a name="features"></a>Features
25
26 ### Core CiviCRM
27
28 - **[dev/core#635](https://lab.civicrm.org/dev/core/issues/635) Implement
29 reconnect/replay-on-write for database connections
30 ([13489](https://github.com/civicrm/civicrm-core/pull/13489),
31 [13514](https://github.com/civicrm/civicrm-core/pull/13514),
32 [13496](https://github.com/civicrm/civicrm-core/pull/13496) and
33 [13394](https://github.com/civicrm/civicrm-core/pull/13394)) Continued Work**
34
35 These changes move towards making CiviCRM compatibility with a split DB
36 architecture in which one routes MySQL requests to (a) read-only slave DBs
37 and/or (b) read-write master DB. Specifically by implementing a
38 "reconnect-on-write" or "replay-on-write" (RPOW) mechanism.
39
40 - **[dev/core#561](https://lab.civicrm.org/dev/core/issues/561) Replace
41 jcalendar instances with datepicker
42 ([13485](https://github.com/civicrm/civicrm-core/pull/13485),
43 [13211](https://github.com/civicrm/civicrm-core/pull/13211),
44 [13422](https://github.com/civicrm/civicrm-core/pull/13422) and
45 [13423](https://github.com/civicrm/civicrm-core/pull/13423))**
46
47 These changes switch fields that store dates from using jcalendar to use the
48 datepicker in the following places: the grant task form fields, grant search
49 fields, campaign date fields and activity followup form fields.
50
51 - **Add routine for updating smartgroups, currently handling datepicker
52 conversion ([13395](https://github.com/civicrm/civicrm-core/pull/13395))**
53
54 This change converts fields from smart groups using grant date fields to new
55 datepicker format.
56
57 - **[dev/core#491](https://lab.civicrm.org/dev/core/issues/491) Report results
58 don't show inactive campaigns
59 ([13382](https://github.com/civicrm/civicrm-core/pull/13382))**
60
61 This change standardizes the campaign fields offered on the the Activity,
62 Member, Contribution Detail and Member Lapse reports.
63
64 - **[dev/core#527](https://lab.civicrm.org/dev/core/issues/527) Non translatable
65 fields in profile schema
66 ([13185](https://github.com/civicrm/civicrm-core/pull/13185))**
67
68 This change adds the ability to set translated text for the Submit and Cancel
69 buttons on a profile.
70
71 - **[dev/core#682](https://lab.civicrm.org/dev/core/issues/682) Add basic
72 contact filters to Summary Contributions Report
73 ([13498](https://github.com/civicrm/civicrm-core/pull/13498))**
74
75 This change adds the basic contact filters and columns to the Summary
76 Contributions Report.
77
78 - **[dev/core#686](https://lab.civicrm.org/dev/core/issues/686) Make "Amount
79 Statistics" columns optional on Membership Summary report
80 ([13507](https://github.com/civicrm/civicrm-core/pull/13507))**
81
82 This change makes it so users can choose whether or not to include the "Amount
83 Statistics" columns on the Member Summary report.
84
85 - **Respect pre hook for relationship to alter id in $params
86 ([12834](https://github.com/civicrm/civicrm-core/pull/12834))**
87
88 This change makes it so developers can use the pre hook to alter the id in
89 $params for Relationships.
90
91 - **use number widget for weight and other numeric fields in more forms
92 ([13526](https://github.com/civicrm/civicrm-core/pull/13526))**
93
94 This change works towards a consistent ui by making all forms "weight and
95 other numeric" fields number input widgets, before this change some were
96 plain-text inputs and some were number input widgets.
97
98 - **Survey form - use number widget for number fields
99 ([13503](https://github.com/civicrm/civicrm-core/pull/13503))**
100
101 This change works towards a more consistent user experience by making the
102 survey form use the number widget for all number fields.
103
104 - **use number widget for weight fields in all forms
105 ([13520](https://github.com/civicrm/civicrm-core/pull/13520))**
106
107 This change works towards a more consistent user experience by making all
108 weight fields use the number input widget (before this change some were number
109 input widget and some were plain text inputs).
110
111 - **Allow help text to be overridden from an .extra.hlp file
112 ([13488](https://github.com/civicrm/civicrm-core/pull/13488))**
113
114 This change makes it so that .extra.hlp files can be used to override help
115 text. Before this change .extra.hlp files could be used to append help text
116 but not override help text.
117
118 - **Add extension compatibility list
119 ([13298](https://github.com/civicrm/civicrm-core/pull/13298))**
120
121 Extensions whose functionality is now redundant with core may cause problems
122 if left installed. This change makes it so that: Obsolete extensions are
123 automatically disabled during core upgrades, obsolete extensions are filtered
124 out of the list of downloadable extensions, obsolete extensions are ignored
125 when considering dependencies.
126
127 - **Add selectWhere hook call to the query that generates the 'annual' query -
128 the 'amount this year' on a contact dash
129 ([13319](https://github.com/civicrm/civicrm-core/pull/13319))**
130
131 This change adds the selectWhere hook to the getAnnualQuery function so that
132 extension developers can use the selectWhere hook to alter the the amount &
133 count values for donations this year on a contact dashboard.
134
135 - **Convert Campaign widgets to entityRef
136 ([13491](https://github.com/civicrm/civicrm-core/pull/13491) and
137 [13613](https://github.com/civicrm/civicrm-core/pull/13613))**
138
139 This change cleans up the code and UI for selecting a campaign. Specifically,
140 instead of a select list with a button to load past campaigns, now the entire
141 list of campaigns is searchable and filterable. Additionally this makes it so
142 new campaigns can be created on-the-fly.
143
144 - **geocode job: Provide country_id to geocoders.
145 ([13456](https://github.com/civicrm/civicrm-core/pull/13456))**
146
147 This change ensures that geocoders receive the country name and id (before
148 this change they only received the name). This change fixes a compatibility
149 issue with the org.wikimedia.geocoder extension.
150
151 - **Use icon for timepicker placeholder
152 ([13438](https://github.com/civicrm/civicrm-core/pull/13438))**
153
154 This change adds a clock icon to all timepicker fields.
155
156 - **Add default for domain_id for report_instance.
157 ([13426](https://github.com/civicrm/civicrm-core/pull/13426))**
158
159 This change makes it so when using ReportInstance.create the domain_id
160 defaults to the current domain.
161
162 - **Added support to generic settings form for sorting settings by weight.
163 ([13345](https://github.com/civicrm/civicrm-core/pull/13345))**
164
165 This change makes it so one can order a generic settings form by weight.
166
167 ### CiviCase
168
169 - **C51-384: Added case tokens on Email Activity Modal
170 ([13473](https://github.com/civicrm/civicrm-core/pull/13473))**
171
172 This change makes case tokens available in the email activity modal.
173
174 - **Translate untranslated string
175 ([13466](https://github.com/civicrm/civicrm-core/pull/13466))**
176
177 This change makes it so the case activity subject when sending a copy of a
178 case activity can be translated.
179
180 ### CiviContribute
181
182 - **Speed up loading of contribution tab on contacts with large number of
183 contributions in a large database
184 ([13512](https://github.com/civicrm/civicrm-core/pull/13512))**
185
186 This change enhances performance when loading the contribution tab on a
187 contact.
188
189 - **CRM/Contribute - Add query optimization for creditnote_id
190 ([13511](https://github.com/civicrm/civicrm-core/pull/13511))**
191
192 This change improves performance when cancelling or refunding contributions.
193
194 - **Fix order api to support a pseudoConstant for financial_type_id
195 ([13317](https://github.com/civicrm/civicrm-core/pull/13317))**
196
197 This change makes it so the api Order.create supports both the name or the id
198 for financial_type_id. This improves consistency with Contribution.create api
199 and others
200
201 ### Backdrop Integration
202
203 - **Add main nav icon for CiviCRM (Backdrop)
204 ([13481](https://github.com/civicrm/civicrm-core/pull/13481))**
205
206 This change adds the CiviCRM logo to the Backdrop main navigation item for
207 CiviCRM.
208
209 ### Wordpress Integration
210
211 - **[dev/wordpress#11](https://lab.civicrm.org/dev/wordpress/issues/11) Code
212 style ([146](https://github.com/civicrm/civicrm-wordpress/pull/146))**
213
214 This change adds an editor config file, that makes it so Editors that respect
215 `.editorconfig` settings will default to double-space-indented code as is the
216 Wordpress code style norm.
217
218 ## <a name="bugs"></a>Bugs resolved
219
220 ### Core CiviCRM
221
222 - **[dev/core#434](https://lab.civicrm.org/dev/core/issues/434) Scheduled
223 Reminder Error On Using Absolute Date With Repeat
224 ([12923](https://github.com/civicrm/civicrm-core/pull/12923))**
225
226 This change fixes a SQL error when editing a scheduled reminder with an
227 'absolute_date' to 'Repeat'.
228
229 - **[dev/core#506](https://lab.civicrm.org/dev/core/issues/506) Advanced Search:
230 There is an error when the user tries to display results as Cases
231 ([13480](https://github.com/civicrm/civicrm-core/pull/13480))**
232
233 This change ensures on the Advanced Search Form the "Display Results As" field
234 only shows enabled components.
235
236 - **[dev/core#731](https://lab.civicrm.org/dev/core/issues/731) Smart Group DB
237 Errors post-upgrade, specifically 1292 Truncated incorrect DOUBLE value
238 (https://github.com/civicrm/civicrm-core/pull/13731)**
239
240 A new feature was introduced recently that allows multiple email addresses on
241 a contact to receive bulk mailings. This changed the "On Hold" field to be
242 options besides `1` and `0`, and the search was updated to allow searching
243 multiple values. Old smart groups had not been updated, though: this adds an
244 upgrade step to fix them.
245
246 - **[dev/core#745](https://lab.civicrm.org/dev/core/issues/745) Smart groups
247 broken when "Enable multiple bulk email address for a contact" setting is off
248 ([13754](https://github.com/civicrm/civicrm-core/pull/13754))**
249
250 - **[dev/core#609](https://lab.civicrm.org/dev/core/issues/609) Can't view
251 "Advanced Search" links on Mailing Report without "View All Contacts"
252 permission ([13390](https://github.com/civicrm/civicrm-core/pull/13390))**
253
254 This change makes it so that users without the permission "View All Contacts"
255 can view the "Advanced Search" links on mailing reports.
256
257 - **[dev/core#636](https://lab.civicrm.org/dev/core/issues/636) Custom field for
258 Address: The "No" value is not defaulted
259 ([13397](https://github.com/civicrm/civicrm-core/pull/13397))**
260
261 This change ensures that if a contact has selected "No" for an Address custom
262 field (of type boolean yes/no), when editing that field it defaults to "No".
263 Before this change, if a user had an Address custom field with the value set
264 to 0 or False (like "No" does when using a Yes/No boolean) then when editing
265 that field it would appear unfilled.
266
267 - **[dev/core#649](https://lab.civicrm.org/dev/core/issues/649) DB error on Find
268 Activities with follow up criteria
269 ([13420](https://github.com/civicrm/civicrm-core/pull/13420))**
270
271 This change fixes a DB error when using the Find Activities search with the
272 "Has a Followup Activity" search field sent to "Yes".
273
274 - **[dev/core#650](https://lab.civicrm.org/dev/core/issues/650) Use popups for
275 links ([13421](https://github.com/civicrm/civicrm-core/pull/13421))**
276
277 This change makes it so that when viewing a membership, when one clicks the
278 "View Recurring Contribution" Link it opens as a popup instead of as a new
279 page. This change also makes it so that when viewing a Recurring Contribution
280 with a membership, when one clicks on the "Membership" it opens in a popup
281 instead of a new page.
282
283 - **[dev/core#652](https://lab.civicrm.org/dev/core/issues/652) Copying activity
284 file custom data doesn't copy mime type
285 ([13427](https://github.com/civicrm/civicrm-core/pull/13427))**
286
287 - **[dev/core#658](https://lab.civicrm.org/dev/core/issues/658) Consider
288 specifying the $frontend argument as true in getNotifyUrl()
289 ([13482](https://github.com/civicrm/civicrm-core/pull/13482))**
290
291 This change specifies that Test-drive contribution pages are front end which
292 ensures that they display on the front end in Wordpress and that the IPN
293 notification URLs point to the front end.
294
295 - **[dev/core#676](https://lab.civicrm.org/dev/core/issues/676)
296 CRM_Utils_GeocodeTest throwing test-negatives everywhere
297 ([13495](https://github.com/civicrm/civicrm-core/pull/13495))**
298
299 - **[dev/core#677](https://lab.civicrm.org/dev/core/issues/677) Current Employer
300 'refine search' dropdown includes criteria irrelevant to organisations
301 ([13493](https://github.com/civicrm/civicrm-core/pull/13493))**
302
303 - **[dev/core#698](https://lab.civicrm.org/dev/core/issues/698)
304 Organisation/Individual: image isn't displayed
305 ([13544](https://github.com/civicrm/civicrm-core/pull/13544))**
306
307 This change fixes a bug where Contact images with the .jpg file extension were
308 not being displayed in Internet Explorer 11.
309
310 - **[dev/core#715](https://lab.civicrm.org/dev/core/issues/715) Cannot delete
311 relationship type through UI
312 ([13581](https://github.com/civicrm/civicrm-core/pull/13581))**
313
314 This change fixes a fatal error that was being thrown when deleting a
315 relationship type.
316
317 - **[dev/core#639](https://lab.civicrm.org/dev/core/issues/639) Note: No
318 restriction of the Subject field length
319 ([13403](https://github.com/civicrm/civicrm-core/pull/13403))**
320
321 This change restricts the subject field input to 255 chars, before this change
322 there was no restriction on the input field (so no validation) but the
323 database field is limited to 255 chars so entering more than 255 chars would
324 result in an error.
325
326 - **Used field name defined in DAO file for Activity Subject
327 ([13530](https://github.com/civicrm/civicrm-core/pull/13530))**
328
329 This change limits the activity subject field input size (before this change
330 it was unlimited).
331
332 - **Add html type for civicrm_note.privacy field
333 ([13532](https://github.com/civicrm/civicrm-core/pull/13532))**
334
335 - **l10n.js - Reload when logging in as new user
336 ([13518](https://github.com/civicrm/civicrm-core/pull/13518))**
337
338 This change prevents a bug where clientside settings could be served from a
339 stale browser cache when switching users.
340
341 - **Fix permission checks on contact create popups
342 ([13506](https://github.com/civicrm/civicrm-core/pull/13506))**
343
344 This change ensures that users can only see the buttons to create a new
345 contact on a profile form if they have permissions to create a new contact.
346
347 - **Fix undefined throwing error in CRM.checkPerm
348 ([13513](https://github.com/civicrm/civicrm-core/pull/13513))**
349
350 - **Fix broken date fields in survey response form
351 ([13490](https://github.com/civicrm/civicrm-core/pull/13490))**
352
353 This change fixes a couple broken date fields (that were displaying as blank)
354 on the Record Survey Responses screen.
355
356 - **setLocale: precaution for when setLocale is called on an unilingual site
357 ([13465](https://github.com/civicrm/civicrm-core/pull/13465))**
358
359 This change ensures that calling `setLocale()` on a non-multilingual DB does
360 not result in SQL queries failing.
361
362 - **Fix undefined index warning
363 ([13433](https://github.com/civicrm/civicrm-core/pull/13433))**
364
365 Fixes an undefined index warning and the recent items list, when viewing an
366 activity with no subject.
367
368 - **Fix activity.getcount function to filter out unpermitted activities.
369 ([13377](https://github.com/civicrm/civicrm-core/pull/13377))**
370
371 This change ensures that the activity.getcount function only returns
372 activities the user is permitted to access.
373
374 - **Do not show delete task option on create new report
375 ([13402](https://github.com/civicrm/civicrm-core/pull/13402))**
376
377 - **Fix bug where getsingle calls chained actions twice
378 ([13406](https://github.com/civicrm/civicrm-core/pull/13406))**
379
380 - **Fix \Civi\Token\TokenRow::customToken() failure if field is not set
381 ([13280](https://github.com/civicrm/civicrm-core/pull/13280))**
382
383 This change ensures that calling \Civi\Token\TokenRow::customToken() with a
384 custom field that is not set works.
385
386 - **Prevent \Civi\Token\TokenCompatSubscriber::evaluate() erroring when no
387 contactId is given.
388 ([13284](https://github.com/civicrm/civicrm-core/pull/13284))**
389
390 - **Format token custom fields with value of 0 correctly
391 ([13282](https://github.com/civicrm/civicrm-core/pull/13282))**
392
393 - **PHP 7.1 incompatibility error fix for -> Error: Using $this when not in
394 object context in civicrm_form_data()
395 ([541](https://github.com/civicrm/civicrm-drupal/pull/541))**
396
397 - **[dev/core#757](https://lab.civicrm.org/dev/core/issues/757) Viewing Contact
398 Note comments is broken in 5.10.4
399 ([13709](https://github.com/civicrm/civicrm-core/pull/13709))**
400
401 - **Don't break loop if address fields not found while formatting rows in
402 Reports ([13725](https://github.com/civicrm/civicrm-core/pull/13725))**
403
404 This resolves a bug with state/province, country, and county IDs not being
405 translated into names on CSV export from reports.
406
407 - **[dev/core#768](https://lab.civicrm.org/dev/core/issues/768) Fatal error on
408 group search ([13738](https://github.com/civicrm/civicrm-core/pull/13738) and
409 [13743](https://github.com/civicrm/civicrm-core/pull/13743))**
410
411 The query for groups and tags did not properly handle the case when no group
412 IDs are specified. This caused a fatal error when using Search Builder to
413 find contacts where groups or tags `IS NULL`.
414
415 ### CiviCase
416
417 - **Case type management fixes
418 ([12647](https://github.com/civicrm/civicrm-core/pull/12647))**
419
420 This change ensures that only active relationships are displayed when
421 selecting case roles for a case type. Additionally this change ensures that
422 users can edit case types activity types even if the case type uses an
423 activity type that has been deleted. Before this change trying to edit a case
424 type that used an activity type that had been deleted resulted in a fatal
425 error.
426
427 - **[dev/core#500](https://lab.civicrm.org/dev/core/issues/500) CiviCase:
428 dashboard summary count includes cases from inactive relationships
429 ([13134](https://github.com/civicrm/civicrm-core/pull/13134))**
430
431 This change ensures that only active relationships are counted in the summary
432 count on the case dashboard.
433
434 - **[dev/core#670](https://lab.civicrm.org/dev/core/issues/670) Cases: Edit
435 Activity does not save tags
436 ([13486](https://github.com/civicrm/civicrm-core/pull/13486))**
437
438 - **[dev/core#681](https://lab.civicrm.org/dev/core/issues/681) - Fatal Error on
439 submitting "Change Case Status" activity form.
440 ([13497](https://github.com/civicrm/civicrm-core/pull/13497))**
441
442 - **[dev/core#693](https://lab.civicrm.org/dev/core/issues/693) On contact
443 summary page, on submitting a 'New Case' form doesn't redirect to 'Manage
444 Case' screen ([13527](https://github.com/civicrm/civicrm-core/pull/13527))**
445
446 - **Display error instead of fatal error when trying to view a case that you
447 don't have permission to access
448 ([13505](https://github.com/civicrm/civicrm-core/pull/13505))**
449
450 ### CiviContribute
451
452 - **[dev/financial#39](https://lab.civicrm.org/dev/financial/issues/39)
453 Authorize.net doesn't support MD5 hashing at the end of the month
454 ([13474](https://github.com/civicrm/civicrm-core/pull/13474))**
455
456 Authorize.net is phasing out MD5 based transHash element in favor of the
457 SHA-512 based transHashSHA2. This change removes the MD5 check in the
458 Authorize.net payment processor to prevent it from breaking when MD5 based
459 transHash is phased out.
460
461 - **[dev/financial#46](https://lab.civicrm.org/dev/financial/issues/46)
462 (Regression) Contribution page amounts change on save when > $1,000
463 ([13721](https://github.com/civicrm/civicrm-core/pull/13721) and
464 [13723](https://github.com/civicrm/civicrm-core/pull/13723))**
465
466 This formats money at the form layer on the contribution page in order to
467 avoid problems with the comma (in locales using it as a thousands delimiter)
468 is treated as a decimal delimiter.
469
470 - **Do not check financial permissions on contribution.create if
471 check_perrmissions is FALSE.
472 ([13318](https://github.com/civicrm/civicrm-core/pull/13318))**
473
474 - **Simplify billingblock in Contribution/Form/Main template
475 ([13437](https://github.com/civicrm/civicrm-core/pull/13437))**
476
477 This change ensures the billing block is only loaded once. Before this change
478 it was being loaded twice once by CRM/Financial/Form/Payment.tpl and once by
479 CRM/Core/BillingBlock.tpl.
480
481 - **Convert Paypal Standard IPN payment_date to system's time zone
482 ([13439](https://github.com/civicrm/civicrm-core/pull/13439))**
483
484 This change ensures the Paypal Standard IPN payment_date uses the system's time
485 zone. Before this change the `payment_date` was set to the local time for Paypal
486 (a Pacific time zone of `PST` or `PDT` is part of the timestamp). This led to
487 the wrong time being written to the database.
488
489 - **Remove inappropriate exception handling.
490 ([13442](https://github.com/civicrm/civicrm-core/pull/13442))**
491
492 This change removes an exception when a payment is recorded through the api
493 for a contribution that has a status other than "Partially paid" or "Pending
494 (pay later)".
495
496 - **[dev/core#586](https://lab.civicrm.org/dev/core/issues/586) PCP Report does
497 not show accurate total amount and total donors
498 ([13252](https://github.com/civicrm/civicrm-core/pull/13252))**
499
500 This change ensures that the "Personal Campaign Page Report" provides accurate
501 numbers for the "Committed Amount" and the "Number of Donors" in the report
502 rows.
503
504 - **[dev/core#756](https://lab.civicrm.org/dev/core/issues/756) Error on
505 Contributions tab with soft credits in multiple currencies
506 ([13711](https://github.com/civicrm/civicrm-core/pull/13711))**
507
508 ### CiviEvent
509
510 - **[dev/core#646](https://lab.civicrm.org/dev/core/issues/646) Event date
511 sorting doesn't work for ical listing
512 ([13409](https://github.com/civicrm/civicrm-core/pull/13409))**
513
514 This change ensures that on the ical listing of events, when sorting by event
515 dates, the dates get sorted by ASC/DSC for start date instead of alphabetical
516 order.
517
518 - **[dev/core#766](https://lab.civicrm.org/dev/core/issues/766) New Event using
519 a template - clicking "Continue" doesn't save custom data
520 ([13755](https://github.com/civicrm/civicrm-core/pull/13755))**
521
522 - **Don't require CiviEvent permission to create repeating activity
523 ([13405](https://github.com/civicrm/civicrm-core/pull/13405))**
524
525 ### CiviMail
526
527 - **[dev/mail#32](https://lab.civicrm.org/dev/mail/issues/32) Deduping test
528 email is case sensitive
529 ([13401](https://github.com/civicrm/civicrm-core/pull/13401) and
530 [13392](https://github.com/civicrm/civicrm-core/pull/13392))**
531
532 When composing a mailing, the email address used in the "send test email to"
533 field at the bottom is deduped, this change ensures that the deduping is not
534 case sensitive so that emails that are the same but have different upper/lower
535 case combinations match appropriately.
536
537 - **[dev/mail#36](https://lab.civicrm.org/dev/mail/issues/36) Bounce processing
538 fails for invalid unicode characters
539 ([13396](https://github.com/civicrm/civicrm-core/pull/13396))**
540
541 This change ensures that bounce messages containing invalid unicode characters
542 are processed. Before this change an exception was thrown and a bounce was not
543 stored in the datebase, but mail was moved to the processed folder. After this
544 change: invalid characters are replaced with unicode replacement characters,
545 No exception is thrown and the bounce is saved.
546
547 - **[dev/mail#37](https://lab.civicrm.org/dev/mail/issues/37) Bounce processing
548 fails for 4-byte unicode characters
549 ([13419](https://github.com/civicrm/civicrm-core/pull/13419))**
550
551 This change ensures that bounce messages containing 4-byte unicode characters
552 are processed appropriately. Before this change when a bounce message
553 contained a 4-byte unicode character: an exception was thrown, the bounce was
554 not stored in the database, the mail was moved to the processed folder. After
555 this change: 4-bytes unicode characters are replaced with unicode replacement
556 characters, no exception is thrown and the bounce is saved.
557
558 ### CiviMember
559
560 - **[dev/core#644](https://lab.civicrm.org/dev/core/issues/644) "From" address
561 on membership renewal notices is wrong
562 ([13408](https://github.com/civicrm/civicrm-core/pull/13408),
563 [13407](https://github.com/civicrm/civicrm-core/pull/13407), and
564 [13737](https://github.com/civicrm/civicrm-core/pull/13737))**
565
566 This change ensures Membership renewal notifications and receipts are sent
567 "From" the logged-in users name and email. Before this change the "From" was
568 set as the logged in users contact id.
569
570 - **Membership custom fields sometimes don't display
571 ([13411](https://github.com/civicrm/civicrm-core/pull/13411))**
572
573 There change fixes a bug where some Membership custom field sets would
574 sometimes not display.
575
576 - **[dev/membership#10](https://lab.civicrm.org/dev/membership/issues/10) "Start
577 date must be the same or later than Member since" triggered when dates are the
578 same ([13734](https://github.com/civicrm/civicrm-core/pull/13734))**
579
580 ### Drupal Integration
581
582 - **[dev/drupal#43](https://lab.civicrm.org/dev/drupal/issues/43) Drupal8:
583 composer requires psr/log ~1.0.0, incompatible with psr/log 1.1.0
584 ([13424](https://github.com/civicrm/civicrm-core/pull/13424))**
585
586 This change updates the civicrm-cxn-rpc and psr/log requirements so that they
587 are a compatible with Drupal8.
588
589 - **[dev/core#381](https://lab.civicrm.org/dev/core/issues/381)
590 civicrm/file/imagefile serving up wrong images
591 ([542](https://github.com/civicrm/civicrm-drupal/pull/542))**
592
593 This change fixes a bug where files saved in CiviCRM with ids and event ids
594 were not loading properly in drupal views.
595
596 - **Email sent from CiviCRM for a new Case and Activity does not evaluate the
597 $activityTypeName or $manageCaseURL tokens
598 ([13324](https://github.com/civicrm/civicrm-core/pull/13324))**
599
600 ### Wordpress Integration
601
602 - **Fix shortcode button when popup setting is disabled
603 ([13502](https://github.com/civicrm/civicrm-core/pull/13502) and
604 [145](https://github.com/civicrm/civicrm-wordpress/pull/145))**
605
606 This change makes it so that the WP shortcode button works regardless of
607 whether ajax popups are disabled in CiviCRM settings.
608
609 - **[dev/core#666](https://lab.civicrm.org/dev/core/issues/666) Prevent trailing
610 ampersand in some URLs in WordPress
611 ([13461](https://github.com/civicrm/civicrm-core/pull/13461))**
612
613 ## <a name="misc"></a>Miscellany
614
615 - **[dev/core#647](https://lab.civicrm.org/dev/core/issues/647) Not all unit
616 tests classes are used by jenkins
617 ([13415](https://github.com/civicrm/civicrm-core/pull/13415) and
618 [13416](https://github.com/civicrm/civicrm-core/pull/13416))**
619
620 - **Deprecate unused function
621 ([13452](https://github.com/civicrm/civicrm-core/pull/13452))**
622
623 - **Removed '>' from comment
624 ([13492](https://github.com/civicrm/civicrm-core/pull/13492))**
625
626 - **Fix regression whereby making receive_date required breaks back offic…
627 ([13572](https://github.com/civicrm/civicrm-core/pull/13572))**
628
629 - **Update 5.10.0.md
630 ([13552](https://github.com/civicrm/civicrm-core/pull/13552))**
631
632 - **(NFC) Add 'schema' to \Civi\Token\TokenProcessor()
633 ([13286](https://github.com/civicrm/civicrm-core/pull/13286))**
634
635 - **(NFC) Add listTokens() function to return formatted list of tokens for forms
636 ([13279](https://github.com/civicrm/civicrm-core/pull/13279))**
637
638 - **(NFC) Ensure that when loading in the test data it is done with UTF8 …
639 ([13413](https://github.com/civicrm/civicrm-core/pull/13413))**
640
641 - **(NFC) Add unit test of creating notes from the contact.create API
642 ([13471](https://github.com/civicrm/civicrm-core/pull/13471))**
643
644 - **[tidy-up] remove a couple of useless bits of code
645 ([13447](https://github.com/civicrm/civicrm-core/pull/13447))**
646
647 - **Add unit test for emailing receipts from additional payment page
648 ([13455](https://github.com/civicrm/civicrm-core/pull/13455))**
649
650 - **remove duplicated call to createCreditNoteId()
651 ([13509](https://github.com/civicrm/civicrm-core/pull/13509))**
652
653 - **[REF] Replace ->assign with CRM_Core_Smarty::singleton()->assign in
654 preparation for making function shareable
655 ([13444](https://github.com/civicrm/civicrm-core/pull/13444))**
656
657 - **[REF] Create pseudo bao CRM_Financial_BAO_Payment & move create function to
658 it ([13443](https://github.com/civicrm/civicrm-core/pull/13443))**
659
660 - **REF Convert forms to standard customData template
661 ([13412](https://github.com/civicrm/civicrm-core/pull/13412))**
662
663 - **REF Remove redundant function
664 ([13428](https://github.com/civicrm/civicrm-core/pull/13428))**
665
666 - **(REF) Make activeTokens a class property of
667 \Civi\Token\AbstractTokenSubscriber
668 ([13278](https://github.com/civicrm/civicrm-core/pull/13278))**
669
670 - **REF Remove duplicate call to session singleton
671 ([13458](https://github.com/civicrm/civicrm-core/pull/13458))**
672
673 - **REF Remove undefined variable when creating note
674 ([13457](https://github.com/civicrm/civicrm-core/pull/13457))**
675
676 - **(REF) Add CRM_Utils_Cache::nack(). Use it for NaiveHasTrait.
677 ([13500](https://github.com/civicrm/civicrm-core/pull/13500))**
678
679 - **[dev/core#562](https://lab.civicrm.org/dev/core/issues/562) Remove instances
680 of $dao->free ([13393](https://github.com/civicrm/civicrm-core/pull/13393))**
681
682 - **Re-run gencode for fix on PriceField DAO
683 ([13547](https://github.com/civicrm/civicrm-core/pull/13547))**
684
685 - **Performance fix for alternate getActivity listing function
686 ([13522](https://github.com/civicrm/civicrm-core/pull/13522))**
687
688 - **Convert deprecated OptionGroup::getLabel to PseudoConstant::getLabel for
689 cases ([13460](https://github.com/civicrm/civicrm-core/pull/13460))**
690
691 - **removed unwanted parameter from getLineItems()
692 ([13479](https://github.com/civicrm/civicrm-core/pull/13479))**
693
694 - **Escape the header title & section title in reports to better support
695 extensions ([13453](https://github.com/civicrm/civicrm-core/pull/13453))**
696
697 - **Upgrade Jquery contained within KcFinder
698 ([239](https://github.com/civicrm/civicrm-packages/pull/239))**
699
700 - **Remove tests that no longer work due to dead service
701 ([13673](https://github.com/civicrm/civicrm-core/pull/13673))**
702
703 ## <a name="credits"></a>Credits
704
705 This release was developed by the following code authors:
706
707 AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Agileware Team, Alok
708 Patel, Francis Whittle, Justin Freeman; Australian Greens - Seamus Lee; CEDC -
709 Laryn Kragt Bakker; Christian Wach; Circle Interactive - Dave Jenkins; CiviCRM -
710 Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Debarshi
711 Bhaumik, René Olivo, Vinu Varshith Sekar; Coop SymbioTIC - Mathieu Lutfy;
712 Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Frank
713 J. Gómez; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe -
714 Patrick Figel; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; Joinery -
715 Allen Shaw; Ken West; Liquid Web, Inc. - Jason Gillman Jr.; Megaphone Technology
716 Consulting - Jon Goldberg; MillerTech - Chamil Wijesooriya; MJW Consulting -
717 Matthew Wire; Oxfam Germany - Thomas Schüttler; PeaceWorks Technology Solutions -
718 Martin Hansen; Pradeep Nayak; Progressive Technology Project - Jamie
719 McClelland; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen
720 McNaughton
721
722 Most authors also reviewed code for this release; in addition, the following
723 reviewers contributed their comments:
724
725 British Humanist Association - Andrew West; CiviDesk - Nicolas Ganivet; Clare
726 Marsh; CompuCorp - Shitij Gugnani; Fuzion - Peter Davis; JMA Consulting - Joe
727 Murray; Lighthouse Design and Consulting - Brian Shaughnessy; Richard van
728 Oosterhout; QED42 - Swastik Pareek; Tadpole Collective - Kevin Cristiano
729
730 ## <a name="feedback"></a>Feedback
731
732 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
733 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
734 and contact `@agh1`.