LocationType - Use standard delete function which calls hooks
[civicrm-core.git] / release-notes / 5.21.0.md
CommitLineData
f16c9eaa
AH
1# CiviCRM 5.21.0
2
d696c7cb 3Released January 1, 2020
f16c9eaa 4
d696c7cb 5- **[Synopsis](#synopsis)**
f16c9eaa
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
d696c7cb
AH
10- **[Feedback](#feedback)**
11
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
c3be3856
AF
16| Fix security vulnerabilities? | no |
17| **Change the database schema?** | **yes** |
18| **Alter the API?** | **yes** |
19| Require attention to configuration options? | no |
20| Fix problems installing or upgrading to a previous version? | no |
21| **Introduce features?** | **yes** |
22| **Fix bugs?** | **yes** |
f16c9eaa
AH
23
24## <a name="features"></a>Features
25
f16c9eaa
AH
26### Core CiviCRM
27
d1f50c81
AH
28- **Default to 'copy' for non-empty fields on merge screen
29 ([dev/core#1339](https://lab.civicrm.org/dev/core/issues/1339):
30 [15595](https://github.com/civicrm/civicrm-core/pull/15595))**
f16c9eaa 31
d1f50c81
AH
32 This updates the contact merge screen to default to copying data for all
33 non-empty fields. This change makes it easier to keep too much data but harder
34 to lose some.
f16c9eaa 35
c3be3856
AF
36- **Performance issue when exporting to CSV from reports with custom fields
37 ([dev/report#19](https://lab.civicrm.org/dev/report/issues/19):
38 [15248](https://github.com/civicrm/civicrm-core/pull/15248))**
f16c9eaa 39
c3be3856 40 Performance improvements when exporting a report to CSV.
f16c9eaa 41
c3be3856
AF
42- **Memory error on creating large pdfs
43 ([dev/core#574](https://lab.civicrm.org/dev/core/issues/574):
44 [13232](https://github.com/civicrm/civicrm-core/pull/13232))**
f16c9eaa 45
c3be3856 46 Improves performance when creating PDFs.
f16c9eaa 47
c3be3856
AF
48- **Update Country list: change Macedonia, Republic of into North Macedonia
49 ([dev/core#1166](https://lab.civicrm.org/dev/core/issues/1166):
50 [15997](https://github.com/civicrm/civicrm-core/pull/15997))**
f16c9eaa 51
c3be3856
AF
52 Updates the name of "Macedonia, Republic of" to "North Macedonia" in
53 accordance with the iso 3166-1 list.
f16c9eaa 54
c3be3856
AF
55- **Tagsets should display vertically in activity/new case forms
56 ([dev/core#1346](https://lab.civicrm.org/dev/core/issues/1346):
57 [15649](https://github.com/civicrm/civicrm-core/pull/15649))**
f16c9eaa 58
c3be3856
AF
59 Improves the User interface of the "New Activity" and "New Case" forms by
60 displaying the tag fields vertically instead of horizontally.
f16c9eaa 61
c3be3856
AF
62- **Make utf8mb4 status check language more for the general consumer
63 ([15946](https://github.com/civicrm/civicrm-core/pull/15946))**
f16c9eaa 64
c3be3856
AF
65 This alters the language on the utf8mb4 status check so that it is a bit more
66 general in nature and hopefully easier to digest for end users.
f16c9eaa 67
c3be3856 68- **Include Metadata on advanced search form for membership, grant, pledge,
d1f50c81
AH
69 contribution, and case fields
70 ([15936](https://github.com/civicrm/civicrm-core/pull/15936),
71 [15785](https://github.com/civicrm/civicrm-core/pull/15785), and
72 [15928](https://github.com/civicrm/civicrm-core/pull/15928))**
73
74 You can now set URL parameters for additional fields like
75 `membership_join_date` and `pledge_payment_start_date` to pre-filter results
76 on the advanced search form.
77
78- **Fix activity search to work by url params
79 ([15990](https://github.com/civicrm/civicrm-core/pull/15990))**
f16c9eaa 80
d1f50c81
AH
81 You can now set URL parameters like `activity_date_time_high` to pre-filter
82 results on the activity search form.
f16c9eaa 83
c3be3856
AF
84- **Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception
85 (Work towards [dev/core#560](https://lab.civicrm.org/dev/core/issues/560):
86 [15903](https://github.com/civicrm/civicrm-core/pull/15903),
87 [15770](https://github.com/civicrm/civicrm-core/pull/15770),
88 [15941](https://github.com/civicrm/civicrm-core/pull/15941),
89 [15775](https://github.com/civicrm/civicrm-core/pull/15775) and
90 [15822](https://github.com/civicrm/civicrm-core/pull/15822))**
f16c9eaa 91
c3be3856 92 Work towards throwing exceptions instead of fatal errors.
f16c9eaa 93
c3be3856
AF
94- **Remove background opacity in menus; improving accessibility/readability
95 ([15847](https://github.com/civicrm/civicrm-core/pull/15847))**
f16c9eaa 96
d1f50c81 97 The CiviCRM menu is now opaque to improve readability.
f16c9eaa 98
c3be3856
AF
99- **Improve datePicker placeholder/icons
100 ([15848](https://github.com/civicrm/civicrm-core/pull/15848))**
f16c9eaa 101
c3be3856 102 Small tweaks to the datepicker widget to improve flexibility & consistency.
f16c9eaa 103
c3be3856
AF
104- **modified shared address note under contact dashboard
105 ([15666](https://github.com/civicrm/civicrm-core/pull/15666) and
106 [15769](https://github.com/civicrm/civicrm-core/pull/15769))**
f16c9eaa 107
c3be3856
AF
108 Improves the note below the Shared Address field to include a link to the
109 contact that the address lives on to make it easier for get to the shared
110 address to edit it.
f16c9eaa 111
c3be3856
AF
112- **Grant in Edit mode doesn't show the associated contact and standardize all
113 screens accordingly. (Work Towards
114 [dev/core#1065](https://lab.civicrm.org/dev/core/issues/1065):
115 [15757](https://github.com/civicrm/civicrm-core/pull/15757),
116 [15833](https://github.com/civicrm/civicrm-core/pull/15833) and
117 [15840](https://github.com/civicrm/civicrm-core/pull/15840))**
f16c9eaa 118
d1f50c81
AH
119 This standardizes edit screens for participant, grant, and membership records
120 to ensure that a clickable link to the associated contact is included in a
121 consistent way.
f16c9eaa 122
d1f50c81
AH
123- **Temporary tables should follow consistent naming convention (Work Towards
124 [dev/core#183](https://lab.civicrm.org/dev/core/issues/183):
125 [15795](https://github.com/civicrm/civicrm-core/pull/15795),
126 [15798](https://github.com/civicrm/civicrm-core/pull/15798),
127 [15819](https://github.com/civicrm/civicrm-core/pull/15819),
128 [15793](https://github.com/civicrm/civicrm-core/pull/15793),
129 [15792](https://github.com/civicrm/civicrm-core/pull/15792),
130 [15874](https://github.com/civicrm/civicrm-core/pull/15874),
131 [15821](https://github.com/civicrm/civicrm-core/pull/15821),
132 [15823](https://github.com/civicrm/civicrm-core/pull/15823),
133 [15826](https://github.com/civicrm/civicrm-core/pull/15826),
134 [15820](https://github.com/civicrm/civicrm-core/pull/15820),
135 [15825](https://github.com/civicrm/civicrm-core/pull/15825),
136 [15876](https://github.com/civicrm/civicrm-core/pull/15876), and
137 [16155](https://github.com/civicrm/civicrm-core/pull/16155))**
f16c9eaa 138
d1f50c81 139 Begins work to enforce a common naming convention for temporary tables.
f16c9eaa 140
c3be3856 141### CiviContribute
f16c9eaa 142
c3be3856
AF
143- **Develop getter & setter structure for Payment classes (Work Towards
144 [dev/financial#82](https://lab.civicrm.org/dev/financial/issues/82):
8e2480de
AH
145 [15697](https://github.com/civicrm/civicrm-core/pull/15697),
146 [16052](https://github.com/civicrm/civicrm-core/pull/16052),
147 [16060](https://github.com/civicrm/civicrm-core/pull/16060), and
148 [16081](https://github.com/civicrm/civicrm-core/pull/16081))**
f16c9eaa 149
8e2480de
AH
150 This PR adds a new class, `Civi\Payment\PropertyBag` which is designed to
151 offer a consistent object for holding payment parameters as they are sent to
152 and from payment processors. For now, the legacy array of parameters is still
153 valid, so this will not have much immediate impact, but it lays the groundwork
154 for future work.
f16c9eaa 155
c3be3856
AF
156- **Always display amount paid even if it is 0.00. Blank looks like it's missing
157 data rather than nothing paid
158 ([16021](https://github.com/civicrm/civicrm-core/pull/16021))**
f16c9eaa 159
c3be3856
AF
160 This improves user experience by displaying contributions of 0 as 0 instead
161 of blank.
f16c9eaa 162
c3be3856 163### CiviMail
f16c9eaa 164
c3be3856
AF
165- **CiviMail - Only display "Headers and Footers" if there are headers and
166 footers ([15326](https://github.com/civicrm/civicrm-core/pull/15326))**
f16c9eaa 167
c3be3856
AF
168 Makes it so when creating a CiviMail Mailing the "Headers and Footers" tab
169 only displays if there are Headers and/or Footers configured on the site.
f16c9eaa 170
c3be3856 171### Drupal Integration
f16c9eaa 172
c3be3856
AF
173- **Add participant is_test field to views
174 ([590](https://github.com/civicrm/civicrm-drupal/pull/590))**
f16c9eaa 175
c3be3856 176 Makes the Participant `is_test` field available in views.
f16c9eaa 177
c3be3856 178### PayPal Implementation
f16c9eaa 179
c3be3856
AF
180- **PayPalImpl: Add SOLUTIONTYPE parameter that triggers allowing to pay without
181 having to create a paypal account.
182 ([15523](https://github.com/civicrm/civicrm-core/pull/15523))**
f16c9eaa 183
c3be3856
AF
184 Adds a `SOLUTIONTYPE` parameter to the PayPal checkout values so that one can
185 make a contribution without having to create an account.
f16c9eaa 186
c3be3856 187## <a name="bugs"></a>Bugs resolved
f16c9eaa 188
c3be3856 189### Core CiviCRM
f16c9eaa 190
8e2480de
AH
191- **CiviCRM Option Group with a name containing spaces cannot have any options
192 added, error message is shown also impacts the in-place option editor
193 ([dev/core#1405](https://lab.civicrm.org/dev/core/issues/1405) and
194 [dev/core#1447](https://lab.civicrm.org/dev/core/issues/1447):
195 [15937](https://github.com/civicrm/civicrm-core/pull/15937) and
196 [16033](https://github.com/civicrm/civicrm-core/pull/16033))**
197
198 Option group names are no longer exposed for editing, as they are now
199 automatically generated from the title. On upgrade, existing option group
200 names that contain spaces will be rewritten. *Extensions that provide or rely
201 upon option group names that contain spaces will need to be rewritten.*
202
203 Upon upgrade, if rewriting an option group name will duplicate another option
204 group's name, that option group will be skipped and a post-upgrade message
205 will show the details.
206
d1f50c81
AH
207- **Quicksearch with phone filter doesn't work with non-numeric character
208 ([dev/core#1420](https://lab.civicrm.org/dev/core/issues/1420):
209 [15955](https://github.com/civicrm/civicrm-core/pull/15955))**
f16c9eaa 210
c3be3856
AF
211- **Option to open navigation item in new window (if present)
212 ([dev/core#1398](https://lab.civicrm.org/dev/core/issues/1398):
213 [15861](https://github.com/civicrm/civicrm-core/pull/15861))**
f16c9eaa 214
d1f50c81
AH
215 Ensures the target attribute is respected for menu items that are added using
216 the navigationMenu hook.
f16c9eaa 217
c3be3856
AF
218- **CIVI-SA-2019-21 may lead to regressions when following typehints on
219 CRM_Core_BAO_Setting::setItem() (Work Towards
220 [dev/core#1425](https://lab.civicrm.org/dev/core/issues/1425):
221 [15981](https://github.com/civicrm/civicrm-core/pull/15981),
222 [15988](https://github.com/civicrm/civicrm-core/pull/15988) and
223 [15980](https://github.com/civicrm/civicrm-core/pull/15980))**
f16c9eaa 224
c3be3856
AF
225 Removes a misleading PHPDoc type hint for the `$value` parameter in
226 `CRM_Core_BAO_Setting::setItem()` and updates tests that use this function.
f16c9eaa 227
c3be3856
AF
228- **Only add in the metadata for advanced search if user has access to the
229 relevant component
230 ([15987](https://github.com/civicrm/civicrm-core/pull/15987))**
f16c9eaa 231
c3be3856
AF
232 Ensures the user has access to the relevant component before adding metadata
233 for that component to the advanced search form.
f16c9eaa 234
c3be3856
AF
235- **Fix api explorer formatting IS NULL clauses
236 ([15817](https://github.com/civicrm/civicrm-core/pull/15817))**
f16c9eaa 237
c3be3856
AF
238 Fixes a formatting issue in the api explorer output where IS NULL and IS NOT
239 NULL clauses would output invalid code due to the missing value piece of the
240 clause.
f16c9eaa 241
c3be3856
AF
242- **Add in translation function around newly converted statusBounce messages
243 ([15774](https://github.com/civicrm/civicrm-core/pull/15774))**
f16c9eaa 244
c3be3856
AF
245- **Fix cachekey string
246 ([15761](https://github.com/civicrm/civicrm-core/pull/15761))**
f16c9eaa 247
c3be3856
AF
248 Fixes an obscure bug where no custom fields were being returned when doing a
249 Contact.get api call with check_permissions=0.
f16c9eaa 250
c3be3856
AF
251- **Fix potential test glitch when repeatedly calling createLoggedInUser
252 ([15965](https://github.com/civicrm/civicrm-core/pull/15965))**
f16c9eaa 253
d1f50c81
AH
254- **Ensure that when sorting on columns in the find activity search the arrow
255 shows which field is being sorted and direction
c3be3856 256 ([15943](https://github.com/civicrm/civicrm-core/pull/15943))**
f16c9eaa 257
c3be3856
AF
258- **translate strings
259 ([15858](https://github.com/civicrm/civicrm-core/pull/15858))**
f16c9eaa 260
d1f50c81
AH
261 Some text in the extension manager was not wrapped in a translation function.
262
c3be3856
AF
263- **Filter contact sub-type by "is not one of" fails
264 ([dev/report#23](https://lab.civicrm.org/dev/report/issues/23):
265 [15971](https://github.com/civicrm/civicrm-core/pull/15971))**
f16c9eaa 266
8e2480de
AH
267- **Trying to edit the settings for a reserved option group gives a network
268 error can't connect to server
269 ([dev/core#1477](https://lab.civicrm.org/dev/core/issues/1477):
270 [16107](https://github.com/civicrm/civicrm-core/pull/16107))**
271
272### CiviCampaign
273
274- **Activities not visible if they have a campaign_id & contact does not have
275 'administer CiviCampaign'
276 ([dev/core#1444](https://lab.civicrm.org/dev/core/issues/1444):
277 [16057](https://github.com/civicrm/civicrm-core/pull/16057))**
278
c3be3856 279### CiviCase
f16c9eaa 280
c3be3856
AF
281- **Case Activities Report includes core activities *always*
282 ([dev/core#1366](https://lab.civicrm.org/dev/core/issues/1366):
283 [15882](https://github.com/civicrm/civicrm-core/pull/15882) and
284 [15877](https://github.com/civicrm/civicrm-core/pull/15877))**
f16c9eaa 285
d1f50c81
AH
286- **Case search with force URL parameters gives php warning
287 ([dev/core#1410](https://lab.civicrm.org/dev/core/issues/1410) and
288 [dev/core#1414](https://lab.civicrm.org/dev/core/issues/1414):
289 [15920](https://github.com/civicrm/civicrm-core/pull/15920) and
c3be3856 290 [15924](https://github.com/civicrm/civicrm-core/pull/15924))**
f16c9eaa 291
c3be3856
AF
292- **CiviCase - Make static function `allActivityTypes()` static
293 ([15839](https://github.com/civicrm/civicrm-core/pull/15839))**
f16c9eaa 294
c3be3856 295### CiviContribute
f16c9eaa 296
c3be3856
AF
297- **Membership form permits creating invalid transactions
298 ([dev/financial#100](https://lab.civicrm.org/dev/financial/issues/100):
299 [15771](https://github.com/civicrm/civicrm-core/pull/15771))**
f16c9eaa 300
8e2480de
AH
301 To avoid users accidentally setting invalid statuses, this removes the
302 statuses "Partially Paid", "Cancelled", and "Failed" from the `Payment Status`
303 field when recording a payment for a Contribution related to a Membership.
c3be3856
AF
304 Additionally, removes the statuses "Partially Paid", "Overdue" and "In
305 Progress" from the `Payment Status` field when recording a payment for a
306 Contribution related to an Event.
f16c9eaa 307
8e2480de
AH
308- **hook_civicrm_post() implementation results in DB Error: already exists for
309 custom field values
310 ([dev/core#1443](https://lab.civicrm.org/dev/core/issues/1443):
311 [16061](https://github.com/civicrm/civicrm-core/pull/16061))**
312
313 The post hook is invoked after storing custom values when adding contributions.
314
d1f50c81
AH
315- **Lybunt report - remove broken chart functionality
316 ([dev/core#523](https://lab.civicrm.org/dev/core/issues/523):
317 [15989](https://github.com/civicrm/civicrm-core/pull/15989))**
318
319 Fixes the LYBUNT charts.
320
321- **allow PCP report to filter on contribution status
322 ([16024](https://github.com/civicrm/civicrm-core/pull/16024))**
323
324 The PCP report template lists all personal campaign pages with the total
325 number of contributions made against each PCP page and the total amount
326 raised. Before this change the report had no filter for Contribution Status,
327 so canceled contributions were showing and throwing off the totals. There is
328 now a filter for contribution status allowing users to filter this list as
329 they wish.
330
c3be3856
AF
331- **Fix api Payment.create to support overpayments
332 ([15909](https://github.com/civicrm/civicrm-core/pull/15909))**
f16c9eaa 333
d1f50c81
AH
334 Payments made to already paid-up contributions no longer result in an error.
335 The payment continues to be "Completed" and no related entities are updated.
336
c3be3856 337### CiviEvent
f16c9eaa 338
c3be3856 339- **Fix Participant Search in force mode to support query parameters in URL
d1f50c81
AH
340 ([15791](https://github.com/civicrm/civicrm-core/pull/15791) and
341 [15807](https://github.com/civicrm/civicrm-core/pull/15807))**
342
343- **Move greeting handling up as it is not paymentValidation dependent
344 ([15904](https://github.com/civicrm/civicrm-core/pull/15904))**
f16c9eaa 345
d1f50c81
AH
346 Validation of greetings on the frontend event registration form is no longer
347 conditional on processing a payment.
348
349- **Remove nbsp from UserDashboard Event section
350 ([15880](https://github.com/civicrm/civicrm-core/pull/15880))**
f16c9eaa 351
c3be3856 352### CiviMail
f16c9eaa 353
c3be3856
AF
354- **DB error in Mail Clickthroughs bar chart display
355 ([dev/core#1434](https://lab.civicrm.org/dev/core/issues/1434):
356 [16000](https://github.com/civicrm/civicrm-core/pull/16000))**
f16c9eaa 357
c3be3856 358 Fixes the bar chart view on the Mail Clickthroughs report.
f16c9eaa 359
c3be3856
AF
360- **Unsubscribe broken if mailing sent to previous mailing recipients with an
361 excluded group ([dev/core#1108](https://lab.civicrm.org/dev/core/issues/1108):
362 [15815](https://github.com/civicrm/civicrm-core/pull/15815))**
f16c9eaa 363
d1f50c81
AH
364### CiviMember
365
366- **Search builder error on Membership source field.
367 ([dev/core#1390](https://lab.civicrm.org/dev/core/issues/1390):
368 [15845](https://github.com/civicrm/civicrm-core/pull/15845))**
369
370 Fixes an error: "DB error: syntax error" when adding "Membership Source" on
371 the search builder screen.
372
c3be3856 373### Drupal Integration
f16c9eaa 374
c3be3856
AF
375- **Implement drupal_get_user_timezone()
376 ([15794](https://github.com/civicrm/civicrm-core/pull/15794))**
f16c9eaa 377
c3be3856
AF
378 Ensures that the timezone is set using the drupal timezone on Contributions
379 made by anonymous users (Drupal 8).
f16c9eaa 380
c3be3856 381### Joomla Integration
f16c9eaa 382
c3be3856
AF
383- **New Accessible Menu Color Picker display issue on Joomla
384 ([dev/core#874](https://lab.civicrm.org/dev/core/issues/874):
385 [15945](https://github.com/civicrm/civicrm-core/pull/15945))**
f16c9eaa 386
c3be3856
AF
387 Fixes the display of the menubar color picker on Joomla so it looks more like
388 the other CMSes.
f16c9eaa 389
c3be3856 390## <a name="misc"></a>Miscellany
f16c9eaa 391
c3be3856
AF
392- **Field metadata cleanup: Contact & Activity & Custom
393 ([15818](https://github.com/civicrm/civicrm-core/pull/15818))**
f16c9eaa 394
c3be3856
AF
395- **Create a GitLab general issue template
396 ([15665](https://github.com/civicrm/civicrm-core/pull/15665))**
f16c9eaa 397
c3be3856
AF
398- **Don't pass \$input to completeOrder by reference - return values are never
399 used ([15699](https://github.com/civicrm/civicrm-core/pull/15699))**
f16c9eaa 400
c3be3856
AF
401- **Fix incorrect reference on extracted function
402 ([15865](https://github.com/civicrm/civicrm-core/pull/15865))**
f16c9eaa 403
c3be3856
AF
404- **Add $params type declaration to global API functions.
405 ([15852](https://github.com/civicrm/civicrm-core/pull/15852))**
f16c9eaa 406
c3be3856
AF
407- **Add string type declarations to global API functions.
408 ([15864](https://github.com/civicrm/civicrm-core/pull/15864))**
f16c9eaa 409
c3be3856
AF
410- **Convert fee selection test to use Order api
411 ([15812](https://github.com/civicrm/civicrm-core/pull/15812))**
f16c9eaa 412
c3be3856
AF
413- **Fix CRM_Contribute_BAO_ContributionTest to no longer use unreliable legacy
414 set up method ([15905](https://github.com/civicrm/civicrm-core/pull/15905))**
f16c9eaa 415
c3be3856
AF
416- **Sort CMS Database Table list
417 ([15944](https://github.com/civicrm/civicrm-core/pull/15944))**
f16c9eaa 418
c3be3856
AF
419- **Rename activity search field from status_id to activity_status_id
420 ([15947](https://github.com/civicrm/civicrm-core/pull/15947))**
f16c9eaa 421
c3be3856
AF
422- **CSV Export: Add deprecation warning
423 ([15951](https://github.com/civicrm/civicrm-core/pull/15951))**
f16c9eaa 424
c3be3856
AF
425- **Remove CRM_Contact_Form_Search_Custom_Basic from searches added on install.
426 ([15979](https://github.com/civicrm/civicrm-core/pull/15979))**
f16c9eaa 427
c3be3856
AF
428- **Add import & export metadata to activity.priority_id
429 ([15993](https://github.com/civicrm/civicrm-core/pull/15993))**
f16c9eaa 430
c3be3856
AF
431- **Too many dead people in sample data
432 ([dev/core#1329](https://lab.civicrm.org/dev/core/issues/1329):
433 [15967](https://github.com/civicrm/civicrm-core/pull/15967))**
f16c9eaa 434
c3be3856
AF
435- **Update dompdf (0.8.0=>0.8.3) & dependencies
436 ([15739](https://github.com/civicrm/civicrm-core/pull/15739))**
f16c9eaa 437
c3be3856
AF
438- **Upgrade ui-sortable angular library to v0.19.0
439 ([15868](https://github.com/civicrm/civicrm-core/pull/15868))**
f16c9eaa 440
c3be3856
AF
441- **Remove unused parameter
442 ([15953](https://github.com/civicrm/civicrm-core/pull/15953))**
f16c9eaa 443
c3be3856
AF
444- **Remove unused variables in completeOrder()
445 ([15841](https://github.com/civicrm/civicrm-core/pull/15841))**
f16c9eaa 446
c3be3856
AF
447- **Make else statement more legible
448 ([15974](https://github.com/civicrm/civicrm-core/pull/15974))**
f16c9eaa 449
c3be3856
AF
450- **Code style, remove typo, double ;; from code where it makes sense to do so
451 ([16001](https://github.com/civicrm/civicrm-core/pull/16001))**
f16c9eaa 452
c3be3856
AF
453- **Remove obsolete warning
454 ([15786](https://github.com/civicrm/civicrm-core/pull/15786))**
f16c9eaa 455
c3be3856
AF
456- **Remove calls to deprecated pseudoconstant activityType, test
457 ([15995](https://github.com/civicrm/civicrm-core/pull/15995))**
f16c9eaa 458
c3be3856
AF
459- **Remove unused cancelledStatus assign on contributionView
460 ([16019](https://github.com/civicrm/civicrm-core/pull/16019))**
f16c9eaa 461
c3be3856
AF
462- **Remove join to civicrm_option_value in favour of using getLabel funct…
463 ([15734](https://github.com/civicrm/civicrm-core/pull/15734))**
f16c9eaa 464
c3be3856
AF
465- **Remove unused functions
466 ([15956](https://github.com/civicrm/civicrm-core/pull/15956))**
f16c9eaa 467
c3be3856
AF
468- **Remove unused parameter recur from CompleteOrder signature
469 ([15800](https://github.com/civicrm/civicrm-core/pull/15800))**
f16c9eaa 470
c3be3856
AF
471- **[REF] minor refactor - move handling of 'skipMerge' to the skipMerge
472 function ([15828](https://github.com/civicrm/civicrm-core/pull/15828))**
f16c9eaa 473
c3be3856
AF
474- **[REF] refactor on nasty Dedupe function
475 ([15830](https://github.com/civicrm/civicrm-core/pull/15830))**
f16c9eaa 476
c3be3856
AF
477- **[REF] calculate 'amount' on ContributionPage in a shared way in one scenario
478 ([15810](https://github.com/civicrm/civicrm-core/pull/15810))**
f16c9eaa 479
c3be3856
AF
480- **[REF] XMLProcessor/Report - Extract method to make it more testable
481 ([15838](https://github.com/civicrm/civicrm-core/pull/15838))**
f16c9eaa 482
c3be3856
AF
483- **[REF] very minor tidy up
484 ([15756](https://github.com/civicrm/civicrm-core/pull/15756))**
f16c9eaa 485
c3be3856
AF
486- **[REF] remove another unnecessary pass-by-reference
487 ([15902](https://github.com/civicrm/civicrm-core/pull/15902))**
f16c9eaa 488
c3be3856
AF
489- **[REF] Convert CRM_Core_Error::fatal to CRM_Core_Error::statusBounce i…
490 ([15863](https://github.com/civicrm/civicrm-core/pull/15863))**
f16c9eaa 491
c3be3856
AF
492- **[REF] CSV Export: Remove impossible checks on var
493 ([15954](https://github.com/civicrm/civicrm-core/pull/15954))**
f16c9eaa 494
c3be3856
AF
495- **[REF] Further cleanup on address handling in merge code.
496 ([15950](https://github.com/civicrm/civicrm-core/pull/15950))**
f16c9eaa 497
c3be3856
AF
498- **[REF] Move CRM_Event_Form_EventFees::buildQuickForm to Participant_Form
499 class ([15871](https://github.com/civicrm/civicrm-core/pull/15871))**
f16c9eaa 500
c3be3856
AF
501- **[REF] Minor simplifcation on initSet
502 ([15870](https://github.com/civicrm/civicrm-core/pull/15870))**
f16c9eaa 503
c3be3856
AF
504- **[REF] remove unused lines of code
505 ([15869](https://github.com/civicrm/civicrm-core/pull/15869))**
f16c9eaa 506
c3be3856
AF
507- **[REF] Standardise the Grant Search form handling
508 ([15931](https://github.com/civicrm/civicrm-core/pull/15931))**
f16c9eaa 509
c3be3856
AF
510- **[REF] further removal of unnecessary params
511 ([15901](https://github.com/civicrm/civicrm-core/pull/15901))**
f16c9eaa 512
c3be3856
AF
513- **[REF] Remove unused parameter
514 ([15960](https://github.com/civicrm/civicrm-core/pull/15960))**
f16c9eaa 515
c3be3856
AF
516- **[REF] clean up merge array.
517 ([15970](https://github.com/civicrm/civicrm-core/pull/15970))**
f16c9eaa 518
c3be3856
AF
519- **[REF] replace copy & paste with shared getSortID function.
520 ([15783](https://github.com/civicrm/civicrm-core/pull/15783))**
f16c9eaa 521
c3be3856
AF
522- **[REF] return determination of whether to show expired fields to the calling
523 function ([15934](https://github.com/civicrm/civicrm-core/pull/15934))**
f16c9eaa 524
c3be3856
AF
525- **[REF] Minor code cleanup on the setting of contact greetings.
526 ([15949](https://github.com/civicrm/civicrm-core/pull/15949))**
f16c9eaa 527
c3be3856
AF
528- **[REF] Standardise form handling in the Find Pledges search form
529 ([15930](https://github.com/civicrm/civicrm-core/pull/15930))**
f16c9eaa 530
c3be3856
AF
531- **[REF] Add setSearchMetadata to each of the classes that extend
532 CRM_Core_Form_Search
533 ([15806](https://github.com/civicrm/civicrm-core/pull/15806))**
f16c9eaa 534
c3be3856
AF
535- **[REF] extract setDeprecatedDefaults
536 ([15805](https://github.com/civicrm/civicrm-core/pull/15805))**
f16c9eaa 537
c3be3856
AF
538- **Add unit test for searching by participant_status_id & switch to generic
539 function ([15803](https://github.com/civicrm/civicrm-core/pull/15803))**
f16c9eaa 540
c3be3856
AF
541- **Add testing for various params that pass through
542 Contact_BAO_Query::optionValueQuery
543 ([15996](https://github.com/civicrm/civicrm-core/pull/15996))**
f16c9eaa 544
c3be3856
AF
545- **Fix CRM/Event/BAO/AdditionalPaymentTest.php to use Order.create
546 ([15813](https://github.com/civicrm/civicrm-core/pull/15813))**
f16c9eaa 547
c3be3856
AF
548- **Test fixes - addresses more invalid setup data
549 ([15802](https://github.com/civicrm/civicrm-core/pull/15802))**
f16c9eaa 550
c3be3856
AF
551- **FinancialTrxnTest - Fix unit test to be 'legit'
552 ([15799](https://github.com/civicrm/civicrm-core/pull/15799))**
f16c9eaa 553
c3be3856
AF
554- **[Test] Remove hard coded it reference
555 ([15906](https://github.com/civicrm/civicrm-core/pull/15906))**
f16c9eaa 556
c3be3856
AF
557- **[Test] fix test setup on ANet tests
558 ([15908](https://github.com/civicrm/civicrm-core/pull/15908))**
f16c9eaa 559
c3be3856
AF
560- **CiviCaseTestCase setup() can make duplicate activity type option values
561 (Test for [dev/core#1394](https://lab.civicrm.org/dev/core/issues/1394):
562 [15853](https://github.com/civicrm/civicrm-core/pull/15853))**
f16c9eaa 563
c3be3856
AF
564- **[NFC] Add in unit test of code being altered by #15826
565 ([15849](https://github.com/civicrm/civicrm-core/pull/15849))**
f16c9eaa 566
c3be3856
AF
567- **[NFC] [Test] Minor test cleanup on CiviMailUtils
568 ([15907](https://github.com/civicrm/civicrm-core/pull/15907))**
f16c9eaa 569
c3be3856
AF
570- **(NFC) api_v3_ExtensionTest - Fix when executing on build with 25+ extensions
571 ([15892](https://github.com/civicrm/civicrm-core/pull/15892))**
f16c9eaa 572
c3be3856
AF
573- **[NFC] [Test-only] Remove partially paid from statuses tested for
574 RenewContribution
575 ([15866](https://github.com/civicrm/civicrm-core/pull/15866))**
f16c9eaa 576
c3be3856
AF
577- **[NFC] Test fix - incorrect records created due to test set up using
578 PartiallyPaid when no payment is made
579 ([15854](https://github.com/civicrm/civicrm-core/pull/15854))**
f16c9eaa 580
c3be3856
AF
581- **[NFC] Update composer lockfile to remove warning
582 ([15886](https://github.com/civicrm/civicrm-core/pull/15886))**
f16c9eaa 583
c3be3856
AF
584- **[NFC] Cleanup comments, string comparison in grant search
585 ([15983](https://github.com/civicrm/civicrm-core/pull/15983))**
f16c9eaa 586
c3be3856
AF
587- **[NFC] cleanup on QueryTest
588 ([15994](https://github.com/civicrm/civicrm-core/pull/15994))**
f16c9eaa 589
c3be3856
AF
590- **[NFC] reformat CiviUnitTestCase.php
591 ([15801](https://github.com/civicrm/civicrm-core/pull/15801))**
f16c9eaa 592
c3be3856
AF
593- **[NFC] Reformat Contact_Form_Search_Advanced
594 ([15777](https://github.com/civicrm/civicrm-core/pull/15777))**
f16c9eaa 595
c3be3856
AF
596- **[NFC] comment fixes - exceptions & don't declare NULL
597 ([15776](https://github.com/civicrm/civicrm-core/pull/15776))**
f16c9eaa 598
c3be3856
AF
599- **[NFC] Update copyright date for 2020
600 ([586](https://github.com/civicrm/civicrm-drupal/pull/586))**
f16c9eaa 601
c3be3856
AF
602- **Remove copyright & years from all code, except LICENSE.md etc
603 ([dev/core#878](https://lab.civicrm.org/dev/core/issues/878):
604 [588](https://github.com/civicrm/civicrm-drupal/pull/588),
605 [169](https://github.com/civicrm/civicrm-wordpress/pull/169),
606 [15843](https://github.com/civicrm/civicrm-core/pull/15843),
607 [587](https://github.com/civicrm/civicrm-drupal/pull/587) and
608 [104](https://github.com/civicrm/civicrm-backdrop/pull/104))**
f16c9eaa 609
c3be3856
AF
610- **[NFC] Update copyright date for 2020
611 ([585](https://github.com/civicrm/civicrm-drupal/pull/585))**
f16c9eaa 612
c3be3856
AF
613- **[NFC] Update copyright date for 2020
614 ([270](https://github.com/civicrm/civicrm-packages/pull/270))**
f16c9eaa 615
c3be3856
AF
616- **[NFC] Remove dinosaur function
617 ([16010](https://github.com/civicrm/civicrm-core/pull/16010))**
f16c9eaa 618
c3be3856
AF
619- **[NFC] code cleanup in test class.
620 ([16026](https://github.com/civicrm/civicrm-core/pull/16026))**
f16c9eaa 621
c3be3856
AF
622- **Membership and Event Related Contributions - shows all contributions (Clean
623 up for [dev/core#1435](https://lab.civicrm.org/dev/core/issues/1435):
624 [16023](https://github.com/civicrm/civicrm-core/pull/16023))**
f16c9eaa 625
c3be3856
AF
626- **[NFC] Remove unused variable not used since v4.4
627 ([15835](https://github.com/civicrm/civicrm-core/pull/15835))**
f16c9eaa 628
c3be3856
AF
629- **(NFC) PULL_REQUEST_TEMPLATE.md - Improve suggestions for
630 under-the-hood/non-UI changes
631 ([15837](https://github.com/civicrm/civicrm-core/pull/15837))**
f16c9eaa 632
c3be3856
AF
633- **Duplicate custom field blocks on open case (Add Code Comments for
634 [dev/core#1352](https://lab.civicrm.org/dev/core/issues/1352):
635 [15851](https://github.com/civicrm/civicrm-core/pull/15851))**
f16c9eaa 636
c3be3856
AF
637- **[NFC] minimal test for Mailing.update_email_resetdate
638 ([15832](https://github.com/civicrm/civicrm-core/pull/15832))**
f16c9eaa 639
c3be3856
AF
640- **[NFC] declare thrown exceptions
641 ([15809](https://github.com/civicrm/civicrm-core/pull/15809))**
f16c9eaa 642
c3be3856
AF
643- **[NFC] fix test to correctly set up partially paid contribution
644 ([15867](https://github.com/civicrm/civicrm-core/pull/15867))**
f16c9eaa 645
c3be3856
AF
646- **[NFC] Update copyright date for 2020
647 ([167](https://github.com/civicrm/civicrm-wordpress/pull/167))**
f16c9eaa 648
c3be3856
AF
649- **[NFC] Update copyright date for 2020
650 ([54](https://github.com/civicrm/civicrm-joomla/pull/54))**
f16c9eaa 651
c3be3856
AF
652- **[NFC] Update copyright date for 2020
653 ([15755](https://github.com/civicrm/civicrm-core/pull/15755))**
f16c9eaa 654
c3be3856
AF
655- **Update copyright date for 2020
656 ([102](https://github.com/civicrm/civicrm-backdrop/pull/102))**
f16c9eaa 657
c3be3856
AF
658- **add contributor name
659 ([15758](https://github.com/civicrm/civicrm-core/pull/15758))**
f16c9eaa
AH
660
661## <a name="credits"></a>Credits
662
663This release was developed by the following code authors:
664
88bd6b02 665AGH Strategies - Andie Hunt; Agileware - Justin Freeman; Australian Greens -
c3be3856
AF
666Seamus Lee; Christian Wach; CiviCRM - Coleman Watts, Tim Otten; CiviDesk -
667Yashodha Chaku; CompuCorp - Camilo Rodriguez; Coop SymbioTIC - Mathieu Lutfy;
668Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra
669Purohit; Greenpeace CEE - Patrick Figel; Jamie Tillman; Jens Schuppe; JMA
670Consulting - Monish Deb; Joost Fock; Megaphone Technology Consulting - Jon
671Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive
672Technology Project - Jamie McClelland; Richard van Oosterhout; Semper IT - Karin
673Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin
674Cristiano; Wikimedia Foundation - Eileen McNaughton
f16c9eaa
AH
675
676Most authors also reviewed code for this release; in addition, the following
677reviewers contributed their comments:
678
c3be3856
AF
679AGH Strategies - Alice Frumin; Artful Robot - Rich Lott; Chris Burgess; Circle
680Interactive - Dave Jenkins; John Kingsnorth; Freeform Solutions - Lola Slade;
cab50d1b 681OSSeed Technologies LLP - Revati Gawas
d696c7cb
AH
682
683## <a name="feedback"></a>Feedback
684
88bd6b02 685These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
d696c7cb
AH
686to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
687and contact `@agh1`.