Commit | Line | Data |
---|---|---|
f16c9eaa AH |
1 | # CiviCRM 5.21.0 |
2 | ||
d696c7cb | 3 | Released 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 | ||
663 | This release was developed by the following code authors: | |
664 | ||
88bd6b02 | 665 | AGH Strategies - Andie Hunt; Agileware - Justin Freeman; Australian Greens - |
c3be3856 AF |
666 | Seamus Lee; Christian Wach; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - |
667 | Yashodha Chaku; CompuCorp - Camilo Rodriguez; Coop SymbioTIC - Mathieu Lutfy; | |
668 | Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra | |
669 | Purohit; Greenpeace CEE - Patrick Figel; Jamie Tillman; Jens Schuppe; JMA | |
670 | Consulting - Monish Deb; Joost Fock; Megaphone Technology Consulting - Jon | |
671 | Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive | |
672 | Technology Project - Jamie McClelland; Richard van Oosterhout; Semper IT - Karin | |
673 | Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin | |
674 | Cristiano; Wikimedia Foundation - Eileen McNaughton | |
f16c9eaa AH |
675 | |
676 | Most authors also reviewed code for this release; in addition, the following | |
677 | reviewers contributed their comments: | |
678 | ||
c3be3856 AF |
679 | AGH Strategies - Alice Frumin; Artful Robot - Rich Lott; Chris Burgess; Circle |
680 | Interactive - Dave Jenkins; John Kingsnorth; Freeform Solutions - Lola Slade; | |
cab50d1b | 681 | OSSeed Technologies LLP - Revati Gawas |
d696c7cb AH |
682 | |
683 | ## <a name="feedback"></a>Feedback | |
684 | ||
88bd6b02 | 685 | These release notes are edited by Alice Frumin and Andie Hunt. If you'd like |
d696c7cb AH |
686 | to provide feedback on them, please log in to https://chat.civicrm.org/civicrm |
687 | and contact `@agh1`. |