Merge pull request #18799 from deb1990/CPS-332-support-new-button-markup
[civicrm-core.git] / release-notes / 5.31.0.md
1 # CiviCRM 5.31.0
2
3 Released November 4, 2020
4
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
11
12 ## <a name="features"></a>Features
13
14 ### Core CiviCRM
15
16 - **crm- Missing Summary ([597](https://github.com/civicrm/civicrm-drupal/pull/597))**
17
18 ## <a name="bugs"></a>Bugs resolved
19
20 ### Core CiviCRM
21
22 - **Fix unreleased regression on search tasks from basic search ([18766](https://github.com/civicrm/civicrm-core/pull/18766))**
23
24 - **dev/core#2125 Ensure that the id that is used in the field is the gro… ([18776](https://github.com/civicrm/civicrm-core/pull/18776))**
25
26 - **dev/core#2117 - Add compatibility aliases for 'scriptFile' and 'styleFile' resources ([18765](https://github.com/civicrm/civicrm-core/pull/18765))**
27
28 - **dev/core#2119 Fix mailing code to exclude deleted recipients ([18763](https://github.com/civicrm/civicrm-core/pull/18763))**
29
30 - **dev/event#43 Contact Dashboard: fix Event Participations ([18758](https://github.com/civicrm/civicrm-core/pull/18758))**
31
32 - **dev/core#2118 supply better automatic placeholders for select (5.31 intra-rc) ([18753](https://github.com/civicrm/civicrm-core/pull/18753))**
33
34 - **Rebuild triggers after utf8mb4 conversion ([18751](https://github.com/civicrm/civicrm-core/pull/18751))**
35
36 - **Remove explicit COLLATE utf8_bin from RelationshipCache trigger ([18721](https://github.com/civicrm/civicrm-core/pull/18721))**
37
38 - **dev/core#2108 fix deprecation notice take 2 ([18717](https://github.com/civicrm/civicrm-core/pull/18717))**
39
40 - **dev/core#2102 Fix hang on event edit ([18713](https://github.com/civicrm/civicrm-core/pull/18713))**
41
42 - **Search ext: misc cleanup & fixes ([18723](https://github.com/civicrm/civicrm-core/pull/18723))**
43
44 - **core#2105: Groups children now get shown with SPAN CSS error ([18719](https://github.com/civicrm/civicrm-core/pull/18719))**
45
46 - **dev/core#2108 fix deprecation notice ([18716](https://github.com/civicrm/civicrm-core/pull/18716))**
47
48 - **dev/core#2096 Fix in-master-only regression on creating new events ([18710](https://github.com/civicrm/civicrm-core/pull/18710))**
49
50 - **Add unit test that ultimately failed to hit the desired code but does add cover ([18708](https://github.com/civicrm/civicrm-core/pull/18708))**
51
52 - **Move to alpha1 stage ([18711](https://github.com/civicrm/civicrm-core/pull/18711))**
53
54 - **Add options to Mail Account settings to improve inbound mail processing ([18624](https://github.com/civicrm/civicrm-core/pull/18624))**
55
56 - **Fix way of identityfing custom serialized fields ([18360](https://github.com/civicrm/civicrm-core/pull/18360))**
57
58 - **Display url_site and url_recur based on if the form elements exist ([18324](https://github.com/civicrm/civicrm-core/pull/18324))**
59
60 - **dev/core#2073 Fix use of legacy leaky method in tested code ([18701](https://github.com/civicrm/civicrm-core/pull/18701))**
61
62 - **Enotice fix ([18707](https://github.com/civicrm/civicrm-core/pull/18707))**
63
64 - **dev/core#2073 Fix use of legacy leaky method in tested code ([18702](https://github.com/civicrm/civicrm-core/pull/18702))**
65
66 - **ParticipantListing Report: only display the View link for web, unhardcode others ([18704](https://github.com/civicrm/civicrm-core/pull/18704))**
67
68 - **dev/core#2073 Fix use of legacy leaky method in tested code ([18699](https://github.com/civicrm/civicrm-core/pull/18699))**
69
70 - **Fix default report permissions when creating reports from CiviCampaign ([18493](https://github.com/civicrm/civicrm-core/pull/18493))**
71
72 - **5.30 ([18706](https://github.com/civicrm/civicrm-core/pull/18706))**
73
74 - **dev/core#2073 Fix use of legacy leaky method in tested code ([18700](https://github.com/civicrm/civicrm-core/pull/18700))**
75
76 - **[NFC] dev/core#2053 Extend nextedGroup test to show that it will retu… ([18698](https://github.com/civicrm/civicrm-core/pull/18698))**
77
78 - **dev/core#2079 [REF] Fix some more calls to getTokens to make it clear only the first return value is used ([18654](https://github.com/civicrm/civicrm-core/pull/18654))**
79
80 - **dev/core#2079 [Ref] Clarify calls to CRM_Utils_Token::getTokenDetails ([18653](https://github.com/civicrm/civicrm-core/pull/18653))**
81
82 - **dev/core#2087 Remove extraneous CRM_Core_BAO_UFMatch::updateUFName call ([18667](https://github.com/civicrm/civicrm-core/pull/18667))**
83
84 - **Greenwich - fix conflict btw bootstrap & jQuery UI button ([18696](https://github.com/civicrm/civicrm-core/pull/18696))**
85
86 - **dev/core#2056 Only retrieve pcp & soft_credit info when needed ([18556](https://github.com/civicrm/civicrm-core/pull/18556))**
87
88 - **Exclude api4 from IDS check ([18695](https://github.com/civicrm/civicrm-core/pull/18695))**
89
90 - **dev/core#2047 [Ref] Remove obsolete check ([18500](https://github.com/civicrm/civicrm-core/pull/18500))**
91
92 - **Fix complexity on cache key ([18650](https://github.com/civicrm/civicrm-core/pull/18650))**
93
94 - **dev/core#2039 Remove extraneous location queries from contact.create->Location::block path ([18663](https://github.com/civicrm/civicrm-core/pull/18663))**
95
96 - **dev/core#2017 Deprecate an unused function ([18662](https://github.com/civicrm/civicrm-core/pull/18662))**
97
98 - **dev/core#2073 Fix memory leak in well tested code ([18693](https://github.com/civicrm/civicrm-core/pull/18693))**
99
100 - **Search ext & APIv4 Explorer: Refactor clause from directive to component ([18683](https://github.com/civicrm/civicrm-core/pull/18683))**
101
102 - **Remove ajax timeout from contribution page on behalf of ([18140](https://github.com/civicrm/civicrm-core/pull/18140))**
103
104 - **dev/core#2046 Fix api to call Address.create now it is standardised ([18682](https://github.com/civicrm/civicrm-core/pull/18682))**
105
106 - **dev/translation#54 Ensure that Component titles are translated in lin… ([18690](https://github.com/civicrm/civicrm-core/pull/18690))**
107
108 - **dev/core#2073 Remove memory leak in heavily tested (merge) code ([18692](https://github.com/civicrm/civicrm-core/pull/18692))**
109
110 - **5.30 ([18694](https://github.com/civicrm/civicrm-core/pull/18694))**
111
112 - **dev/core#1790 - Contact Card - Email Links ([18623](https://github.com/civicrm/civicrm-core/pull/18623))**
113
114 - **dev/core#2039 Call del directly - rather than now-deprecated blockDelete ([18684](https://github.com/civicrm/civicrm-core/pull/18684))**
115
116 - **Search ext: rename to Search Kit, mark as beta ([18672](https://github.com/civicrm/civicrm-core/pull/18672))**
117
118 - **[REF] Fix compatability with Drupal 9 installing of var_dumper ([18679](https://github.com/civicrm/civicrm-core/pull/18679))**
119
120 - **dev/core#2046 Migrate BAO_Address::create towards standardisation ([18658](https://github.com/civicrm/civicrm-core/pull/18658))**
121
122 - **dev/core#2046 Fix blockDelete to delete while ensuring is_primary is valid ([18661](https://github.com/civicrm/civicrm-core/pull/18661))**
123
124 - **dev/core#2079 [REF] clean up call to apiQuery ([18664](https://github.com/civicrm/civicrm-core/pull/18664))**
125
126 - **change civicrm_price_set.min_amount to float ([18677](https://github.com/civicrm/civicrm-core/pull/18677))**
127
128 - **dev/core#2093 - Fix red error box on new individual form and ltrim typos and doubling-up of class attribute ([18678](https://github.com/civicrm/civicrm-core/pull/18678))**
129
130 - **dev/core#2079 [REF] clean up call to apiQuery ([18665](https://github.com/civicrm/civicrm-core/pull/18665))**
131
132 - **dev/core#2079 do not return never-used, query-wasting variable ([18657](https://github.com/civicrm/civicrm-core/pull/18657))**
133
134 - **[REF] Remove XML_Util dependancy within ewaysingle extension ([18676](https://github.com/civicrm/civicrm-core/pull/18676))**
135
136 - **When exporting for composer-style deployment, exclude the `.gitignore` file ([18673](https://github.com/civicrm/civicrm-core/pull/18673))**
137
138 - **dev/core#2087 move uf_match check above the primary check ([18675](https://github.com/civicrm/civicrm-core/pull/18675))**
139
140 - **[REF] Fix adding in the accessKey based on the button array ([18674](https://github.com/civicrm/civicrm-core/pull/18674))**
141
142 - **Move membership tab add/submit membership buttons to PHP layer ([18143](https://github.com/civicrm/civicrm-core/pull/18143))**
143
144 - **Add modified_date to list of activity tokens ([18611](https://github.com/civicrm/civicrm-core/pull/18611))**
145
146 - **dev/drupal#119 - Avoid crash from recursion on unhandled exceptions ([18610](https://github.com/civicrm/civicrm-core/pull/18610))**
147
148 - **fix labels on new admin permissions ([18671](https://github.com/civicrm/civicrm-core/pull/18671))**
149
150 - **Select field fixes for screen reader ([17675](https://github.com/civicrm/civicrm-core/pull/17675))**
151
152 - **Search ext: support complex joins & HAVING clause in api4 smart groups ([18644](https://github.com/civicrm/civicrm-core/pull/18644))**
153
154 - **composer.json - Update compile-lib and compile-plugin ([18670](https://github.com/civicrm/civicrm-core/pull/18670))**
155
156 - **[REF] Add in css classes to make the save and preview button on the C… ([18647](https://github.com/civicrm/civicrm-core/pull/18647))**
157
158 - **dev/core#2090 - Undefined index on contact's activity tab when there's an activity that has no With Contact ([18669](https://github.com/civicrm/civicrm-core/pull/18669))**
159
160 - **5.30 to master ([18666](https://github.com/civicrm/civicrm-core/pull/18666))**
161
162 - **(REF) Make it easier for extensions to define basic bundles ([18660](https://github.com/civicrm/civicrm-core/pull/18660))**
163
164 - **dev/core#1818 Upgrade AngularJS from 1.5.11 to 1.8 ([18635](https://github.com/civicrm/civicrm-core/pull/18635))**
165
166 - **dev/core#2057 - Failing unit test for passing in activity contacts as scalars to Activity::create() ([18636](https://github.com/civicrm/civicrm-core/pull/18636))**
167
168 - **dev/core#1393 - distmaker - Skip new file "vendor/bin/cssmin" ([18659](https://github.com/civicrm/civicrm-core/pull/18659))**
169
170 - **dev/core#2057 Remove extraneous activity contact queries on activity update ([18625](https://github.com/civicrm/civicrm-core/pull/18625))**
171
172 - **Fix cache bypass ([18643](https://github.com/civicrm/civicrm-core/pull/18643))**
173
174 - **dev/core#2079 [REF] Remove reference to second param returned from CRM_Contact_BAO_Query::apiQuery ([18656](https://github.com/civicrm/civicrm-core/pull/18656))**
175
176 - **dev/core#2046 Ensure location BAOs have create actions, deprecate add… ([18606](https://github.com/civicrm/civicrm-core/pull/18606))**
177
178 - **[REF] Follow up cleanup from Event Location ([18608](https://github.com/civicrm/civicrm-core/pull/18608))**
179
180 - **dev/core#2079 [REF] Fix some more calls to getTokens to make it clear only the first return value is used ([18655](https://github.com/civicrm/civicrm-core/pull/18655))**
181
182 - **Fix patently silly code ([18652](https://github.com/civicrm/civicrm-core/pull/18652))**
183
184 - **dev/core#2073 Improve cleanup on syntax conformance test ([18640](https://github.com/civicrm/civicrm-core/pull/18640))**
185
186 - **dev/core#2003 Use Brick/Money to ensure that we display all possible … ([18416](https://github.com/civicrm/civicrm-core/pull/18416))**
187
188 - **(REF) Switch to composer-compile-lib ([18646](https://github.com/civicrm/civicrm-core/pull/18646))**
189
190 - **dev/core#2046 Rationalise add vs create on website BAO ([18607](https://github.com/civicrm/civicrm-core/pull/18607))**
191
192 - **dev/core#334 Use the current in use collation and character sets when… ([18642](https://github.com/civicrm/civicrm-core/pull/18642))**
193
194 - **dev/membership#27 Update outdated membership statuses in preProcess rather than submit ([18621](https://github.com/civicrm/civicrm-core/pull/18621))**
195
196 - **dev/core#2073 Memory drain ([18632](https://github.com/civicrm/civicrm-core/pull/18632))**
197
198 - **[REF] Add in frontend fields for title and description of group Schem… ([18599](https://github.com/civicrm/civicrm-core/pull/18599))**
199
200 - **dev/core#2073 Fix a real live leak ([18641](https://github.com/civicrm/civicrm-core/pull/18641))**
201
202 - **[Civi\Test] Fix test output noise ([18638](https://github.com/civicrm/civicrm-core/pull/18638))**
203
204 - **dev/core#2075 - E_NOTICE viewing an activity that has no details contents ([18637](https://github.com/civicrm/civicrm-core/pull/18637))**
205
206 - **core#2063: Don't throw a warning when public ext directory isn't found ([18596](https://github.com/civicrm/civicrm-core/pull/18596))**
207
208 - **dev/core#1838 Ensure that no fatal error is triggered if you try to a… ([18564](https://github.com/civicrm/civicrm-core/pull/18564))**
209
210 - **Set participant status notification to false by default ([18544](https://github.com/civicrm/civicrm-core/pull/18544))**
211
212 - **dev/core#2073 just tweak a memory leak ([18633](https://github.com/civicrm/civicrm-core/pull/18633))**
213
214 - **[REF] Parse ids before sending to single function (minor simplification) ([18630](https://github.com/civicrm/civicrm-core/pull/18630))**
215
216 - **[NFC/Test] Unit test activity-contact variations ([18619](https://github.com/civicrm/civicrm-core/pull/18619))**
217
218 - **dev/core#2061 PCP: call the hook_civicrm_links hook for PCP page user actions ([18570](https://github.com/civicrm/civicrm-core/pull/18570))**
219
220 - **[Test framework] Wrong group id in mailing test setup ([18626](https://github.com/civicrm/civicrm-core/pull/18626))**
221
222 - **5.30 ([18627](https://github.com/civicrm/civicrm-core/pull/18627))**
223
224 - **Simplify call to loadRelatedObjects in repeat/completetransaction ([18613](https://github.com/civicrm/civicrm-core/pull/18613))**
225
226 - **Update the post-upgrade thank you message to include URLs to CiviCRM contributors, CiviCRM members and minor rewrite ([18559](https://github.com/civicrm/civicrm-core/pull/18559))**
227
228 - **[REF] Remove unused taskName variable ([18590](https://github.com/civicrm/civicrm-core/pull/18590))**
229
230 - **[REF] IPN - move unshared chunk of code out of shared function ([18600](https://github.com/civicrm/civicrm-core/pull/18600))**
231
232 - **[REF] Paypal std ipn Move not-actually shared-code out of shared code function ([18536](https://github.com/civicrm/civicrm-core/pull/18536))**
233
234 - **[REF] Remove some unused params, move one to where it is used ([18614](https://github.com/civicrm/civicrm-core/pull/18614))**
235
236 - **[Ref] Extract getOrderParams ([18617](https://github.com/civicrm/civicrm-core/pull/18617))**
237
238 - **Enotice fix ([18620](https://github.com/civicrm/civicrm-core/pull/18620))**
239
240 - **5.30 ([18622](https://github.com/civicrm/civicrm-core/pull/18622))**
241
242 - **dev/core#2057 Reduce queries when calling activity.create ([18609](https://github.com/civicrm/civicrm-core/pull/18609))**
243
244 - **Add an 'Execute Now' button to the job log ([18593](https://github.com/civicrm/civicrm-core/pull/18593))**
245
246 - **[REF] Very minor cleanup ([18604](https://github.com/civicrm/civicrm-core/pull/18604))**
247
248 - **dev/core#1393 - distmaker - Skip new file "vendor/bin/pscss" ([18605](https://github.com/civicrm/civicrm-core/pull/18605))**
249
250 - **[REF] Fix Event location to create it's locations directly rather than via shared methods ([18586](https://github.com/civicrm/civicrm-core/pull/18586))**
251
252 - **Fix bug in primary handling where TRUE rather than 1 used ([18598](https://github.com/civicrm/civicrm-core/pull/18598))**
253
254 - **Test cleanup fix ([18601](https://github.com/civicrm/civicrm-core/pull/18601))**
255
256 - **dev/translation#51 Fix inheritLocale regression ([18447](https://github.com/civicrm/civicrm-core/pull/18447))**
257
258 - **dev/core#2057 Fix 'sleeper-bug' in apiv4, BAO activity.create ([18567](https://github.com/civicrm/civicrm-core/pull/18567))**
259
260 - **[REF] Consolidate retrieval of searchFormValues ([18591](https://github.com/civicrm/civicrm-core/pull/18591))**
261
262 - **[REF] Include recently added core extensions into distmaker ([18597](https://github.com/civicrm/civicrm-core/pull/18597))**
263
264 - **dev/financial#148 Duplicate validateData onto A.net ([18571](https://github.com/civicrm/civicrm-core/pull/18571))**
265
266 - **Remove double exception handling in repeattransaction ([18594](https://github.com/civicrm/civicrm-core/pull/18594))**
267
268 - **dev/core#2029 E2E.Core.PrevNextTest.testDeleteByCacheKey More debug attempts ([18587](https://github.com/civicrm/civicrm-core/pull/18587))**
269
270 - **pass in "required" value when building preferred_language form element ([18595](https://github.com/civicrm/civicrm-core/pull/18595))**
271
272 - **dev/core#2046 Fix Phone:add to be a pseudonym for Phone.create ([18588](https://github.com/civicrm/civicrm-core/pull/18588))**
273
274 - **[Ref] Extract getFormValues ([18510](https://github.com/civicrm/civicrm-core/pull/18510))**
275
276 - **Afform GUI: add bootstrap3 ([18583](https://github.com/civicrm/civicrm-core/pull/18583))**
277
278 - **dev/core#1987: Fix Drupal Base 'isFrontEndPage' function to consider Drupal public page for FE theme ([18397](https://github.com/civicrm/civicrm-core/pull/18397))**
279
280 - **[NFC/Test] Unit test for target contacts on Bulk Email when mailing in batches ([18584](https://github.com/civicrm/civicrm-core/pull/18584))**
281
282 - **APIv4 Search: Improve GROUP_CONCAT with :label prefix ([18572](https://github.com/civicrm/civicrm-core/pull/18572))**
283
284 - **SyntaxConformance::testSqlOperators cleanup fix - ensure entities are deleted ([18569](https://github.com/civicrm/civicrm-core/pull/18569))**
285
286 - **[REF] Remove checks as to whether entityShortName is in the component array ([18538](https://github.com/civicrm/civicrm-core/pull/18538))**
287
288 - **Separate export into separate classes to allow unravelling of component handling (Member) ([18512](https://github.com/civicrm/civicrm-core/pull/18512))**
289
290 - **[Ref] Merge code - Move determination about location type to the getDAOForLocation… ([18562](https://github.com/civicrm/civicrm-core/pull/18562))**
291
292 - **Simplify CRM_Core_BAO_Location::createLocBlock by moving eventLocation specific handling back to the class ([18578](https://github.com/civicrm/civicrm-core/pull/18578))**
293
294 - **dev/core#2057 ActivityContact.create Remove select query that never or almost never finds something. ([18566](https://github.com/civicrm/civicrm-core/pull/18566))**
295
296 - **Add select2-bootstrap to greenwich theme ([18579](https://github.com/civicrm/civicrm-core/pull/18579))**
297
298 - **[NFC] Minor cleanup - use strict comparison where possible ([18573](https://github.com/civicrm/civicrm-core/pull/18573))**
299
300 - **Switch to non-deprecated/cached functions for membership pricesets ([18568](https://github.com/civicrm/civicrm-core/pull/18568))**
301
302 - **dev/core#1921 Remove handling for Civi4.2 date bug from paypalProIPN ([18576](https://github.com/civicrm/civicrm-core/pull/18576))**
303
304 - **dev/core#2044 Make contact_id optional on v4 api for Address, phone, email ([18575](https://github.com/civicrm/civicrm-core/pull/18575))**
305
306 - **Add bootstrap bundle to search ([18550](https://github.com/civicrm/civicrm-core/pull/18550))**
307
308 - **Switch to passing payment_processor_id as input param to completeOrder ([18528](https://github.com/civicrm/civicrm-core/pull/18528))**
309
310 - **Switch membership BAO to use non-deprecated cached functions to get membershipType details ([18515](https://github.com/civicrm/civicrm-core/pull/18515))**
311
312 - **[REF] Remove wrangling on activityType param ([18558](https://github.com/civicrm/civicrm-core/pull/18558))**
313
314 - **dev/core#2029 Extend test debug ([18565](https://github.com/civicrm/civicrm-core/pull/18565))**
315
316 - **[REF] Remove unreachable lines ([18535](https://github.com/civicrm/civicrm-core/pull/18535))**
317
318 - **dev/core#2040 - Multiple email activity cc recipients get scrunched together in recorded activity details field ([18504](https://github.com/civicrm/civicrm-core/pull/18504))**
319
320 - **dev/core#2030 ensure that the Country selector is a Select 2 and ensu… ([18533](https://github.com/civicrm/civicrm-core/pull/18533))**
321
322 - **Minor test data fix up - ensure domain contact's email is primary ([18561](https://github.com/civicrm/civicrm-core/pull/18561))**
323
324 - **dev/core#2017 Remove unused function OpenID::isAllowedToLogin ([18430](https://github.com/civicrm/civicrm-core/pull/18430))**
325
326 - **Minor test fix ([18560](https://github.com/civicrm/civicrm-core/pull/18560))**
327
328 - **[REF] Move daoName generation so we don't need to pass the variable name ([18552](https://github.com/civicrm/civicrm-core/pull/18552))**
329
330 - **[REF] Finally remove deprecated ids handling ([18557](https://github.com/civicrm/civicrm-core/pull/18557))**
331
332 - **5.30 ([18554](https://github.com/civicrm/civicrm-core/pull/18554))**
333
334 - **[REF] Update composer compile plugin to latest version ([18553](https://github.com/civicrm/civicrm-core/pull/18553))**
335
336 - **Remove obsolete load-bootstrap.js ([18551](https://github.com/civicrm/civicrm-core/pull/18551))**
337
338 - **dev/core#2032 Add potential to vary query log files per process ([18471](https://github.com/civicrm/civicrm-core/pull/18471))**
339
340 - **Fix deprecation notice ([18541](https://github.com/civicrm/civicrm-core/pull/18541))**
341
342 - **dev/core#2047 [REF] Minor code extraction ([18499](https://github.com/civicrm/civicrm-core/pull/18499))**
343
344 - **5.30 ([18548](https://github.com/civicrm/civicrm-core/pull/18548))**
345
346 - **Check if BACKDROP_ROOT is defined already ([18545](https://github.com/civicrm/civicrm-core/pull/18545))**
347
348 - **Fix customGroup getTableNameByEntityName to recognize all entities ([18546](https://github.com/civicrm/civicrm-core/pull/18546))**
349
350 - **[REF] Remove now used parameter & make function protected ([18543](https://github.com/civicrm/civicrm-core/pull/18543))**
351
352 - **Fix civi version for greenwich ([18542](https://github.com/civicrm/civicrm-core/pull/18542))**
353
354 - **dev/core#2017 Move function only used by bin/ContributionProcessor to that class ([18458](https://github.com/civicrm/civicrm-core/pull/18458))**
355
356 - **[NFC] Cleanup in test class ([18539](https://github.com/civicrm/civicrm-core/pull/18539))**
357
358 - **[REF] Consolidate input params that are primarily used for the membership entity action to an array ([18451](https://github.com/civicrm/civicrm-core/pull/18451))**
359
360 - **user-interface#30 Ability to Send Invoice with modified subject and CC ([18286](https://github.com/civicrm/civicrm-core/pull/18286))**
361
362 - **report#48 View Payment owned by Different contact on Membership and Participant View ([18281](https://github.com/civicrm/civicrm-core/pull/18281))**
363
364 - **dev/core#1986 Alter default for send notification to contributor checkbox on cancel or edit recurring to off ([18537](https://github.com/civicrm/civicrm-core/pull/18537))**
365
366 - **[REF] Extract the code to determine the DAO name into a functions ([18513](https://github.com/civicrm/civicrm-core/pull/18513))**
367
368 - **Improve metadata on LineItem DAO ([18521](https://github.com/civicrm/civicrm-core/pull/18521))**
369
370 - **Greenwich: Add BootstrapCSS support via core extension ([18465](https://github.com/civicrm/civicrm-core/pull/18465))**
371
372 - **[REF] Fix deprecated array and string offset access using curly brace… ([18529](https://github.com/civicrm/civicrm-core/pull/18529))**
373
374 - **5.30 to master ([18531](https://github.com/civicrm/civicrm-core/pull/18531))**
375
376 - **dev/financial#148 Simplify parameters passed to completeOrder ([18479](https://github.com/civicrm/civicrm-core/pull/18479))**
377
378 - **5.30 ([18523](https://github.com/civicrm/civicrm-core/pull/18523))**
379
380 - **Switch backend membership form to use non-deprecated/cached functions to get membership types ([18427](https://github.com/civicrm/civicrm-core/pull/18427))**
381
382 - **dev/core#2043 remove pass-by-reference ([18485](https://github.com/civicrm/civicrm-core/pull/18485))**
383
384 - **[REF] Fix visibility of afform_scanner container service for Symfony … ([18505](https://github.com/civicrm/civicrm-core/pull/18505))**
385
386 - **Afform Tests - Fix extension tests when run via `civi-test-run` ([18511](https://github.com/civicrm/civicrm-core/pull/18511))**
387
388 - **CRM_Core_Resources::addBundle() - Fix handling of array inputs ([18506](https://github.com/civicrm/civicrm-core/pull/18506))**
389
390 - **Test fix - use valid membership type ([18507](https://github.com/civicrm/civicrm-core/pull/18507))**
391
392 - **Remove long-deprecated hook_civicrm_tabs ([18503](https://github.com/civicrm/civicrm-core/pull/18503))**
393
394 - **dev/core#1973 Fix Email & Phone storage issues in event location ([18488](https://github.com/civicrm/civicrm-core/pull/18488))**
395
396 - **dev/core#2039 Fix test to use set up method with more data integrity ([18501](https://github.com/civicrm/civicrm-core/pull/18501))**
397
398 - **Ensure DAO base class contains functions to be removed from generated files ([18492](https://github.com/civicrm/civicrm-core/pull/18492))**
399
400 - **Remove deprecated code lines ([18490](https://github.com/civicrm/civicrm-core/pull/18490))**
401
402 - **dev/core#2039 Fix OpenID::add to ensure is_primary is set ([18498](https://github.com/civicrm/civicrm-core/pull/18498))**
403
404 - **dev/core#2039 Add check to ensure all have a primary address, fix identified but in IM.add ([18489](https://github.com/civicrm/civicrm-core/pull/18489))**
405
406 - **dev/core#2039 [NFC] Code cleanup in test class ([18497](https://github.com/civicrm/civicrm-core/pull/18497))**
407
408 - **dev/core#2039 [NFC] Minor cleanup in tests ([18496](https://github.com/civicrm/civicrm-core/pull/18496))**
409
410 - **dev/core#2046 Rationalise add vs create on email BAO ([18495](https://github.com/civicrm/civicrm-core/pull/18495))**
411
412 - **dev/core#2039 [NFC] Test cleanup to stop calling Email::add action ([18494](https://github.com/civicrm/civicrm-core/pull/18494))**
413
414 - **dev/core#2043 remove pass-by-ref ([18484](https://github.com/civicrm/civicrm-core/pull/18484))**
415
416 - **(REF) GenerateData - Make it possible to call this via PHP ([18491](https://github.com/civicrm/civicrm-core/pull/18491))**
417
418 - **dev/core#2027 Add/update to UK county list ([18470](https://github.com/civicrm/civicrm-core/pull/18470))**
419
420 - **dev/core#2000 Move afform into core extensions ([18423](https://github.com/civicrm/civicrm-core/pull/18423))**
421
422 - **dev/event#42 [Ref] Separate url path calculation into the relevant classes ([18486](https://github.com/civicrm/civicrm-core/pull/18486))**
423
424 - **dev/core#2039 Set is_primary to 1 on email, address for domain contacts ([18480](https://github.com/civicrm/civicrm-core/pull/18480))**
425
426 - **5.30 ([18487](https://github.com/civicrm/civicrm-core/pull/18487))**
427
428 - **[NFC] Enable APIv4 testing on the Fin ACL Extension Line Item test ([18478](https://github.com/civicrm/civicrm-core/pull/18478))**
429
430 - **[REF] Start the process of separating the search action from the participant form ([18464](https://github.com/civicrm/civicrm-core/pull/18464))**
431
432 - **dev/core#2017 remove unused SearchTaskHookSample.php ([18463](https://github.com/civicrm/civicrm-core/pull/18463))**
433
434 - **dev/core#1486 Remove Foreign Keys from ACL Cache tables and replace o… ([18403](https://github.com/civicrm/civicrm-core/pull/18403))**
435
436 - **[Ref] Code simplification - remove conditional chunk ([18445](https://github.com/civicrm/civicrm-core/pull/18445))**
437
438 - **[NFC] Remove trailing whitespace ([18476](https://github.com/civicrm/civicrm-core/pull/18476))**
439
440 - **dev/financial#86 Make 'Record Payment' & 'Record Refund' visible regardless of whether the balance 'requires' one ([18417](https://github.com/civicrm/civicrm-core/pull/18417))**
441
442 - **dev/core#1921 Remove iso convert ([18468](https://github.com/civicrm/civicrm-core/pull/18468))**
443
444 - **5.30 ([18474](https://github.com/civicrm/civicrm-core/pull/18474))**
445
446 - **dev/drupal#138 - Drupal 9 deprecations ([18461](https://github.com/civicrm/civicrm-core/pull/18461))**
447
448 - **dev/core#1393 - distmaker - Fix URL-based installation on D7/BD ([18472](https://github.com/civicrm/civicrm-core/pull/18472))**
449
450 - **dev/core#1921 Further removal of iso date handling ([18469](https://github.com/civicrm/civicrm-core/pull/18469))**
451
452 - **Search extension: edit smart groups ([18431](https://github.com/civicrm/civicrm-core/pull/18431))**
453
454 - **Fix parameters for MembershipTest ([18467](https://github.com/civicrm/civicrm-core/pull/18467))**
455
456 - **Update code comments ([18460](https://github.com/civicrm/civicrm-core/pull/18460))**
457
458 - **5.30 to master ([18462](https://github.com/civicrm/civicrm-core/pull/18462))**
459
460 - **dev/core#1921 remove isoToMysql ([18456](https://github.com/civicrm/civicrm-core/pull/18456))**
461
462 - **[REF] Simplify array construction ([18432](https://github.com/civicrm/civicrm-core/pull/18432))**
463
464 - **dev/core#1921 remove isoToMysql ([18457](https://github.com/civicrm/civicrm-core/pull/18457))**
465
466 - **[REF] minor tidy up on membershipStatus::create & add ([18435](https://github.com/civicrm/civicrm-core/pull/18435))**
467
468 - **Pass in activity type rather than calculate it ([18450](https://github.com/civicrm/civicrm-core/pull/18450))**
469
470 - **Move definition of userName to where it is used and remove an unused parameter ([18452](https://github.com/civicrm/civicrm-core/pull/18452))**
471
472 - **dev/financial#149 Add permission = false to apiv4 call to address unreleased regression ([18454](https://github.com/civicrm/civicrm-core/pull/18454))**
473
474 - **5.30 to master ([18455](https://github.com/civicrm/civicrm-core/pull/18455))**
475
476 - **Offer singular entity titles ([18434](https://github.com/civicrm/civicrm-core/pull/18434))**
477
478 - **Remove unnecessary debug from tests which messes up array output ([18446](https://github.com/civicrm/civicrm-core/pull/18446))**
479
480 - **Make symfony aliased services public ([18443](https://github.com/civicrm/civicrm-core/pull/18443))**
481
482 - **5.30 to master ([18440](https://github.com/civicrm/civicrm-core/pull/18440))**
483
484 - **[REF] Folllow up cleanup - remove now unused param ([18438](https://github.com/civicrm/civicrm-core/pull/18438))**
485
486 - **dev/core#2017 Remove unused property, override function that just calls parent ([18433](https://github.com/civicrm/civicrm-core/pull/18433))**
487
488 - **Custom field form reform ([18419](https://github.com/civicrm/civicrm-core/pull/18419))**
489
490 - **Replace & to and in button label ([18405](https://github.com/civicrm/civicrm-core/pull/18405))**
491
492 - **property bag's setAmount should ensure dot decimal point ([18429](https://github.com/civicrm/civicrm-core/pull/18429))**
493
494 - **dev/core#2009 filter grant dashboard to exclude trashed contacts ([18428](https://github.com/civicrm/civicrm-core/pull/18428))**
495
496 - **Revert "PropertyBag - add cardNumber to getters" ([18425](https://github.com/civicrm/civicrm-core/pull/18425))**
497
498 - **NFC Clarify what CRM_Price_BAO_Priceset::getMembershipCount does ([18426](https://github.com/civicrm/civicrm-core/pull/18426))**
499
500 - **dev/core#1980 Add v4 api LineItem entity ([18388](https://github.com/civicrm/civicrm-core/pull/18388))**
501
502 - **Switch frontend contribution form to cached/non-deprecated functions for membershipTypes ([18404](https://github.com/civicrm/civicrm-core/pull/18404))**
503
504 - **PropertyBag - add cardNumber to getters ([17595](https://github.com/civicrm/civicrm-core/pull/17595))**
505
506 - **Make period_type mandatory for MembershipType ([18395](https://github.com/civicrm/civicrm-core/pull/18395))**
507
508 - **dev/core#1854: Fix Calculation of Overridden Membership Status ([17742](https://github.com/civicrm/civicrm-core/pull/17742))**
509
510 - **Use title instead name in status message ([18406](https://github.com/civicrm/civicrm-core/pull/18406))**
511
512 - **Remove error handling from loadObjects ([18393](https://github.com/civicrm/civicrm-core/pull/18393))**
513
514 - **Minor code simplification on date handling in getMembershipStatusByDate ([18421](https://github.com/civicrm/civicrm-core/pull/18421))**
515
516 - **Remove CRM_Contact_BAO_Contact::getPrimaryOpenId ([18424](https://github.com/civicrm/civicrm-core/pull/18424))**
517
518 - **dev/core#1921 Remove more instances of civi 4.2 date handling ([18422](https://github.com/civicrm/civicrm-core/pull/18422))**
519
520 - **report#49: add contact type custom fields to contribution details ([18420](https://github.com/civicrm/civicrm-core/pull/18420))**
521
522 - **Export fix on long custom fields ([18146](https://github.com/civicrm/civicrm-core/pull/18146))**
523
524 - **[ref] Extract failContribution code ([18418](https://github.com/civicrm/civicrm-core/pull/18418))**
525
526 - **Buttonrama ([18410](https://github.com/civicrm/civicrm-core/pull/18410))**
527
528 - **Implement more nuanced 'Administer CiviCRM permisions ([16482](https://github.com/civicrm/civicrm-core/pull/16482))**
529
530 - **dev/core#1590: Don't send reminders on deleted events ([17641](https://github.com/civicrm/civicrm-core/pull/17641))**
531
532 - **dev/core#1942 handle multiple membership of same membership type to u… ([18232](https://github.com/civicrm/civicrm-core/pull/18232))**
533
534 - **Membership form test cleanup, date cleanup on form ([18413](https://github.com/civicrm/civicrm-core/pull/18413))**
535
536 - **[REF] Refactor price field form to allow for unit testing of the form ([18414](https://github.com/civicrm/civicrm-core/pull/18414))**
537
538 - **[REF] Minor readability fix ([18415](https://github.com/civicrm/civicrm-core/pull/18415))**
539
540 - **[REF] change deprecated function to API4 call ([18076](https://github.com/civicrm/civicrm-core/pull/18076))**
541
542 - **dev/core#2003 Civicrm_price_field_value.amount truncation when localisation in play ([18297](https://github.com/civicrm/civicrm-core/pull/18297))**
543
544 - **Add postAssert to check payments and contributions are valid on all tests. ([18317](https://github.com/civicrm/civicrm-core/pull/18317))**
545
546 - **5.30 ([18412](https://github.com/civicrm/civicrm-core/pull/18412))**
547
548 - **Fix formatLocaleNumericRoundedByCurrency ([18409](https://github.com/civicrm/civicrm-core/pull/18409))**
549
550 - **[REF] Code cleanup on membership renewal & test ([18365](https://github.com/civicrm/civicrm-core/pull/18365))**
551
552 - **[REF] Improve the human readable name of the eway upgrade step to be … ([18401](https://github.com/civicrm/civicrm-core/pull/18401))**
553
554 - **Remove redundant custom field types ([18378](https://github.com/civicrm/civicrm-core/pull/18378))**
555
556 - **Contact form task delete php spelling fix ([18399](https://github.com/civicrm/civicrm-core/pull/18399))**
557
558 - **Fix for ongoing issues with static upsetting the apple cart ([18245](https://github.com/civicrm/civicrm-core/pull/18245))**
559
560 - **dev/core#1987: Enable frontend and backend theme configuration in display preference page for Drupal CMS ([18396](https://github.com/civicrm/civicrm-core/pull/18396))**
561
562 - **dev/core#1979 - Incorrect comparison of status_id when changing status of linked cases ([18309](https://github.com/civicrm/civicrm-core/pull/18309))**
563
564 - **Finish deprecating BaseIPN->completeTransaction ([18381](https://github.com/civicrm/civicrm-core/pull/18381))**
565
566 - **Fix Invoice class to not call validateData ([18372](https://github.com/civicrm/civicrm-core/pull/18372))**
567
568 - **[REF] Simplify loading of related objects in transition components ([18373](https://github.com/civicrm/civicrm-core/pull/18373))**
569
570 - **[REF] simplify interaction with objects in complete order ([18385](https://github.com/civicrm/civicrm-core/pull/18385))**
571
572 - **Remove unnecessary call to 'validateData' from pdf generator ([18367](https://github.com/civicrm/civicrm-core/pull/18367))**
573
574 - **Change wording on the Opt Out and Unsubscribe pages ([18338](https://github.com/civicrm/civicrm-core/pull/18338))**
575
576 - **[REF] Mark CRM_Contribute_BAO_Contribution_Utils::formatAmount deprec… ([18387](https://github.com/civicrm/civicrm-core/pull/18387))**
577
578 - **[NFC] Aim to reduce memory usage in create single value alter test by… ([18394](https://github.com/civicrm/civicrm-core/pull/18394))**
579
580 - **[NFC/Test framework] Make class name match file name ([18392](https://github.com/civicrm/civicrm-core/pull/18392))**
581
582 - **[REF] Swap out CRM_Utils_Array::value() - partial pull out from PR 18207 ([18391](https://github.com/civicrm/civicrm-core/pull/18391))**
583
584 - **[REF] Remove unused lines from loadObjects ([18389](https://github.com/civicrm/civicrm-core/pull/18389))**
585
586 - **Remove inaccessible call to baseIPN failed ([18369](https://github.com/civicrm/civicrm-core/pull/18369))**
587
588 - **Rename variable $key to $participantID to make it clear what it is ([18371](https://github.com/civicrm/civicrm-core/pull/18371))**
589
590 - **dev/core#1921 Fix legacy date handling ([18383](https://github.com/civicrm/civicrm-core/pull/18383))**
591
592 - **Add try catch to main loops on core ipn classes ([18384](https://github.com/civicrm/civicrm-core/pull/18384))**
593
594 - **dev/core#1989 - E_WARNING when editing custom field with logging turned on ([18386](https://github.com/civicrm/civicrm-core/pull/18386))**
595
596 - **dev/core#1980 Move tax handling from line item api to BAO to make it available from apiv4 ([18352](https://github.com/civicrm/civicrm-core/pull/18352))**
597
598 - **report#45 Switch out function call CRM_Utils_Array::value and extend … ([18379](https://github.com/civicrm/civicrm-core/pull/18379))**
599
600 - **Add test to cover existing v3 api setting of tax_amount on line items ([18351](https://github.com/civicrm/civicrm-core/pull/18351))**
601
602 - **[REF] Hide eway extension in UI and only install it if the original e… ([18377](https://github.com/civicrm/civicrm-core/pull/18377))**
603
604 - **Remove deprecated ids param ([18375](https://github.com/civicrm/civicrm-core/pull/18375))**
605
606 - **Load event title from participantID ([18376](https://github.com/civicrm/civicrm-core/pull/18376))**
607
608 - **dev/core#1921 Further removal of iso date handling ([18374](https://github.com/civicrm/civicrm-core/pull/18374))**
609
610 - **[REF] Ensure that all bundle container services are public for Symfon… ([18368](https://github.com/civicrm/civicrm-core/pull/18368))**
611
612 - **5.30 ([18364](https://github.com/civicrm/civicrm-core/pull/18364))**
613
614 - **Migrate Eway(Single Currency) Payment Processor Type out into its own… ([18349](https://github.com/civicrm/civicrm-core/pull/18349))**
615
616 - **[NFC] Enable APIv4 Testing on the statusPrefence API Tests ([18366](https://github.com/civicrm/civicrm-core/pull/18366))**
617
618 - **[REF] Simplify logic on calling self::updateContributionStatus ([18357](https://github.com/civicrm/civicrm-core/pull/18357))**
619
620 - **Fixed pre hook params for LineItem ([18340](https://github.com/civicrm/civicrm-core/pull/18340))**
621
622 - **dev/financial#143 Convert Paypal Pro to use Guzzle ([18350](https://github.com/civicrm/civicrm-core/pull/18350))**
623
624 - **Use eventID rather than the object in completeTransaction ([18358](https://github.com/civicrm/civicrm-core/pull/18358))**
625
626 - **dev/user-interface#27 - Define a "bootstrap3" bundle (skeleton) ([18354](https://github.com/civicrm/civicrm-core/pull/18354))**
627
628 - **dev/core#1921 Remove some places where the ghost of 2014 is getting special love ([18359](https://github.com/civicrm/civicrm-core/pull/18359))**
629
630 - **report#45 Ability to Search Smart or Normal Group using additional filter on Manage Group page ([18246](https://github.com/civicrm/civicrm-core/pull/18246))**
631
632 - **Improve consistency of metadata type declarations ([18147](https://github.com/civicrm/civicrm-core/pull/18147))**
633
634 - **Fix test to use validateAllContributions ([18348](https://github.com/civicrm/civicrm-core/pull/18348))**
635
636 - **Stop passing / using object when all we need is the id ([18331](https://github.com/civicrm/civicrm-core/pull/18331))**
637
638 - **Minor code cleanup - this is only ever called from one place so component is always event ([18343](https://github.com/civicrm/civicrm-core/pull/18343))**
639
640 - **Preliminary cleanup on test ([18346](https://github.com/civicrm/civicrm-core/pull/18346))**
641
642 - **Add higher-level support for "bundles" and "collections" of resources ([18247](https://github.com/civicrm/civicrm-core/pull/18247))**
643
644 - **dev/core#1926 - Try to autodetect mysql ssl settings from the CMS config ([18264](https://github.com/civicrm/civicrm-core/pull/18264))**
645
646 - **5.30 ([18344](https://github.com/civicrm/civicrm-core/pull/18344))**
647
648 - **Move ACls on LineItem create to financialacls core extension ([18339](https://github.com/civicrm/civicrm-core/pull/18339))**
649
650 - **Take the guesswork out of rendering clientside CRM variables ([18262](https://github.com/civicrm/civicrm-core/pull/18262))**
651
652 - **REF Filter params in completetransaction ([18321](https://github.com/civicrm/civicrm-core/pull/18321))**
653
654 - **Remove unused deprecated handling for partial_amount_to_pay ([18328](https://github.com/civicrm/civicrm-core/pull/18328))**
655
656 - **Do not block user incase 'Require approval' is checked ([18329](https://github.com/civicrm/civicrm-core/pull/18329))**
657
658 - **Remove pass-by-ref in PaypalProIPN::single ([18337](https://github.com/civicrm/civicrm-core/pull/18337))**
659
660 - **[REF] Add test for existing Participant batch update cancel and fix to not call BaseIPN->cancelled ([18318](https://github.com/civicrm/civicrm-core/pull/18318))**
661
662 - **Update civicrm_handler_field_contact_image.inc ([625](https://github.com/civicrm/civicrm-drupal/pull/625))**
663
664 - **Update civicrm_handler_field_pseudo_constant.inc ([626](https://github.com/civicrm/civicrm-drupal/pull/626))**
665
666 - **[REF] Use helper function to check if multiLingual ([604](https://github.com/civicrm/civicrm-drupal/pull/604))**
667
668 - **Fix custom field types for #18378 ([622](https://github.com/civicrm/civicrm-drupal/pull/622))**
669
670 - **dev/core#1929 Fix filter handler for custom field ([611](https://github.com/civicrm/civicrm-drupal/pull/611))**
671
672 - **5.30 ([219](https://github.com/civicrm/civicrm-wordpress/pull/219))**
673
674 - **Append CIVICRM_DEBUG_LOG_QUERY to sql log var ([309](https://github.com/civicrm/civicrm-packages/pull/309))**
675
676 - **[REF] Update Versions file and remove Net_URL class as doesn't appear… ([310](https://github.com/civicrm/civicrm-packages/pull/310))**
677
678 - **Add hack to support buttonrama without change to code adding submit ([307](https://github.com/civicrm/civicrm-packages/pull/307))**
679
680 - **[REF] Remove Eway Libraries and XML_Util as they are now shipped as p… ([306](https://github.com/civicrm/civicrm-packages/pull/306))**
681
682 ## <a name="misc"></a>Miscellany
683
684 ## <a name="credits"></a>Credits
685
686 This release was developed by the following code authors:
687
688 AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; Bastien Ho; Blackfly Solutions - Alan Dixon; CEDC - Laryn Kragt Bakker; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar; CompuCorp - Camilo Rodriguez, Ivan; Coop SymbioTIC - Mathieu Lutfy; Dave D; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Dennis P. Osorio, Jon Goldberg; MJW Consulting - Matthew Wire; QED42 - Swastik Pareek; Richard van Oosterhout; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
689
690 Most authors also reviewed code for this release; in addition, the following
691 reviewers contributed their comments:
692
693 AGH Strategies - Andrew Hunt; Agileware - Justin Freeman; Artful Robot - Rich Lott; Betty Dolfing; Blackfly Solutions - Alan Dixon; CEDC - Laryn Kragt Bakker; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Josh Gowans, Tim Otten; CiviDesk - Nicolas Ganivet, Sunil Pawar, Yashodha Chaku; CompuCorp - Camilo Rodriguez, Ivan, René Olivo; Coop SymbioTIC - Mathieu Lutfy; Dave D; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit, Luke Stewart; Irene Meisel; iXiam - Luciano Spiegel; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; John Kingsnorth; lalgwebdev; Lemniscus - Noah Miller; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; QED42 - Swastik Pareek; Richard van Oosterhout; Semper IT - Karin Gerritsen; shaneonabike; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton, Maggie Epps
694
695 ## <a name="feedback"></a>Feedback
696
697 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
698 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
699 and contact `@agh1`.
700