Commit | Line | Data |
---|---|---|
37b373fe AH |
1 | # CiviCRM 5.48.0 |
2 | ||
3 | Released April 6, 2022; | |
4 | ||
5 | - **[Features](#features)** | |
6 | - **[Bugs resolved](#bugs)** | |
7 | - **[Miscellany](#misc)** | |
8 | - **[Credits](#credits)** | |
9 | ||
10 | ## <a name="features"></a>Features | |
11 | ||
12 | ### Core CiviCRM | |
13 | ||
14 | - **crm- Missing Summary ([70](https://github.com/civicrm/civicrm-drupal-8/pull/70))** | |
15 | ||
16 | ## <a name="bugs"></a>Bugs resolved | |
17 | ||
18 | ### Core CiviCRM | |
19 | ||
20 | - **dev/core#3119 - Post-upgrade messages no longer being displayed ([22985](https://github.com/civicrm/civicrm-core/pull/22985))** | |
21 | ||
22 | - **[REF] Update Guzzlehttp/psr7 version to be 1.8.5 ([22998](https://github.com/civicrm/civicrm-core/pull/22998))** | |
23 | ||
24 | - **Afform - Fix saving and editing entity blocks ([22963](https://github.com/civicrm/civicrm-core/pull/22963))** | |
25 | ||
26 | - **dev/core#3126 - CiviReport statistics appearing twice on page ([22976](https://github.com/civicrm/civicrm-core/pull/22976))** | |
27 | ||
28 | - **(Regression) - fixed tags form field display on New/Edit contact screen ([22964](https://github.com/civicrm/civicrm-core/pull/22964))** | |
29 | ||
30 | - **Return array for setdefaults ([22948](https://github.com/civicrm/civicrm-core/pull/22948))** | |
31 | ||
32 | - **[REF] Rename SoftDeleteEntity -> SoftDeleteActionTrait ([22944](https://github.com/civicrm/civicrm-core/pull/22944))** | |
33 | ||
34 | - **Fix backward-compatability for new method in CRM_Contact_BAO_Query_Hook ([22933](https://github.com/civicrm/civicrm-core/pull/22933))** | |
35 | ||
36 | - **dev/core#3112 Clear caches to avoid error on upgrade ([22932](https://github.com/civicrm/civicrm-core/pull/22932))** | |
37 | ||
38 | - **Afform Gui - Fix selecting html element of text box ([22929](https://github.com/civicrm/civicrm-core/pull/22929))** | |
39 | ||
40 | - **(NFC) contributor-key.yml - Fix syntax error ([22921](https://github.com/civicrm/civicrm-core/pull/22921))** | |
41 | ||
42 | - **Don't perform event timezone check if CiviEvent is disabled ([22898](https://github.com/civicrm/civicrm-core/pull/22898))** | |
43 | ||
44 | - **CiviGrant - Don't auto-create any grant types ([22913](https://github.com/civicrm/civicrm-core/pull/22913))** | |
45 | ||
46 | - **dev/core#3100 - Remove grant leftovers from core xml. Remove empty grant reports menu ([22911](https://github.com/civicrm/civicrm-core/pull/22911))** | |
47 | ||
48 | - **Only acl line items based on contribution ([22870](https://github.com/civicrm/civicrm-core/pull/22870))** | |
49 | ||
50 | - **dev/core#3094 - Crash on contribution view when don't have event/participant permissions ([22865](https://github.com/civicrm/civicrm-core/pull/22865))** | |
51 | ||
52 | - **dev/core#3104 - Crash when viewing a contact page - Call to undefined method CRM_Contact_Page_View_Summary::addExpectedSmartyVariables() ([22897](https://github.com/civicrm/civicrm-core/pull/22897))** | |
53 | ||
54 | - **Refresh entity list after updating custom group (self_hook_*) ([22868](https://github.com/civicrm/civicrm-core/pull/22868))** | |
55 | ||
56 | - **APIv4 Explorer - Add "copy" button to quicly copy code to clipboard ([22896](https://github.com/civicrm/civicrm-core/pull/22896))** | |
57 | ||
58 | - **smarty/php notices on contribution view part 4 ([22894](https://github.com/civicrm/civicrm-core/pull/22894))** | |
59 | ||
60 | - **Mark AJAX methods as static ([22895](https://github.com/civicrm/civicrm-core/pull/22895))** | |
61 | ||
62 | - **Avoid e-notices on pages with tabs ([22892](https://github.com/civicrm/civicrm-core/pull/22892))** | |
63 | ||
64 | - **5.47 ([22891](https://github.com/civicrm/civicrm-core/pull/22891))** | |
65 | ||
66 | - **ManagedEntities - Allow "match" param to convert existing records to … ([22883](https://github.com/civicrm/civicrm-core/pull/22883))** | |
67 | ||
68 | - **5.47 ([22888](https://github.com/civicrm/civicrm-core/pull/22888))** | |
69 | ||
70 | - **5.47 ([22884](https://github.com/civicrm/civicrm-core/pull/22884))** | |
71 | ||
72 | - **Contact token should show contact's info instead of logged in contact ([22874](https://github.com/civicrm/civicrm-core/pull/22874))** | |
73 | ||
74 | - **Bump karma from 6.3.14 to 6.3.16 ([22875](https://github.com/civicrm/civicrm-core/pull/22875))** | |
75 | ||
76 | - **php/smarty notices on contribution view part 2 ([22869](https://github.com/civicrm/civicrm-core/pull/22869))** | |
77 | ||
78 | - **added as a contributor ([22876](https://github.com/civicrm/civicrm-core/pull/22876))** | |
79 | ||
80 | - **Call to undefined function civicrm_api3_create_error() in civicrm/civ… ([22872](https://github.com/civicrm/civicrm-core/pull/22872))** | |
81 | ||
82 | - **Format money on transaction list ([22438](https://github.com/civicrm/civicrm-core/pull/22438))** | |
83 | ||
84 | - **5.47 ([22873](https://github.com/civicrm/civicrm-core/pull/22873))** | |
85 | ||
86 | - **(NFC) LoggingDetailTest - Improve reliability of test ([22867](https://github.com/civicrm/civicrm-core/pull/22867))** | |
87 | ||
88 | - **php notices on contributionview ([22866](https://github.com/civicrm/civicrm-core/pull/22866))** | |
89 | ||
90 | - **5.47 ([22859](https://github.com/civicrm/civicrm-core/pull/22859))** | |
91 | ||
92 | - **(NFC) Membership Tests - Update assertions to match behavior circa leap-day ([22860](https://github.com/civicrm/civicrm-core/pull/22860))** | |
93 | ||
94 | - **Add handling for civimember disabled ([22864](https://github.com/civicrm/civicrm-core/pull/22864))** | |
95 | ||
96 | - **(dev/core#1304) Queues - Define schema for runner, run_count, lease_time, et al ([22812](https://github.com/civicrm/civicrm-core/pull/22812))** | |
97 | ||
98 | - **5.47 ([22857](https://github.com/civicrm/civicrm-core/pull/22857))** | |
99 | ||
100 | - **fixes report#85 - Don't crash Contact Logging Detail report when viewing a contribution ([22242](https://github.com/civicrm/civicrm-core/pull/22242))** | |
101 | ||
102 | - **dev/core#2100 Improve A/B test report page and API Mailing stats ([20093](https://github.com/civicrm/civicrm-core/pull/20093))** | |
103 | ||
104 | - **5.47 ([22852](https://github.com/civicrm/civicrm-core/pull/22852))** | |
105 | ||
106 | - **dev/user-interface#45 Show associated participants on contributionView form ([22732](https://github.com/civicrm/civicrm-core/pull/22732))** | |
107 | ||
108 | - **Fix API4 Explorer undefined variable error ([22849](https://github.com/civicrm/civicrm-core/pull/22849))** | |
109 | ||
110 | - **Avoid PHP undefined index notices on extension pages ([22848](https://github.com/civicrm/civicrm-core/pull/22848))** | |
111 | ||
112 | - **[NFC] Basic case create test with org ([22846](https://github.com/civicrm/civicrm-core/pull/22846))** | |
113 | ||
114 | - **Fix issues with PHP GetText and 0 length files ([22842](https://github.com/civicrm/civicrm-core/pull/22842))** | |
115 | ||
116 | - **Remove reference to undefined variable in CRM_Contact_Form_Inline_CommunicationPreferences ([22840](https://github.com/civicrm/civicrm-core/pull/22840))** | |
117 | ||
118 | - **Mark methods which are only used statically as static ([22844](https://github.com/civicrm/civicrm-core/pull/22844))** | |
119 | ||
120 | - **APIv4 - Add metadata about class args ([22831](https://github.com/civicrm/civicrm-core/pull/22831))** | |
121 | ||
122 | - **Cody tidy in CRM_Core_State ([22841](https://github.com/civicrm/civicrm-core/pull/22841))** | |
123 | ||
124 | - **5.47 ([22838](https://github.com/civicrm/civicrm-core/pull/22838))** | |
125 | ||
126 | - **Remove reference to undefined variable ([22839](https://github.com/civicrm/civicrm-core/pull/22839))** | |
127 | ||
128 | - **CiviCase - Call hooks when creating relationships ([22814](https://github.com/civicrm/civicrm-core/pull/22814))** | |
129 | ||
130 | - **5.47 ([22836](https://github.com/civicrm/civicrm-core/pull/22836))** | |
131 | ||
132 | - **Move HookInterface to \Civi\Core namespace ([22834](https://github.com/civicrm/civicrm-core/pull/22834))** | |
133 | ||
134 | - **APIv4 - Add tableName to Entity.get output ([22829](https://github.com/civicrm/civicrm-core/pull/22829))** | |
135 | ||
136 | - **Fix submit handling of thousands when creating data entry batch ([22772](https://github.com/civicrm/civicrm-core/pull/22772))** | |
137 | ||
138 | - **APIv4 - Add fixme about filtering custom fields by sub-type ([22827](https://github.com/civicrm/civicrm-core/pull/22827))** | |
139 | ||
140 | - **Flush the metadata cache when the domain is edited ([22637](https://github.com/civicrm/civicrm-core/pull/22637))** | |
141 | ||
142 | - **Fixes for smarty grumpy mode with membership ([22752](https://github.com/civicrm/civicrm-core/pull/22752))** | |
143 | ||
144 | - **Enotice fixes ([22719](https://github.com/civicrm/civicrm-core/pull/22719))** | |
145 | ||
146 | - **Mailing Report: do not recalculate the recipients when the count is zero ([22800](https://github.com/civicrm/civicrm-core/pull/22800))** | |
147 | ||
148 | - **[REF] APIv4 - use entityTypes event to load custom records ([22824](https://github.com/civicrm/civicrm-core/pull/22824))** | |
149 | ||
150 | - **Fix the "since" version for api v4 Mailing and MailingJob ([22823](https://github.com/civicrm/civicrm-core/pull/22823))** | |
151 | ||
152 | - **5.47 ([22822](https://github.com/civicrm/civicrm-core/pull/22822))** | |
153 | ||
154 | - **Recent update to {receipt_text} token gives warning in system check after upgrade ([22821](https://github.com/civicrm/civicrm-core/pull/22821))** | |
155 | ||
156 | - **add checkPerm ([22818](https://github.com/civicrm/civicrm-core/pull/22818))** | |
157 | ||
158 | - **[REF] Remove unused api v2 function ([22819](https://github.com/civicrm/civicrm-core/pull/22819))** | |
159 | ||
160 | - **[NFC] Rename RecurForms test class ([22820](https://github.com/civicrm/civicrm-core/pull/22820))** | |
161 | ||
162 | - **[REF] Cleanup docblocks & unused vars in Membership BAO ([22665](https://github.com/civicrm/civicrm-core/pull/22665))** | |
163 | ||
164 | - **Added Cancel Recur Subscription test & setter for `supports` on Dummy processor ([21895](https://github.com/civicrm/civicrm-core/pull/21895))** | |
165 | ||
166 | - **Revert membership debug handling in IPN ([22475](https://github.com/civicrm/civicrm-core/pull/22475))** | |
167 | ||
168 | - **Cleanup on Offline Membership Receipts (ensures variables present across flows) ([22736](https://github.com/civicrm/civicrm-core/pull/22736))** | |
169 | ||
170 | - **APIv4 - remove unnecessary field from System::check ([22748](https://github.com/civicrm/civicrm-core/pull/22748))** | |
171 | ||
172 | - **Add deprecation notice to APIv3 Explorer ([22811](https://github.com/civicrm/civicrm-core/pull/22811))** | |
173 | ||
174 | - **SearchKit - Use crmDialogButtons for task popups ([22790](https://github.com/civicrm/civicrm-core/pull/22790))** | |
175 | ||
176 | - **[REF] Fix css code style issues ([22807](https://github.com/civicrm/civicrm-core/pull/22807))** | |
177 | ||
178 | - **Civi\Api4\Queue - Allow use with hook_managed ([22796](https://github.com/civicrm/civicrm-core/pull/22796))** | |
179 | ||
180 | - **APIv4 - Add MailingGroup API ([22799](https://github.com/civicrm/civicrm-core/pull/22799))** | |
181 | ||
182 | - **Remove broken call to function_exists in CRM_Utils_String::isUtf8 ([22803](https://github.com/civicrm/civicrm-core/pull/22803))** | |
183 | ||
184 | - **5.47 ([22798](https://github.com/civicrm/civicrm-core/pull/22798))** | |
185 | ||
186 | - **Fix pledge default on contribution page when the site has a WR for "contribution" ([22801](https://github.com/civicrm/civicrm-core/pull/22801))** | |
187 | ||
188 | - **dev/core#2486 Add v4 Mailing api (+ MailingJob) ([22624](https://github.com/civicrm/civicrm-core/pull/22624))** | |
189 | ||
190 | - **(REF) CRM_Queue_Queue_* - Retain a copy of `$queueSpec` ([22797](https://github.com/civicrm/civicrm-core/pull/22797))** | |
191 | ||
192 | - **(NFC) tests/phpunit/CRM/Queue - Add common `@group` ([22795](https://github.com/civicrm/civicrm-core/pull/22795))** | |
193 | ||
194 | - **(REF) CRM_Queue_Task - Tighter signature ([22794](https://github.com/civicrm/civicrm-core/pull/22794))** | |
195 | ||
196 | - **[REF] Remove old require_once statements made obsolete by autoloader ([22792](https://github.com/civicrm/civicrm-core/pull/22792))** | |
197 | ||
198 | - **Fix regression with flexible merging of contact information ([22720](https://github.com/civicrm/civicrm-core/pull/22720))** | |
199 | ||
200 | - **SearchKit - Update APIv3 Extension.get to use APIv4 ([22788](https://github.com/civicrm/civicrm-core/pull/22788))** | |
201 | ||
202 | - **REF Deprecate API3 _ipn_process_transaction() ([22488](https://github.com/civicrm/civicrm-core/pull/22488))** | |
203 | ||
204 | - **Cleanup on contribution view ([22698](https://github.com/civicrm/civicrm-core/pull/22698))** | |
205 | ||
206 | - **SearchKit - Support relative dates and datepicker with the DATE() sql fn ([22783](https://github.com/civicrm/civicrm-core/pull/22783))** | |
207 | ||
208 | - **5.47 ([22789](https://github.com/civicrm/civicrm-core/pull/22789))** | |
209 | ||
210 | - **Update unit test to use exception ([22787](https://github.com/civicrm/civicrm-core/pull/22787))** | |
211 | ||
212 | - **Mailing - Add `serialize` and `add` to `template_options` field ([22785](https://github.com/civicrm/civicrm-core/pull/22785))** | |
213 | ||
214 | - **RecurForms test fixes ([22784](https://github.com/civicrm/civicrm-core/pull/22784))** | |
215 | ||
216 | - **BAO_Mailing::create - stop passing by reference ([22753](https://github.com/civicrm/civicrm-core/pull/22753))** | |
217 | ||
218 | - **Move check for mailing workflow permisisons to BAO layer ([22766](https://github.com/civicrm/civicrm-core/pull/22766))** | |
219 | ||
220 | - **5.47 ([22782](https://github.com/civicrm/civicrm-core/pull/22782))** | |
221 | ||
222 | - **Remove "Search Builder" from menubar on new installs. ([22778](https://github.com/civicrm/civicrm-core/pull/22778))** | |
223 | ||
224 | - **Avoid null column showing on groups search page ([22724](https://github.com/civicrm/civicrm-core/pull/22724))** | |
225 | ||
226 | - **Avoid PHP notices on the UF settings page. ([22667](https://github.com/civicrm/civicrm-core/pull/22667))** | |
227 | ||
228 | - **SearchKit - Add 'merge contacts' task ([22768](https://github.com/civicrm/civicrm-core/pull/22768))** | |
229 | ||
230 | - **5.47 to master ([22780](https://github.com/civicrm/civicrm-core/pull/22780))** | |
231 | ||
232 | - **APiv4 - Add Extension.get ([22754](https://github.com/civicrm/civicrm-core/pull/22754))** | |
233 | ||
234 | - **[REF] - Deprecate & delegate BAO::retrieve functions ([22543](https://github.com/civicrm/civicrm-core/pull/22543))** | |
235 | ||
236 | - **dev/core#2927 - Avoid flooding logs with open_basedir in effect ([22277](https://github.com/civicrm/civicrm-core/pull/22277))** | |
237 | ||
238 | - **dev/core#2866 Ignore preferred mail format when sending message ([22633](https://github.com/civicrm/civicrm-core/pull/22633))** | |
239 | ||
240 | - **Follow up fix on removing preferred_mail_format ([22775](https://github.com/civicrm/civicrm-core/pull/22775))** | |
241 | ||
242 | - **APIv4 - Fix typo in Entity.getFields ([22776](https://github.com/civicrm/civicrm-core/pull/22776))** | |
243 | ||
244 | - **Fix apiv4 Contribution delete & all line items ([22749](https://github.com/civicrm/civicrm-core/pull/22749))** | |
245 | ||
246 | - **dev/core#2866 Remove preferred_mail_format from email trait ([22635](https://github.com/civicrm/civicrm-core/pull/22635))** | |
247 | ||
248 | - **Pseudoconstants - Fix and improve handling of option callbacks ([22730](https://github.com/civicrm/civicrm-core/pull/22730))** | |
249 | ||
250 | - **[REF] Results of running npm audit fix ([22773](https://github.com/civicrm/civicrm-core/pull/22773))** | |
251 | ||
252 | - **SearchKit - Customizable "No Results" text ([22770](https://github.com/civicrm/civicrm-core/pull/22770))** | |
253 | ||
254 | - **Deprecate civicrm_contribution_recur.trxn_id ([21539](https://github.com/civicrm/civicrm-core/pull/21539))** | |
255 | ||
256 | - **Clean return values for dummy payment processor ([22679](https://github.com/civicrm/civicrm-core/pull/22679))** | |
257 | ||
258 | - **[REF] Simplification in Contact::getValues ([22765](https://github.com/civicrm/civicrm-core/pull/22765))** | |
259 | ||
260 | - **SearchKit - Fix support for non-DAO entities ([22764](https://github.com/civicrm/civicrm-core/pull/22764))** | |
261 | ||
262 | - **Some more notice fixes in smarty ([22745](https://github.com/civicrm/civicrm-core/pull/22745))** | |
263 | ||
264 | - **Adjust css class for payment processor to use `-` ([22763](https://github.com/civicrm/civicrm-core/pull/22763))** | |
265 | ||
266 | - **Cleanup around taxTerm assignment ([22422](https://github.com/civicrm/civicrm-core/pull/22422))** | |
267 | ||
268 | - **[REF] Simplify Location::getValues ([22757](https://github.com/civicrm/civicrm-core/pull/22757))** | |
269 | ||
270 | - **Remove unused parameter, pass-by-ref ([22756](https://github.com/civicrm/civicrm-core/pull/22756))** | |
271 | ||
272 | - **[REF] Fix issue where spaces in payment_processor_type.name field cau… ([22760](https://github.com/civicrm/civicrm-core/pull/22760))** | |
273 | ||
274 | - **Bump karma from 6.3.4 to 6.3.14 ([22758](https://github.com/civicrm/civicrm-core/pull/22758))** | |
275 | ||
276 | - **Bump ajv from 6.6.1 to 6.12.6 ([22761](https://github.com/civicrm/civicrm-core/pull/22761))** | |
277 | ||
278 | - **[REF] Cleanup billingBlock.js ([22713](https://github.com/civicrm/civicrm-core/pull/22713))** | |
279 | ||
280 | - **Format money in custom fields once, on the tpl layer ([22728](https://github.com/civicrm/civicrm-core/pull/22728))** | |
281 | ||
282 | - **5.47 ([22743](https://github.com/civicrm/civicrm-core/pull/22743))** | |
283 | ||
284 | - **Bypass grumpy mode for contribution search totals & criteria ([22744](https://github.com/civicrm/civicrm-core/pull/22744))** | |
285 | ||
286 | - **Move acl check for contributionView to the extension ([22684](https://github.com/civicrm/civicrm-core/pull/22684))** | |
287 | ||
288 | - **Fix deprecated warnings, smary grumpy-mode issues in legacy searches ([22742](https://github.com/civicrm/civicrm-core/pull/22742))** | |
289 | ||
290 | - **5.47 ([22738](https://github.com/civicrm/civicrm-core/pull/22738))** | |
291 | ||
292 | - **5.47 ([22735](https://github.com/civicrm/civicrm-core/pull/22735))** | |
293 | ||
294 | - **Add civicrm_admin_ui extension ([22628](https://github.com/civicrm/civicrm-core/pull/22628))** | |
295 | ||
296 | - **APIv4 - Fix setting/getting a multi-record customfield with date+time ([22731](https://github.com/civicrm/civicrm-core/pull/22731))** | |
297 | ||
298 | - **Move financial acls for membership to extension ([22677](https://github.com/civicrm/civicrm-core/pull/22677))** | |
299 | ||
300 | - **APIv4 Explorer - Add REST syntax ([22722](https://github.com/civicrm/civicrm-core/pull/22722))** | |
301 | ||
302 | - **Show customised fields on load, if customised option selected. ([22380](https://github.com/civicrm/civicrm-core/pull/22380))** | |
303 | ||
304 | - **[NFC] Batch entry - Avoid warnings when performing math on empty string. ([22715](https://github.com/civicrm/civicrm-core/pull/22715))** | |
305 | ||
306 | - **5.47 ([22723](https://github.com/civicrm/civicrm-core/pull/22723))** | |
307 | ||
308 | - **dev/core#3057 - follow-up to fix civigrant info.xml version number in master ([22721](https://github.com/civicrm/civicrm-core/pull/22721))** | |
309 | ||
310 | - **5.47 ([22718](https://github.com/civicrm/civicrm-core/pull/22718))** | |
311 | ||
312 | - **SearchKit - Improve import UI to handle update & preview the import ([22699](https://github.com/civicrm/civicrm-core/pull/22699))** | |
313 | ||
314 | - **Switch extension downloader and extensions feed to use Guzzle HTTP library ([21097](https://github.com/civicrm/civicrm-core/pull/21097))** | |
315 | ||
316 | - **REF - Use function to get component name from permission ([22688](https://github.com/civicrm/civicrm-core/pull/22688))** | |
317 | ||
318 | - **Use valid syntax for self-closing br elements ([22711](https://github.com/civicrm/civicrm-core/pull/22711))** | |
319 | ||
320 | - **Add basic contribution example base for contribution workflows ([22636](https://github.com/civicrm/civicrm-core/pull/22636))** | |
321 | ||
322 | - **Notice fixes ([22706](https://github.com/civicrm/civicrm-core/pull/22706))** | |
323 | ||
324 | - **Enotice fix ([22707](https://github.com/civicrm/civicrm-core/pull/22707))** | |
325 | ||
326 | - **civicrm_handler_filter_pseudo_constant - Guard against old or inactive pseudoconstants ([656](https://github.com/civicrm/civicrm-drupal/pull/656))** | |
327 | ||
328 | - **Views - CiviGrant is now an extension ([654](https://github.com/civicrm/civicrm-drupal/pull/654))** | |
329 | ||
330 | - **Remove unit tests based on older framework ([71](https://github.com/civicrm/civicrm-drupal-8/pull/71))** | |
331 | ||
332 | - **Fixes fatal error - function doesn't exist ([275](https://github.com/civicrm/civicrm-wordpress/pull/275))** | |
333 | ||
334 | - **5.47 ([274](https://github.com/civicrm/civicrm-wordpress/pull/274))** | |
335 | ||
336 | ## <a name="misc"></a>Miscellany | |
337 | ||
338 | ## <a name="credits"></a>Credits | |
339 | ||
340 | This release was developed by the following code authors: | |
341 | ||
342 | AGH Strategies - Alice Frumin, Andie Hunt; BrightMinded Ltd - Bradley Taylor; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; Coop SymbioTIC - Mathieu Lutfy; Dave D; dependabot[bot]; Fuzion - Luke Stewart; Grype Digital Inc. - Md Rashedul Islam; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Kartik Kathuria; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Registered Nurses' Association of Ontario - Ian Wilson; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green | |
343 | ||
344 | Most authors also reviewed code for this release; in addition, the following | |
345 | reviewers contributed their comments: | |
346 | ||
347 | Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; Bluehorn Digital - Matt Glaman; BrightMinded Ltd - Bradley Taylor; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - Luke Stewart; Grype Digital Inc. - Md Rashedul Islam; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Kartik Kathuria; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Semper IT - Karin Gerritsen; Skvare - Mark Hanna; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green |