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