Commit | Line | Data |
---|---|---|
bdfce0d2 AH |
1 | # CiviCRM 5.25.0 |
2 | ||
a8cf70fe | 3 | Released May 6, 2020 |
bdfce0d2 | 4 | |
a8cf70fe | 5 | - **[Synopsis](#synopsis)** |
bdfce0d2 AH |
6 | - **[Features](#features)** |
7 | - **[Bugs resolved](#bugs)** | |
8 | - **[Miscellany](#misc)** | |
9 | - **[Credits](#credits)** | |
a8cf70fe AH |
10 | - **[Feedback](#feedback)** |
11 | ||
12 | ## <a name="synopsis"></a>Synopsis | |
13 | ||
14 | | *Does this version...?* | | | |
15 | |:--------------------------------------------------------------- |:-------:| | |
498be86b 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? | **yes** | | |
21 | | Introduce features? | **yes** | | |
22 | | Fix bugs? | **yes** | | |
bdfce0d2 AH |
23 | |
24 | ## <a name="features"></a>Features | |
25 | ||
26 | ### Core CiviCRM | |
27 | ||
498be86b AF |
28 | - **Replace jcalendar instances with datepicker (Continued |
29 | Work [dev/core#561](https://lab.civicrm.org/dev/core/issues/561): | |
30 | [15709](https://github.com/civicrm/civicrm-core/pull/15709) and | |
31 | [16863](https://github.com/civicrm/civicrm-core/pull/16863))** | |
bdfce0d2 | 32 | |
498be86b AF |
33 | These changes continue work to move to datepicker from jcalendar by converting |
34 | report instances from using the legacy jcalendar to using datepicker for date | |
35 | fields and deprecating the `addDateRange` function used by jcalendar. | |
bdfce0d2 | 36 | |
498be86b AF |
37 | - **End of life plans for php 7.0 & deprecate php 7.1 |
38 | ([dev/core#1528](https://lab.civicrm.org/dev/core/issues/1528): | |
39 | [16753](https://github.com/civicrm/civicrm-core/pull/16753), | |
40 | [599](https://github.com/civicrm/civicrm-drupal/pull/599), | |
41 | [598](https://github.com/civicrm/civicrm-drupal/pull/598), | |
42 | [111](https://github.com/civicrm/civicrm-backdrop/pull/111), | |
43 | [16678](https://github.com/civicrm/civicrm-core/pull/16678), | |
44 | [114](https://github.com/civicrm/civicrm-backdrop/pull/114), | |
45 | [187](https://github.com/civicrm/civicrm-wordpress/pull/187) and | |
46 | [184](https://github.com/civicrm/civicrm-wordpress/pull/184))** | |
bdfce0d2 | 47 | |
498be86b AF |
48 | Consolidates to a single constant for minimum PHP version. Sets the Minimum |
49 | PHP version to be 7.1. Sets the Minimum Install version to be 7.1. | |
bdfce0d2 | 50 | |
498be86b AF |
51 | - **updating misleading labels on buttons to confirmation pages |
52 | ([dev/core#1613](https://lab.civicrm.org/dev/core/-/issues/1613): | |
53 | [16651](https://github.com/civicrm/civicrm-core/pull/16651))** | |
bdfce0d2 | 54 | |
498be86b AF |
55 | Changes the text of the confirm contribution (and event registration) button |
56 | to "Review". | |
bdfce0d2 | 57 | |
498be86b AF |
58 | - **APIv4 - Add Dashboard & DashboardContact entities |
59 | ([16867](https://github.com/civicrm/civicrm-core/pull/16867))** | |
bdfce0d2 | 60 | |
498be86b AF |
61 | Adds APIv4 support for Dashboard & DashboardContact and does some cleanup in |
62 | the BAO and API layers for improved consistency. | |
bdfce0d2 | 63 | |
498be86b AF |
64 | - **add nl_BE language |
65 | ([17014](https://github.com/civicrm/civicrm-core/pull/17014))** | |
bdfce0d2 | 66 | |
498be86b | 67 | Adds a new translation option for "Dutch (Netherlands)". |
bdfce0d2 | 68 | |
498be86b AF |
69 | - **Add hook to alter display value or Custom field value |
70 | ([16921](https://github.com/civicrm/civicrm-core/pull/16921))** | |
bdfce0d2 | 71 | |
498be86b | 72 | Adds a hook to alter display value or Custom field value. |
bdfce0d2 | 73 | |
498be86b AF |
74 | - **APIv4 Query Improvements (Work Towards |
75 | [dev/report#31](https://lab.civicrm.org/dev/report/-/issues/31): | |
76 | [16917](https://github.com/civicrm/civicrm-core/pull/16917) and | |
77 | [16947](https://github.com/civicrm/civicrm-core/pull/16947))** | |
bdfce0d2 | 78 | |
498be86b AF |
79 | Builds out the APIv4 framework to support GROUP BY and different types of |
80 | expressions in clauses that previously only accepted the names of fields. | |
81 | These expressions can now include numbers, NULL, strings, and whitelisted SQL | |
82 | functions. The framework can in theory handle most SQL functions, but this | |
83 | first PR adds support for the aggregate functions AVG, COUNT, MAX, MIN & SUM. | |
bdfce0d2 | 84 | |
498be86b | 85 | ### CiviContribute |
bdfce0d2 | 86 | |
498be86b AF |
87 | - **Partial Refunds (Work Towards |
88 | [dev/financial#87](https://lab.civicrm.org/dev/financial/issues/87): | |
89 | [16480](https://github.com/civicrm/civicrm-core/pull/16480))** | |
bdfce0d2 | 90 | |
498be86b AF |
91 | Alters the "Add Payment" form to permit payments to be added even if a |
92 | contribution is fully paid. | |
bdfce0d2 | 93 | |
498be86b AF |
94 | - **Add privacy fields to ContributionDetail report |
95 | ([16674](https://github.com/civicrm/civicrm-core/pull/16674))** | |
bdfce0d2 | 96 | |
498be86b AF |
97 | Adds columns for the following fields to the contribution detail report: "Do |
98 | Not Phone", "Do Not Mail", "Do Not SMS", "Do Not Trade". | |
bdfce0d2 | 99 | |
498be86b AF |
100 | - **Add "pledge id" as column and filter in Contribution Detail report. |
101 | ([16868](https://github.com/civicrm/civicrm-core/pull/16868))** | |
bdfce0d2 | 102 | |
498be86b AF |
103 | Improves the Contribution Detail Report by adding "pledge id" as a filter and |
104 | column. | |
bdfce0d2 | 105 | |
498be86b | 106 | ### WordPress Integration |
bdfce0d2 | 107 | |
498be86b AF |
108 | - **Add shortcodes for Personal Campaign Pages |
109 | ([185](https://github.com/civicrm/civicrm-wordpress/pull/185) and | |
110 | [16695](https://github.com/civicrm/civicrm-core/pull/16695))** | |
bdfce0d2 | 111 | |
498be86b | 112 | Makes Personal Campaign Pages available as a shortcode. |
bdfce0d2 | 113 | |
498be86b | 114 | ## <a name="bugs"></a>Bugs resolved |
bdfce0d2 | 115 | |
498be86b | 116 | ### Core CiviCRM |
bdfce0d2 | 117 | |
498be86b AF |
118 | - **Making the poor performance associated with the creditnote_id field opt in |
119 | rather than opt out (Further Work | |
120 | [dev/financial#84](https://lab.civicrm.org/dev/financial/issues/84): | |
121 | [16971](https://github.com/civicrm/civicrm-core/pull/16971))** | |
bdfce0d2 | 122 | |
498be86b AF |
123 | Fixes an issue for some builds when upgrading caused by the activation of the |
124 | `sequentialcreditnotes` extension. | |
bdfce0d2 | 125 | |
498be86b AF |
126 | - **Deleting entities leaves obsolete EntityTag records |
127 | ([dev/core#667](https://lab.civicrm.org/dev/core/issues/667): | |
128 | [16832](https://github.com/civicrm/civicrm-core/pull/16832))** | |
bdfce0d2 | 129 | |
498be86b AF |
130 | Fixes a bug where deleting a contact does not delete tags associated with the |
131 | contact. | |
bdfce0d2 | 132 | |
498be86b AF |
133 | - **Auto-complete search results not consistent with other searches |
134 | ([dev/core#787](https://lab.civicrm.org/dev/core/issues/787): | |
135 | [13809](https://github.com/civicrm/civicrm-core/pull/13809))** | |
bdfce0d2 | 136 | |
498be86b | 137 | Ensures Auto-complete search results are consistent with other searches. |
bdfce0d2 | 138 | |
498be86b AF |
139 | - **Don't freeze fields for auto-renew memberships |
140 | ([dev/core#1331](https://lab.civicrm.org/dev/core/issues/1331): | |
141 | [16881](https://github.com/civicrm/civicrm-core/pull/16881) and | |
142 | [16609](https://github.com/civicrm/civicrm-core/pull/16609))** | |
bdfce0d2 | 143 | |
498be86b AF |
144 | Ensures that the "Cancel auto-renew" button works for translated sites. Makes |
145 | it possible for admin users to edit all fields on auto-renew memberships. | |
bdfce0d2 | 146 | |
498be86b AF |
147 | - **Need to Increase Data Size for `form_values` column on |
148 | civicrm_report_instance table | |
149 | ([dev/core#1569](https://lab.civicrm.org/dev/core/issues/1569): | |
150 | [16836](https://github.com/civicrm/civicrm-core/pull/16836))** | |
bdfce0d2 | 151 | |
498be86b AF |
152 | Changes the data type for the `form_values` column on the |
153 | `civicrm_report_instance` from TEXT to LONGTEXT. | |
bdfce0d2 | 154 | |
498be86b AF |
155 | - **PHP warning on Add relationship form |
156 | ([dev/core#1663](https://lab.civicrm.org/dev/core/issues/1663): | |
157 | [16845](https://github.com/civicrm/civicrm-core/pull/16845) and | |
158 | [16941](https://github.com/civicrm/civicrm-core/pull/16941))** | |
bdfce0d2 | 159 | |
498be86b AF |
160 | - **Removing all the dashlets from the dashboard leads to E_NOTICE |
161 | ([dev/core#1668](https://lab.civicrm.org/dev/core/issues/1668): | |
162 | [16883](https://github.com/civicrm/civicrm-core/pull/16883))** | |
bdfce0d2 | 163 | |
498be86b AF |
164 | - **Regression: Api4 causes container being rebuild on every request |
165 | ([dev/core#1674](https://lab.civicrm.org/dev/core/issues/1674): | |
166 | [16919](https://github.com/civicrm/civicrm-core/pull/16919))** | |
bdfce0d2 | 167 | |
498be86b AF |
168 | - **E_NOTICE when using the New Individual popup/profile |
169 | ([dev/core#1676](https://lab.civicrm.org/dev/core/issues/1676): | |
170 | [16924](https://github.com/civicrm/civicrm-core/pull/16924))** | |
bdfce0d2 | 171 | |
498be86b AF |
172 | - **profile Public Title (frontend_title column) is not used in profile |
173 | create/edit mode | |
174 | ([dev/core#1683](https://lab.civicrm.org/dev/core/-/issues/1683): | |
175 | [16945](https://github.com/civicrm/civicrm-core/pull/16945))** | |
bdfce0d2 | 176 | |
498be86b AF |
177 | - **[regression] CiviCRM reports smart groups won't work due to deleted custom |
178 | fields that aren't deleted | |
179 | ([dev/core#1688](https://lab.civicrm.org/dev/core/-/issues/1688): | |
180 | [16961](https://github.com/civicrm/civicrm-core/pull/16961))** | |
bdfce0d2 | 181 | |
498be86b AF |
182 | - **Fix checking permissions in api3 profile get |
183 | ([16848](https://github.com/civicrm/civicrm-core/pull/16848))** | |
bdfce0d2 | 184 | |
498be86b AF |
185 | - **APIv4 - convert Result object to array when running through json_encode |
186 | ([16828](https://github.com/civicrm/civicrm-core/pull/16828))** | |
bdfce0d2 | 187 | |
498be86b AF |
188 | - **Api4 AJAX endpoint: change required permission to access AJAX API. |
189 | ([16705](https://github.com/civicrm/civicrm-core/pull/16705))** | |
bdfce0d2 | 190 | |
498be86b | 191 | Makes it possible to use the API4 AJAX endpoint as an anonymous user. |
bdfce0d2 | 192 | |
498be86b AF |
193 | - **Make api4 select query object more sane |
194 | ([16889](https://github.com/civicrm/civicrm-core/pull/16889))** | |
bdfce0d2 | 195 | |
498be86b AF |
196 | - **APIv4 - bugfix in select query |
197 | ([16900](https://github.com/civicrm/civicrm-core/pull/16900))** | |
bdfce0d2 | 198 | |
498be86b AF |
199 | - **CRM_Core_I18n - Provide a better label for new/unknown locales |
200 | ([17021](https://github.com/civicrm/civicrm-core/pull/17021))** | |
bdfce0d2 | 201 | |
498be86b AF |
202 | - **Fixed fatal error for class not found when managed hook is invoked during |
203 | upgrade ([17004](https://github.com/civicrm/civicrm-core/pull/17004))** | |
bdfce0d2 | 204 | |
498be86b AF |
205 | - **log error message instead of throwing exception |
206 | ([16880](https://github.com/civicrm/civicrm-core/pull/16880) and | |
207 | [16759](https://github.com/civicrm/civicrm-core/pull/16759))** | |
bdfce0d2 | 208 | |
498be86b AF |
209 | - **Fixed fatal error for Event Participants custom search if price set field |
210 | option is disabled after a registrant has already selected it | |
211 | ([16894](https://github.com/civicrm/civicrm-core/pull/16894))** | |
bdfce0d2 | 212 | |
498be86b AF |
213 | - **Fix display of payment processor title in cancelSubscription form |
214 | ([16857](https://github.com/civicrm/civicrm-core/pull/16857))** | |
bdfce0d2 | 215 | |
498be86b AF |
216 | - **Fix bug where a % in a serialized array can lead to the data being broken |
217 | ([16694](https://github.com/civicrm/civicrm-core/pull/16694))** | |
bdfce0d2 | 218 | |
498be86b AF |
219 | - **Respect 'Donot notify activity type' setting |
220 | ([16800](https://github.com/civicrm/civicrm-core/pull/16800))** | |
bdfce0d2 | 221 | |
498be86b AF |
222 | - **Fix batch contact/activity update with radio options |
223 | ([16855](https://github.com/civicrm/civicrm-core/pull/16855))** | |
bdfce0d2 | 224 | |
498be86b AF |
225 | - **Fix CustomDataView.tpl plain empty memo field. |
226 | ([16839](https://github.com/civicrm/civicrm-core/pull/16839))** | |
bdfce0d2 | 227 | |
498be86b | 228 | Ensure note custom fields display on their own lines |
bdfce0d2 | 229 | |
498be86b AF |
230 | - **Fix setting outBound_option readonly in UI |
231 | ([16774](https://github.com/civicrm/civicrm-core/pull/16774))** | |
bdfce0d2 | 232 | |
498be86b | 233 | Display the SMTP outbound option as read only. |
bdfce0d2 | 234 | |
498be86b AF |
235 | - **Make the 'billing address is the same' checkbox respond to the change event |
236 | ([16496](https://github.com/civicrm/civicrm-core/pull/16496))** | |
bdfce0d2 | 237 | |
498be86b | 238 | Make the "billing address is the same.." checkbox respond to javascript. |
bdfce0d2 | 239 | |
498be86b AF |
240 | - **Use dbAlias to generate where clause for date field in activity report |
241 | ([16689](https://github.com/civicrm/civicrm-core/pull/16689))** | |
bdfce0d2 | 242 | |
498be86b AF |
243 | - **[REF] Use composer patches to apply CiviCRM Customisations for CRM-1367 and |
244 | CRM-5946 ([16870](https://github.com/civicrm/civicrm-core/pull/16870))** | |
bdfce0d2 | 245 | |
498be86b AF |
246 | Migrates the patching of pear_mail from a script file to using composer |
247 | patches to ensure CiviCRM customisations for CRM-1367 and CRM-5946 are applied | |
248 | consistently. | |
bdfce0d2 | 249 | |
498be86b AF |
250 | - **Membership join date checkbox on constituent detail report has lost its |
251 | label ([dev/report#28](https://lab.civicrm.org/dev/report/issues/28): | |
252 | [16829](https://github.com/civicrm/civicrm-core/pull/16829))** | |
bdfce0d2 | 253 | |
498be86b | 254 | ### CiviCase |
bdfce0d2 | 255 | |
498be86b AF |
256 | - **Various errors recorded in log message on Manage Case screen -> relationship |
257 | tab. ([dev/core#1664](https://lab.civicrm.org/dev/core/issues/1664): | |
258 | [16846](https://github.com/civicrm/civicrm-core/pull/16846))** | |
bdfce0d2 | 259 | |
498be86b AF |
260 | Fixes log messages generated when opening the relationship tab on the Manage |
261 | Case form. | |
bdfce0d2 | 262 | |
498be86b AF |
263 | - **Merge Case Modal not showing relevant cases |
264 | ([dev/core#1646](https://lab.civicrm.org/dev/core/issues/1646): | |
265 | [16798](https://github.com/civicrm/civicrm-core/pull/16798))** | |
bdfce0d2 | 266 | |
498be86b | 267 | Ensures the Merge Case Modal shows all relevant cases. |
bdfce0d2 | 268 | |
498be86b AF |
269 | - **Adding a timeline to a case doesn't get the last activity in the timeline |
270 | right ([dev/core#1675](https://lab.civicrm.org/dev/core/issues/1675) and | |
271 | [dev/core#1695](https://lab.civicrm.org/dev/core/issues/1695): | |
272 | [289](https://github.com/civicrm/civicrm-packages/pull/289))** | |
bdfce0d2 | 273 | |
498be86b AF |
274 | Ensures case custom fields are saved when submitted via Drupal webform. |
275 | Additionally ensures that the last activity in the case timeline is set | |
276 | correctly. | |
bdfce0d2 | 277 | |
498be86b AF |
278 | - **Check for Change Case Type in case activity form doesn't do anything |
279 | ([dev/core#1652](https://lab.civicrm.org/dev/core/issues/1652): | |
280 | [16785](https://github.com/civicrm/civicrm-core/pull/16785))** | |
bdfce0d2 | 281 | |
498be86b AF |
282 | - **Alternate to #16650 - On Case Audit/Print Report richtext details field is |
283 | getting escaped when system is non-english | |
284 | ([16659](https://github.com/civicrm/civicrm-core/pull/16659))** | |
bdfce0d2 | 285 | |
498be86b | 286 | ### CiviContribute |
bdfce0d2 | 287 | |
498be86b AF |
288 | - **Fix Bug where Payment Balance is sometimes miscalculated |
289 | ([16546](https://github.com/civicrm/civicrm-core/pull/16546))** | |
bdfce0d2 | 290 | |
498be86b AF |
291 | Fixes a bug where Add Refund is displayed instead of Add Payment on partially |
292 | paid event contributions. | |
bdfce0d2 | 293 | |
498be86b AF |
294 | - **CRM-20553 Stop contact being overwritten with paypal account name |
295 | ([14667](https://github.com/civicrm/civicrm-core/pull/14667))** | |
bdfce0d2 | 296 | |
498be86b AF |
297 | Ensures when a user creates a donation via paypal their CiviCRM contact name |
298 | is not overwritten to be their paypal account name. | |
bdfce0d2 | 299 | |
498be86b AF |
300 | - **Fix use col "Soft Credit Amount Stats" and any filter of contribution… |
301 | ([16591](https://github.com/civicrm/civicrm-core/pull/16591))** | |
bdfce0d2 | 302 | |
498be86b | 303 | Ensures that one can use "Soft Credit Amount Stats" with all filters. |
bdfce0d2 | 304 | |
498be86b AF |
305 | - **CRM_Core_Payment_PayPalProIPN should not call getPayPalPaymentProcessorID() |
306 | if processor_id is clearly provided in URL | |
307 | ([dev/core#1579](https://lab.civicrm.org/dev/core/issues/1579): | |
308 | [16479](https://github.com/civicrm/civicrm-core/pull/16479))** | |
bdfce0d2 | 309 | |
498be86b AF |
310 | - **Update pending contribution status action also send email without warning |
311 | ([dev/core#1640](https://lab.civicrm.org/dev/core/-/issues/1640): | |
312 | [16742](https://github.com/civicrm/civicrm-core/pull/16742))** | |
bdfce0d2 | 313 | |
498be86b AF |
314 | - **PayPal Express Checkout fails on events |
315 | ([dev/financial#119](https://lab.civicrm.org/dev/financial/issues/119): | |
316 | [16692](https://github.com/civicrm/civicrm-core/pull/16692))** | |
bdfce0d2 | 317 | |
498be86b | 318 | ### CiviEvent |
bdfce0d2 | 319 | |
498be86b AF |
320 | - **Remove additional display of buttons for events |
321 | ([16550](https://github.com/civicrm/civicrm-core/pull/16550))** | |
bdfce0d2 | 322 | |
498be86b | 323 | ### CiviMember |
bdfce0d2 | 324 | |
498be86b AF |
325 | - **Follow up on fix on updating memberships when a contact is deceased |
326 | ([16787](https://github.com/civicrm/civicrm-core/pull/16787))** | |
bdfce0d2 | 327 | |
498be86b AF |
328 | Improves the messages displayed when editing a membership for a contact that |
329 | is deceased. | |
bdfce0d2 | 330 | |
498be86b AF |
331 | - **Invalid currency "$" on sending offline membership receipt. |
332 | ([dev/core#1682](https://lab.civicrm.org/dev/core/issues/1682): | |
333 | [16943](https://github.com/civicrm/civicrm-core/pull/16943))** | |
bdfce0d2 | 334 | |
498be86b AF |
335 | Fixes an 'Invalid currency "$"' error when sending a receipt for a membership |
336 | created from an offline membership form. | |
bdfce0d2 | 337 | |
498be86b AF |
338 | - **Deceased Contact via Inline doesn't update the Membership's status to |
339 | Deceased ([dev/core#1599](https://lab.civicrm.org/dev/core/issues/1599): | |
340 | [16724](https://github.com/civicrm/civicrm-core/pull/16724))** | |
bdfce0d2 | 341 | |
498be86b AF |
342 | - **Membership auto-renew is not optional if using price set |
343 | ([dev/core#1630](https://lab.civicrm.org/dev/core/-/issues/1630): | |
344 | [16762](https://github.com/civicrm/civicrm-core/pull/16762))** | |
bdfce0d2 | 345 | |
498be86b | 346 | ### Drupal Integration |
bdfce0d2 | 347 | |
498be86b AF |
348 | - **Address no longer available as Relationship for Views in Drupal 7 |
349 | ([dev/drupal#110](https://lab.civicrm.org/dev/drupal/issues/110): | |
350 | [118](https://github.com/civicrm/civicrm-backdrop/pull/118) and | |
351 | [600](https://github.com/civicrm/civicrm-drupal/pull/600))** | |
bdfce0d2 | 352 | |
498be86b AF |
353 | - **Generalise typo3/phar-stream-wrapper so CiviCRM can be installed on D8.7 |
354 | ([17085](https://github.com/civicrm/civicrm-core/pull/17085))** | |
bdfce0d2 | 355 | |
498be86b AF |
356 | - **civicrm-setup and backward slashes in file paths on windows don't play nice |
357 | together ([dev/core#1643](https://lab.civicrm.org/dev/core/-/issues/1643): | |
358 | [16886](https://github.com/civicrm/civicrm-core/pull/16886))** | |
bdfce0d2 | 359 | |
498be86b AF |
360 | Fixes installing CiviCRM on Drupal8 sites on windows using civicrm-setup / cv |
361 | core:install. | |
bdfce0d2 | 362 | |
498be86b | 363 | ### WordPress Integration |
bdfce0d2 | 364 | |
498be86b AF |
365 | - **5.23 breaks WP admin menu links |
366 | ([dev/core#1637](https://lab.civicrm.org/dev/core/-/issues/1637): | |
367 | [16713](https://github.com/civicrm/civicrm-core/pull/16713))** | |
bdfce0d2 | 368 | |
498be86b AF |
369 | - **Merge REST API wrapper code |
370 | ([160](https://github.com/civicrm/civicrm-wordpress/pull/160))** | |
bdfce0d2 | 371 | |
498be86b | 372 | Adds routes for CiviCRM scripts in extern. |
bdfce0d2 | 373 | |
498be86b AF |
374 | - **Set "cms.root" URL in addition to Path |
375 | ([188](https://github.com/civicrm/civicrm-wordpress/pull/188))** | |
bdfce0d2 | 376 | |
498be86b AF |
377 | Resolves "Cannot resolve path using 'cms.root.url'" exception thrown on the |
378 | "Settings - Resource URLs" screen incorrectly on WordPress Multisite Subsite. | |
bdfce0d2 | 379 | |
498be86b | 380 | ## <a name="misc"></a>Miscellany |
bdfce0d2 | 381 | |
498be86b AF |
382 | - **Add recurring contribution ID to doCancelRecurring |
383 | ([16741](https://github.com/civicrm/civicrm-core/pull/16741))** | |
bdfce0d2 | 384 | |
498be86b AF |
385 | - **Support PropertyBag in CRM_Utils_Array |
386 | ([16699](https://github.com/civicrm/civicrm-core/pull/16699) and | |
387 | [16737](https://github.com/civicrm/civicrm-core/pull/16737))** | |
bdfce0d2 | 388 | |
498be86b AF |
389 | - **Added pseudoconstant for acl_id |
390 | ([16925](https://github.com/civicrm/civicrm-core/pull/16925))** | |
bdfce0d2 | 391 | |
498be86b AF |
392 | - **Added pseudoconstant for state province |
393 | ([16799](https://github.com/civicrm/civicrm-core/pull/16799))** | |
bdfce0d2 | 394 | |
498be86b AF |
395 | - **add pseudoconstant for location type |
396 | ([16758](https://github.com/civicrm/civicrm-core/pull/16758))** | |
bdfce0d2 | 397 | |
498be86b AF |
398 | - **Added pseudoconstant for priceset |
399 | ([16754](https://github.com/civicrm/civicrm-core/pull/16754))** | |
bdfce0d2 | 400 | |
498be86b AF |
401 | - **pseudoconstant for bounce type |
402 | ([16727](https://github.com/civicrm/civicrm-core/pull/16727))** | |
bdfce0d2 | 403 | |
498be86b AF |
404 | - **Added pseudoconstant for civicrm_tag.parent_id |
405 | ([16703](https://github.com/civicrm/civicrm-core/pull/16703))** | |
bdfce0d2 | 406 | |
498be86b AF |
407 | - **Event Cart cleanup |
408 | ([16691](https://github.com/civicrm/civicrm-core/pull/16691))** | |
bdfce0d2 | 409 | |
498be86b AF |
410 | - **Update cancelSubscription form to use updated methodology |
411 | ([16501](https://github.com/civicrm/civicrm-core/pull/16501) and | |
412 | [16715](https://github.com/civicrm/civicrm-core/pull/16715))** | |
bdfce0d2 | 413 | |
498be86b AF |
414 | - **Skip expensive smarty Processing when nothing to see here |
415 | ([16731](https://github.com/civicrm/civicrm-core/pull/16731))** | |
bdfce0d2 | 416 | |
498be86b AF |
417 | - **UFMatch - deprecate unused functions |
418 | ([16849](https://github.com/civicrm/civicrm-core/pull/16849))** | |
bdfce0d2 | 419 | |
498be86b AF |
420 | - **Shifted UpdateMemberhsip to BAO Layer |
421 | ([16690](https://github.com/civicrm/civicrm-core/pull/16690))** | |
bdfce0d2 | 422 | |
498be86b AF |
423 | - **Add DAO::writeRecord and DAO::deleteRecord methods |
424 | ([16856](https://github.com/civicrm/civicrm-core/pull/16856))** | |
bdfce0d2 | 425 | |
498be86b AF |
426 | - **Add some deprecation notices, stop calling PrevNext::cleanupCache |
427 | ([16697](https://github.com/civicrm/civicrm-core/pull/16697))** | |
bdfce0d2 | 428 | |
498be86b AF |
429 | - **Remove assigns for atypefile |
430 | ([16895](https://github.com/civicrm/civicrm-core/pull/16895))** | |
bdfce0d2 | 431 | |
498be86b AF |
432 | - **Deprecate use of in OptionGroup::add() function |
433 | ([16910](https://github.com/civicrm/civicrm-core/pull/16910))** | |
bdfce0d2 | 434 | |
498be86b AF |
435 | - **Improve APIv4 selectUtils to handle join paths in fieldnames. |
436 | ([16904](https://github.com/civicrm/civicrm-core/pull/16904))** | |
bdfce0d2 | 437 | |
498be86b AF |
438 | - **Upgrade jQuery validation version to v1.19.1 |
439 | ([16625](https://github.com/civicrm/civicrm-core/pull/16625))** | |
bdfce0d2 | 440 | |
498be86b AF |
441 | - **APIv3 - Use new DAO::deleteRecord method |
442 | ([16869](https://github.com/civicrm/civicrm-core/pull/16869))** | |
bdfce0d2 | 443 | |
498be86b AF |
444 | - **Improve conditional in api3 ChainSubscriber |
445 | ([16718](https://github.com/civicrm/civicrm-core/pull/16718))** | |
bdfce0d2 | 446 | |
498be86b AF |
447 | - **Mark unused function as deprecated |
448 | ([16688](https://github.com/civicrm/civicrm-core/pull/16688))** | |
bdfce0d2 | 449 | |
498be86b AF |
450 | - **CRM/Contact - Cleanup boolean expressions |
451 | ([16844](https://github.com/civicrm/civicrm-core/pull/16844))** | |
bdfce0d2 | 452 | |
498be86b AF |
453 | - **CRM/Contribute - Cleanup boolean expressions |
454 | ([16853](https://github.com/civicrm/civicrm-core/pull/16853))** | |
bdfce0d2 | 455 | |
498be86b AF |
456 | - **Civi/Test - Refactor out CRM_Utils_Array::value |
457 | ([16871](https://github.com/civicrm/civicrm-core/pull/16871))** | |
bdfce0d2 | 458 | |
498be86b AF |
459 | - **Cleanup reverse boolean expressions |
460 | ([16850](https://github.com/civicrm/civicrm-core/pull/16850))** | |
bdfce0d2 | 461 | |
498be86b AF |
462 | - **CRM/Core - Cleanup boolean expressions |
463 | ([16852](https://github.com/civicrm/civicrm-core/pull/16852))** | |
bdfce0d2 | 464 | |
498be86b AF |
465 | - **CRM/Utils - Cleanup boolean expressions |
466 | ([16851](https://github.com/civicrm/civicrm-core/pull/16851))** | |
bdfce0d2 | 467 | |
498be86b AF |
468 | - **CRM - Cleanup boolean expressions |
469 | ([16854](https://github.com/civicrm/civicrm-core/pull/16854))** | |
bdfce0d2 | 470 | |
498be86b AF |
471 | - **Fix another instance of silly use of CRM_Utils_Array::value |
472 | ([16712](https://github.com/civicrm/civicrm-core/pull/16712))** | |
bdfce0d2 | 473 | |
498be86b AF |
474 | - **Fix passing a non-array to CRM_Utils_Array::value |
475 | ([16701](https://github.com/civicrm/civicrm-core/pull/16701))** | |
bdfce0d2 | 476 | |
498be86b AF |
477 | - **Fix another instance of NULL being passed to CRM_Utils_Array::value |
478 | ([16711](https://github.com/civicrm/civicrm-core/pull/16711))** | |
bdfce0d2 | 479 | |
498be86b AF |
480 | - **Remove an instance of passing non-arraay to CRM_Utils_Array::value( |
481 | ([16706](https://github.com/civicrm/civicrm-core/pull/16706))** | |
bdfce0d2 | 482 | |
498be86b AF |
483 | - **Remove calls & deprecate CRM_Core_BAO_PrevNextCache::setItem |
484 | ([16696](https://github.com/civicrm/civicrm-core/pull/16696))** | |
bdfce0d2 | 485 | |
498be86b AF |
486 | - **(POC) Add `hook_civicrm_postCommit`, a less foot-gunny variant of |
487 | `hook_civicrm_post` | |
488 | ([15338](https://github.com/civicrm/civicrm-core/pull/15338))** | |
bdfce0d2 | 489 | |
498be86b AF |
490 | - **Fix typos in xml/dao |
491 | ([16827](https://github.com/civicrm/civicrm-core/pull/16827))** | |
bdfce0d2 | 492 | |
498be86b AF |
493 | - **Deprecate unused/unneeded pseudoconstant functions |
494 | ([16771](https://github.com/civicrm/civicrm-core/pull/16771))** | |
bdfce0d2 | 495 | |
498be86b AF |
496 | - **Deprecate calling contactTrashRestore function |
497 | ([16824](https://github.com/civicrm/civicrm-core/pull/16824))** | |
bdfce0d2 | 498 | |
498be86b AF |
499 | - **Remove old stuff |
500 | ([16835](https://github.com/civicrm/civicrm-core/pull/16835))** | |
bdfce0d2 | 501 | |
498be86b AF |
502 | - **Remove deprecated cleaning of money in the BAO layer |
503 | ([16950](https://github.com/civicrm/civicrm-core/pull/16950))** | |
bdfce0d2 | 504 | |
498be86b AF |
505 | - **Remove unused deprecated function |
506 | ([16812](https://github.com/civicrm/civicrm-core/pull/16812))** | |
bdfce0d2 | 507 | |
498be86b AF |
508 | - **Remove deprecated function |
509 | ([16907](https://github.com/civicrm/civicrm-core/pull/16907))** | |
bdfce0d2 | 510 | |
498be86b AF |
511 | - **Remove unused code |
512 | ([16914](https://github.com/civicrm/civicrm-core/pull/16914))** | |
bdfce0d2 | 513 | |
498be86b AF |
514 | - **Remove deprecated parameter |
515 | ([16813](https://github.com/civicrm/civicrm-core/pull/16813))** | |
bdfce0d2 | 516 | |
498be86b | 517 | - **fix typo ([16865](https://github.com/civicrm/civicrm-core/pull/16865))** |
bdfce0d2 | 518 | |
498be86b AF |
519 | - **API tests - remove unnecessary check for v4 |
520 | ([16866](https://github.com/civicrm/civicrm-core/pull/16866))** | |
bdfce0d2 | 521 | |
498be86b AF |
522 | - **[NFC] APIv4 - Add test coverage for expected fields from join |
523 | ([16920](https://github.com/civicrm/civicrm-core/pull/16920))** | |
bdfce0d2 | 524 | |
498be86b AF |
525 | - **[NFC] Add in unit test to ensure that APIv4 Doesn't accept an invalid… |
526 | ([16893](https://github.com/civicrm/civicrm-core/pull/16893))** | |
bdfce0d2 | 527 | |
498be86b AF |
528 | - **[NFC] Use strict comparison where possible |
529 | ([16896](https://github.com/civicrm/civicrm-core/pull/16896))** | |
bdfce0d2 | 530 | |
498be86b AF |
531 | - **[NFC] Code formatting |
532 | ([16906](https://github.com/civicrm/civicrm-core/pull/16906))** | |
bdfce0d2 | 533 | |
498be86b AF |
534 | - **[NFC] minor form cleanup. |
535 | ([16905](https://github.com/civicrm/civicrm-core/pull/16905))** | |
bdfce0d2 | 536 | |
498be86b AF |
537 | - **(NFC) Minor typo: receipients > recipients |
538 | ([16810](https://github.com/civicrm/civicrm-core/pull/16810))** | |
bdfce0d2 | 539 | |
498be86b AF |
540 | - **[NFC] Minor code cleanup |
541 | ([16823](https://github.com/civicrm/civicrm-core/pull/16823))** | |
bdfce0d2 | 542 | |
498be86b AF |
543 | - **[NFC] Deprecate passing in silly data |
544 | ([16818](https://github.com/civicrm/civicrm-core/pull/16818))** | |
bdfce0d2 | 545 | |
498be86b AF |
546 | - **[NFC] Test cleanup |
547 | ([16817](https://github.com/civicrm/civicrm-core/pull/16817))** | |
bdfce0d2 | 548 | |
498be86b AF |
549 | - **[NFC] Test cleanup, remove duplicate test |
550 | ([16755](https://github.com/civicrm/civicrm-core/pull/16755))** | |
bdfce0d2 | 551 | |
498be86b AF |
552 | - **(NFC) Minor string error : for for > for |
553 | ([16773](https://github.com/civicrm/civicrm-core/pull/16773))** | |
bdfce0d2 | 554 | |
498be86b AF |
555 | - **(NFC) Minor typo: contacts(s) -> contact(s) |
556 | ([16804](https://github.com/civicrm/civicrm-core/pull/16804))** | |
bdfce0d2 | 557 | |
498be86b AF |
558 | - **(NFC) Query.php / Minor typo: Genrated -> Generated |
559 | ([16803](https://github.com/civicrm/civicrm-core/pull/16803))** | |
bdfce0d2 | 560 | |
498be86b AF |
561 | - **[NFC] Fix comments, use single quotes |
562 | ([16693](https://github.com/civicrm/civicrm-core/pull/16693))** | |
bdfce0d2 | 563 | |
498be86b AF |
564 | - **[NFC] Mark unused function deprecated, fix some comments & formatting |
565 | ([16698](https://github.com/civicrm/civicrm-core/pull/16698))** | |
bdfce0d2 | 566 | |
498be86b AF |
567 | - **[NFC] cleanup in test class |
568 | ([16764](https://github.com/civicrm/civicrm-core/pull/16764))** | |
bdfce0d2 | 569 | |
498be86b AF |
570 | - **[NFC] Use helper / api to delete contacts in tests |
571 | ([16825](https://github.com/civicrm/civicrm-core/pull/16825))** | |
bdfce0d2 | 572 | |
498be86b AF |
573 | - **[NFC/TEST] Resurrect unfinished test for getRelatedCases() |
574 | ([16885](https://github.com/civicrm/civicrm-core/pull/16885))** | |
bdfce0d2 | 575 | |
498be86b AF |
576 | - **[Test] Remove skip that seems no longer required |
577 | ([16912](https://github.com/civicrm/civicrm-core/pull/16912))** | |
bdfce0d2 | 578 | |
498be86b AF |
579 | - **Test for PR 13809 |
580 | ([16474](https://github.com/civicrm/civicrm-core/pull/16474))** | |
bdfce0d2 | 581 | |
498be86b AF |
582 | - **[TEST] Add test for to time processing |
583 | ([16861](https://github.com/civicrm/civicrm-core/pull/16861))** | |
bdfce0d2 | 584 | |
498be86b AF |
585 | - **[REF] Case Activities Report includes core activities *always* |
586 | ([dev/core#1366](https://lab.civicrm.org/dev/core/issues/1366): | |
587 | [16670](https://github.com/civicrm/civicrm-core/pull/16670))** | |
bdfce0d2 | 588 | |
498be86b AF |
589 | - **[REF] Cleanup api3 DashboardContact |
590 | ([16792](https://github.com/civicrm/civicrm-core/pull/16792))** | |
bdfce0d2 | 591 | |
498be86b AF |
592 | - **[REF] Fixes a bug in Message Template create API where by user permissions |
593 | checks were being done on system workflow messages | |
594 | ([16788](https://github.com/civicrm/civicrm-core/pull/16788))** | |
bdfce0d2 | 595 | |
498be86b AF |
596 | - **[REF] Remove calls to fatal() |
597 | ([16746](https://github.com/civicrm/civicrm-core/pull/16746))** | |
bdfce0d2 | 598 | |
498be86b AF |
599 | - **[REF] Cleanup uses of CRM_Utils_Array::value related to numbers |
600 | ([16778](https://github.com/civicrm/civicrm-core/pull/16778))** | |
bdfce0d2 | 601 | |
498be86b AF |
602 | - **[REF] cleanup financial type form - remove complex inheritence |
603 | ([16777](https://github.com/civicrm/civicrm-core/pull/16777))** | |
bdfce0d2 | 604 | |
498be86b AF |
605 | - **[REF] Use ?? operator instead of CRM_Utils_Array::value() |
606 | ([16710](https://github.com/civicrm/civicrm-core/pull/16710))** | |
bdfce0d2 | 607 | |
498be86b AF |
608 | - **[REF] dev/core#1116 - Remove unused misnamed activityTypeName variable |
609 | ([16730](https://github.com/civicrm/civicrm-core/pull/16730))** | |
bdfce0d2 | 610 | |
498be86b AF |
611 | - **REF Switch to getter on cancelSubscription form |
612 | ([16740](https://github.com/civicrm/civicrm-core/pull/16740))** | |
bdfce0d2 | 613 | |
498be86b AF |
614 | - **[REF] Minor code simplification |
615 | ([16734](https://github.com/civicrm/civicrm-core/pull/16734))** | |
bdfce0d2 | 616 | |
498be86b AF |
617 | - **[REF] Hopefully fix regularly failing conformance test |
618 | ([16732](https://github.com/civicrm/civicrm-core/pull/16732))** | |
bdfce0d2 | 619 | |
498be86b AF |
620 | - **[REF] Use empty() instead of CRM_Utils_Array::value() in inline conditionals |
621 | ([16729](https://github.com/civicrm/civicrm-core/pull/16729))** | |
bdfce0d2 | 622 | |
498be86b AF |
623 | - **[REF] Use ?? operator instead of CRM_Utils_Array::value() in return |
624 | statements ([16719](https://github.com/civicrm/civicrm-core/pull/16719))** | |
bdfce0d2 | 625 | |
498be86b AF |
626 | - **[REF] CRM_Utils_Array::value() -> empty() |
627 | ([16704](https://github.com/civicrm/civicrm-core/pull/16704))** | |
bdfce0d2 | 628 | |
498be86b AF |
629 | - **[REF] Cleanup is_array(CRM_Utils_Array::value()) pattern |
630 | ([16875](https://github.com/civicrm/civicrm-core/pull/16875))** | |
bdfce0d2 | 631 | |
498be86b AF |
632 | - **[REF] Remove redundant call to build permissions |
633 | ([16862](https://github.com/civicrm/civicrm-core/pull/16862))** | |
bdfce0d2 | 634 | |
498be86b AF |
635 | - **[REF] Replace CRM_Utils_Array::value with ?? in variable assignments |
636 | ([16768](https://github.com/civicrm/civicrm-core/pull/16768))** | |
bdfce0d2 | 637 | |
498be86b AF |
638 | - **[REF] Replace coalesce pattern with coalesce operator |
639 | ([16802](https://github.com/civicrm/civicrm-core/pull/16802))** | |
bdfce0d2 | 640 | |
498be86b AF |
641 | - **[REF] Switch to using a non abandoned library for getting a mapping of |
642 | mimetypes to extensions | |
643 | ([16436](https://github.com/civicrm/civicrm-core/pull/16436))** | |
bdfce0d2 | 644 | |
498be86b AF |
645 | - **[REF] move buildQuickForm function to the trait |
646 | ([16948](https://github.com/civicrm/civicrm-core/pull/16948))** | |
bdfce0d2 | 647 | |
498be86b AF |
648 | - **[REF] Move properties to Trait |
649 | ([16940](https://github.com/civicrm/civicrm-core/pull/16940))** | |
bdfce0d2 | 650 | |
498be86b AF |
651 | - **[REF] Start transitioning EmailCommon class to a trait |
652 | ([16935](https://github.com/civicrm/civicrm-core/pull/16935))** | |
bdfce0d2 | 653 | |
498be86b AF |
654 | - **[REF] Remove fatal, fix some code comments |
655 | ([16928](https://github.com/civicrm/civicrm-core/pull/16928))** | |
bdfce0d2 | 656 | |
498be86b AF |
657 | - **[REF] extract code to getEmails |
658 | ([16929](https://github.com/civicrm/civicrm-core/pull/16929))** | |
bdfce0d2 | 659 | |
498be86b AF |
660 | - **[REF] Minor simplification - do not use variable variables |
661 | ([16927](https://github.com/civicrm/civicrm-core/pull/16927))** | |
bdfce0d2 | 662 | |
498be86b AF |
663 | - **[REF] Extract code used to render a pseudoconstant when a table is defined. |
664 | ([16902](https://github.com/civicrm/civicrm-core/pull/16902))** | |
bdfce0d2 | 665 | |
498be86b AF |
666 | - **[REF] Move form specific handling back to the relevant form. |
667 | ([16913](https://github.com/civicrm/civicrm-core/pull/16913))** | |
bdfce0d2 | 668 | |
498be86b AF |
669 | - **[REF] APIv4 - Preserve order when expanding select wildcards |
670 | ([16909](https://github.com/civicrm/civicrm-core/pull/16909))** | |
bdfce0d2 | 671 | |
498be86b AF |
672 | - **[REF] Remove & from before variable |
673 | ([16897](https://github.com/civicrm/civicrm-core/pull/16897))** | |
bdfce0d2 | 674 | |
498be86b AF |
675 | - **[REF] Replace \CRM_Utils_Array::value with ?? |
676 | ([16872](https://github.com/civicrm/civicrm-core/pull/16872))** | |
bdfce0d2 | 677 | |
498be86b AF |
678 | - **[REF] Civi/Api4 - Refactor out 'use CRM_Utils_Array' |
679 | ([16873](https://github.com/civicrm/civicrm-core/pull/16873))** | |
bdfce0d2 | 680 | |
498be86b AF |
681 | - **[REF] BAO_Contact - Remove CRM_Utils_Array::value and other unnecessary code |
682 | ([16874](https://github.com/civicrm/civicrm-core/pull/16874))** | |
bdfce0d2 | 683 | |
498be86b AF |
684 | - **[REF] APIv4 - Restructure the way get query objects are constucted |
685 | ([16878](https://github.com/civicrm/civicrm-core/pull/16878))** | |
bdfce0d2 | 686 | |
498be86b AF |
687 | - **[REF] Fix PCP getPcpDashboardInfo to be tested & use sensible functions |
688 | ([16790](https://github.com/civicrm/civicrm-core/pull/16790))** | |
bdfce0d2 | 689 | |
498be86b AF |
690 | - **[REF] Simplify obtuse boolean expressions |
691 | ([16822](https://github.com/civicrm/civicrm-core/pull/16822))** | |
bdfce0d2 | 692 | |
498be86b AF |
693 | - **[REF] Replace CRM_Utils_Array::value with ?? in variable assignments |
694 | ([16820](https://github.com/civicrm/civicrm-core/pull/16820))** | |
bdfce0d2 | 695 | |
498be86b AF |
696 | - **[REF] cleanups on array operator |
697 | ([16821](https://github.com/civicrm/civicrm-core/pull/16821))** | |
bdfce0d2 | 698 | |
498be86b AF |
699 | - **[REF] Simplify obtuse boolean expressions |
700 | ([16819](https://github.com/civicrm/civicrm-core/pull/16819))** | |
bdfce0d2 | 701 | |
498be86b AF |
702 | - **[REF] Remove titleHeader var |
703 | ([16816](https://github.com/civicrm/civicrm-core/pull/16816))** | |
bdfce0d2 | 704 | |
498be86b AF |
705 | - **[REF] simplify references to civicrm_acl |
706 | ([16671](https://github.com/civicrm/civicrm-core/pull/16671))** | |
bdfce0d2 AH |
707 | |
708 | ## <a name="credits"></a>Credits | |
709 | ||
710 | This release was developed by the following code authors: | |
711 | ||
498be86b AF |
712 | a-n The Artists Information Company - William Mortada; AGH Strategies - Alice |
713 | Frumin, Andrew Hunt; Alexy Mikhailichenko; Andrei Mondoc; Christian Wach; Circle | |
714 | Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, | |
715 | Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; | |
716 | Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - César | |
717 | Ramos; JMA Consulting - Seamus Lee; Joinery - Allen Shaw; Kartik Kathuria; | |
718 | Lighthouse Design and Consulting - Brian Shaughnessy; Makoa - Usha F. Matisson; | |
719 | Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; | |
720 | Naomi Rosenberg; Ray Wright; OSSeed Technologies LLP - Sushant Paste; SYSTOPIA | |
721 | Organisationsberatung - Björn Endres; Timbsoft Technologies - Tunbola Ogunwande; | |
722 | Wikimedia Foundation - Eileen McNaughton | |
bdfce0d2 AH |
723 | |
724 | Most authors also reviewed code for this release; in addition, the following | |
725 | reviewers contributed their comments: | |
726 | ||
498be86b AF |
727 | Agileware - Justin Freeman; Artful Robot - Rich Lott; British Humanist |
728 | Association - Andrew West; CiviDesk - Nicolas Ganivet; Coop SymbioTIC - Mathieu | |
729 | Lutfy; Digitalcourage - Detlev Sieber; Freeform Solutions - S. Gray; Fuzion - | |
730 | Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; Jamie | |
731 | Tillman; JMA Consulting - Monish Deb; Korlon - Stuart Gaston; MJCO - Mikey | |
732 | O'Toole; Richard van Oosterhout; Skvare - Mark Hanna; Squiffle Consulting - | |
733 | Aidan Saunders; Tadpole Collective - Kevin Cristiano; | |
a8cf70fe AH |
734 | |
735 | ## <a name="feedback"></a>Feedback | |
736 | ||
737 | These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like | |
738 | to provide feedback on them, please log in to https://chat.civicrm.org/civicrm | |
739 | and contact `@agh1`. |