5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
12 ## <a name="synopsis"></a>Synopsis
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | no |
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? | |
21 | Introduce features? | **yes** |
22 | Fix bugs? | **yes** |
24 ## <a name="features"></a>Features
28 - **Rearrange quick search options
29 ([dev/core#628](https://lab.civicrm.org/dev/core/issues/628):
30 [14441](https://github.com/civicrm/civicrm-core/pull/14441))**
32 This change makes it so that the quicksearch field options can be rearranged.
34 - **Improve formatting for settings checkboxes
35 ([14461](https://github.com/civicrm/civicrm-core/pull/14461) and
36 [14419](https://github.com/civicrm/civicrm-core/pull/14419))**
38 Restyles the checkboxes on the "Display Preferences" screen so they all use
39 the same styling for visual consistency and restyles the Components settings
40 field as a checkbox list instead of it being an AdvMultiSelect element.
42 - **Differentiate smart group from regular group using icon in select2 field
43 (preliminary work for [dev/core#785](https://lab.civicrm.org/dev/core/issues/785):
44 [14416](https://github.com/civicrm/civicrm-core/pull/14416))**
46 Extends the addField() function to support fields of the type `select2` and
49 - **Cleanup & api-ise the dedupe code (preliminary work for
50 [dev/core#982](https://lab.civicrm.org/dev/core/issues/982):
51 [14298](https://github.com/civicrm/civicrm-core/pull/14298))**
53 Adds a dedupe.getstatistics api action.
55 - **Support latest phpunit versions
56 ([dev/core#980](https://lab.civicrm.org/dev/core/issues/980):
57 [14333](https://github.com/civicrm/civicrm-core/pull/14333),
58 [14387](https://github.com/civicrm/civicrm-core/pull/14387),
59 [14279](https://github.com/civicrm/civicrm-core/pull/14279),
60 [14319](https://github.com/civicrm/civicrm-core/pull/14319),
61 [14315](https://github.com/civicrm/civicrm-core/pull/14315),
62 [14421](https://github.com/civicrm/civicrm-core/pull/14421),
63 [14404](https://github.com/civicrm/civicrm-core/pull/14404),
64 [14283](https://github.com/civicrm/civicrm-core/pull/14283) and
65 [14321](https://github.com/civicrm/civicrm-core/pull/14321))**
67 Updates phpunit version support so that the CiviCRM test suite works with
68 phpunit versions 4.8 thru 8. Removes dependency on discontinued dbunit. Moves
69 towards using api functions instead of dbunit.
71 - **Permit sort_name as a url parameter on advanced search
72 ([14475](https://github.com/civicrm/civicrm-core/pull/14475))**
74 Lays the ground work for a metadata based approach to search forms,
75 Specifically for the contact form. It converts one field (sort_name) to be
76 added by metadata and also to be supported via url (sort_name=x).
78 - **Allow updating ENGINE_CONFIG for System.updatelogtables
79 ([14348](https://github.com/civicrm/civicrm-core/pull/14348))**
81 Makes it so users can modify the SQL engine config for log tables thru the
84 - **Use data provider to test both api versions
85 ([14153](https://github.com/civicrm/civicrm-core/pull/14153))**
87 Makes it so 311 v3 tests are converted to also test v4.
89 - **Add Contact.get_merge_conflicts api
90 ([14394](https://github.com/civicrm/civicrm-core/pull/14394))**
92 - **Add api for Dedupe.getduplicates
93 ([14411](https://github.com/civicrm/civicrm-core/pull/14411))**
95 - **Change Activity tag to use select2
96 ([14247](https://github.com/civicrm/civicrm-core/pull/14247))**
100 - **Better support in core for token payment processing (continues work for
101 [dev/core#905](https://lab.civicrm.org/dev/core/issues/905):
102 [14395](https://github.com/civicrm/civicrm-core/pull/14395) and
103 [14343](https://github.com/civicrm/civicrm-core/pull/14343))**
105 Separates `contribution_recur` status_id option group from the `contribution`
106 status_id option group and adds the contribution recur statuses 'Processing'
109 - **Proposal - add cancel_reason field to civicrm_contribution_recur table
110 ([dev/core#830](https://lab.civicrm.org/dev/core/issues/830):
111 [13997](https://github.com/civicrm/civicrm-core/pull/13997))**
113 Adds the `Cancellation Reason` field to the form to cancel recurring
116 - **Add time start date and end date values on page contribution widget ajax
117 response ([dev/core#964](https://lab.civicrm.org/dev/core/issues/964):
118 [14262](https://github.com/civicrm/civicrm-core/pull/14262))**
120 Makes campaign start and end dates available to the campaign widget on a
121 Contribution Page so that one can customize the Campaign widget with options
122 such as "Starts in X days".
124 - **Expose contribution page in Contribution Summary report
125 ([dev/core#959](https://lab.civicrm.org/dev/core/issues/959):
126 [14249](https://github.com/civicrm/civicrm-core/pull/14249))**
128 - **Wrap titles in metadata in ts on payment.create api
129 ([14450](https://github.com/civicrm/civicrm-core/pull/14450))**
131 Improves use of the api v3 explorer for multilingual sites by translating the
132 titlees in the payment create api action.
136 - **Wysiwyg support for i18n event fields
137 ([14384](https://github.com/civicrm/civicrm-core/pull/14384) and
138 [14396](https://github.com/civicrm/civicrm-core/pull/14396))**
140 Adds support for wysiwyg editor in i18n popup for event fields.
142 ## <a name="bugs"></a>Bugs resolved
146 - **[CRM-21832](https://issues.civicrm.org/jira/browse/CRM-21832) Recurring
147 activities don't carry over custom data and tags
148 ([14183](https://github.com/civicrm/civicrm-core/pull/14183))**
150 - **Fix Notice errors caused by l10n rewriting of query so query outputed create
151 view rather than the create table
152 ([dev/translation#26](https://lab.civicrm.org/dev/translation/issues/26):
153 [14152](https://github.com/civicrm/civicrm-core/pull/14152))**
155 Fixes a notice `Undefined property: CRM_Core_DAO::$Create_Table in
156 CRM_Core_DAO::checkConstraintExists()..` when enabling a language in
159 - **Disabling Alphabetical Pager is not respected for events and contribution
160 pages. ([dev/core#705](https://lab.civicrm.org/dev/core/issues/705):
161 [14203](https://github.com/civicrm/civicrm-core/pull/14203))**
163 - **File custom fields cause a fatal error when trying to merge
164 ([dev/core#723](https://lab.civicrm.org/dev/core/issues/723):
165 [14325](https://github.com/civicrm/civicrm-core/pull/14325))**
167 Fixes a fatal error when trying to merge two contacts with the custom fields
170 - **Autogenerated .htaccess is for apache 2.2
171 ([dev/core#913](https://lab.civicrm.org/dev/core/issues/913):
172 [14158](https://github.com/civicrm/civicrm-core/pull/14158))**
174 Updates the auto-generated .htaccess so it no longer gives an internal error
175 for sites on apache 2.4.
177 - **Dedupe screen: single "flip" and multi-selected-flip have no effect
178 ([dev/core#932](https://lab.civicrm.org/dev/core/issues/932):
179 [14195](https://github.com/civicrm/civicrm-core/pull/14195))**
181 This change fixes the dedupe screen flip selected duplicates button so that it
184 - **$this can not be used in static methods
185 ([dev/core#945](https://lab.civicrm.org/dev/core/issues/945):
186 [14217](https://github.com/civicrm/civicrm-core/pull/14217))**
188 Fixes "$this can not be used in static methods" error thrown by
189 getIncompleteImportTables() in CRM/Contact/Import/ImportJob.php
191 - **CiviCRM 5.13.4 - Specified key was too long; max key length is 767 bytes
192 ([dev/core#978](https://lab.civicrm.org/dev/core/issues/978):
193 [14363](https://github.com/civicrm/civicrm-core/pull/14363))**
195 Fixes DB Error: `unknown error` if the system status check if query fails.
197 - **userFrameworkResourceURL gets wrong trailing slash on windows
198 ([dev/core#985](https://lab.civicrm.org/dev/core/issues/985):
199 [14405](https://github.com/civicrm/civicrm-core/pull/14405))**
201 Fixes an issue where addTrailingSlash would generate a \ instead of a '/' on
204 - **Can't set a non-breaking space as Thousands Separator in Administer >
205 Localization settings
206 ([dev/core#994](https://lab.civicrm.org/dev/core/issues/994):
207 [14376](https://github.com/civicrm/civicrm-core/pull/14376))**
209 Removes form rule preventing location separators having more than one
210 character so that one can use a non-breaking space (or other string longer
213 - **Ensure that the oldest creation date is preserved when deduping
214 ([dev/core#996](https://lab.civicrm.org/dev/core/issues/996):
215 [14368](https://github.com/civicrm/civicrm-core/pull/14368))**
217 - **Add CRM_Utils_System::sendResponse(). Fix AssetBuilder's status-code on WP.
218 ([14468](https://github.com/civicrm/civicrm-core/pull/14468))**
220 Ensures that a consistent response is returned across CMS's in regards to
221 Asset Builder URLs. Before this change Wordpress would return a different
222 response then Drupal/Backdrop and E2E Unit tests would fail on Wordpress.
224 - **Fix Exception api to save lower id number as contact 1
225 ([14448](https://github.com/civicrm/civicrm-core/pull/14448))**
227 Improves consistency when deduping contacts.
229 - **Fix Exception to remove result from duplicates
230 ([14447](https://github.com/civicrm/civicrm-core/pull/14447))**
232 Ensures that marking a non-duplicate contact removes them from the cached
235 - **Fix upgrade on participant_register date
236 ([14427](https://github.com/civicrm/civicrm-core/pull/14427))**
238 Fixes conversion routing on participant register date when upgrading to 5.15.
240 - **Misc translation 'ts' fixes
241 ([14467](https://github.com/civicrm/civicrm-core/pull/14467))**
243 Fixes a few places where ts() was used incorrectly so that is used correctly.
245 - **Don't run search when editing smartgroup criteria
246 ([14464](https://github.com/civicrm/civicrm-core/pull/14464))**
248 Ensures that editing smart group criteria does not trigger a search on that
249 smartgroup before the criteria can be viewed.
251 - **Caches - Normalize dependency on php-cache integration-tests
252 ([14423](https://github.com/civicrm/civicrm-core/pull/14423))**
254 - **Add angular-xeditable to angular
255 ([14414](https://github.com/civicrm/civicrm-core/pull/14414))**
257 Add angular xeditable component to our bower_components.
259 - **CRM_Extension_System - Only allow `test.*` extensions during headless
260 testing. Hide from regular users.
261 ([14392](https://github.com/civicrm/civicrm-core/pull/14392))**
263 - **Fix name of cache key column to be all lower case rather than camel case in
264 civicrm_prevnext_cache
265 ([14359](https://github.com/civicrm/civicrm-core/pull/14359))**
267 - **Translation in billingblock.tpl - dropping 'Information' ([14358](https://github.com/civicrm/civicrm-core/pull/14358))**
269 - **Don't apply api3 pre/post processing to api4 actions ([14357](https://github.com/civicrm/civicrm-core/pull/14357))**
271 - **Fix bug where contribution status is mishandled if label is changed ([14352](https://github.com/civicrm/civicrm-core/pull/14352))**
273 - **Remove duplicate line in case BAO ([14345](https://github.com/civicrm/civicrm-core/pull/14345))**
275 - **correct syntax "IS NOT NULL" to get pledge payment count ([13374](https://github.com/civicrm/civicrm-core/pull/13374))**
277 - **Fix fatal error when full group by mysql mode enabled & selecting contacts ([14331](https://github.com/civicrm/civicrm-core/pull/14331))**
279 - **Reduce cache bypasses - do not bypass custom metadata cache in setGroupTree ([14292](https://github.com/civicrm/civicrm-core/pull/14292))**
281 - **Fix legacy IPN endpoint for Drupal (gitlab issue 973) ([14272](https://github.com/civicrm/civicrm-core/pull/14272))**
283 - **Make apiRequst nextId accessible for api4 constructor ([14311](https://github.com/civicrm/civicrm-core/pull/14311))**
285 - **crmRouteBinder - Remove params from url if they equal their defaults ([14211](https://github.com/civicrm/civicrm-core/pull/14211))**
287 - **Fix deprecation notice on manage events page ([14289](https://github.com/civicrm/civicrm-core/pull/14289))**
289 - **Try enabling api4 extension in test suite ([14241](https://github.com/civicrm/civicrm-core/pull/14241))**
291 - **Declare API Key as a protected field for future use ([14274](https://github.com/civicrm/civicrm-core/pull/14274))**
293 - **add developer tab for summary report ([14254](https://github.com/civicrm/civicrm-core/pull/14254))**
295 - **Remove wasteful double-caching of settings metadata ([14259](https://github.com/civicrm/civicrm-core/pull/14259))**
297 - **Fix financial acl permissions to respect check_permissions ([14118](https://github.com/civicrm/civicrm-core/pull/14118))**
299 - **When creating relationship types don't munge names ([14216](https://github.com/civicrm/civicrm-core/pull/14216))**
301 - **Remove broken delete from customGroupCreate ([14239](https://github.com/civicrm/civicrm-core/pull/14239))**
303 - **Remove CIVICRM_TEMP_FORCE_UTF8; deprecate TempTable::setUtf8() ([14004](https://github.com/civicrm/civicrm-core/pull/14004))**
305 - **Pass the RFC 3164 severity level thru to drupal watchdog. ([14185](https://github.com/civicrm/civicrm-core/pull/14185))**
307 - **Stop overriding is_active default when saving new relationship ([14199](https://github.com/civicrm/civicrm-core/pull/14199))**
309 - **contributor-keys file - jira/lab.c.o username fix ([14200](https://github.com/civicrm/civicrm-core/pull/14200))**
311 - **IDE re-format of tools directory ([14177](https://github.com/civicrm/civicrm-core/pull/14177))**
313 - **Enotice fix on creating a smart group ([14180](https://github.com/civicrm/civicrm-core/pull/14180))**
315 - **Don't call session_start() before CMS bootstrap (PHP 7.2 compat) ([14074](https://github.com/civicrm/civicrm-core/pull/14074))**
317 - **Cache/IntegrationTests - Remove. This can be replaced by composer dependency ([255](https://github.com/civicrm/civicrm-packages/pull/255))**
319 - **Get LegacySimpleCacheTest complient with phpunit6+ ([254](https://github.com/civicrm/civicrm-packages/pull/254))**
323 - **Case report showing 1 result
324 ([dev/core#743](https://lab.civicrm.org/dev/core/issues/743):
325 [14082](https://github.com/civicrm/civicrm-core/pull/14082))**
327 Fixes the Case Summary report so that it properly filters on case
330 - **Set title properly on Move/Copy/File on Case popup
331 ([14347](https://github.com/civicrm/civicrm-core/pull/14347))**
333 Ensures when clicking "Move to Case"/"Copy to Case" from the Manage cases
334 activity list the title is set correctly and stays set correctly instead of
335 reverting to "File on Case".
337 - **Closing a case gives a warning notice
338 ([dev/core#896](https://lab.civicrm.org/dev/core/issues/896):
339 [14160](https://github.com/civicrm/civicrm-core/pull/14160))**
341 - **Manage Case search filter "Deleted Activities" no longer working
342 ([dev/core#1022](https://lab.civicrm.org/dev/core/issues/1022):
343 [14445](https://github.com/civicrm/civicrm-core/pull/14445))**
347 - **Bug in storing settings for CiviContribute component
348 ([dev/financial#54](https://lab.civicrm.org/dev/financial/issues/54):
349 [14267](https://github.com/civicrm/civicrm-core/pull/14267))**
351 Ensures deferred revenue settings are respected.
353 - **Changing financial type on a contribution records incorrect financial items
354 ([dev/financial#56](https://lab.civicrm.org/dev/financial/issues/56):
355 [14309](https://github.com/civicrm/civicrm-core/pull/14309))**
357 Fixes a bug where changing the financial type on a contribution record would
358 result in a sales tax row being added regardless of whether sales tax was
361 - **Elavon payment processor seems to no longer accept url encoded emails
362 ([dev/core#966](https://lab.civicrm.org/dev/core/issues/966):
363 [14263](https://github.com/civicrm/civicrm-core/pull/14263))**
365 Fixes payment processing for sites using an Elavon processor.
367 - **Set new inactive statuses as 'Chargeback' does not exist on new installs and
368 that breaks Contributionrecur.create API
369 ([14398](https://github.com/civicrm/civicrm-core/pull/14398))**
371 - **Fix inconsistent handling when searching contribution text fields
372 ([14354](https://github.com/civicrm/civicrm-core/pull/14354))**
376 - **Sorting participants ignored search values.
377 ([dev/core#981](https://lab.civicrm.org/dev/core/issues/981):
378 [14313](https://github.com/civicrm/civicrm-core/pull/14313))**
380 Ensures when searching for participants for a specific event and then sorting
381 the results the search parameters are respected, before this change all
382 participants for all events would be displayed.
384 - **Backoffice participant transfer form does not populate contact reference
385 field ([dev/core#888](https://lab.civicrm.org/dev/core/issues/888):
386 [14102](https://github.com/civicrm/civicrm-core/pull/14102))**
390 - **Deletion of SMS provider caused all scheduled reminders to fail to be sent
391 (begins work for [dev/core#369](https://lab.civicrm.org/dev/core/issues/369):
392 [14266](https://github.com/civicrm/civicrm-core/pull/14266))**
394 Before this change if the Scheduled reminder job was triggered and there were
395 active SMS scheduled reminders for which the SMS Provider has been deleted
396 the job would fail with the message "Provider not known or not provided"
397 and no scheduled reminders would go out this change makes it so the rest of
398 the scheduled reminder will go out.
400 - **E_NOTICE when creating bulk SMS
401 ([dev/core#1023](https://lab.civicrm.org/dev/core/issues/1023):
402 [14449](https://github.com/civicrm/civicrm-core/pull/14449))**
404 Fixes E_NOTICE `Notice: Undefined index: Subject in
405 civicrm_api3_mailing_preview()` when creating bulk SMS.
407 - **"Confirm this subscription" URL generated by MailingEventSubscribe API
408 should always be a front-end
409 URL([dev/core#1005](https://lab.civicrm.org/dev/core/issues/1005):
410 [14389](https://github.com/civicrm/civicrm-core/pull/14389))**
412 Ensures that the "Confirm this subscription" URL included in bulk emails is
413 always a front end URL.
415 - **SMTP help text is misleading - references the wrong admin screen
416 ([dev/core#879](https://lab.civicrm.org/dev/core/issues/879):
417 [14329](https://github.com/civicrm/civicrm-core/pull/14329))**
419 - **[Outbound mail admin form] fix some more notices resulting from recent
420 change ([14433](https://github.com/civicrm/civicrm-core/pull/14433))**
424 - **incorrect capitalization in default Pledges - Acknowledgement message
425 template ([dev/core#1010](https://lab.civicrm.org/dev/core/issues/1010):
426 [14465](https://github.com/civicrm/civicrm-core/pull/14465) and
427 [14469](https://github.com/civicrm/civicrm-core/pull/14469))**
429 Ensures that Pledge acknowledgments use correct capitalization and the
432 ## Drupal Integration
434 - **incorrect Drupal 8 login URL
435 ([dev/core#898]https://lab.civicrm.org/dev/core/issues/898():
436 [14138](https://github.com/civicrm/civicrm-core/pull/14138))**
438 If you create a public contribution page on a Drupal 8 site, it will include a
439 login link for unauthenticated users, with parameters ?destination=... to
440 direct back to the contribution page after login. This link is broken with
441 recent Drupal versions, because it needs to go to /user/login instead of just
444 - **Drupal8: Implement set UF locale/language (affects mailing tokens)
445 ([dev/drupal#19](https://lab.civicrm.org/dev/drupal/issues/19):
446 [14302](https://github.com/civicrm/civicrm-core/pull/14302) and
447 [12152](https://github.com/civicrm/civicrm-core/pull/12152))**
449 Fixes a 500 error when calling the REST API endpoint in Drupal 8 and fixes a
450 bug when using Drupal 8 with a multilingual site where mailing token links
451 were not taking the user to the page in the expected language.
454 ([dev/drupal#68](https://lab.civicrm.org/dev/drupal/issues/68):
455 [14442](https://github.com/civicrm/civicrm-core/pull/14442))**
457 Removes error if Drupal's jQuery is not loaded (if its not needed).
459 ## Joomla Integration
461 - **Fix php warning when viewing profiles
462 ([dev/joomla#11](https://lab.civicrm.org/dev/joomla/issues/11):
463 [14312](https://github.com/civicrm/civicrm-core/pull/14312))**
465 ## <a name="misc"></a>Miscellany
467 - **Remove confusing pass params by ref
468 ([14360](https://github.com/civicrm/civicrm-core/pull/14360))**
470 - **Add EntityPageTrait
471 ([14399](https://github.com/civicrm/civicrm-core/pull/14399))**
473 - **[code-quality] [jcalendar] remove jcalendar usage from
474 participant_register_date on event search
475 ([14330](https://github.com/civicrm/civicrm-core/pull/14330))**
477 - **Deprecate creating recipients from MailingJob.create.
478 ([14097](https://github.com/civicrm/civicrm-core/pull/14097))**
480 - **Fix running of CRM_Utils_MoneyTest on PHPUnit6+
481 ([14424](https://github.com/civicrm/civicrm-core/pull/14424))**
483 - **Switch to calling Payment.create api when processing a refund from
484 AdditionalPayment form
485 ([14317](https://github.com/civicrm/civicrm-core/pull/14317))**
487 - **Updating contact (with no email) via import adding email doesn't set email
488 as primary (adds test for
489 [dev/core#953](https://lab.civicrm.org/dev/core/issues/953):
490 [14225](https://github.com/civicrm/civicrm-core/pull/14225))**
492 - **Cancel first contribution associated to membership, cancels the membership
493 (preliminary work for
494 [dev/core#927](https://lab.civicrm.org/dev/core/issues/927):
495 [14197](https://github.com/civicrm/civicrm-core/pull/14197))**
497 - **Searching for removed contacts in a smart group doesn't work (preliminary
498 work for [dev/core#926](https://lab.civicrm.org/dev/core/issues/926):
499 [14181](https://github.com/civicrm/civicrm-core/pull/14181))**
501 - **When using custom fields for smart group criteria with relative dates the
502 group does not respect the relative date over time (preliminary work for
503 [dev/core#389](https://lab.civicrm.org/dev/core/issues/389)[14401]:
504 (https://github.com/civicrm/civicrm-core/pull/14401) and
505 [14386](https://github.com/civicrm/civicrm-core/pull/14386))**
507 - **Remove instances of $dao->free
508 ([dev/core#562](https://lab.civicrm.org/dev/core/issues/562):
509 [14179](https://github.com/civicrm/civicrm-core/pull/14179))**
511 - **Correct syntax for Get pledge payment count (extend test coverage for
512 [dev/core#627](https://lab.civicrm.org/dev/core/issues/627):
513 [14350](https://github.com/civicrm/civicrm-core/pull/14350))**
515 - **Remove never-called function
516 _civicrm_api3_deprecated_contact_check_custom_params
517 ([14341](https://github.com/civicrm/civicrm-core/pull/14341))**
519 - **Unit test for FGB error in #14331
520 ([14340](https://github.com/civicrm/civicrm-core/pull/14340))**
522 - **Test tweaks that *might* help with intermittant test weirdness
523 ([14458](https://github.com/civicrm/civicrm-core/pull/14458))**
525 - **[TEST SUITE] Remove some use of dbunit from tests
526 ([14271](https://github.com/civicrm/civicrm-core/pull/14271))**
528 - **Test cleanup to remove references to discontinued package dbunit
529 ([14276](https://github.com/civicrm/civicrm-core/pull/14276))**
531 - **[dbunit test] remove dbunit dependency
532 ([14328](https://github.com/civicrm/civicrm-core/pull/14328))**
534 - **Add unit test for merge handling on custom data.
535 ([14310](https://github.com/civicrm/civicrm-core/pull/14310))**
537 - **Fix test / possible live error on submitting credit card renewals
538 ([14316](https://github.com/civicrm/civicrm-core/pull/14316))**
540 - **Update testGetActivityAccessCiviCRMEnough test for clarity
541 ([14226](https://github.com/civicrm/civicrm-core/pull/14226))**
543 - **[REF] Move retrieval of basicSearchFields to 'get' fn
544 ([14476](https://github.com/civicrm/civicrm-core/pull/14476))**
546 - **[REF] Remove input format function from deprecated utils to the only place
547 that calls it ([14342](https://github.com/civicrm/civicrm-core/pull/14342))**
549 - **[REF] extract isLiveMode
550 ([14336](https://github.com/civicrm/civicrm-core/pull/14336))**
552 - **[REF] use generic loadStandardSearchOptionsFromUrl
553 ([14338](https://github.com/civicrm/civicrm-core/pull/14338))**
555 - **[REF] Extract function to get cached duplicate matches
556 ([14324](https://github.com/civicrm/civicrm-core/pull/14324))**
558 - **[REF] minor code re-org
559 ([14318](https://github.com/civicrm/civicrm-core/pull/14318))**
561 - **[REF] Remove extraneous variable
562 ([14261](https://github.com/civicrm/civicrm-core/pull/14261))**
564 - **[REF] Centralize logic for resolving settings pseudoconstants
565 ([14264](https://github.com/civicrm/civicrm-core/pull/14264))**
567 - **[REF] Super Minor code readability fix
568 ([14258](https://github.com/civicrm/civicrm-core/pull/14258))**
570 - **[ref] Move copyCustomFields function from Event to Core_DAO for
571 re-usablibilty ([14171](https://github.com/civicrm/civicrm-core/pull/14171))**
573 - **[ref] Remove reference symbol from 2 variables
574 ([14270](https://github.com/civicrm/civicrm-core/pull/14270))**
576 - **[cleanup] Remove deprecated pattern &CRM_Core_Config::singleton()
577 ([14178](https://github.com/civicrm/civicrm-core/pull/14178))**
579 - **REF Refactor to reduce duplication on payment forms
580 ([14206](https://github.com/civicrm/civicrm-core/pull/14206))**
582 - **[REF+ test] start process of cleaning up payment activity handling
583 ([14198](https://github.com/civicrm/civicrm-core/pull/14198))**
585 - **[REF][Test] Remove call to
586 CRM_Contribute_BAO_Contribution::recordAdditionalPayment in favour of payment
587 create ([14137](https://github.com/civicrm/civicrm-core/pull/14137))**
589 - **[REF+test] clean up code for getting labels for merge screen, stdise
590 ([14260](https://github.com/civicrm/civicrm-core/pull/14260))**
592 - **[REF] Simplify ACL page template
593 ([14288](https://github.com/civicrm/civicrm-core/pull/14288))**
595 - **[REF] Fix pointless use of CRM_Utils_Array::value in Campaign BAO
596 ([14300](https://github.com/civicrm/civicrm-core/pull/14300))**
598 - **[code-cleanup] remove orderBy param from getDuplicatePairs, it is not used
599 ([14297](https://github.com/civicrm/civicrm-core/pull/14297))**
601 - **[REF] extract buildGroupTree function
602 ([14303](https://github.com/civicrm/civicrm-core/pull/14303))**
604 - **[REF] Test class cleanup - Extract function to create nuanced custom fields
605 to a trait ([14301](https://github.com/civicrm/civicrm-core/pull/14301))**
607 - **[REF] Cleanup input & output on paymentActivityCreate & improve test
608 ([14269](https://github.com/civicrm/civicrm-core/pull/14269))**
610 - **[REF] move calculation of migrationInfo into the function that uses it
611 ([14365](https://github.com/civicrm/civicrm-core/pull/14365))**
613 - **[REF] extract buildClause from CRM_Report_Form_Event_Income
614 ([14098](https://github.com/civicrm/civicrm-core/pull/14098))**
616 - **[REF] Activity Summary report - move temp table generation etc from
617 postProcess to buildQuery, remove postProcess, don't skip in unit tests
618 ([14375](https://github.com/civicrm/civicrm-core/pull/14375))**
620 - **[REF] Activity form - very minor tidy up
621 ([14434](https://github.com/civicrm/civicrm-core/pull/14434))**
623 - **[REF] Stop passing cacheKey to refillCache
624 ([14337](https://github.com/civicrm/civicrm-core/pull/14337))**
626 - **[REF] dev/core#998 make processDupes testable & add test
627 ([14370](https://github.com/civicrm/civicrm-core/pull/14370))**
629 - **[REF] Remove reference to 'changePaymentInstrument' from
630 updateFinancialAccounts as never passed in
631 ([14353](https://github.com/civicrm/civicrm-core/pull/14353))**
633 - **[NFC][test-fix] centralise use of assertLike for comparing sql
634 ([14470](https://github.com/civicrm/civicrm-core/pull/14470))**
636 - **[nfc] [test] Skip testGetFromTo on date transition
637 ([14472](https://github.com/civicrm/civicrm-core/pull/14472))**
639 - **[NFC] Fix issue with Job Manager Test giving out a warning
640 ([14327](https://github.com/civicrm/civicrm-core/pull/14327))**
642 - **[NFC] Fix comment block for variable declarations
643 ([14314](https://github.com/civicrm/civicrm-core/pull/14314))**
645 - **(NFC) Update node package versions to latest ones
646 ([14087](https://github.com/civicrm/civicrm-core/pull/14087))**
648 - **[NFC] Update civicrm_generated data file following addition of contriā¦
649 ([14371](https://github.com/civicrm/civicrm-core/pull/14371))**
651 - **(NFC) Remove without param tests
652 ([14454](https://github.com/civicrm/civicrm-core/pull/14454))**
654 - **[NFC] PHPCS fixes.
655 ([14402](https://github.com/civicrm/civicrm-core/pull/14402))**
657 - **[NFC] Update package-lock and civicrm_generated to fix langague issues
658 ([14385](https://github.com/civicrm/civicrm-core/pull/14385))**
660 - **[NFC] phpdoc cleanup
661 ([14335](https://github.com/civicrm/civicrm-core/pull/14335))**
663 - **[NFC] Fix variable types in DAO doc blocks
664 ([14294](https://github.com/civicrm/civicrm-core/pull/14294))**
666 - **[NFC] fix docblock types from boolean to bool
667 ([14296](https://github.com/civicrm/civicrm-core/pull/14296))**
669 - **[NFC] array formatting in CRM_Dedupe_MergerTest
670 ([14273](https://github.com/civicrm/civicrm-core/pull/14273))**
672 - **[NFC] Update Language to be more user friendly when checking logs
673 ([14278](https://github.com/civicrm/civicrm-core/pull/14278))**
675 - **[NFC] array formatting, some comments
676 ([14291](https://github.com/civicrm/civicrm-core/pull/14291))**
678 - **[NFC] fix comment blocks capitalising null
679 ([14306](https://github.com/civicrm/civicrm-core/pull/14306))**
681 - **[NFC] fix more places where var is declared as boolean rather than bool
682 ([14305](https://github.com/civicrm/civicrm-core/pull/14305))**
684 - **[NFC] formatting & comment fixes - Regenerate DAO files
685 ([14304](https://github.com/civicrm/civicrm-core/pull/14304))**
687 - **[NFC] ProfileTest class - formatting & general cleanup
688 ([14282](https://github.com/civicrm/civicrm-core/pull/14282))**
690 - **[NFC] Add trailing comma to pseudoconstant array in DAOs
691 ([14295](https://github.com/civicrm/civicrm-core/pull/14295))**
693 - **[NFC] array formatting in api_v3_paymentTest class
694 ([14451](https://github.com/civicrm/civicrm-core/pull/14451))**
696 - **[NFC] Update Exception DAO class
697 ([14482](https://github.com/civicrm/civicrm-core/pull/14482))**
699 - **[NFC] Further tests tidy up following removing of dbunit
700 ([14344](https://github.com/civicrm/civicrm-core/pull/14344))**
702 - **[NFC] Docblock fixes
703 ([14323](https://github.com/civicrm/civicrm-core/pull/14323))**
705 - **NFC Fix DAO Style issues
706 ([14307](https://github.com/civicrm/civicrm-core/pull/14307))**
708 - **[NFC] reformat UFFieldTest
709 ([14308](https://github.com/civicrm/civicrm-core/pull/14308))**
711 ## <a name="credits"></a>Credits
713 This release was developed by the following code authors:
715 AGH Strategies - Alice Frumin, Andrew Hunt, Eli Lisseck; Agileware - Francis
716 Whittle; Australian Greens - Seamus Lee; Business & Code - Alain Benbassat;
717 Christian Wach; Circle Interactive - Dave Jenkins; CiviCRM - Coleman Watts, Tim
718 Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Samuel
719 Vanhove; Dave D; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas
720 i Bullich; Fuzion - Jitendra Purohit; iXiam - Vangelis Pantazis; JMA Consulting -
721 Monish Deb; Just Hope - Phil Morice Brubaker; Megaphone Technology Consulting -
722 Jon Goldberg; MJW Consulting - Matthew Wire; Onyemenam Ndubuisi; Pradeep
723 Nayak; Progressive Technology Project - Jamie McClelland; Stephen Palmstrom;
724 Wikimedia Foundation - Eileen McNaughton
726 Most authors also reviewed code for this release; in addition, the following
727 reviewers contributed their comments:
729 Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan
730 Dixon; CEDC - Laryn Kragt Bakker; Chris Burgess; CiviCoop - Jaap Jansma;
731 Centrale Organisatie van Voetbal Scheidsrechters (COVS) - Ed van Leeuwen; Fuzion -
732 Luke Stewart; gareth-circle; Greenpeace CEE - Patrick Figel; JMA Consulting -
733 Joe Murray; John Kingsnorth; John Kyle Cronan; Joinery - Allen Shaw; Lighthouse
734 Design and Consulting - Brian Shaughnessy; myDropWizard - David Snopek; Nicol
735 Wistreich; Webstanz - Adelson;
737 ## <a name="feedback"></a>Feedback
739 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
740 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm