Merge pull request #12834 from pradpnayak/preRelHook
[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? | no |
17 | Change the database schema? | no |
18 | **Alter the API?** | **yes** |
19 | Require attention to configuration options? | no |
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 - **On reports make current employer available as a field for display
221 ([12904](https://github.com/civicrm/civicrm-core/pull/12904))**
222
223 This change makes it so that the field "Current Employer" is available as a
224 column on reports.
225
226 - **[dev/core#487](https://lab.civicrm.org/dev/core/issues/487) Replace ancient
227 menubar plugin with something responsive
228 ([13804](https://github.com/civicrm/civicrm-core/pull/13084)) (preliminary
229 work)**
230
231 This makes some behind-the-scenes changes in order to support a new
232 [SmartMenus-based menu extension](https://github.com/aydun/uk.squiffle.kam)
233 that is anticipated to replace the current menu in core.
234
235 ### CiviCase
236
237 - **Added relationship active filter in CiviCRM Case reports.
238 ([12711](https://github.com/civicrm/civicrm-core/pull/12711))**
239
240 This change adds a filter for is relationship active to CiviCRM Case reports.
241
242 ### CiviContribute
243
244 - **Add validate api action for ContributionPage.submit
245 ([12829](https://github.com/civicrm/civicrm-core/pull/12829))**
246
247 This change ensures that api calls using the action
248 ContributionPage.submit check that the parameters are valid for the form.
249
250 - **[dev/financial#33](https://lab.civicrm.org/dev/financial/issues/33) Proposal -
251 Add in hook alterPostIpn or similar
252 ([12928](https://github.com/civicrm/civicrm-core/pull/12928))**
253
254 This change adds a hook alterIPNData which allows extension authors the ability
255 to do custom processing on IPNs such as sending google analytics information
256 based on the IPN data.
257
258 - **Show contact name on recurring contribution view and improve consistency
259 with Contribution/Membership view
260 ([12819](https://github.com/civicrm/civicrm-core/pull/12819))**
261
262 This change improves the ui by including the Contact name in the view of a
263 recurring payment.
264
265 - **Show recurring contribution links based on payment processor capabilities
266 ([12821](https://github.com/civicrm/civicrm-core/pull/12821))**
267
268 This change makes it so that the edit link for recurring contributions is
269 hidden/shown based on the payment processor capabilities.
270
271 ### CiviEvent
272
273 - **Mark event start date as required and refactoring
274 ([13049](https://github.com/civicrm/civicrm-core/pull/13049))**
275
276 This change makes it so the event start date field has a red * next to it to
277 indicate that it is a required field.
278
279 ### CiviMail
280
281 - **[dev/core#481](https://lab.civicrm.org/dev/core/issues/481) New
282 Organization: There is no possible to uncheck in the field "Bulk Mailings?"
283 ([13019](https://github.com/civicrm/civicrm-core/pull/13019))**
284
285 This change improves the UI when creating a new organization by making the
286 "Bulk Mailings" field a checkbox (that can be checked and unchecked) instead
287 of a radio that once checked cannot be unchecked.
288
289 - **Adding [CiviMail Draft] on test mailing (for mosaico)
290 ([12758](https://github.com/civicrm/civicrm-core/pull/12758))**
291
292 This change adds the text [CiviMail Draft] to the subject of any email that is
293 sent using the send test functionality.
294
295 - **[dev/core#456](https://lab.civicrm.org/dev/core/issues/456) Improve UX of
296 scheduling mass SMS
297 ([13001](https://github.com/civicrm/civicrm-core/pull/13001))**
298
299 This change improves the UI of the schedule SMS mailings form by making it so
300 one has to choose "Send Immediately" OR "Schedule SMS". Before this change one
301 could check the box to "Send Immediately" AND a date to Schedule SMS.
302
303 ### Drupal Integration
304
305 - **[CRM-17667](https://issues.civicrm.org/jira/browse/CRM-17667) Drush: Mail
306 queue processing does not work
307 ([354](https://github.com/civicrm/civicrm-drupal/pull/354))**
308
309 This change makes it so one can use the drush command `drush
310 civicrm-process-mail-queue` to execute the scheduled mailing job.
311
312 - **Add a drush command to rebuild SQL triggers
313 ([545](https://github.com/civicrm/civicrm-drupal/pull/545))**
314
315 This change makes it so that the drush command `drush
316 civicrm-sql-rebuild-triggers` rebuilds triggers and can dump the SQL commands
317 into a file.
318
319 ## <a name="bugs"></a>Bugs resolved
320
321 ### Core CiviCRM
322
323 - **[dev/core#477](https://lab.civicrm.org/dev/core/issues/477) Print Summary is
324 missing some contact info
325 ([13030](https://github.com/civicrm/civicrm-core/pull/13030))**
326
327 This change fixes a bug where when using the action "Print Summary" for a
328 contact record the employer and job title were not being printed in the
329 summary so that the employer and job title fields are printed.
330
331 - **[dev/core#119](https://lab.civicrm.org/dev/core/issues/119) Notice error
332 ([13063](https://github.com/civicrm/civicrm-core/pull/13063))**
333
334 Fixes a bug where when going to view a location of an event (a url like:
335 /civicrm/contact/map/event?eid=3&reset=1) would result in an undefined
336 variable notice so that no notice is thrown.
337
338 - **PHP 7.3 support (Fix misplaced hyphens in regex)
339 ([13064](https://github.com/civicrm/civicrm-core/pull/13064))**
340
341 This change fixes a bug for users with a PHP 7.3 where importing contributions
342 with custom field values would result in an error message "preg_match():
343 Compilation failed: invalid range in character class at offset 7" when
344 creating a new contribution with custom field values
345
346 - **[dev/core#287](https://lab.civicrm.org/dev/core/issues/287) Child groups
347 with all parents disabled shows in group list
348 ([12797](https://github.com/civicrm/civicrm-core/pull/12797) and
349 [13061](https://github.com/civicrm/civicrm-core/pull/13061))**
350
351 This change ensures that when a parent group is disabled, so are its children
352 groups.
353
354 - **Fix custom Home URL parsing
355 ([13031](https://github.com/civicrm/civicrm-core/pull/13031))**
356
357 This change fixes a bug where Custom Home URLs without a query string would
358 result in an E_NOTICE and fragments would be removed from the URL so that no
359 E_NOTICE is thrown and fragments are not removed from the custom url.
360
361 - **Fix Activity api to cope with renamed record type labels (e.g renaming
362 'Target' to 'Directed At')
363 ([13008](https://github.com/civicrm/civicrm-core/pull/13008))**
364
365 This change makes it so the Activity API filters activity contacts options
366 based on the option name instead of the option label.
367
368 - **[dev/core#474](https://lab.civicrm.org/dev/core/issues/474) Missing log
369 table warning on status page even if logging is disabled.
370 ([13010](https://github.com/civicrm/civicrm-core/pull/13010))**
371
372 This change makes it so that the "Missing log table" warning only shows up if
373 logging is enabled.
374
375 - **[dev/translation#15](https://lab.civicrm.org/dev/translation/issues/15)
376 Backend credit card contribution are left as Pending if contribution statuses
377 are localized ([12999](https://github.com/civicrm/civicrm-core/pull/12999))**
378
379 This fixes a bug where backend credit card contributions were being set as
380 "Pending" if contribution statuses were localized so that if contributions
381 statuses are localized backend credit card contributions are set
382 appropriately.
383
384 - **api bug - Fix mishandling of mixed case strings in some api requests on
385 custom values([12930](https://github.com/civicrm/civicrm-core/pull/12930))**
386
387 This change makes it so that the custom data api searches for custom data with
388 uppercase letters correctly.
389
390 - **Add ts to untranslated string
391 ([12989](https://github.com/civicrm/civicrm-core/pull/12989))**
392
393 This change ensures the text "Error" is translated on error messages thrown
394 when processing an image on a contact.
395
396 - **[dev/core#459](https://lab.civicrm.org/dev/core/issues/459) Fix "crmURL"
397 parameters in various templates
398 ([12968](https://github.com/civicrm/civicrm-core/pull/12968))**
399
400 This fixes a bug where some URLs were being generated with double & (e.g.
401 `http://civicrm.local/wp-admin/admin.php?page=CiviCRM&q=civicrm/contact/view/delete&&reset=1&delete=1&cid=202`).
402
403 - **[dev/core#412](https://lab.civicrm.org/dev/core/issues/412) Avoid truncated
404 UTF-8 strings when using substr()
405 ([12935](https://github.com/civicrm/civicrm-core/pull/12935))**
406
407 This change fixes a bug where export forms with custom group names with a
408 UTF-8 character at the 10th character were not allowing users to pick fields
409 to export properly so that one can pick multiple fields for export on the
410 export form with custom group names with a UTF-8 character at the 10th
411 character.
412
413 - **[dev/core#452](https://lab.civicrm.org/dev/core/issues/452) Error when
414 exporting CSV batch (PHP 7.1)
415 ([12946](https://github.com/civicrm/civicrm-core/pull/12946))**
416
417 This change fixes a bug for users using PHP 7.1 where exporting csv batches
418 would crash so that users using PHP 7.1 can export csv batches.
419
420 - **Status page: hush menu should be on top of other headers
421 ([12936](https://github.com/civicrm/civicrm-core/pull/12936))**
422
423 This change fixes a bug where on the CiviCRM Status Page, when one went to
424 hide a status message some of the options in the to hide dropdown menu were
425 getting hidden by the header for the next status message so that the dropdown
426 menu appears over the status headers.
427
428 - **Correct inconsistent fileID reference
429 ([12931](https://github.com/civicrm/civicrm-core/pull/12931))**
430
431 This change fixes a bug where updating a custom field of type file on a
432 contact thru the api would result in a new file being created instead
433 of updating the custom field.
434
435 - **Contact layout editor support - Skip html encoding rich-text fields
436 ([12841](https://github.com/civicrm/civicrm-core/pull/12841))**
437
438 This change fixes a bug where rich text custom fields saved thru the api were
439 being escaped so that the html is preserved (not escaped).
440
441 - **[dev/core#418](https://lab.civicrm.org/dev/core/issues/418) ensure all valid
442 relationship types are available
443 ([12891](https://github.com/civicrm/civicrm-core/pull/12891))**
444
445 This change ensures that the select when adding a relationship to a group of
446 search results shows all Relationships types including any relationship types
447 that are any contact type to any contact type.
448
449 - **[dev/core#389](https://lab.civicrm.org/dev/core/issues/389) When using
450 custom fields for smart group criteria, relative dates create static dates
451 instead ([12824](https://github.com/civicrm/civicrm-core/pull/12824))**
452
453 This change makes it so that when saving smart groups with custom fields in
454 which a relative date (example: last 2 weeks) is specified, the last 2 weeks
455 means 2 weeks from the current date and is not hardcoded to be the last 2
456 weeks from when the smart group was created.
457
458 - **[dev/core#425](https://lab.civicrm.org/dev/core/issues/425) "Force Secure
459 URLs" setting sometimes does not behave as expected, deprecate it ... Slowly :)
460 ([12908](https://github.com/civicrm/civicrm-core/pull/12908))**
461
462 This change moves forward work to get the "Force Secure URLs" setting to work
463 as expected by logging a message if CiviCRM thinks SSL is not enabled.
464
465 - **[dev/core#423](https://lab.civicrm.org/dev/core/issues/423) Upgrading gives
466 error "Incorrect datetime value: '0000-00-00 00:00:00'" in MySQL 5.7
467 ([12898](https://github.com/civicrm/civicrm-core/pull/12898))**
468
469 This change fixes a bug when upgrading from CiviCRM 4.7.12 to 5.3.2 where
470 MySQL was throwing an "Incorrect datetime value: '0000-00-00 00:00:00' for
471 column 'trxn_date'" so that upgrades can make this jump with no error.
472
473 - **Added missing field name in custom-field deletion dialog
474 ([12869](https://github.com/civicrm/civicrm-core/pull/12869))**
475
476 This change ensures that when deleting a custom field, the name of the custom
477 field shows up in the dialog asking you to confirm that you want to delete.
478
479 - **[dev/core#411](https://lab.civicrm.org/dev/core/issues/411) Default currency
480 shown on forms if payment is made with different currency
481 ([12875](https://github.com/civicrm/civicrm-core/pull/12875))**
482
483 This change fixes a bug where the default currency was being displayed on the
484 View Participant page and Contribution page regardless of which currency was
485 used so that the currency used to make the payment is displayed always.
486
487 - **Make datatables in Activities Relationship tab adjust to screen size
488 ([12893](https://github.com/civicrm/civicrm-core/pull/12893))**
489
490 This change ensures that the datatables on the Activities Relationship tab
491 adjusts to screen size when the screen size is changed.
492
493 - **Disable ONLY_FULL_GROUP_BY sql mode when doing add2group function on the
494 Activity Detail report to avoid fatal error
495 ([12966](https://github.com/civicrm/civicrm-core/pull/12966))**
496
497 This fixes a bug where the add to group action on the Activity Details
498 report resulted in a fatal error for civicrm instances that had
499 ONLY_FULL_GROUP_BY enabled.
500
501 - **Problem with Custom Field in Contact Reports
502 ([13044](https://github.com/civicrm/civicrm-core/pull/13044))**
503
504 This change makes it so that custom fields of the data type string are
505 available in the Summary Fields Filters tab for the Constituent Summary
506 report.
507
508 - **Fix typo in smarty help
509 ([13075](https://github.com/civicrm/civicrm-core/pull/13075))**
510
511 - **Remove redundant jstree script from search form
512 ([13153](https://github.com/civicrm/civicrm-core/pull/13153))**
513
514 ### CiviCampaign
515
516 - **[dev/core#422](https://lab.civicrm.org/dev/core/issues/422) Can't use
517 advanced search to find survey results by result code
518 ([12897](https://github.com/civicrm/civicrm-core/pull/12897))**
519
520 This fixes a bug where searching on the "activity result" field (available
521 when using CiviCampaign) would result in no results, so that one can search on
522 the "activity result" field.
523
524 ### CiviCase
525
526 - **Activities can be linked to multiple cases. Handle caseIds being an array
527 ([13021](https://github.com/civicrm/civicrm-core/pull/13021))**
528
529 This change makes it so that an Activity can be linked to more than one case.
530
531 ### CiviContribute
532
533 - **[CRM-21311](https://issues.civicrm.org/jira/browse/CRM-21311) Fix
534 CIVICRM-668 Credit card type is unset on submission causing credit card
535 payment to fail with CVV validation error message
536 ([12615](https://github.com/civicrm/civicrm-core/pull/12615))**
537
538 This change fixes a bug where if one changes the default credit card name for
539 a Credit card, for example "Amex" to "American Express" then one cannot create
540 a contribution with that credit card type so that one can alter the credit
541 card names without breaking contributioning with them.
542
543 - **[dev/financial#23](https://lab.civicrm.org/dev/financial/issues/23)
544 Submitting a contribution page with 0 amount triggers PHP notices
545 ([12926](https://github.com/civicrm/civicrm-core/pull/12926))**
546
547 This change removes an e-notice when submitting a contribution page with a 0
548 transaction amount.
549
550 - **[dev/core#491](https://lab.civicrm.org/dev/core/issues/491) Report results
551 don't show inactive campaigns
552 ([13036](https://github.com/civicrm/civicrm-core/pull/13036))**
553
554 This change makes it so that inactive campaigns show up on the Contribution
555 Details Report.
556
557 - **[dev/core#479](https://lab.civicrm.org/dev/core/issues/479) Contribution
558 Summary report throw DB error with custom data and soft credit fields
559 ([13017](https://github.com/civicrm/civicrm-core/pull/13017))**
560
561 This change fixes a bug in the Contribution Summary Report where using a soft
562 credit amount stats column and a filter on any custom field would result in a
563 DB error so that the report runs as expected.
564
565 - **[dev/core#526](https://lab.civicrm.org/dev/core/issues/526) Feedback cannot
566 be translated when saving Contribution Page forms in languages other than
567 English ([13108](https://github.com/civicrm/civicrm-core/pull/13108))**
568
569 - **[dev/core#534](https://lab.civicrm.org/dev/core/issues/534) Print Invoice
570 and Pay Now buttons do not appear on Contact Dashboard
571 ([13131](https://github.com/civicrm/civicrm-core/pull/13131) and
572 [13137](https://github.com/civicrm/civicrm-core/pull/13137))**
573
574 - **Fix check for financial acls to look for setting rather than sub-key of
575 non-standard civicontribute_settings' setting
576 ([13150](https://github.com/civicrm/civicrm-core/pull/13150))**
577
578 - **[dev/core#552](https://lab.civicrm.org/dev/core/issues/552) Contribution net
579 amount not re-calculated when fee amount is changed
580 ([13177](https://github.com/civicrm/civicrm-core/pull/13177) and [13178](https://github.com/civicrm/civicrm-core/pull/13178))**
581
582 ### CiviEvent
583
584 - **Prevent hard error when a string is too long for a field.
585 ([13014](https://github.com/civicrm/civicrm-core/pull/13014))**
586
587 This change fixes a bug where if an event registration's source field was too
588 long for the database, the event registration would fail, so that the source
589 field is truncated so that it can be saved to the database.
590
591 - **Fix caching issues with Event permissions
592 ([12769](https://github.com/civicrm/civicrm-core/pull/12769))**
593
594 This change fixes a bug when checking permissions for events where the
595 permissions for the first event were being cached and all subsequent events
596 were returned as having no permission regardless of what their permissions
597 were.
598
599 - **Fix payment hangs when registering a user for a paid event without recording
600 payment ([12914](https://github.com/civicrm/civicrm-core/pull/12914))**
601
602 This fixes a bug where registering a user on the back end for a paid event
603 without recording a payment would result in the payment hanging so that it
604 does not hang.
605
606 - **Replace deprecated event function
607 ([13093](https://github.com/civicrm/civicrm-core/pull/13093))**
608
609 - **Fix links for tabs on manage event
610 ([13172](https://github.com/civicrm/civicrm-core/pull/13172))**
611
612 ### CiviMail
613
614 - **[dev/core#461](https://lab.civicrm.org/dev/core/issues/461) Duplicate
615 Message template is generated when it is saved through schedule reminder form
616 ([12982](https://github.com/civicrm/civicrm-core/pull/12982))**
617
618 This change fixes a bug where saving a message thru the schedule reminder form
619 would result in duplicate message templates being created so that the message
620 template is only saved once.
621
622 - **[CRM-19751](https://issues.civicrm.org/jira/browse/CRM-19751) Once "multiple
623 bulk" setting, cannot search for opt out or on hold contacts
624 ([12883](https://github.com/civicrm/civicrm-core/pull/12883))**
625
626 This begins work to fix a bug for CiviCRM Instances that have the CiviMail
627 setting "Enable multiple bulk email address for a contact" enabled where
628 searching for contacts using the criteria "Opt Out" or "On Hold" is filtering
629 incorrectly.
630
631 - **[dev/core#448](https://lab.civicrm.org/dev/core/issues/448) When creating a
632 CiviCRM Mailing including a Smart Group, All contacts met by the criteria of
633 the smart group are added. There is no check performed to make sure that
634 contacts removed from the smart group aren't included
635 ([12945](https://github.com/civicrm/civicrm-core/pull/12945))**
636
637 This change ensures that when creating a CiviCRM Mailing including a Smart
638 Group users who have previously un-subscribed from that Smart Group are not
639 included.
640
641 - **[dev/core#443](https://lab.civicrm.org/dev/core/issues/443) Fix Non-static
642 method calls at CRM_Utils_Mail_Incoming class
643 ([12934](https://github.com/civicrm/civicrm-core/pull/12934))**
644
645 This change fixes a strict warning thrown by CRM_Utils_Mail_Incoming for users
646 with a PHP 7.1 set up.
647
648 - **[dev/mail#26](https://lab.civicrm.org/dev/mail/issues/26) getRecipients()
649 appears to use a WHERE clause as an ORDER BY clause
650 ([12765](https://github.com/civicrm/civicrm-core/pull/12765))**
651
652 This change fixes a bug where the order_by for the list of recipients for a
653 mailing was being ignored so that the order by is respected.
654
655 - **[dev/core#357](https://lab.civicrm.org/dev/core/issues/357) Email signature
656 stopped working since ??? 4.6 ??
657 ([12828](https://github.com/civicrm/civicrm-core/pull/12828))**
658
659 This change fixes the Email signature functionality when sending an email.
660
661 - **[dev/core#394](https://lab.civicrm.org/dev/core/issues/394) Wildcards are
662 ignored in some smart group criteria, when the smart group is directly
663 generated for a mailing
664 ([12910](https://github.com/civicrm/civicrm-core/pull/12910))**
665
666 This change ensures that wildcards (like %a%) are respected in smart group
667 criteria when a smart group is being generated for a mailing.
668
669 - **[dev/core#384](https://lab.civicrm.org/dev/core/issues/384) Mobile phone
670 number selection issues with SMS
671 ([12890](https://github.com/civicrm/civicrm-core/pull/12890))**
672
673 This change makes it so one can send SMS using CiviSMS to non primary phones
674 of type "mobile".
675
676 ### CiviMember
677
678 - **[dev/core#166](https://lab.civicrm.org/dev/core/issues/166)
679 updateAllMemberships in memberschip BAO crasches out of memory on large
680 numbers of members
681 ([12306](https://github.com/civicrm/civicrm-core/pull/12306),
682 [12927](https://github.com/civicrm/civicrm-core/pull/12927) and
683 [12918](https://github.com/civicrm/civicrm-core/pull/12918))**
684
685 These changes fix a bug where for databases with large numbers of memberships
686 (the user who reported this problem had 1.3 million memberships) the scheduled task to
687 update membership statuses was crashing with an out of memory error so that
688 databases with large numbers of memberships can run the scheduled task to
689 update membership statuses.
690
691 - **Fix period_type, duration_unit, duration_frequency to be required on
692 membership type form
693 ([13227](https://github.com/civicrm/civicrm-core/pull/13227))**
694
695 These fields had become un-required as a regression in 5.5.
696
697 ### Drupal Integration
698
699 - **Intelligently adjust menubar for D7 toolbar toggle
700 ([12937](https://github.com/civicrm/civicrm-core/pull/12937))**
701
702 This change improves the ui by making the Civi menubar set to 100% minus the
703 width of the toolbar toggle, but only if the toolbar toggle is actually
704 present on the screen. Before this change the menu was set to a width of 97%
705 which was problematic because 97% is a guestimate and some Drupal sites do not
706 use the toolbar module.
707
708 - **Added a path to the drupal8 path candidates to find civicrm.config.php
709 ([12903](https://github.com/civicrm/civicrm-core/pull/12903))**
710
711 This change fixes a bug when running the civibuild command `Civibuild
712 create drup8 --type=drupal8-clean` would result in a fatal error
713 "Failed to locate template for civicrm.config.php" so that Civibuild generates
714 the installation files and goes to the next step.
715
716 - **[CRM-20298](https://issues.civicrm.org/jira/browse/CRM-20298) Drupal Views:
717 Custom fields of type Money should use the same filter operators as Integer
718 fields ([435](https://github.com/civicrm/civicrm-drupal/pull/435))**
719
720 This change makes it so that in Drupal views, civicrm custom fields of type
721 money use the filter operators for Integers (instead of the filter operators
722 for text).
723
724 - **civicrm_handler_field_link_pcp: avoid PHP notice
725 ([547](https://github.com/civicrm/civicrm-drupal/pull/547))**
726
727 This change fixes a php notice thrown by drupal views that use fields that use
728 the handler civicrm_handler_field_link_pcp.
729
730 ### Wordpress Integration
731
732 - **[dev/wordpress#12](https://lab.civicrm.org/dev/wordpress/issues/12) A
733 civicrm shortcode for a contribution page on the homepage results in a "Too
734 many redirects" error instead of the thank you page
735 ([13043](https://github.com/civicrm/civicrm-core/pull/13043))**
736
737 This change fixes a bug where putting a wordpress shortcode on the homepage
738 would result in a too many redirect error instead of the thank you page.
739
740 - **Allow user-defined shortcode components to be rendered
741 ([134](https://github.com/civicrm/civicrm-wordpress/pull/134))**
742
743 This change makes it so that Wordpress plugins and CiviCRM Extensions which
744 define custom components for the [civicrm] shortcode, shortcodes work.
745
746 - **Do not start session when running under WP-CLI
747 ([135](https://github.com/civicrm/civicrm-wordpress/pull/135))**
748
749 This fixes a bug where when running WP-CLI when the Apache user has
750 permissions that the shell user does not would result in a PHP Warning.
751
752 - **Fix WP-CLI class for PHP 7.2
753 ([133](https://github.com/civicrm/civicrm-wordpress/pull/133))**
754
755 This change makes it so one can use WP-CLI in PHP 7.2.
756
757 - **[dev/core#460](https://lab.civicrm.org/dev/core/issues/460) Fix malformed
758 redirect URLs ([12969](https://github.com/civicrm/civicrm-core/pull/12969))**
759
760 This change fixes a bug where malformed redirect URLs were being formed for
761 Wordpress users on event registration and confirmation pages.
762
763 - **[dev/wordpress#12](https://lab.civicrm.org/dev/wordpress/issues/12) A
764 civicrm shortcode for a contribution page on the homepage results in a "Too
765 many redirects" error instead of the thank you page
766 ([13099](https://github.com/civicrm/civicrm-core/pull/13099))**
767
768 This resolves a problem retrieving URL parameters when the URL is URL-encoded,
769 as frequently happens in WordPress.
770
771 ## <a name="misc"></a>Miscellany
772
773 - **Slay dragons ([12495](https://github.com/civicrm/civicrm-core/pull/12495))**
774
775 - **Support CiviTutorial - Fix isAjaxMode to also recognize angular ajax
776 ([12921](https://github.com/civicrm/civicrm-core/pull/12921))**
777
778 - **(NFC) Fix Namespace issue in Api3DocTrait when calling smarty
779 ([13007](https://github.com/civicrm/civicrm-core/pull/13007))**
780
781 - **Export code cleanup and testing enhancements - this is an ongoing cleanup
782 with an end goal of fixing some known bugs
783 ([12586](https://github.com/civicrm/civicrm-core/pull/12586)) and
784 ([12864](https://github.com/civicrm/civicrm-core/pull/12864))**
785
786 - **Coding practices fix - Improve type checking in getContactPhone and use
787 CRM_Utils_Request::r…
788 ([12687](https://github.com/civicrm/civicrm-core/pull/12687))**
789
790 - **Code cleanup on activity api and activity dashboard query
791 ([12994](https://github.com/civicrm/civicrm-core/pull/12994)) and
792 ([12949](https://github.com/civicrm/civicrm-core/pull/12949))**
793
794 - **Code cleanup in api_v3_CaseTest
795 ([12950](https://github.com/civicrm/civicrm-core/pull/12950))**
796
797 - **Code cleanup Membership form - submit status message
798 ([12693](https://github.com/civicrm/civicrm-core/pull/12693)) and tidy up
799 receipt code ([12695](https://github.com/civicrm/civicrm-core/pull/12695))**
800
801 - **Code cleanup and testing on query to generate annual totals
802 ([12810](https://github.com/civicrm/civicrm-core/pull/12810))**
803
804 - **Code cleanup - commenting on dupesInGroup()
805 ([12920](https://github.com/civicrm/civicrm-core/pull/12920))**
806
807 - **Code cleanup - Fix spelling error ("sript" vs "script")
808 ([12912](https://github.com/civicrm/civicrm-core/pull/12912))**
809
810 - **Code cleanup on recurring create action
811 ([12900](https://github.com/civicrm/civicrm-core/pull/12900)) and viewing
812 recurring rcords
813 ([12899](https://github.com/civicrm/civicrm-core/pull/12899))**
814
815 - **Code cleanup (drupal) style fix for contact image handler
816 ([537](https://github.com/civicrm/civicrm-drupal/pull/537))**
817
818 - **Code cleanup (wordpress) Give comments and docblocks some TLC
819 ([137](https://github.com/civicrm/civicrm-wordpress/pull/137))**
820
821 - **Code cleanup Fix comment as hook name was changed
822 ([13009](https://github.com/civicrm/civicrm-core/pull/13009))**
823
824 - **[CRM-21677](https://issues.civicrm.org/jira/browse/CRM-21677) Report code
825 style improvements (no user impact)
826 ([13028](https://github.com/civicrm/civicrm-core/pull/13028),
827 [12922](https://github.com/civicrm/civicrm-core/pull/12922),
828 [12916](https://github.com/civicrm/civicrm-core/pull/12916), and
829 [12892](https://github.com/civicrm/civicrm-core/pull/12892))**
830
831 - **Duplicate upgrade step for 5.7.beta1 in 5.8.alpha1 to capture anyone …
832 ([13033](https://github.com/civicrm/civicrm-core/pull/13033))**
833
834 - **Don't format date twice for RecurringEntity form
835 ([12974](https://github.com/civicrm/civicrm-core/pull/12974))**
836
837 - **Add `ext/` folder to .gitignore
838 ([12905](https://github.com/civicrm/civicrm-core/pull/12905))**
839
840 - **Bring structural consistency to the plugin
841 ([138](https://github.com/civicrm/civicrm-wordpress/pull/138))**
842
843 ## <a name="credits"></a>Credits
844
845 This release was developed by the following code authors:
846
847 AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Alok Patel; Andrei
848 Mondoc; Australian Greens - Seamus Lee; calbasi.net - Joan Cervan Andreu; Caltha
849 - Tomasz Pietrzkowski; CEDC - Laryn Kragt Bakker; Chris Burgess; Christian Wach;
850 CiviCoop - Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk -
851 Yashodha Chaku; Community IT Academy - William Mortada; CompuCorp - Davi
852 Alexandre; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Derek Lewis;
853 Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Ginkgo
854 Street Labs - Frank Gómez; Giovanni Dalmas; Jens Schuppe; JMA Consulting -
855 Monish Deb; John Kingsnorth; Joinery - Allen Shaw; Joost Fock; Ken West;
856 Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
857 Nicol Wistreich; OSSeed Technologies - Madhavi Malgaonkar; Pradeep Nayak;
858 Progressive Technology Project - Jamie McClelland; Skvare - Mark Hanna; Third
859 Sector Design - Michael McAndrew; Wikimedia Foundation - Eileen McNaughton,
860 Elliott Eggleston
861
862 Most authors also reviewed code for this release; in addition, the following
863 reviewers contributed their comments:
864
865 Agileware - Agileware Team; British Humanist Association - Andrew West; Campaign
866 Against Arms Trade - Kirk Jackson; Circle Interactive - Dave Jenkins; CiviFirst
867 - John Kirk; Clairepickle; Clare Marsh; CompuCorp - Jamie Novick; Donald Lobo;
868 iXiam - Vangelis Pantazis; JMA Consulting - Joe Murray; JonScreat; Korlon -
869 Stuart Gaston; Lighthouse Design and Consulting - Brian Shaughnessy; MJCO -
870 Mikey O'Toole; Richard van Oosterhout; sleewok; Tadpole Collective - Kevin
871 Cristiano; Tech To The People - Xavier Dutoit
872
873 ## <a name="feedback"></a>Feedback
874
875 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
876 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
877 and contact `@agh1`.