Merge pull request #20241 from eileenmcnaughton/haystack
[civicrm-core.git] / release-notes / 5.38.0.md
1 # CiviCRM 5.38.0
2
3 Released June 2, 2021
4
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
11
12 ## <a name="synopsis"></a>Synopsis
13
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | |
17 | Change the database schema? | |
18 | Alter the API? | |
19 | Require attention to configuration options? | |
20 | Fix problems installing or upgrading to a previous version? | |
21 | Introduce features? | |
22 | Fix bugs? | |
23
24 ## <a name="features"></a>Features
25
26 ## <a name="bugs"></a>Bugs resolved
27
28 ### Core CiviCRM
29
30 - **Afform - Fix saving joined entities (email, address, phone, etc) ([20264](https://github.com/civicrm/civicrm-core/pull/20264))**
31
32 - **Fix money formatting opps ([20277](https://github.com/civicrm/civicrm-core/pull/20277))**
33
34 - **dev/core#2601 fix joomla permission regression ([20256](https://github.com/civicrm/civicrm-core/pull/20256))**
35
36 - **Make APIv4 Subscribers Public to fix D9 install ([20254](https://github.com/civicrm/civicrm-core/pull/20254))**
37
38 - **Globally reset angular hashPrefix ([20152](https://github.com/civicrm/civicrm-core/pull/20152))**
39
40 - **dev/core#2575 remove / improve indexes ([20245](https://github.com/civicrm/civicrm-core/pull/20245))**
41
42 - **dev/core#2593 [REF] Stop passing membership id into recur notify ([20244](https://github.com/civicrm/civicrm-core/pull/20244))**
43
44 - **Afform - Fix loading entities from url args ([20145](https://github.com/civicrm/civicrm-core/pull/20145))**
45
46 - **[NFC] Code cleanup, docblocks, strict comparison, type hints ([20240](https://github.com/civicrm/civicrm-core/pull/20240))**
47
48 - **[NFC] code cleanups in test class ([20237](https://github.com/civicrm/civicrm-core/pull/20237))**
49
50 - **Extract sales tax test config to a trait ([20233](https://github.com/civicrm/civicrm-core/pull/20233))**
51
52 - **SearchKit - Fix updating Entity Ref fields ([20125](https://github.com/civicrm/civicrm-core/pull/20125))**
53
54 - **(5.37 merge into master) dev/core#2586 fix failure to null thank you ([20235](https://github.com/civicrm/civicrm-core/pull/20235))**
55
56 - **Merge forward (5.37 => master) ([20232](https://github.com/civicrm/civicrm-core/pull/20232))**
57
58 - **Afform - Set default position for contact layout editor ([20228](https://github.com/civicrm/civicrm-core/pull/20228))**
59
60 - **dev/core#2588 - failing test for PR 20222 ([20227](https://github.com/civicrm/civicrm-core/pull/20227))**
61
62 - **dev/core#2588 - Crash when sending to 3+ email recipients with an attachment in 5.36+ ([20222](https://github.com/civicrm/civicrm-core/pull/20222))**
63
64 - **Api4 Services - Lazy-load subscriber-objects ([20221](https://github.com/civicrm/civicrm-core/pull/20221))**
65
66 - **5.37.0 release notes: added late changes ([20230](https://github.com/civicrm/civicrm-core/pull/20230))**
67
68 - **dev/core#2571: Add form function of utils/Recaptcha has been altered to avoid checking variable "isCaptcha" ([20199](https://github.com/civicrm/civicrm-core/pull/20199))**
69
70 - **APIv4 - Don't show campaign_id in getFields if campaign component disabled ([20219](https://github.com/civicrm/civicrm-core/pull/20219))**
71
72 - **Set the smarty variables for mem_status and mem_join_date for back-end membership renewals ([20224](https://github.com/civicrm/civicrm-core/pull/20224))**
73
74 - **5.37 ([20226](https://github.com/civicrm/civicrm-core/pull/20226))**
75
76 - **allow event transfer on backend when self-service transfer is disabled ([20150](https://github.com/civicrm/civicrm-core/pull/20150))**
77
78 - **REF Update Pear/log to fix issues with install CiviCRM on Drupal 9.2 ([20218](https://github.com/civicrm/civicrm-core/pull/20218))**
79
80 - **Fix enotice when Log service is swapped out ([20146](https://github.com/civicrm/civicrm-core/pull/20146))**
81
82 - **APIv4 - Setting api misc fixes & tests ([20191](https://github.com/civicrm/civicrm-core/pull/20191))**
83
84 - **Set html type of campaign fields ([20215](https://github.com/civicrm/civicrm-core/pull/20215))**
85
86 - **Fix PayPal IPN URL and WordPress URLs when Permalinks are set to "Plain" ([20063](https://github.com/civicrm/civicrm-core/pull/20063))**
87
88 - **Fixed dev/core#2505 fix formatting of numbers in civireport ([20123](https://github.com/civicrm/civicrm-core/pull/20123))**
89
90 - **dev/core#2568 Enotice fix + test ([20188](https://github.com/civicrm/civicrm-core/pull/20188))**
91
92 - **SearchKit - Exclude serialized fields from implicit join selection ([20156](https://github.com/civicrm/civicrm-core/pull/20156))**
93
94 - **5.37 to master ([20213](https://github.com/civicrm/civicrm-core/pull/20213))**
95
96 - **[REF] Cleanup interaction with membership & membership id ([20153](https://github.com/civicrm/civicrm-core/pull/20153))**
97
98 - **dev/core#2582 Fix PCP and Pledge template urls in message templates t… ([20203](https://github.com/civicrm/civicrm-core/pull/20203))**
99
100 - **5.37 ([20207](https://github.com/civicrm/civicrm-core/pull/20207))**
101
102 - **5.37 to master ([20201](https://github.com/civicrm/civicrm-core/pull/20201))**
103
104 - **fix capitalization to allow proper access to 'access AJAX API' perm. ([20200](https://github.com/civicrm/civicrm-core/pull/20200))**
105
106 - **Make reCAPTCHA not conditional on paymentprocessor on contribution page ([20180](https://github.com/civicrm/civicrm-core/pull/20180))**
107
108 - **[REF] Minor tidy up ([20194](https://github.com/civicrm/civicrm-core/pull/20194))**
109
110 - **Make send letter function available to searchkit, individual contributions ([20187](https://github.com/civicrm/civicrm-core/pull/20187))**
111
112 - **dev/core#2571: Removed Forced Recaptcha function as it called only once ([20193](https://github.com/civicrm/civicrm-core/pull/20193))**
113
114 - **Add deprected warning to apparently unused functions ([20192](https://github.com/civicrm/civicrm-core/pull/20192))**
115
116 - **[REF] Remove redundant code ([20138](https://github.com/civicrm/civicrm-core/pull/20138))**
117
118 - **5.37 ([20185](https://github.com/civicrm/civicrm-core/pull/20185))**
119
120 - **APIv4 - Remove unnecessary custom getActions class ([20181](https://github.com/civicrm/civicrm-core/pull/20181))**
121
122 - **add me ([20183](https://github.com/civicrm/civicrm-core/pull/20183))**
123
124 - **oauth-client - Add test for existing Auth Code flow behavior ([20162](https://github.com/civicrm/civicrm-core/pull/20162))**
125
126 - **Contribution.sendconfirmation API3 function should return ([20182](https://github.com/civicrm/civicrm-core/pull/20182))**
127
128 - **[REF] Minor code cleanup ([20175](https://github.com/civicrm/civicrm-core/pull/20175))**
129
130 - **[REF] Complete decommissioning of CRM/Contribute/Form/Task/PDFLetterCommon.php ([20172](https://github.com/civicrm/civicrm-core/pull/20172))**
131
132 - **dev/core#2541 Clarify scheduled reminder options: Event Start Date -> Event Start, etc ([20070](https://github.com/civicrm/civicrm-core/pull/20070))**
133
134 - **dev/core#1452 Put text inside label tags for recurring contribution selection ([20092](https://github.com/civicrm/civicrm-core/pull/20092))**
135
136 - **5.37 to master ([20176](https://github.com/civicrm/civicrm-core/pull/20176))**
137
138 - **APIv4 - Remove unnecessary class override (handled by generic) ([20173](https://github.com/civicrm/civicrm-core/pull/20173))**
139
140 - **Remove apparent copy & paste from Contribution pdf letter function ([20161](https://github.com/civicrm/civicrm-core/pull/20161))**
141
142 - **[REF] Add strict types to Utils_Mail::Send ([20171](https://github.com/civicrm/civicrm-core/pull/20171))**
143
144 - **Simplify reCAPTCHA on ContributionBase form ([20166](https://github.com/civicrm/civicrm-core/pull/20166))**
145
146 - **REF Cleanup ReCAPTCHA code ([20167](https://github.com/civicrm/civicrm-core/pull/20167))**
147
148 - **[REF] Post move cleanup - switch from $form to $this ([20160](https://github.com/civicrm/civicrm-core/pull/20160))**
149
150 - **Fixes issue with state/province & country not translating values ([20169](https://github.com/civicrm/civicrm-core/pull/20169))**
151
152 - **REF reCAPTCHA Simplify buildCustom function on Registration form ([20164](https://github.com/civicrm/civicrm-core/pull/20164))**
153
154 - **REF reCAPTCHA Simplify buildCustom function on Signature form ([20165](https://github.com/civicrm/civicrm-core/pull/20165))**
155
156 - **[REF] Minor tidy up - use writeRecord ([20159](https://github.com/civicrm/civicrm-core/pull/20159))**
157
158 - **Fix a copy-and-paste error in the field definitions for OAuthSysToken ([20157](https://github.com/civicrm/civicrm-core/pull/20157))**
159
160 - **[REF] Move more functions back to pdfLetter class ([20155](https://github.com/civicrm/civicrm-core/pull/20155))**
161
162 - **Search Kit links improvements ([20134](https://github.com/civicrm/civicrm-core/pull/20134))**
163
164 - **Move more functions to the pdfLetter class ([20143](https://github.com/civicrm/civicrm-core/pull/20143))**
165
166 - **5.37 ([20154](https://github.com/civicrm/civicrm-core/pull/20154))**
167
168 - **[REF] Fix Security status check urls to work on WordPress ([20111](https://github.com/civicrm/civicrm-core/pull/20111))**
169
170 - **dev/core#2493 Default to not cleaning money for order.create api ([19991](https://github.com/civicrm/civicrm-core/pull/19991))**
171
172 - **5.37 to master ([20151](https://github.com/civicrm/civicrm-core/pull/20151))**
173
174 - **Authx - Retain authentication outcome/metadata ([20026](https://github.com/civicrm/civicrm-core/pull/20026))**
175
176 - **dev/core#2506 Fix unserializing custom values during form reload ([20137](https://github.com/civicrm/civicrm-core/pull/20137))**
177
178 - **[REF] Move functions back to class that uses it ([20136](https://github.com/civicrm/civicrm-core/pull/20136))**
179
180 - **AfformGui - Specify admin tpl in entity config file & fall-back to ge… ([20141](https://github.com/civicrm/civicrm-core/pull/20141))**
181
182 - **dev/core#2516 Invalidate only smart groups ([19986](https://github.com/civicrm/civicrm-core/pull/19986))**
183
184 - **5.37 ([20140](https://github.com/civicrm/civicrm-core/pull/20140))**
185
186 - **[REF] dev/core#2509 - Pull activity actionLinks creation into separate function ([20118](https://github.com/civicrm/civicrm-core/pull/20118))**
187
188 - **Replace string org.civicrm.search -> org.civicrm.search_kit ([20132](https://github.com/civicrm/civicrm-core/pull/20132))**
189
190 - **APIv4 - Deprecate nonstandard syntax for implicit joins ([20130](https://github.com/civicrm/civicrm-core/pull/20130))**
191
192 - **dev/core#2556 Rename extension org.civicrm.search -> org.civicrm.search_kit ([20124](https://github.com/civicrm/civicrm-core/pull/20124))**
193
194 - **Enotice fix ([20122](https://github.com/civicrm/civicrm-core/pull/20122))**
195
196 - **Add contact source column in some Reports ([20112](https://github.com/civicrm/civicrm-core/pull/20112))**
197
198 - **5.37 ([20119](https://github.com/civicrm/civicrm-core/pull/20119))**
199
200 - **SearchKit - Fix display of contact reference fields (single-value) ([20117](https://github.com/civicrm/civicrm-core/pull/20117))**
201
202 - **Fix Drupal8 CiviCRM menu translation on multilingual (and ajax calls) ([20085](https://github.com/civicrm/civicrm-core/pull/20085))**
203
204 - **Extensions - Setup <classloader> during "enable" and "uninstall" ([20116](https://github.com/civicrm/civicrm-core/pull/20116))**
205
206 - **dev/core#2509 - Remove duplicate setting of activity subject field and replace a few CRM_Utils_Array::value ([20114](https://github.com/civicrm/civicrm-core/pull/20114))**
207
208 - **dev/core#2547 - Add base-upgrader to core ([20090](https://github.com/civicrm/civicrm-core/pull/20090))**
209
210 - **Save entities created by api v4 to managed ([20105](https://github.com/civicrm/civicrm-core/pull/20105))**
211
212 - **dev/core#2509 - Remove unnecessary variable to make it easier to extract function that creates action links ([20106](https://github.com/civicrm/civicrm-core/pull/20106))**
213
214 - **Increase civicrm_queue_item.data field size ([20107](https://github.com/civicrm/civicrm-core/pull/20107))**
215
216 - **Include more data in error message ([20110](https://github.com/civicrm/civicrm-core/pull/20110))**
217
218 - **dev/core#2490 Drupal8: Fix CMS intergration table mapping ([19989](https://github.com/civicrm/civicrm-core/pull/19989))**
219
220 - **Add 'contact-actions-ribbon' region ([20108](https://github.com/civicrm/civicrm-core/pull/20108))**
221
222 - **dev/core#2549 Fix undefined index when merging websites ([20101](https://github.com/civicrm/civicrm-core/pull/20101))**
223
224 - **dev/core#2505 Fix formatLocaleNumeric ([20053](https://github.com/civicrm/civicrm-core/pull/20053))**
225
226 - **5.37 ([20103](https://github.com/civicrm/civicrm-core/pull/20103))**
227
228 - **[NFC] Regenerate Grant DAO ([20104](https://github.com/civicrm/civicrm-core/pull/20104))**
229
230 - **dev/report#53: search on relationship and case (2) ([20002](https://github.com/civicrm/civicrm-core/pull/20002))**
231
232 - **Remove unused functions ([20099](https://github.com/civicrm/civicrm-core/pull/20099))**
233
234 - **dev/mail#90 - Allow re-use mailing on draft mailings and adhoc mailings ([20058](https://github.com/civicrm/civicrm-core/pull/20058))**
235
236 - **Fix the MOST out-of-date parts of the afform readme ([20100](https://github.com/civicrm/civicrm-core/pull/20100))**
237
238 - **Extensions - Setup `<classloader>` during installation ([20091](https://github.com/civicrm/civicrm-core/pull/20091))**
239
240 - **Alter dedupe code to call api rather than bao->save() ([20036](https://github.com/civicrm/civicrm-core/pull/20036))**
241
242 - **[NFC/Unit Test] - Help avoid problems when using assertApproxEquals with integers instead of fractions ([20089](https://github.com/civicrm/civicrm-core/pull/20089))**
243
244 - **(NFC) Fix possible flacky tests by splitting the parts of the checksu… ([20088](https://github.com/civicrm/civicrm-core/pull/20088))**
245
246 - **5.37 ([20086](https://github.com/civicrm/civicrm-core/pull/20086))**
247
248 - **Simplify mailing check ([20076](https://github.com/civicrm/civicrm-core/pull/20076))**
249
250 - **community/feature-request#12 - Allow named logging channels ([20079](https://github.com/civicrm/civicrm-core/pull/20079))**
251
252 - **dev/core#403 Fix Petition Confirmation Email template by removing the… ([20080](https://github.com/civicrm/civicrm-core/pull/20080))**
253
254 - **dev/core#2536 Trim strings from info.xml in extensions ([20064](https://github.com/civicrm/civicrm-core/pull/20064))**
255
256 - **5.37 ([20067](https://github.com/civicrm/civicrm-core/pull/20067))**
257
258 - **Fix for importing preferred language (and other fields) by label ([19886](https://github.com/civicrm/civicrm-core/pull/19886))**
259
260 - **Fix AuthX Setting Labels ([20055](https://github.com/civicrm/civicrm-core/pull/20055))**
261
262 - **Switch to Call contribution api ([20041](https://github.com/civicrm/civicrm-core/pull/20041))**
263
264 - **[Ref] Simplify getMembershipParameters ([20014](https://github.com/civicrm/civicrm-core/pull/20014))**
265
266 - **APIv4 - Fix Setting api to work with index param ([20072](https://github.com/civicrm/civicrm-core/pull/20072))**
267
268 - **Removed limit of 25 groups and past mailings ([20069](https://github.com/civicrm/civicrm-core/pull/20069))**
269
270 - **(REF) Payflow Pro - Migrate code into a core extension ([20043](https://github.com/civicrm/civicrm-core/pull/20043))**
271
272 - **5.37 ([20051](https://github.com/civicrm/civicrm-core/pull/20051))**
273
274 - **APIv4 - Improve entity name lookup ([20056](https://github.com/civicrm/civicrm-core/pull/20056))**
275
276 - **Add pager to bottom of Manage Contribution Pages ([20061](https://github.com/civicrm/civicrm-core/pull/20061))**
277
278 - **When generating boilerplate code from xml, make error text more helpful and spelt correckly ([20054](https://github.com/civicrm/civicrm-core/pull/20054))**
279
280 - **dev/core#2509 - Search kit display link for grant view is wrong ([20060](https://github.com/civicrm/civicrm-core/pull/20060))**
281
282 - **Revert "dev/core#2512 Set membership's status properly when recording the payment" ([20062](https://github.com/civicrm/civicrm-core/pull/20062))**
283
284 - **dev/core#2512 Set membership's status properly when recording the payment ([19975](https://github.com/civicrm/civicrm-core/pull/19975))**
285
286 - **Update WP permission page for new string array keys ([20045](https://github.com/civicrm/civicrm-core/pull/20045))**
287
288 - **Afform - Improve integration with ContactLayout editor ([20042](https://github.com/civicrm/civicrm-core/pull/20042))**
289
290 - **APIv4 - Fix unserialize settings ([20048](https://github.com/civicrm/civicrm-core/pull/20048))**
291
292 - **Convert Dummy payment processor to use doPayment function ([20029](https://github.com/civicrm/civicrm-core/pull/20029))**
293
294 - **Suppress legacy warnings by default in propertyBag to allow transition to propertyBag without hitting legacy warnings on unconverted payment processors ([20038](https://github.com/civicrm/civicrm-core/pull/20038))**
295
296 - **[REF] Fix error where entryURL does not contain id of the contributio… ([19917](https://github.com/civicrm/civicrm-core/pull/19917))**
297
298 - **[REF] Simplify interaction with contributionRecur ([20017](https://github.com/civicrm/civicrm-core/pull/20017))**
299
300 - **Add amount as standard property to PaymentPropertyBag ([20037](https://github.com/civicrm/civicrm-core/pull/20037))**
301
302 - **5.37 ([20039](https://github.com/civicrm/civicrm-core/pull/20039))**
303
304 - **Initial refactor of PayPal core processor to stop using doDirectPayment/doTransferCheckout ([20030](https://github.com/civicrm/civicrm-core/pull/20030))**
305
306 - **Add installments to propertyBag ([20023](https://github.com/civicrm/civicrm-core/pull/20023))**
307
308 - **5.37 to master ([20034](https://github.com/civicrm/civicrm-core/pull/20034))**
309
310 - **Make it clear that doDirectPayment/doTransferCheckout are deprecated … ([20020](https://github.com/civicrm/civicrm-core/pull/20020))**
311
312 - **Use propertyBag in doPayment ([20022](https://github.com/civicrm/civicrm-core/pull/20022))**
313
314 - **5.37 to master ([20032](https://github.com/civicrm/civicrm-core/pull/20032))**
315
316 - **Add payment_status in default doPayment per dev/financial#141 ([20021](https://github.com/civicrm/civicrm-core/pull/20021))**
317
318 - **5.37 to master ([20027](https://github.com/civicrm/civicrm-core/pull/20027))**
319
320 - **Fix Payment.create to update (recalculate) contribution fee_amount ([20008](https://github.com/civicrm/civicrm-core/pull/20008))**
321
322 - **Add unit test for core#19628 ([19972](https://github.com/civicrm/civicrm-core/pull/19972))**
323
324 - **[REF] [ipn] Simplification around contributionRecur ID ([19903](https://github.com/civicrm/civicrm-core/pull/19903))**
325
326 - **Extract out getReceiveDate ([20007](https://github.com/civicrm/civicrm-core/pull/20007))**
327
328 - **[NFC] [Test] Preliminary cleanup ([20012](https://github.com/civicrm/civicrm-core/pull/20012))**
329
330 - **dev/core#2502 Add unit test to lock in fix on tag searching in search… ([20016](https://github.com/civicrm/civicrm-core/pull/20016))**
331
332 - **Move tpl assignment to email function ([20013](https://github.com/civicrm/civicrm-core/pull/20013))**
333
334 - **dev/core#2436 On WordPress, redirect back to the event registration o… ([19718](https://github.com/civicrm/civicrm-core/pull/19718))**
335
336 - **5.37 to master ([20015](https://github.com/civicrm/civicrm-core/pull/20015))**
337
338 - **[Ref] One more place to use total fn ([20010](https://github.com/civicrm/civicrm-core/pull/20010))**
339
340 - **[NFC] [Test] Minor preliminary cleanup ([20006](https://github.com/civicrm/civicrm-core/pull/20006))**
341
342 - **[REF] [Towards membership api] Simplify determination on contribution recur contact id ([19902](https://github.com/civicrm/civicrm-core/pull/19902))**
343
344 - **SearchKit - Make contribution tasks available as actions ([20004](https://github.com/civicrm/civicrm-core/pull/20004))**
345
346 - **5.37 to master ([20005](https://github.com/civicrm/civicrm-core/pull/20005))**
347
348 - **Membership form Remove check for installments as not on the form (copied from shared code) ([19964](https://github.com/civicrm/civicrm-core/pull/19964))**
349
350 - **Remove reference to trxn_id, not on form, from previously shared code ([19965](https://github.com/civicrm/civicrm-core/pull/19965))**
351
352 - **Add support for receipt task outside the search process ([19848](https://github.com/civicrm/civicrm-core/pull/19848))**
353
354 - **dev/release#16 - Cleanup empty upgrade steps ([19744](https://github.com/civicrm/civicrm-core/pull/19744))**
355
356 - **[REF] [Towards membership api] extract getContributionSource ([19966](https://github.com/civicrm/civicrm-core/pull/19966))**
357
358 - **File CustomField: avoid renaming an empty file ([19890](https://github.com/civicrm/civicrm-core/pull/19890))**
359
360 - **5.37 ([20000](https://github.com/civicrm/civicrm-core/pull/20000))**
361
362 - **dev/core#2501 - api uf_group.create overwrites existing fields when updating if they aren't specified ([19995](https://github.com/civicrm/civicrm-core/pull/19995))**
363
364 - **Add FUNDING.yml to display a SPONSOR link that directs to c.o ([644](https://github.com/civicrm/civicrm-drupal/pull/644))**
365
366 - **Add FUNDING.yml to display a SPONSOR link that directs to c.o ([63](https://github.com/civicrm/civicrm-drupal-8/pull/63))**
367
368 - **[NFC] Consistency fix when defining CIVICRM_TEST ([64](https://github.com/civicrm/civicrm-drupal-8/pull/64))**
369
370 - **5.37 ([321](https://github.com/civicrm/civicrm-packages/pull/321))**
371
372 ## <a name="misc"></a>Miscellany
373
374 ## <a name="credits"></a>Credits
375
376 This release was developed by the following code authors:
377
378 AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Francis Whittle, Justin Freeman; Benjamin W; Caltha - Tomasz Pietrzkowski; Christian Wach; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid, Omar Abu Hussein; Coop SymbioTIC - Mathieu Lutfy; Dave D; Francesc Bassas i Bullich; Fuzion - Jitendra Purohit; invalid-email-address; iXiam - Vangelis Pantazis; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Kartik Kathuria; larssandergreen; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Olivier Hertrich; Progressive Technology Project - Jamie McClelland; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen McNaughton
379
380 Most authors also reviewed code for this release; in addition, the following
381 reviewers contributed their comments:
382
383 Agileware - Francis Whittle, Justin Freeman; Artful Robot - Rich Lott; Australian Greens - John Twyman; Caltha - Tomasz Pietrzkowski; Christian Wach; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Ahed Eid, Omar Abu Hussein; Coop SymbioTIC - Mathieu Lutfy; Dave D; Francesc Bassas i Bullich; JMA Consulting - Edsel Lopez, Joe Murray, Monish Deb, Seamus Lee; John Kingsnorth; Kartik Kathuria; larssandergreen; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; SYSTOPIA Organisationsberatung - Björn Endres; Tadpole Collective - Kevin Cristiano; Web Access - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton
384
385 ## <a name="feedback"></a>Feedback
386
387 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
388 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
389 and contact `@agh1`.