Commit | Line | Data |
---|---|---|
b899efe3 AH |
1 | # CiviCRM 5.22.0 |
2 | ||
80b16320 | 3 | Released February 5, 2020 |
b899efe3 | 4 | |
80b16320 | 5 | - **[Synopsis](#synopsis)** |
b899efe3 AH |
6 | - **[Features](#features)** |
7 | - **[Bugs resolved](#bugs)** | |
8 | - **[Miscellany](#misc)** | |
9 | - **[Credits](#credits)** | |
80b16320 AH |
10 | - **[Feedback](#feedback)** |
11 | ||
12 | ## <a name="synopsis"></a>Synopsis | |
13 | ||
14 | | *Does this version...?* | | | |
15 | |:--------------------------------------------------------------- |:-------:| | |
423e1d8f AF |
16 | | Fix security vulnerabilities? | no | |
17 | | **Change the database schema?** | **yes** | | |
18 | | **Alter the API?** | **yes** | | |
19 | | Require attention to configuration options? | no | | |
8acc5d9d | 20 | | **Fix problems installing or upgrading to a previous version?** | **yes** | |
423e1d8f AF |
21 | | **Introduce features?** | **yes** | |
22 | | **Fix bugs?** | **yes** | | |
b899efe3 AH |
23 | |
24 | ## <a name="features"></a>Features | |
25 | ||
26 | ### Core CiviCRM | |
27 | ||
423e1d8f AF |
28 | - **Field Names now Reserved Words in MySQL8 |
29 | ([dev/core#1143](https://lab.civicrm.org/dev/core/issues/1143), | |
30 | [dev/core#1144](https://lab.civicrm.org/dev/core/issues/1144) and | |
31 | [dev/core#1480](https://lab.civicrm.org/dev/core/issues/1480): | |
32 | [16179](https://github.com/civicrm/civicrm-core/pull/16179) and | |
33 | [16182](https://github.com/civicrm/civicrm-core/pull/16182))** | |
b899efe3 | 34 | |
423e1d8f AF |
35 | Allows CiviCRM installations to run on MySQL8 and updates the test |
36 | infastructure to support MySQL8. | |
b899efe3 | 37 | |
423e1d8f AF |
38 | - **Add controlField metadata for ChainSelect fields |
39 | ([16164](https://github.com/civicrm/civicrm-core/pull/16164))** | |
b899efe3 | 40 | |
423e1d8f AF |
41 | Adds additional field metadata for state/province and county address fields |
42 | for the sake of autogenerated forms (afform). | |
b899efe3 | 43 | |
423e1d8f AF |
44 | - **Allow Angular modules to provide dynamic HTML snippets |
45 | ([16078](https://github.com/civicrm/civicrm-core/pull/16078))** | |
b899efe3 | 46 | |
423e1d8f AF |
47 | Supports afforms dynamic templates by allowing angular partials to be passed |
48 | as strings not just file paths. | |
b899efe3 | 49 | |
423e1d8f AF |
50 | - **Allow values to be passed to api4 GetFields |
51 | ([16154](https://github.com/civicrm/civicrm-core/pull/16154) and | |
52 | [16162](https://github.com/civicrm/civicrm-core/pull/16162))** | |
b899efe3 | 53 | |
423e1d8f AF |
54 | Makes it possible to filter api4 `getFields` calls by contact |
55 | type, only returning custom fields appropriate to certain contact types. | |
b899efe3 | 56 | |
423e1d8f AF |
57 | - **Pass api4 getFields values through to getOptions |
58 | ([16168](https://github.com/civicrm/civicrm-core/pull/16168))** | |
b899efe3 | 59 | |
423e1d8f | 60 | Allows option filtering in api4, similar to how it works in api3. |
b899efe3 | 61 | |
423e1d8f AF |
62 | - **Add api to check for missing indices |
63 | ([16145](https://github.com/civicrm/civicrm-core/pull/16145))** | |
b899efe3 | 64 | |
423e1d8f | 65 | Adds an api to check for missing mysql indices. |
b899efe3 | 66 | |
423e1d8f AF |
67 | - **Add in Country and StateProvince APIv4 Entities |
68 | ([16110](https://github.com/civicrm/civicrm-core/pull/16110))** | |
b899efe3 | 69 | |
423e1d8f | 70 | Adds Country and StateProvince APIv4 Entities. |
b899efe3 | 71 | |
423e1d8f AF |
72 | - **Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception |
73 | (Work Towards [dev/core#560](https://lab.civicrm.org/dev/core/issues/560): | |
74 | [16141](https://github.com/civicrm/civicrm-core/pull/16141) and | |
75 | [16067](https://github.com/civicrm/civicrm-core/pull/16067))** | |
b899efe3 | 76 | |
423e1d8f | 77 | Work towards throwing exceptions (instead of fatal errors). |
b899efe3 | 78 | |
423e1d8f AF |
79 | - **Deadlocked queries cause an instant error for end-users, but are retried in |
80 | other circumstances (Work Towards | |
81 | [dev/core#395](https://lab.civicrm.org/dev/core/issues/395): | |
82 | [275](https://github.com/civicrm/civicrm-packages/pull/275) and | |
83 | [16143](https://github.com/civicrm/civicrm-core/pull/16143))** | |
b899efe3 | 84 | |
423e1d8f AF |
85 | Improves logging from deadlocks specifically, before this change an error |
86 | recorded because of a deadlock query was recorded as "DBError::Unknown Error" | |
87 | now they are recorded as "DBError::deadlock". | |
b899efe3 | 88 | |
423e1d8f | 89 | ### CiviContribute |
b899efe3 | 90 | |
423e1d8f AF |
91 | - **We should give user feedback in case of a Payment Processor Exception |
92 | ([15676](https://github.com/civicrm/civicrm-core/pull/15676))** | |
b899efe3 | 93 | |
423e1d8f AF |
94 | Improves user experience when updating or canceling a recurring payment by |
95 | displaying any error message sent from the payment processor to the user. | |
b899efe3 | 96 | |
423e1d8f AF |
97 | - **Code cleanup Update Paypal invokeApi to only throw exceptions. |
98 | ([16072](https://github.com/civicrm/civicrm-core/pull/16072))** | |
b899efe3 | 99 | |
423e1d8f | 100 | Standardizes and improves error handling within PayPal. |
b899efe3 | 101 | |
423e1d8f | 102 | ## <a name="bugs"></a>Bugs resolved |
b899efe3 | 103 | |
423e1d8f | 104 | ### Core CiviCRM |
b899efe3 | 105 | |
423e1d8f AF |
106 | - **CIVI-SA-2019-21 may lead to regressions when following typehints on |
107 | CRM_Core_BAO_Setting::setItem() | |
108 | ([dev/core#1425](https://lab.civicrm.org/dev/core/issues/1425): | |
109 | [15975](https://github.com/civicrm/civicrm-core/pull/15975))** | |
b899efe3 | 110 | |
423e1d8f AF |
111 | Deprecates old setItem & setOptionValue functions on |
112 | BAO_Setting to prevent regressions. | |
b899efe3 | 113 | |
423e1d8f AF |
114 | - **Deadlocks on acl_cache (Work Towards |
115 | [dev/core#1486](https://lab.civicrm.org/dev/core/issues/1486): | |
116 | [16144](https://github.com/civicrm/civicrm-core/pull/16144))** | |
b899efe3 | 117 | |
423e1d8f AF |
118 | Adds an index to the `civicrm_acl_cache.modified_date` column to reduce |
119 | deadlocks when running the ACL Cache. | |
b899efe3 | 120 | |
423e1d8f AF |
121 | - **Port "+options" for constant-parameters to APIv4-PHP (Work Towards |
122 | [dev/core#1489](https://lab.civicrm.org/dev/core/issues/1489): | |
123 | [16149](https://github.com/civicrm/civicrm-core/pull/16149))** | |
b899efe3 | 124 | |
423e1d8f | 125 | Ensures managed entities are not reconciled during upgrades. |
b899efe3 | 126 | |
423e1d8f AF |
127 | - **Api4 - Fix auto serialize array input for CheckBox/MultiSelect fields |
128 | ([16152](https://github.com/civicrm/civicrm-core/pull/16152))** | |
b899efe3 | 129 | |
423e1d8f AF |
130 | In Api4, serialized fields should input/output as array data. This wasn't |
131 | working on the input side for custom entities. This fixes array input handling | |
132 | and adds test coverage. | |
b899efe3 | 133 | |
423e1d8f AF |
134 | - **Fix output display in api4 explorer |
135 | ([16130](https://github.com/civicrm/civicrm-core/pull/16130))** | |
b899efe3 | 136 | |
423e1d8f | 137 | Ensures api4 explorer displays output with html entities properly. |
b899efe3 | 138 | |
423e1d8f AF |
139 | - **Add in searchFieldMetadata for contact_tags, contact_type, group and |
140 | deleted_contacts fields for contribute, pledge searches | |
141 | ([15942](https://github.com/civicrm/civicrm-core/pull/15942))** | |
b899efe3 | 142 | |
423e1d8f AF |
143 | Adds url support on search forms (other than the search builder) for the |
144 | following fields: `contact_tags`, `contact_type`, `group` and | |
145 | `deleted_contacts`. | |
b899efe3 | 146 | |
423e1d8f AF |
147 | - **Update Smart Group form uses different labels for Group Title and Group |
148 | Description ([16042](https://github.com/civicrm/civicrm-core/pull/16042))** | |
b899efe3 | 149 | |
423e1d8f AF |
150 | Improves user experience by making the Smart Group field labels on the |
151 | Advanced Search from match the labels used on the Smart Group edit form. | |
b899efe3 | 152 | |
423e1d8f AF |
153 | - **Update Smart Group form unsets the existing Group Types |
154 | ([16043](https://github.com/civicrm/civicrm-core/pull/16043))** | |
b899efe3 | 155 | |
423e1d8f AF |
156 | Ensures the Mailing List group type remains set on the Update Smart Group |
157 | form. | |
b899efe3 | 158 | |
8acc5d9d AF |
159 | - **loadServices: tighten up file match regex |
160 | ([16377](https://github.com/civicrm/civicrm-core/pull/16377))** | |
161 | ||
162 | Ensures that CiviCRM code living under a path containing the characters 'php' | |
163 | does not crash when loading services. | |
164 | ||
423e1d8f AF |
165 | - **Activity type listing shows name instead label |
166 | ([dev/core#1470](https://lab.civicrm.org/dev/core/issues/1470): | |
167 | [16094](https://github.com/civicrm/civicrm-core/pull/16094))** | |
b899efe3 | 168 | |
423e1d8f AF |
169 | - **Export doesn't work in Excel with diacritic chars |
170 | ([dev/core#1424](https://lab.civicrm.org/dev/core/issues/1424): | |
171 | [16117](https://github.com/civicrm/civicrm-core/pull/16117) and | |
172 | [15968](https://github.com/civicrm/civicrm-core/pull/15968))** | |
b899efe3 | 173 | |
423e1d8f AF |
174 | - **text missing from email column when custom search profile is used |
175 | in Advanced Search | |
176 | ([dev/core#1474](https://lab.civicrm.org/dev/core/issues/1474): | |
177 | [16101](https://github.com/civicrm/civicrm-core/pull/16101))** | |
b899efe3 | 178 | |
8acc5d9d AF |
179 | - **Undefined offset and uninitialized string offset notices on upgrade to 5.21 |
180 | ([dev/core#1555](https://lab.civicrm.org/dev/core/issues/1555): | |
181 | [16417](https://github.com/civicrm/civicrm-core/pull/16417))** | |
182 | ||
423e1d8f | 183 | ### CiviCase |
b899efe3 | 184 | |
423e1d8f AF |
185 | - **Add case activity action links to activity report |
186 | ([15135](https://github.com/civicrm/civicrm-core/pull/15135))** | |
b899efe3 | 187 | |
423e1d8f AF |
188 | Ensures if an activity is linked to a case the "case activity" actions are |
189 | displayed instead of the standard activity actions (eg. move/copy to case | |
190 | instead of file on case). | |
b899efe3 | 191 | |
8acc5d9d AF |
192 | - **Activity Details CiviReport gives network error when paging to next page if |
193 | choose filter to include case activities | |
194 | ([dev/core#1552](https://lab.civicrm.org/dev/core/issues/1552): | |
195 | [16393](https://github.com/civicrm/civicrm-core/pull/16393))** | |
196 | ||
423e1d8f AF |
197 | - **Case Detail 'Active Role?' filter excludes cases without relationships |
198 | ([dev/report#24](https://lab.civicrm.org/dev/report/issues/24): | |
199 | [15972](https://github.com/civicrm/civicrm-core/pull/15972))** | |
b899efe3 | 200 | |
423e1d8f AF |
201 | - **Manager/Creator Information not being returned for case related contacts |
202 | when fetching Case Details | |
203 | ([dev/core#1426](https://lab.civicrm.org/dev/core/issues/1426): | |
204 | [16006](https://github.com/civicrm/civicrm-core/pull/16006))** | |
b899efe3 | 205 | |
423e1d8f | 206 | ### CiviContribute |
b899efe3 | 207 | |
423e1d8f AF |
208 | - **Thousands-separator corrupts price field values (comma) |
209 | ([dev/core#1472](https://lab.civicrm.org/dev/core/issues/1472): | |
210 | [16111](https://github.com/civicrm/civicrm-core/pull/16111))** | |
b899efe3 | 211 | |
423e1d8f AF |
212 | Fixes a bug where price options with thousands operators didn't submit |
213 | correctly. | |
b899efe3 | 214 | |
423e1d8f AF |
215 | - **E notice fix on Price set form |
216 | ([16096](https://github.com/civicrm/civicrm-core/pull/16096))** | |
b899efe3 | 217 | |
423e1d8f | 218 | Removes an e notice when submitting the price set form. |
b899efe3 | 219 | |
423e1d8f AF |
220 | - **Advanced search fails to properly search for contribution source |
221 | ([dev/core#1468](https://lab.civicrm.org/dev/core/issues/1468): | |
222 | [16083](https://github.com/civicrm/civicrm-core/pull/16083))** | |
b899efe3 | 223 | |
423e1d8f | 224 | ### CiviEvent |
b899efe3 | 225 | |
423e1d8f AF |
226 | - **Event Participants actions (Print Name Badges, Export...) ignores search |
227 | criteria ([dev/core#1422](https://lab.civicrm.org/dev/core/issues/1422): | |
228 | [16038](https://github.com/civicrm/civicrm-core/pull/16038))** | |
b899efe3 | 229 | |
423e1d8f AF |
230 | Ensures that the actions menu on the participant search form respects search |
231 | criteria. | |
b899efe3 | 232 | |
8acc5d9d AF |
233 | ### CiviMail |
234 | ||
235 | - **Exception Malformed temp table category on New A/B Test | |
236 | ([dev/core#1564](https://lab.civicrm.org/dev/core/issues/1564): | |
237 | [16464](https://github.com/civicrm/civicrm-core/pull/16464))** | |
238 | ||
239 | Fixes a regression in 5.21.2 where creating a new A/B Test resulted in a | |
240 | session status Exception Malformed temp table. | |
241 | ||
423e1d8f | 242 | ### CiviMember |
b899efe3 | 243 | |
423e1d8f AF |
244 | - **Fix js error on choosing membership type |
245 | ([16058](https://github.com/civicrm/civicrm-core/pull/16058))** | |
b899efe3 | 246 | |
423e1d8f AF |
247 | Fixes a javascript error "Uncaught ReferenceError" when choosing a membership |
248 | type from the backend membership signup form. | |
b899efe3 | 249 | |
423e1d8f | 250 | ### Drupal Integration |
b899efe3 | 251 | |
423e1d8f AF |
252 | - **Error when creating user record for Civi contact |
253 | ([dev/drupal#99](https://lab.civicrm.org/dev/drupal/issues/99): | |
254 | [16157](https://github.com/civicrm/civicrm-core/pull/16157))** | |
b899efe3 | 255 | |
423e1d8f AF |
256 | Fixes an E-notice "Notice: Trying to get property 'id' of non-object in |
257 | CRM_Core_BAO_UFMatch::updateContactEmail() (line 449 of | |
258 | /var/www/sitename/vendor/civicrm/civicrm-core/CRM/Core/BAO/UFMatch.php)." when | |
259 | submitting the "Create User Record" form which can be found from the "Actions" | |
260 | menu-button while viewing a CRM contact. | |
b899efe3 | 261 | |
423e1d8f AF |
262 | - **Missing address on `/user` when location type label differs from its name |
263 | ([dev/core#1473](https://lab.civicrm.org/dev/core/issues/1473): | |
264 | [16100](https://github.com/civicrm/civicrm-core/pull/16100))** | |
b899efe3 | 265 | |
423e1d8f | 266 | ### Wordpress Integration |
b899efe3 | 267 | |
423e1d8f AF |
268 | - **Fix basepage title for Yoast SEO when theme declares "title-tag" support |
269 | ([174](https://github.com/civicrm/civicrm-wordpress/pull/174))** | |
b899efe3 | 270 | |
423e1d8f AF |
271 | Fixes a bug for sites with the Yoast SEO plugin where the CiviCRM page title |
272 | was not being displayed properly. Specifically the Yoast SEO plugin | |
273 | short-circuits the code in `wp_get_document_title()` by filtering via | |
274 | `pre_get_document_title`. This means that the CiviCRM code to apply the | |
275 | CiviCRM basepage title via the document_title_parts filter is never reached | |
276 | and the basepage title does not reflect the CiviCRM content. | |
b899efe3 | 277 | |
423e1d8f | 278 | ## <a name="misc"></a>Miscellany |
b899efe3 | 279 | |
423e1d8f AF |
280 | - **Fix typo, Mailign should be Mailing |
281 | ([16031](https://github.com/civicrm/civicrm-core/pull/16031))** | |
b899efe3 | 282 | |
423e1d8f AF |
283 | - **Switch static var to using Civi::statics |
284 | ([16138](https://github.com/civicrm/civicrm-core/pull/16138))** | |
b899efe3 | 285 | |
423e1d8f AF |
286 | - **Remove code to create a subscription history entry when a contact is created |
287 | ([dev/core#1482](https://lab.civicrm.org/dev/core/issues/1482): | |
288 | [16125](https://github.com/civicrm/civicrm-core/pull/16125))** | |
b899efe3 | 289 | |
423e1d8f AF |
290 | - **Remove unnecessary query when updating org, if no name update. |
291 | ([16080](https://github.com/civicrm/civicrm-core/pull/16080))** | |
b899efe3 | 292 | |
423e1d8f AF |
293 | - **Remove unnecessary, and possibly incorrect query from email update |
294 | ([16079](https://github.com/civicrm/civicrm-core/pull/16079))** | |
b899efe3 | 295 | |
423e1d8f AF |
296 | - **Remove unneeded zendframwork/zend-validator and zendframwork/zend-stdlib |
297 | packages as not required by any other package | |
298 | ([16112](https://github.com/civicrm/civicrm-core/pull/16112))** | |
b899efe3 | 299 | |
423e1d8f AF |
300 | - **Remove legacy_redirect_path handling |
301 | ([16134](https://github.com/civicrm/civicrm-core/pull/16134))** | |
b899efe3 | 302 | |
423e1d8f AF |
303 | - **Remove function marked as deprecated & unused by core nearly a year ago |
304 | ([16124](https://github.com/civicrm/civicrm-core/pull/16124))** | |
b899efe3 | 305 | |
423e1d8f AF |
306 | - **Remove vestige of apiv2 |
307 | ([16115](https://github.com/civicrm/civicrm-core/pull/16115))** | |
b899efe3 | 308 | |
423e1d8f AF |
309 | - **Remove PEAR package Structures_Graph as there appears to be no use for it |
310 | ([279](https://github.com/civicrm/civicrm-packages/pull/279))** | |
b899efe3 | 311 | |
423e1d8f AF |
312 | - **Remove Net_UserAgent_Detect package |
313 | ([272](https://github.com/civicrm/civicrm-packages/pull/272))** | |
b899efe3 | 314 | |
423e1d8f AF |
315 | - **Paypal class cleanup |
316 | ([16088](https://github.com/civicrm/civicrm-core/pull/16088))** | |
b899efe3 | 317 | |
423e1d8f AF |
318 | - **2020 test fixes. |
319 | ([16172](https://github.com/civicrm/civicrm-core/pull/16172))** | |
b899efe3 | 320 | |
423e1d8f AF |
321 | - **Unit test for https://github.com/civicrm/civicrm-core/pull/16120 |
322 | ([16127](https://github.com/civicrm/civicrm-core/pull/16127))** | |
b899efe3 | 323 | |
423e1d8f AF |
324 | - **Update unit tests to use name spaced format of phpunit test classes for |
325 | phpunit6 compatability | |
326 | ([594](https://github.com/civicrm/civicrm-drupal/pull/594))** | |
b899efe3 | 327 | |
423e1d8f AF |
328 | - **Update to use the namespaced version of the PHPUnit test classes as this |
329 | will work for phpunit6 going forward as well as phpunit5 | |
330 | ([175](https://github.com/civicrm/civicrm-wordpress/pull/175))** | |
b899efe3 | 331 | |
423e1d8f AF |
332 | - **Update PHPUnit Test class declarations to use namespaced format for phpunit6 |
333 | compatability ([108](https://github.com/civicrm/civicrm-backdrop/pull/108))** | |
b899efe3 | 334 | |
423e1d8f AF |
335 | - **[REF] Minor cleanup - declare exceptions, use single quotes, strict |
336 | comparison ([16137](https://github.com/civicrm/civicrm-core/pull/16137))** | |
b899efe3 | 337 | |
423e1d8f AF |
338 | - **[REF] remove CRM_Core_Error check |
339 | ([16136](https://github.com/civicrm/civicrm-core/pull/16136))** | |
b899efe3 | 340 | |
423e1d8f AF |
341 | - **[REF] Convert more petition signature fatals to status bounce |
342 | ([16075](https://github.com/civicrm/civicrm-core/pull/16075))** | |
b899efe3 | 343 | |
423e1d8f AF |
344 | - **[REF] Switch CRM_Utils_Error::fatal calls for CRM_Core_Exception in Grant. |
345 | utils, bin/ and Civi/Angular/ folders | |
346 | ([16109](https://github.com/civicrm/civicrm-core/pull/16109))** | |
b899efe3 | 347 | |
423e1d8f AF |
348 | - **[REF] Minor simplification on additional_participants checks |
349 | ([16056](https://github.com/civicrm/civicrm-core/pull/16056))** | |
b899efe3 | 350 | |
423e1d8f AF |
351 | - **[REF] Refactor Contact Search form to use standardised getSortID function |
352 | ([16054](https://github.com/civicrm/civicrm-core/pull/16054))** | |
b899efe3 | 353 | |
423e1d8f AF |
354 | - **[REF] Refactor Activity Search to use parent getSortID function |
355 | ([16053](https://github.com/civicrm/civicrm-core/pull/16053))** | |
b899efe3 | 356 | |
423e1d8f AF |
357 | - **[REF] Refactor Campaign Search form to use standardised getSortID function |
358 | ([16055](https://github.com/civicrm/civicrm-core/pull/16055))** | |
b899efe3 | 359 | |
423e1d8f AF |
360 | - **[REF] Move wrangling of Front end form contribution param for autoRenew back |
361 | to form ([15927](https://github.com/civicrm/civicrm-core/pull/15927))** | |
b899efe3 | 362 | |
423e1d8f AF |
363 | - **[REF] Replace Deprecated function CRM_Core_BAO_Setting::setItem with the |
364 | relevant Civi::contactSettings function | |
365 | ([16044](https://github.com/civicrm/civicrm-core/pull/16044))** | |
b899efe3 | 366 | |
423e1d8f AF |
367 | - **[REF] remove unused from getACLRoles |
368 | ([16180](https://github.com/civicrm/civicrm-core/pull/16180))** | |
b899efe3 | 369 | |
423e1d8f AF |
370 | - **[REF] simplify recordAdjustedAmt function |
371 | ([16135](https://github.com/civicrm/civicrm-core/pull/16135))** | |
b899efe3 | 372 | |
423e1d8f AF |
373 | - **[REF] extract member form batch update & add test |
374 | ([16151](https://github.com/civicrm/civicrm-core/pull/16151))** | |
b899efe3 | 375 | |
423e1d8f AF |
376 | - **[REF] Remove unused params from function signature for getACLs |
377 | ([16175](https://github.com/civicrm/civicrm-core/pull/16175))** | |
b899efe3 | 378 | |
423e1d8f AF |
379 | - **[REF] step towards wiping out $ids array in membership bao functions |
380 | ([16132](https://github.com/civicrm/civicrm-core/pull/16132))** | |
b899efe3 | 381 | |
423e1d8f AF |
382 | - **[Ref] improve readability of acl code |
383 | ([16131](https://github.com/civicrm/civicrm-core/pull/16131))** | |
b899efe3 | 384 | |
423e1d8f AF |
385 | - **[Ref] Remove php4 support from BAO_Acl class |
386 | ([16119](https://github.com/civicrm/civicrm-core/pull/16119))** | |
b899efe3 | 387 | |
8acc5d9d AF |
388 | - **(NFC) Civi, CRM, tests - Update for |
389 | Drupal.Commenting.VariableComment.IncorrectVarType | |
390 | ([16384](https://github.com/civicrm/civicrm-core/pull/16384))** | |
391 | ||
423e1d8f AF |
392 | - **[NFC] Test clean up. |
393 | ([16133](https://github.com/civicrm/civicrm-core/pull/16133))** | |
b899efe3 | 394 | |
423e1d8f AF |
395 | - **[NFC] cleanup to declared exceptions, quotes, strict mode. |
396 | ([16114](https://github.com/civicrm/civicrm-core/pull/16114))** | |
b899efe3 | 397 | |
423e1d8f AF |
398 | - **[NFC] Declare exceptions, use single quotes where possible, use strict |
399 | comparison ([16142](https://github.com/civicrm/civicrm-core/pull/16142))** | |
b899efe3 | 400 | |
423e1d8f AF |
401 | - **[NFC] Add in unit test for dev/core#1460 |
402 | ([16063](https://github.com/civicrm/civicrm-core/pull/16063))** | |
b899efe3 | 403 | |
423e1d8f AF |
404 | - **[NFC] code cleanup |
405 | ([16050](https://github.com/civicrm/civicrm-core/pull/16050))** | |
406 | ||
407 | - **[NFC] Add in a unit test of passing an array into the Civi::settings set | |
408 | facade and getting it back | |
409 | ([16045](https://github.com/civicrm/civicrm-core/pull/16045))** | |
410 | ||
411 | - **[NFC] Add test on buildMembershipTypeValues & cleanup class | |
412 | ([16167](https://github.com/civicrm/civicrm-core/pull/16167))** | |
413 | ||
414 | - **[NFC] Re-generate DAOs | |
415 | ([16178](https://github.com/civicrm/civicrm-core/pull/16178))** | |
416 | ||
417 | - **[NFC] Extract duplicated code lines in test | |
418 | ([16165](https://github.com/civicrm/civicrm-core/pull/16165))** | |
419 | ||
420 | - **[NFC] Clean up unit test | |
421 | ([16163](https://github.com/civicrm/civicrm-core/pull/16163))** | |
422 | ||
423 | - **[NFC] If statement is always true | |
424 | ([16122](https://github.com/civicrm/civicrm-core/pull/16122))** | |
b899efe3 AH |
425 | |
426 | ## <a name="credits"></a>Credits | |
427 | ||
428 | This release was developed by the following code authors: | |
429 | ||
88bd6b02 | 430 | AGH Strategies - Andie Hunt; Agileware - Justin Freeman; Australian Greens - |
423e1d8f AF |
431 | Seamus Lee; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - |
432 | Coleman Watts, Tim Otten; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - | |
433 | Jitendra Purohit; MJW Consulting - Matthew Wire; Squiffle Consulting - Aidan | |
434 | Saunders; Wikimedia Foundation - Eileen McNaughton | |
b899efe3 AH |
435 | |
436 | Most authors also reviewed code for this release; in addition, the following | |
437 | reviewers contributed their comments: | |
438 | ||
423e1d8f AF |
439 | AGH Strategies - Alice Frumin; Artful Robot - Rich Lott; CiviDesk - Yashodha |
440 | Chaku; Joinery - Allen Shaw; Megaphone Technology Consulting - Jon Goldberg; | |
441 | Tadpole Collective - Kevin Cristiano; | |
80b16320 AH |
442 | |
443 | ## <a name="feedback"></a>Feedback | |
444 | ||
88bd6b02 | 445 | These release notes are edited by Alice Frumin and Andie Hunt. If you'd like |
80b16320 AH |
446 | to provide feedback on them, please log in to https://chat.civicrm.org/civicrm |
447 | and contact `@agh1`. |