5.8.0 release notes: bulk of edits
[civicrm-core.git] / release-notes / 5.8.0.md
1 # CiviCRM 5.8.0
2
3 Released December 5, 2018
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 - **Configurable quicksearch settings
29 ([13039](https://github.com/civicrm/civicrm-core/pull/13039) and
30 [13056](https://github.com/civicrm/civicrm-core/pull/13056))**
31
32 This permits (some) custom fields to be added to quicksearch as searchable
33 fields. By adding a setting in Search Preferences to configure the search
34 fields in the quicksearch box in the menu bar.
35
36 - **Permit additional (freeform) relative date filters - e.g 'last 18 months',
37 'last 45 days' ([12682](https://github.com/civicrm/civicrm-core/pull/12682))**
38
39 This change adds support for a greater range of date options for relative
40 searches (e.g last 45 days, last 18 months). It requires option values to be
41 added by an extension or by an experienced admin, and has a limited UI.
42
43 - **Allow contribution search by recurring payment processor ID / Transaction ID
44 ([12818](https://github.com/civicrm/civicrm-core/pull/12818))**
45
46 This change adds three new fields to the contribution search form: recurring
47 contribution transaction ID, payment processor ID and processor ID.
48
49 - **[dev/core#495](https://lab.civicrm.org/dev/core/issues/495) Migrate simple
50 Preferences & Settings forms to using a Generic class.
51 [13054](https://github.com/civicrm/civicrm-core/pull/13054),
52 [13062](https://github.com/civicrm/civicrm-core/pull/13062),
53 [13047](https://github.com/civicrm/civicrm-core/pull/13047),
54 [13046](https://github.com/civicrm/civicrm-core/pull/13046),
55 [13048](https://github.com/civicrm/civicrm-core/pull/13048),
56 [13040](https://github.com/civicrm/civicrm-core/pull/13040),
57 [13004](https://github.com/civicrm/civicrm-core/pull/13004),
58 [13026](https://github.com/civicrm/civicrm-core/pull/13026),
59 [13027](https://github.com/civicrm/civicrm-core/pull/13027),
60 [13025](https://github.com/civicrm/civicrm-core/pull/13025),
61 [12731](https://github.com/civicrm/civicrm-core/pull/12731),
62 [12940](https://github.com/civicrm/civicrm-core/pull/12940),
63 [13022](https://github.com/civicrm/civicrm-core/pull/13022),
64 [13023](https://github.com/civicrm/civicrm-core/pull/13023),
65 [12906](https://github.com/civicrm/civicrm-core/pull/12906),
66 [12919](https://github.com/civicrm/civicrm-core/pull/12919),
67 [12925](https://github.com/civicrm/civicrm-core/pull/12925) and
68 [12960](https://github.com/civicrm/civicrm-core/pull/12960)**
69
70 Introduce generic settings form (fully metadata driven) - this provides a
71 supported methodology for extensions to add settings forms and to alter core
72 settings forms (albeit not all core forms are converted to that point).
73
74 - **Add icons to contact summary tabs
75 ([13018](https://github.com/civicrm/civicrm-core/pull/13018))**
76
77 This change makes it so that an extension using hook_civicrm_tabset can
78 specify icons for the contact summary tabs. If no icon is specified
79 fa-puzzle-piece is used.
80
81 - **Extract selectedChild tabheader functionality and enable for Manage Events
82 ([12747](https://github.com/civicrm/civicrm-core/pull/12747))**
83
84 This takes the existing functionality of adding "selectedChild=" to a url for
85 a tabbed page and makes it work across all the pages tabs. The tab will have
86 an id of 'tab-x' where x is the thing to use after '='.
87
88 This change adds the ability to link to a specific tab for an event (and
89 generally cleans up the code related to linking to tabs).
90
91 - **Fix search performance issues and reliability on some characters issues by
92 removing lower case double-conversion
93 ([12494](https://github.com/civicrm/civicrm-core/pull/12494),
94 [13035](https://github.com/civicrm/civicrm-core/pull/13035),
95 [13034](https://github.com/civicrm/civicrm-core/pull/13034),
96 [12993](https://github.com/civicrm/civicrm-core/pull/12993),
97 [12987](https://github.com/civicrm/civicrm-core/pull/12987),
98 [12988](https://github.com/civicrm/civicrm-core/pull/12988),
99 [12991](https://github.com/civicrm/civicrm-core/pull/12991),
100 [13053](https://github.com/civicrm/civicrm-core/pull/13053) and
101 [13055](https://github.com/civicrm/civicrm-core/pull/13055))**
102
103 These changes make performance improvements to searching by moving from using
104 the php strtolower function and mysql LOWER function to mysql handling
105 comparing strings in a non case specific way.
106
107 - **[dev/core#6](https://lab.civicrm.org/dev/core/issues/6) Add help text for
108 "is public" setting on form to edit custom field sets
109 ([13060](https://github.com/civicrm/civicrm-core/pull/13060))**
110
111 This change improves user experience of the form to edit custom field sets by
112 adding help text to the field "Is this Custom Data Set public?".
113
114 - **[dev/core#463](https://lab.civicrm.org/dev/core/issues/463) Add in support
115 for Extension Utils when generating DAO files for Extensions
116 ([12986](https://github.com/civicrm/civicrm-core/pull/12986))**
117
118 When creating a new entity (e.g DiscountItem) via an extension the new entity
119 will need a DAO class. Our Civix code currently supports this - at least
120 somewhat - but will not wrap any translatable strings with ts rather than the
121 (correct for extensions) E::ts . Adding this to core will allow civix to
122 leverage it to better create extension DAO objects.
123
124 - **Continue ongoing work to replace jcalendar with datepicker widget - event
125 search form search to datepicker and cleanup template
126 ([12978](https://github.com/civicrm/civicrm-core/pull/12978)) and participant
127 registration form
128 ([12979](https://github.com/civicrm/civicrm-core/pull/12979)) and manage
129 events fees page ([12977](https://github.com/civicrm/civicrm-core/pull/12977))
130 and manage events registration page
131 ([12975](https://github.com/civicrm/civicrm-core/pull/12975)) and relationship
132 form ([12972](https://github.com/civicrm/civicrm-core/pull/12972)) and event
133 fees page ([12992](https://github.com/civicrm/civicrm-core/pull/12992)) and
134 Update subscription form
135 ([12868](https://github.com/civicrm/civicrm-core/pull/12868))***
136
137 These changes move date picking fields from using jcalendar to use the
138 datepicker widget in the following places: Event Search form, Participant
139 Registration Form, Manage Event Fees Page, Manage Events Registration page,
140 Relationships form, Event Fees page and the Update Subscription form.
141
142 - **[dev/core#472](https://lab.civicrm.org/dev/core/issues/472) Allow for
143 CiviCRM APIv3 Explorer to find API Examples in extensions in the format of
144 api/v3/examples/Entity just in the same format as core
145 ([13006](https://github.com/civicrm/civicrm-core/pull/13006))**
146
147 This change makes it so that APIv3 Explorer displays examples found in
148 extensions.
149
150 - **Translate description in DAO files
151 ([13005](https://github.com/civicrm/civicrm-core/pull/13005))**
152
153 This change makes it so that the Description field in the DAO is translated so
154 that if the getfields api returns the translated string.
155
156 - **Replace translation and calendar image icons
157 ([13003](https://github.com/civicrm/civicrm-core/pull/13003))**
158
159 This change makes it so that translation and calendar symbols use font
160 icons instead of images.
161
162 - **[dev/core#457](https://lab.civicrm.org/dev/core/issues/457) Add new hook
163 exportIds ([12957](https://github.com/civicrm/civicrm-core/pull/12957))**
164
165 This change extends CRM_Utils_Hook::export($exportTempTable, $headerRows,
166 $sqlColumns, $exportMode, $componentTable, $ids); so that it can return id
167 columns.
168
169 - **CRM_Core_Resources - Allow container to swap the implementation
170 ([12959](https://github.com/civicrm/civicrm-core/pull/12959))**
171
172 This change makes it so that CRM_Core_Resources can be modified in an
173 extension using the hook hook_civicrm_container.
174
175 - **Do not treat an empty array as not set in caches.
176 ([12784](https://github.com/civicrm/civicrm-core/pull/12784))**
177
178 This change improves performance by respecting empty arrays as a cache hit.
179
180 - **Fix typo in hook that enables links to be added to a block
181 ([12913](https://github.com/civicrm/civicrm-core/pull/12913))**
182
183 This change fixes the $op sent to hook_civicrm_links($op, $objectName,
184 $objectId, &$links, &$mask, &$values) from CRM_Core_Block to accept
185 create.new.shortcuts in addition to create.new.shorcuts (the misspelled op
186 name before this change).
187
188 - **Send an 500 http response code when an exception is encountered.
189 ([11821](https://github.com/civicrm/civicrm-core/pull/11821) and
190 [12902](https://github.com/civicrm/civicrm-core/pull/12902))**
191
192 This change makes it so that instead of always exiting with a 200 code, When
193 CRM_Utils_System is called with a status > 0, CiviCRM exits with a 500 code.
194
195 - **Register "short" and "long" cache services
196 ([12873](https://github.com/civicrm/civicrm-core/pull/12873))**
197
198 This change makes it so that extension developers can use Civi::cache('short')
199 or Civi::cache('default') for a short-lived/latency-optimized PSR-16 cache or
200 Civi::cache('long') for a long-lived/durability-optimized PSR-16 cache before
201 this change only Civi::cache('default') was available.
202
203 - **Remove crm.admin.js
204 ([12884](https://github.com/civicrm/civicrm-core/pull/12884))**
205
206 This change is both a performance improvement (removes an unnecessary
207 javascript file) and a ui improvement because it improved the icon picker ui.
208
209 - **Style improvement of radio form elements
210 ([12736](https://github.com/civicrm/civicrm-core/pull/12736))**
211
212 This change adds more space between radio form elements and their labels.
213
214 - **Use description from schema if available when using entityForm
215 ([12971](https://github.com/civicrm/civicrm-core/pull/12971))**
216
217 This change adds the ability to show the description from the entity schema
218 instead of hardcoding it in the class when using entityForm.
219
220 ### CiviMail
221
222 - **[dev/core#481](https://lab.civicrm.org/dev/core/issues/481) New
223 Organization: There is no possible to uncheck in the field "Bulk Mailings?"
224 ([13019](https://github.com/civicrm/civicrm-core/pull/13019))**
225
226 This change improves the UI when creating a new organization by making the
227 "Bulk Mailings" field a checkbox (that can be checked and unchecked) instead
228 of a radio that once checked cannot be unchecked.
229
230 - **Adding [CiviMail Draft] on test mailing (for mosaico)
231 ([12758](https://github.com/civicrm/civicrm-core/pull/12758))**
232
233 This change adds the text [CiviMail Draft] to the subject of any email that is
234 sent using the send test functionality.
235
236 - **[dev/core#456](https://lab.civicrm.org/dev/core/issues/456) Improve UX of
237 scheduling mass SMS
238 ([13001](https://github.com/civicrm/civicrm-core/pull/13001))**
239
240 This change improves the UI of the schedule SMS mailings form by making it so
241 one has to choose "Send Immediately" OR "Schedule SMS". Before this change one
242 could check the box to "Send Immediately" AND a date to Schedule SMS.
243
244 ### CiviContribute
245
246 - **Add validate api action for ContributionPage.submit
247 ([12829](https://github.com/civicrm/civicrm-core/pull/12829))**
248
249 This change ensures that api calls using the action
250 ContributionPage.submit check that the parameters are valid for the form.
251
252 - **[dev/financial#33](https://lab.civicrm.org/dev/financial/issues/33) Proposal -
253 Add in hook alterPostIpn or similar
254 ([12928](https://github.com/civicrm/civicrm-core/pull/12928))**
255
256 This change adds a hook alterIPNData which allows extension authors the ability
257 to do custom processing on IPNs such as sending google analytics information
258 based on the IPN data.
259
260 - **Show contact name on recurring contribution view and improve consistency
261 with Contribution/Membership view
262 ([12819](https://github.com/civicrm/civicrm-core/pull/12819))**
263
264 This change improves the ui by including the Contact name in the view of a
265 recurring payment.
266
267 - **Show recurring contribution links based on payment processor capabilities
268 ([12821](https://github.com/civicrm/civicrm-core/pull/12821))**
269
270 This change makes it so that the edit link for recurring contributions is
271 hidden/shown based on the payment processor capabilities.
272
273 ### CiviReport
274
275 - **On reports make current employer available as a field for display
276 ([12904](https://github.com/civicrm/civicrm-core/pull/12904))**
277
278 This change makes it so that the field "Current Employer" is available as a
279 column on reports.
280
281 ### CiviEvent
282
283 - **Mark event start date as required and refactoring
284 ([13049](https://github.com/civicrm/civicrm-core/pull/13049))**
285
286 This change makes it so the event start date field has a red * next to it to
287 indicate that it is a required field.
288
289 ### CiviCase
290
291 - **Added relationship active filter in CiviCRM Case reports.
292 ([12711](https://github.com/civicrm/civicrm-core/pull/12711))**
293
294 This change adds a filter for is relationship active to CiviCRM Case reports.
295
296 ### Drupal Integration Modules
297
298 - **[CRM-17667](https://issues.civicrm.org/jira/browse/CRM-17667) Drush: Mail
299 queue processing does not work
300 ([354](https://github.com/civicrm/civicrm-drupal/pull/354))**
301
302 This change makes it so one can use the drush command `drush
303 civicrm-process-mail-queue` to execute the scheduled mailing job.
304
305 - **Add a drush command to rebuild SQL triggers
306 ([545](https://github.com/civicrm/civicrm-drupal/pull/545))**
307
308 This change makes it so that the drush command `drush
309 civicrm-sql-rebuild-triggers` rebuilds triggers and can dump the SQL commands
310 into a file.
311
312 ## <a name="bugs"></a>Bugs resolved
313
314 ### CiviMail
315
316 - **[dev/core#461](https://lab.civicrm.org/dev/core/issues/461) Duplicate
317 Message template is generated when it is saved through schedule reminder form
318 ([12982](https://github.com/civicrm/civicrm-core/pull/12982))**
319
320 This change fixes a bug where saving a message thru the schedule reminder form
321 would result in duplicate message templates being created so that the message
322 template is only saved once.
323
324 - **[CRM-19751](https://issues.civicrm.org/jira/browse/CRM-19751) Once "multiple
325 bulk" setting, cannot search for opt out or on hold contacts
326 ([12883](https://github.com/civicrm/civicrm-core/pull/12883))**
327
328 This begins work to fix a bug for CiviCRM Instances that have the CiviMail
329 setting "Enable multiple bulk email address for a contact" enabled where
330 searching for contacts using the criteria "Opt Out" or "On Hold" is filtering
331 incorrectly.
332
333 - **[dev/core#448](https://lab.civicrm.org/dev/core/issues/448) When creating a
334 CiviCRM Mailing including a Smart Group, All contacts met by the criteria of
335 the smart group are added. There is no check performed to make sure that
336 contacts removed from the smart group aren't included
337 ([12945](https://github.com/civicrm/civicrm-core/pull/12945))**
338
339 This change ensures that when creating a CiviCRM Mailing including a Smart
340 Group users who have previously un-subscribed from that Smart Group are not
341 included.
342
343 - **[dev/core#443](https://lab.civicrm.org/dev/core/issues/443) Fix Non-static
344 method calls at CRM_Utils_Mail_Incoming class
345 ([12934](https://github.com/civicrm/civicrm-core/pull/12934))**
346
347 This change fixes a strict warning thrown by CRM_Utils_Mail_Incoming for users
348 with a PHP 7.1 set up.
349
350 - **[dev/mail#26](https://lab.civicrm.org/dev/mail/issues/26) getRecipients()
351 appears to use a WHERE clause as an ORDER BY clause
352 ([12765](https://github.com/civicrm/civicrm-core/pull/12765))**
353
354 This change fixes a bug where the order_by for the list of recipients for a
355 mailing was being ignored so that the order by is respected.
356
357 - **[dev/core#357](https://lab.civicrm.org/dev/core/issues/357) Email signature
358 stopped working since ??? 4.6 ??
359 ([12828](https://github.com/civicrm/civicrm-core/pull/12828))**
360
361 This change fixes the Email signature functionality when sending an email.
362
363 - **[dev/core#394](https://lab.civicrm.org/dev/core/issues/394) Wildcards are
364 ignored in some smart group criteria, when the smart group is directly
365 generated for a mailing
366 ([12910](https://github.com/civicrm/civicrm-core/pull/12910))**
367
368 This change ensures that wildcards (like %a%) are respected in smart group
369 criteria when a smart group is being generated for a mailing.
370
371 - **[dev/core#384](https://lab.civicrm.org/dev/core/issues/384) Mobile phone
372 number selection issues with SMS
373 ([12890](https://github.com/civicrm/civicrm-core/pull/12890))**
374
375 This change makes it so one can send SMS using CiviSMS to non primary phones
376 of type "mobile".
377
378 ### CiviMember
379
380 - **[dev/core#166](https://lab.civicrm.org/dev/core/issues/166)
381 updateAllMemberships in memberschip BAO crasches out of memory on large
382 numbers of members
383 ([12306](https://github.com/civicrm/civicrm-core/pull/12306),
384 [12927](https://github.com/civicrm/civicrm-core/pull/12927) and
385 [12918](https://github.com/civicrm/civicrm-core/pull/12918))**
386
387 These changes fix a bug where for databases with large numbers of memberships
388 (the user who reported this problem had 1.3 million memberships) the scheduled task to
389 update membership statuses was crashing with an out of memory error so that
390 databases with large numbers of memberships can run the scheduled task to
391 update membership statuses.
392
393 ### CiviContribute
394
395 - **[CRM-21311](https://issues.civicrm.org/jira/browse/CRM-21311) Fix
396 CIVICRM-668 Credit card type is unset on submission causing credit card
397 payment to fail with CVV validation error message
398 ([12615](https://github.com/civicrm/civicrm-core/pull/12615))**
399
400 This change fixes a bug where if one changes the default credit card name for
401 a Credit card, for example "Amex" to "American Express" then one cannot create
402 a contribution with that credit card type so that one can alter the credit
403 card names without breaking contributioning with them.
404
405 - **[dev/financial#23](https://lab.civicrm.org/dev/financial/issues/23)
406 Submitting a contribution page with 0 amount triggers PHP notices
407 ([12926](https://github.com/civicrm/civicrm-core/pull/12926))**
408
409 This change removes an e-notice when submitting a contribution page with a 0
410 transaction amount.
411
412 ### CiviCase
413
414 - **Activities can be linked to multiple cases. Handle caseIds being an array
415 ([13021](https://github.com/civicrm/civicrm-core/pull/13021))**
416
417 This change makes it so that an Activity can be linked to more than one case.
418
419 ### CiviEvent
420
421 - **Prevent hard error when a string is too long for a field.
422 ([13014](https://github.com/civicrm/civicrm-core/pull/13014))**
423
424 This change fixes a bug where if an event registration's source field was too
425 long for the database, the event registration would fail, so that the source
426 field is truncated so that it can be saved to the database.
427
428 - **Fix caching issues with Event permissions
429 ([12769](https://github.com/civicrm/civicrm-core/pull/12769))**
430
431 This change fixes a bug when checking permissions for events where the
432 permissions for the first event were being cached and all subsequent events
433 were returned as having no permission regardless of what their permissions
434 were.
435
436 - **Fix payment hangs when registering a user for a paid event without recording
437 payment ([12914](https://github.com/civicrm/civicrm-core/pull/12914))**
438
439 This fixes a bug where registering a user on the back end for a paid event
440 without recording a payment would result in the payment hanging so that it
441 does not hang.
442
443 ### CiviReport
444
445 - **[dev/core#491](https://lab.civicrm.org/dev/core/issues/491) Report results
446 don't show inactive campaigns
447 ([13036](https://github.com/civicrm/civicrm-core/pull/13036))**
448
449 This change makes it so that inactive campaigns show up on the Contribution
450 Details Report.
451
452 - **[dev/core#479](https://lab.civicrm.org/dev/core/issues/479) Contribution
453 Summary report throw DB error with custom data and soft credit fields
454 ([13017](https://github.com/civicrm/civicrm-core/pull/13017))**
455
456 This change fixes a bug in the Contribution Summary Report where using a soft
457 credit amount stats column and a filter on any custom field would result in a
458 DB error so that the report runs as expected.
459
460 - **Disable ONLY_FULL_GROUP_BY sql mode when doing add2group function on the
461 Activity Detail report to avoid fatal error
462 ([12966](https://github.com/civicrm/civicrm-core/pull/12966))**
463
464 This fixes a bug where the add to group action on the Activity Details
465 report resulted in a fatal error for civicrm instances that had
466 ONLY_FULL_GROUP_BY enabled.
467
468 - **Problem with Custom Field in Contact Reports
469 ([13044](https://github.com/civicrm/civicrm-core/pull/13044))**
470
471 This change makes it so that custom fields of the data type string are
472 available in the Summary Fields Filters tab for the Constituent Summary
473 report.
474
475 ### CiviCampaign
476
477 - **[dev/core#422](https://lab.civicrm.org/dev/core/issues/422) Can't use
478 advanced search to find survey results by result code
479 ([12897](https://github.com/civicrm/civicrm-core/pull/12897))**
480
481 This fixes a bug where searching on the "activity result" field (available
482 when using CiviCampaign) would result in no results, so that one can search on
483 the "activity result" field.
484
485 ### Core CiviCRM
486
487 - **[dev/core#477](https://lab.civicrm.org/dev/core/issues/477) Print Summary is
488 missing some contact info
489 ([13030](https://github.com/civicrm/civicrm-core/pull/13030))**
490
491 This change fixes a bug where when using the action "Print Summary" for a
492 contact record the employer and job title were not being printed in the
493 summary so that the employer and job title fields are printed.
494
495 - **[dev/core#119](https://lab.civicrm.org/dev/core/issues/119) Notice error
496 ([13063](https://github.com/civicrm/civicrm-core/pull/13063))**
497
498 Fixes a bug where when going to view a location of an event (a url like:
499 /civicrm/contact/map/event?eid=3&reset=1) would result in an undefined
500 variable notice so that no notice is thrown.
501
502 - **PHP 7.3 support (Fix misplaced hyphens in regex)
503 ([13064](https://github.com/civicrm/civicrm-core/pull/13064))**
504
505 This change fixes a bug for users with a PHP 7.3 where importing contributions
506 with custom field values would result in an error message "preg_match():
507 Compilation failed: invalid range in character class at offset 7" when
508 creating a new contribution with custom field values
509
510 - **[dev/core#287](https://lab.civicrm.org/dev/core/issues/287) Child groups
511 with all parents disabled shows in group list
512 ([12797](https://github.com/civicrm/civicrm-core/pull/12797) and
513 [13061](https://github.com/civicrm/civicrm-core/pull/13061))**
514
515 This change ensures that when a parent group is disabled, so are its children
516 groups.
517
518 - **Fix custom Home URL parsing
519 ([13031](https://github.com/civicrm/civicrm-core/pull/13031))**
520
521 This change fixes a bug where Custom Home URLs without a query string would
522 result in an E_NOTICE and fragments would be removed from the URL so that no
523 E_NOTICE is thrown and fragments are not removed from the custom url.
524
525 - **Fix Activity api to cope with renamed record type labels (e.g renaming
526 'Target' to 'Directed At')
527 ([13008](https://github.com/civicrm/civicrm-core/pull/13008))**
528
529 This change makes it so the Activity API filters activity contacts options
530 based on the option name instead of the option label.
531
532 - **[dev/core#474](https://lab.civicrm.org/dev/core/issues/474) Missing log
533 table warning on status page even if logging is disabled.
534 ([13010](https://github.com/civicrm/civicrm-core/pull/13010))**
535
536 This change makes it so that the "Missing log table" warning only shows up if
537 logging is enabled.
538
539 - **[dev/translation#15](https://lab.civicrm.org/dev/translation/issues/15)
540 Backend credit card contribution are left as Pending if contribution statuses
541 are localized ([12999](https://github.com/civicrm/civicrm-core/pull/12999))**
542
543 This fixes a bug where backend credit card contributions were being set as
544 "Pending" if contribution statuses were localized so that if contributions
545 statuses are localized backend credit card contributions are set
546 appropriately.
547
548 - **api bug - Fix mishandling of mixed case strings in some api requests on
549 custom values([12930](https://github.com/civicrm/civicrm-core/pull/12930))**
550
551 This change makes it so that the custom data api searches for custom data with
552 uppercase letters correctly.
553
554 - **Add ts to untranslated string
555 ([12989](https://github.com/civicrm/civicrm-core/pull/12989))**
556
557 This change ensures the text "Error" is translated on error messages thrown
558 when processing an image on a contact.
559
560 - **[dev/core#459](https://lab.civicrm.org/dev/core/issues/459) Fix "crmURL"
561 parameters in various templates
562 ([12968](https://github.com/civicrm/civicrm-core/pull/12968))**
563
564 This fixes a bug where some url's were being generated with double & (ex:
565 http://civicrm.local/wp-admin/admin.php?page=CiviCRM&q=civicrm/contact/view/delete&&reset=1&delete=1&cid=202).
566
567 - **[dev/core#412](https://lab.civicrm.org/dev/core/issues/412) Avoid truncated
568 UTF-8 strings when using substr()
569 ([12935](https://github.com/civicrm/civicrm-core/pull/12935))**
570
571 This change fixes a bug where export forms with custom group names with a
572 UTF-8 character at the 10th character were not allowing users to pick fields
573 to export properly so that one can pick multiple fields for export on the
574 export form with custom group names with a UTF-8 character at the 10th
575 character.
576
577 - **[dev/core#452](https://lab.civicrm.org/dev/core/issues/452) Error when
578 exporting CSV batch (PHP 7.1)
579 ([12946](https://github.com/civicrm/civicrm-core/pull/12946))**
580
581 This change fixes a bug for users using PHP 7.1 where exporting csv batches
582 would crash so that users using PHP 7.1 can export csv batches.
583
584 - **Status page: hush menu should be on top of other headers
585 ([12936](https://github.com/civicrm/civicrm-core/pull/12936))**
586
587 This change fixes a bug where on the CiviCRM Status Page, when one went to
588 hide a status message some of the options in the to hide dropdown menu were
589 getting hidden by the header for the next status message so that the dropdown
590 menu appears over the status headers.
591
592 - **Correct inconsistent fileID reference
593 ([12931](https://github.com/civicrm/civicrm-core/pull/12931))**
594
595 This change fixes a bug where updating a custom field of type file on a
596 contact thru the api would result in a new file being created instead
597 of updating the custom field.
598
599 - **Contact layout editor support - Skip html encoding rich-text fields
600 ([12841](https://github.com/civicrm/civicrm-core/pull/12841))**
601
602 This change fixes a bug where rich text custom fields saved thru the api were
603 being escaped so that the html is preserved (not escaped).
604
605 - **[dev/core#418](https://lab.civicrm.org/dev/core/issues/418) ensure all valid
606 relationship types are available
607 ([12891](https://github.com/civicrm/civicrm-core/pull/12891))**
608
609 This change ensures that the select when adding a relationship to a group of
610 search results shows all Relationships types including any relationship types
611 that are any contact type to any contact type.
612
613 - **[dev/core#389](https://lab.civicrm.org/dev/core/issues/389) When using
614 custom fields for smart group criteria, relative dates create static dates
615 instead ([12824](https://github.com/civicrm/civicrm-core/pull/12824))**
616
617 This change makes it so that when saving smart groups with custom fields in
618 which a relative date (example: last 2 weeks) is specified, the last 2 weeks
619 means 2 weeks from the current date and is not hardcoded to be the last 2
620 weeks from when the smart group was created.
621
622 - **[dev/core#425](https://lab.civicrm.org/dev/core/issues/425) "Force Secure
623 URLs" setting sometimes does not behave as expected, deprecate it ... Slowly :)
624 ([12908](https://github.com/civicrm/civicrm-core/pull/12908))**
625
626 This change moves forward work to get the "Force Secure URLs" setting to work
627 as expected by logging a message if CiviCRM thinks SSL is not enabled.
628
629 - **[dev/core#423](https://lab.civicrm.org/dev/core/issues/423) Upgrading gives
630 error "Incorrect datetime value: '0000-00-00 00:00:00'" in MySQL 5.7
631 ([12898](https://github.com/civicrm/civicrm-core/pull/12898))**
632
633 This change fixes a bug when upgrading from CiviCRM 4.7.12 to 5.3.2 where
634 MySQL was throwing an "Incorrect datetime value: '0000-00-00 00:00:00' for
635 column 'trxn_date'" so that upgrades can make this jump with no error.
636
637 - **Added missing field name in custom-field deletion dialog
638 ([12869](https://github.com/civicrm/civicrm-core/pull/12869))**
639
640 This change ensures that when deleting a custom field, the name of the custom
641 field shows up in the dialog asking you to confirm that you want to delete.
642
643 - **[dev/core#411](https://lab.civicrm.org/dev/core/issues/411) Default currency
644 shown on forms if payment is made with different currency
645 ([12875](https://github.com/civicrm/civicrm-core/pull/12875))**
646
647 This change fixes a bug where the default currency was being displayed on the
648 View Participant page and Contribution page regardless of which currency was
649 used so that the currency used to make the payment is displayed always.
650
651 - **Make datatables in Activities Relationship tab adjust to screen size
652 ([12893](https://github.com/civicrm/civicrm-core/pull/12893))**
653
654 This change ensures that the datatables on the Activities Relationship tab
655 adjusts to screen size when the screen size is changed.
656
657 ### Wordpress
658
659 - **[dev/wordpress#12](https://lab.civicrm.org/dev/wordpress/issues/12) A
660 civicrm shortcode for a contribution page on the homepage results in a "Too
661 many redirects" error instead of the thank you page
662 ([13043](https://github.com/civicrm/civicrm-core/pull/13043))**
663
664 This change fixes a bug where putting a wordpress shortcode on the homepage
665 would result in a too many redirect error instead of the thank you page.
666
667 - **Allow user-defined shortcode components to be rendered
668 ([134](https://github.com/civicrm/civicrm-wordpress/pull/134))**
669
670 This change makes it so that Wordpress plugins and CiviCRM Extensions which
671 define custom components for the [civicrm] shortcode, shortcodes work.
672
673 - **Do not start session when running under WP-CLI
674 ([135](https://github.com/civicrm/civicrm-wordpress/pull/135))**
675
676 This fixes a bug where when running WP-CLI when the Apache user has
677 permissions that the shell user does not would result in a PHP Warning.
678
679 - **Fix WP-CLI class for PHP 7.2
680 ([133](https://github.com/civicrm/civicrm-wordpress/pull/133))**
681
682 This change makes it so one can use WP-CLI in PHP 7.2.
683
684 - **[dev/core#460](https://lab.civicrm.org/dev/core/issues/460) Fix malformed
685 redirect URLs ([12969](https://github.com/civicrm/civicrm-core/pull/12969))**
686
687 This change fixes a bug where malformed redirect URLs were being formed for
688 Wordpress users on event registration and confirmation pages.
689
690 ### Drupal
691
692 - **Intelligently adjust menubar for D7 toolbar toggle
693 ([12937](https://github.com/civicrm/civicrm-core/pull/12937))**
694
695 This change improves the ui by making the Civi menubar set to 100% minus the
696 width of the toolbar toggle, but only if the toolbar toggle is actually
697 present on the screen. Before this change the menu was set to a width of 97%
698 which was problematic because 97% is a guestimate and some Drupal sites do not
699 use the toolbar module.
700
701 - **Added a path to the drupal8 path candidates to find civicrm.config.php
702 ([12903](https://github.com/civicrm/civicrm-core/pull/12903))**
703
704 This change fixes a bug when running the civibuild command `Civibuild
705 create drup8 --type=drupal8-clean` would result in a fatal error
706 "Failed to locate template for civicrm.config.php" so that Civibuild generates
707 the installation files and goes to the next step.
708
709 ### Drupal Integration Modules
710
711 - **[CRM-20298](https://issues.civicrm.org/jira/browse/CRM-20298) Drupal Views:
712 Custom fields of type Money should use the same filter operators as Integer
713 fields ([435](https://github.com/civicrm/civicrm-drupal/pull/435))**
714
715 This change makes it so that in Drupal views, civicrm custom fields of type
716 money use the filter operators for Integers (instead of the filter operators
717 for text).
718
719 - **civicrm_handler_field_link_pcp: avoid PHP notice
720 ([547](https://github.com/civicrm/civicrm-drupal/pull/547))**
721
722 This change fixes a php notice thrown by drupal views that use fields that use
723 the handler civicrm_handler_field_link_pcp.
724
725 ## <a name="misc"></a>Miscellany
726
727 - **Slay dragons ([12495](https://github.com/civicrm/civicrm-core/pull/12495))**
728
729 - **Support CiviTutorial - Fix isAjaxMode to also recognize angular ajax
730 ([12921](https://github.com/civicrm/civicrm-core/pull/12921))**
731
732 - **(NFC) Fix Namespace issue in Api3DocTrait when calling smarty
733 ([13007](https://github.com/civicrm/civicrm-core/pull/13007))**
734
735 - **Export code cleanup and testing enhancements - this is an ongoing cleanup
736 with an end goal of fixing some known bugs
737 ([12586](https://github.com/civicrm/civicrm-core/pull/12586)) and
738 ([12864](https://github.com/civicrm/civicrm-core/pull/12864))**
739
740 - **Coding practices fix - Improve type checking in getContactPhone and use
741 CRM_Utils_Request::r…
742 ([12687](https://github.com/civicrm/civicrm-core/pull/12687))**
743
744 - **Code cleanup on activity api and activity dashboard query
745 ([12994](https://github.com/civicrm/civicrm-core/pull/12994)) and
746 ([12949](https://github.com/civicrm/civicrm-core/pull/12949))**
747
748 - **Code cleanup in api_v3_CaseTest
749 ([12950](https://github.com/civicrm/civicrm-core/pull/12950))**
750
751 - **Code cleanup Membership form - submit status message
752 ([12693](https://github.com/civicrm/civicrm-core/pull/12693)) and tidy up
753 receipt code ([12695](https://github.com/civicrm/civicrm-core/pull/12695))**
754
755 - **Code cleanup and testing on query to generate annual totals
756 ([12810](https://github.com/civicrm/civicrm-core/pull/12810))**
757
758 - **Code cleanup - commenting on dupesInGroup()
759 ([12920](https://github.com/civicrm/civicrm-core/pull/12920))**
760
761 - **Code cleanup - Fix spelling error ("sript" vs "script")
762 ([12912](https://github.com/civicrm/civicrm-core/pull/12912))**
763
764 - **Code cleanup on recurring create action
765 ([12900](https://github.com/civicrm/civicrm-core/pull/12900)) and viewing
766 recurring rcords
767 ([12899](https://github.com/civicrm/civicrm-core/pull/12899))**
768
769 - **Code cleanup (drupal) style fix for contact image handler
770 ([537](https://github.com/civicrm/civicrm-drupal/pull/537))**
771
772 - **Code cleanup (wordpress) Give comments and docblocks some TLC
773 ([137](https://github.com/civicrm/civicrm-wordpress/pull/137))**
774
775 - **Code cleanup Fix comment as hook name was changed
776 ([13009](https://github.com/civicrm/civicrm-core/pull/13009))**
777
778 - **[CRM-21677](https://issues.civicrm.org/jira/browse/CRM-21677) Report code
779 style improvements (no user impact)
780 ([13028](https://github.com/civicrm/civicrm-core/pull/13028),
781 [12922](https://github.com/civicrm/civicrm-core/pull/12922),
782 [12916](https://github.com/civicrm/civicrm-core/pull/12916), and
783 [12892](https://github.com/civicrm/civicrm-core/pull/12892))**
784
785 - **Duplicate upgrade step for 5.7.beta1 in 5.8.alpha1 to capture anyone …
786 ([13033](https://github.com/civicrm/civicrm-core/pull/13033))**
787
788 - **Don't format date twice for RecurringEntity form
789 ([12974](https://github.com/civicrm/civicrm-core/pull/12974))**
790
791 - **Add `ext/` folder to .gitignore
792 ([12905](https://github.com/civicrm/civicrm-core/pull/12905))**
793
794 - **Bring structural consistency to the plugin
795 ([138](https://github.com/civicrm/civicrm-wordpress/pull/138))**
796
797 ## <a name="credits"></a>Credits
798
799 This release was developed by the following code authors:
800
801 AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Alok Patel; Australian Greens - Seamus Lee; calbasi; Caltha - Tomasz Pietrzkowski; CEDC - Laryn Kragt Bakker; Chris Burgess; Christian Wach; CiviCoop - Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Community IT Academy - William Mortada; CompuCorp - Davi Alexandre; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; dereklewis123; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Ginkgo Street Labs - Frank Gómez; giovannidalmas1967; Jens Schuppe; JMA Consulting - Monish Deb; John Kingsnorth; Joinery - Allen Shaw; Joost Fock; Ken West; mecachisenros; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Nicol Wistreich; OSSeed Technologies - Madhavi Malgaonkar; Pradeep Nayak; Progressive Technology Project - Jamie McClelland; Skvare - Mark Hanna; Third Sector Design - Michael McAndrew; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston
802
803 Most authors also reviewed code for this release; in addition, the following
804 reviewers contributed their comments:
805
806 AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Agileware Team; Australian Greens - Seamus Lee; British Humanist Association - Andrew West; calbasi; Caltha - Tomasz Pietrzkowski; CEDC - Laryn Kragt Bakker; Chris Burgess; Christian Wach; Circle Interactive - Dave Jenkins; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CiviFirst - John Kirk; Clairepickle; CompuCorp - Davi Alexandre, Jamie Novick; Coop SymbioTIC - Mathieu Lutfy; davej; dereklewis123; Donald Lobo; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Ginkgo Street Labs - Frank Gómez; giovannidalmas1967; iXiam - Vangelis Pantazis; JMA Consulting - Joe Murray, Monish Deb; John Kingsnorth; Joinery - Allen Shaw; JonScreat; Joost Fock; Ken West; kirk-jackson; Korlon - Stuart Gaston; Lighthouse Design and Consulting - Brian Shaughnessy; marsh-circle; mecachisenros; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Pradeep Nayak; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Skvare - Mark Hanna; sleewok; Tadpole Collective - Kevin Cristiano; Tech To The People - Xavier Dutoit; Third Sector Design - Michael McAndrew; Wikimedia Foundation - Eileen McNaughton
807
808 ## <a name="feedback"></a>Feedback
809
810 These release notes are edited by Andrew Hunt. If you'd like to provide
811 feedback on them, please log in to https://chat.civicrm.org/civicrm and contact
812 `@agh1`.