Merge pull request #19594 from eileenmcnaughton/535m
[civicrm-core.git] / release-notes / 5.35.0.md
1 # CiviCRM 5.35.0
2
3 Released March 3, 2021
4
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
11
12 ## <a name="synopsis"></a>Synopsis
13
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | no |
17 | **Change the database schema?** | **yes** |
18 | **Alter the API?** | **yes** |
19 | **Require attention to configuration options?** | **yes** |
20 | **Fix problems installing or upgrading to a previous version?** | **yes** |
21 | **Introduce features?** | **yes** |
22 | **Fix bugs?** | **yes** |
23
24 ## <a name="features"></a>Features
25
26 ### Core CiviCRM
27
28 - **Improve activity import to support updates (Work Towards
29 [dev/core#2308](https://lab.civicrm.org/dev/core/-/issues/2308):
30 [19439](https://github.com/civicrm/civicrm-core/pull/19439))**
31
32 Ensures when importing activities, activity fields are not required if the
33 activity id is present, so that one can update existing activities via import.
34
35 - **Proposal - make 5.33 the last CiviCRM version to support php 7.1 (agreed)
36 and mysql 5.6 (deferred) (& equivalent MariaDB version) (Work Towards
37 [dev/core#2204](https://lab.civicrm.org/dev/core/-/issues/2204):
38 [126](https://github.com/civicrm/civicrm-backdrop/pull/126),
39 [637](https://github.com/civicrm/civicrm-drupal/pull/637),
40 [238](https://github.com/civicrm/civicrm-wordpress/pull/238) and
41 [19390](https://github.com/civicrm/civicrm-core/pull/19390))**
42
43 Update the minimum php install version to be 7.2.
44
45 - **Add explicit box-sizing to crm-flex-box style
46 ([19325](https://github.com/civicrm/civicrm-core/pull/19325))**
47
48 Ensures consistent box sizing when using the new `crm-flex-box` css class,
49 for consistency with or without Bootstrap 3.
50
51 - **Search-kit - better user experience for bulk updates
52 ([dev/core#2310](https://lab.civicrm.org/dev/core/-/issues/2310):
53 [19425](https://github.com/civicrm/civicrm-core/pull/19425))**
54
55 Adds a batch system to search kit. This avoids server timeouts, and improves
56 the user experience.
57
58 - **Searchkit - separate calls for results & count
59 ([dev/core#2312](https://lab.civicrm.org/dev/core/-/issues/2312):
60 [19426](https://github.com/civicrm/civicrm-core/pull/19426))**
61
62 Improves SearchKit results loading time in the admin UI.
63
64 - **Searchkit - activity record type not intuitive
65 ([dev/core#2313](https://lab.civicrm.org/dev/core/-/issues/2313):
66 [19429](https://github.com/civicrm/civicrm-core/pull/19429))**
67
68 Makes joins in SearchKit more intuitive by automatically adding commonly-used
69 default conditions.
70
71 - **SearchKit: Add support for multi-record custom field groups
72 ([19452](https://github.com/civicrm/civicrm-core/pull/19452))**
73
74 Adds support in SearchKit for multi-record custom field group pseudo-entities
75 to be added to the search as joins.
76
77 - **Modifying lists of Country/StateProvince/County (Work Towards
78 [dev/core#2329](https://lab.civicrm.org/dev/core/-/issues/2329):
79 [19448](https://github.com/civicrm/civicrm-core/pull/19448))**
80
81 Adds an `is_active` field to Country, StateProvince and County elements so
82 that they can be disabled.
83
84 - **APIv4 - Enable getFields to find fields across implicit FK joins
85 ([19516](https://github.com/civicrm/civicrm-core/pull/19516))**
86
87 Makes it possible to return fields from other entities using APIv4.
88
89 - **Add v4 pledge api
90 ([19297](https://github.com/civicrm/civicrm-core/pull/19297))**
91
92 Adds the Pledge entity to APIv4.
93
94 - **Add pledge payment api
95 ([19436](https://github.com/civicrm/civicrm-core/pull/19436))**
96
97 Adds the Pledge Payment entity to APIv4.
98
99 - **Payment API - Add description of `order_reference` parameter
100 ([19449](https://github.com/civicrm/civicrm-core/pull/19449))**
101
102 Adds a spec for the `Payment.order_reference` parameter so that is shows up in
103 the API explorer and is a little more discoverable.
104
105 - **API Explorer - Fix URL encoding in REST examples
106 ([19450](https://github.com/civicrm/civicrm-core/pull/19450))**
107
108 Improves the REST examples generated in "Support => Developer => Api Explorer
109 v3".
110
111 - **Search Builder - Enhance UI with Select2 and EntityRef
112 ([19471](https://github.com/civicrm/civicrm-core/pull/19471))**
113
114 Improves the UI of Search Builder (the classic one in core, not the new Search
115 Kit extension) by using Select2 dropdowns for selecting options &
116 autocompleting contacts, events, etc instead of needing to enter numeric ids.
117
118 - **Add "labelField" metadata to entities
119 ([19504](https://github.com/civicrm/civicrm-core/pull/19504))**
120
121 Adds a "labelField" metadata to entities to the schema so that one can know
122 how a entity should be displayed by looking at the metadata.
123
124 - **Select2 - Improve styles for disabled, loading elements
125 ([19430](https://github.com/civicrm/civicrm-core/pull/19430))**
126
127 Improves Select2 user experience in Greenwich.
128
129 - **Tabbed interface for organizing afforms by type
130 ([19395](https://github.com/civicrm/civicrm-core/pull/19395))**
131
132 Creates afform types and a tabbed interface in the Admin section, and adds
133 support for embedding search displays into afform fieldsets.
134
135 - **Add setting default to speed up cache flush
136 ([19383](https://github.com/civicrm/civicrm-core/pull/19383))**
137
138 Adds a define to civicrm.settings.php that speeds up cache flushes
139
140 - **Add pseudoconstant for Relationship.relationship_type_id
141 ([19278](https://github.com/civicrm/civicrm-core/pull/19278))**
142
143 Updates the relationship schema to add a pseudoconstant to the
144 relationship_type_id field.
145
146 ### CiviContribute
147
148 - **Unhide contributioncancelactions core extension
149 ([19500](https://github.com/civicrm/civicrm-core/pull/19500))**
150
151 Makes the Contributioncancelactions extension visible and disabling it
152 supported.
153
154 ### CiviMail
155
156 - **Support tracking URLs with tokens in query strings
157 ([dev/mail#81](https://lab.civicrm.org/dev/mail/-/issues/81):
158 [19386](https://github.com/civicrm/civicrm-core/pull/19386))**
159
160 When delivering a mail-blast, Flexmailer replaces most URLs with trackable
161 URLs. This expands tracking support for URLs that include tokens.
162
163 ### Drupal Integration
164
165 - **allow filtering by empty event end, registration start, registration end
166 dates ([634](https://github.com/civicrm/civicrm-drupal/pull/634))**
167
168 Makes it possible to filter by empty event date fields in views.
169
170 - **Advice in failure message is out of date
171 ([633](https://github.com/civicrm/civicrm-drupal/pull/633))**
172
173 Improves error message when unable to load CRM/Core/Config.php.
174
175 ## <a name="bugs"></a>Bugs resolved
176
177 ### Core CiviCRM
178
179 - **search on relationship and case
180 ([18779](https://github.com/civicrm/civicrm-core/pull/18779))**
181
182 Ensures Advanced search filters correctly when displaying related contacts and
183 searching with case parameters.
184
185 - **Don't check for .git in the isDevelopment() function
186 ([dev/core#2241](https://lab.civicrm.org/dev/core/-/issues/2241):
187 [19361](https://github.com/civicrm/civicrm-core/pull/19361))**
188
189 Deprecates direct calls to `isDevelopment()`.
190
191 - **Adding Contacts to a New Group via Manage Groups Page Failure
192 ([dev/core#2333](https://lab.civicrm.org/dev/core/-/issues/2333):
193 [19472](https://github.com/civicrm/civicrm-core/pull/19472))**
194
195 Fixes an issue when creating a group from a letter page of search results.
196
197 - **Oauth Redirect URL reporterror_civicrm_handler
198 ([dev/core#2350](https://lab.civicrm.org/dev/core/-/issues/2350):
199 [19492](https://github.com/civicrm/civicrm-core/pull/19492))**
200
201 Ensures when using the Oauth extension, setting a fatalErrorHandler does not
202 override the redirect url.
203
204 - **Search Kit: Search kit, contribution search - financial type field is odd
205 ([dev/core#2349](https://lab.civicrm.org/dev/core/-/issues/2349) and
206 [dev/core#2347](https://lab.civicrm.org/dev/core/-/issues/2347):
207 [19489](https://github.com/civicrm/civicrm-core/pull/19489))**
208
209 Fixes two SearchKit bugs:
210
211 - Contribution Search, financial type return empty
212 - Preview button on table display form not working
213
214 - **Afform - Misc tweaks, validation & bug fixes
215 ([19496](https://github.com/civicrm/civicrm-core/pull/19496))**
216
217 Adds basic validation to server_route in the Afform GUI, only permitting
218 paths beginning with "civicrm/". Also re-labels the menu item and page
219 title to "Form Builder" and resets server_route and is_dashlet when cloning.
220 And fixes several bugs in Afform & Search Kit.
221
222 - **Afform - Fix form submit button
223 ([19460](https://github.com/civicrm/civicrm-core/pull/19460))**
224
225 Ensures clicking Submit on an afform actually submits the form.
226
227 - **Afform GUI enhancements & Search Kit integration
228 ([19455](https://github.com/civicrm/civicrm-core/pull/19455))**
229
230 Fixes errors in afform GUI when creating a new block from the admin screen and
231 when clicking "Save as Block"
232
233 - **Afform - Drop directive support for attribute, only support elements as
234 afforms ([19438](https://github.com/civicrm/civicrm-core/pull/19438))**
235
236 Changes every afform directive from AE to only E.
237
238 - **Greenwich - fix list margin added by some CMS themes
239 ([19423](https://github.com/civicrm/civicrm-core/pull/19423))**
240
241 Fixes a style conflict between some CMS themes and Greenwich, causing tabs to
242 shift to the right.
243
244 - **Flag that Embedded Activity Revisions setting is unsupported and deprecated
245 ([19422](https://github.com/civicrm/civicrm-core/pull/19422))**
246
247 Adds more documentation to the 'Enable Embedded Activity Revisions' setting to
248 make it explicit that it is deprecated.
249
250 - **Use php to require an array
251 ([19370](https://github.com/civicrm/civicrm-core/pull/19370))**
252
253 Removes is_array check in favor of php strict typing.
254
255 - **Fix rendering of Dashlet placeholder
256 ([dev/core#2306](https://lab.civicrm.org/dev/core/-/issues/2306):
257 [19413](https://github.com/civicrm/civicrm-core/pull/19413))**
258
259 Prevents panel jumping when dragging dashlets.
260
261 - **Dashboard: Improve status messages when moving/deleting dashlets
262 ([19358](https://github.com/civicrm/civicrm-core/pull/19358))**
263
264 Ensures a in-progress message is displayed when moving/deleting dashlets.
265
266 - **Using %1%2 in ts() generates confusing output in transifex
267 ([dev/translation#64](https://lab.civicrm.org/dev/translation/-/issues/64):
268 [19453](https://github.com/civicrm/civicrm-core/pull/19453))**
269
270 - **Issue with importing to checkbox type fields where label is the same as
271 database value (may affect other types too)
272 ([dev/core#866](https://lab.civicrm.org/dev/core/-/issues/866) and
273 [dev/core#1318](https://lab.civicrm.org/dev/core/-/issues/1318):
274 [19111](https://github.com/civicrm/civicrm-core/pull/19111))**
275
276 - **Trigger-based logging doesn't log if just changing a letter to upper/lower
277 case ([dev/core#2114](https://lab.civicrm.org/dev/core/-/issues/2114):
278 [18782](https://github.com/civicrm/civicrm-core/pull/18782))**
279
280 - **Logging tables shown as 'different' incorrectly after upgrading to MariaDB
281 10.4.x ([dev/core#2305](https://lab.civicrm.org/dev/core/-/issues/2305):
282 [19412](https://github.com/civicrm/civicrm-core/pull/19412))**
283
284 - **Mapping a contact gives invalid argument supplied.
285 ([dev/core#2307](https://lab.civicrm.org/dev/core/-/issues/2307):
286 [19414](https://github.com/civicrm/civicrm-core/pull/19414))**
287
288 - **Inconsistent line breaks on custom field edit page for description text
289 ([dev/core#2328](https://lab.civicrm.org/dev/core/-/issues/2328):
290 [19444](https://github.com/civicrm/civicrm-core/pull/19444))**
291
292 - **Creating an afform without civicrm/ in the url breaks the site
293 ([dev/core#2340](https://lab.civicrm.org/dev/core/-/issues/2340):
294 [19464](https://github.com/civicrm/civicrm-core/pull/19464))**
295
296 - **Afform api explorer: has_local, has_base do not present as bool
297 ([dev/core#2341](https://lab.civicrm.org/dev/core/-/issues/2341):
298 [19465](https://github.com/civicrm/civicrm-core/pull/19465))**
299
300 - **APIv4 - Fix bug when using relative date filters in ON clause of a join
301 ([19514](https://github.com/civicrm/civicrm-core/pull/19514))**
302
303 - **Search Kit - Fix display pager and improve error handling
304 ([19479](https://github.com/civicrm/civicrm-core/pull/19479))**
305
306 - **Afform - delete unused, nonfunctional apis
307 ([19432](https://github.com/civicrm/civicrm-core/pull/19432))**
308
309 - **Afform GUI - Fix errors when creating & saving blocks
310 ([19519](https://github.com/civicrm/civicrm-core/pull/19519))**
311
312 - **Greenwich: Fix BS3 conflict with html5 search clear button
313 ([19461](https://github.com/civicrm/civicrm-core/pull/19461))**
314
315 - **Move require once in api kernel to support edge cases
316 ([19513](https://github.com/civicrm/civicrm-core/pull/19513))**
317
318 - **Token Processor: fix PHP syntax for purifyHTML
319 ([19490](https://github.com/civicrm/civicrm-core/pull/19490))**
320
321 - **Do not set source_contact_id in summary function
322 ([19456](https://github.com/civicrm/civicrm-core/pull/19456))**
323
324 - **Fix missing translate tag
325 ([19451](https://github.com/civicrm/civicrm-core/pull/19451))**
326
327 - **composer.json - Ignore unused variants of Monaco ("dev"/"esm")
328 ([19433](https://github.com/civicrm/civicrm-core/pull/19433))**
329
330 - **"Admin => Misc" - Fix validation of "Maximum File Size"
331 ([19382](https://github.com/civicrm/civicrm-core/pull/19382))**
332
333 ### CiviCase
334
335 - **Custom Field of type Integer that uses Radio Buttons as Input Type in
336 combination with search range scrambles Case Report Search
337 ([dev/core#2288](https://lab.civicrm.org/dev/core/-/issues/2288):
338 [19339](https://github.com/civicrm/civicrm-core/pull/19339))**
339
340 - **Upgrading an old site with spaces in the case type names and external xml
341 files leads to difficult to resolve status messages
342 ([dev/core#2326](https://lab.civicrm.org/dev/core/-/issues/2326):
343 [19441](https://github.com/civicrm/civicrm-core/pull/19441))**
344
345 - **Sample xml casetype configuration files have label instead of name in the
346 name ([dev/core#2327](https://lab.civicrm.org/dev/core/-/issues/2327):
347 [19442](https://github.com/civicrm/civicrm-core/pull/19442))**
348
349 - **Use exceptions when enabling case component / checking for 'CREATE VIEW'
350 permissions ([19503](https://github.com/civicrm/civicrm-core/pull/19503))**
351
352 ### CiviContribute
353
354 - **Fix pledge action on failed/ cancelled contribution
355 ([dev/core#2206](https://lab.civicrm.org/dev/core/-/issues/2206):
356 [19289](https://github.com/civicrm/civicrm-core/pull/19289))**
357
358 Ensures that Pledge payments are correctly updated when a contribution is
359 cancelled or fails.
360
361 - **Undefined index when putting in a contribution thank-you date without a time
362 ([dev/core#2297](https://lab.civicrm.org/dev/core/-/issues/2297):
363 [19388](https://github.com/civicrm/civicrm-core/pull/19388))**
364
365 - **Cannot edit contribution with revenue recognition date in a past year
366 ([dev/financial#164](https://lab.civicrm.org/dev/financial/-/issues/164):
367 [19454](https://github.com/civicrm/civicrm-core/pull/19454))**
368
369 - **Notice: Undefined property: CRM_Core_DAO::$_context in
370 CRM_Utils_PagerAToZ::createLinks() on contribution page listing
371 ([dev/core#2355](https://lab.civicrm.org/dev/core/-/issues/2355):
372 [19515](https://github.com/civicrm/civicrm-core/pull/19515))**
373
374 - **Set contribution_page_id from template contribution
375 ([19362](https://github.com/civicrm/civicrm-core/pull/19362))**
376
377 - **Fix pledge to not use pass-by-reference
378 ([19400](https://github.com/civicrm/civicrm-core/pull/19400))**
379
380 ### CiviMail
381
382 - **Update permissions for "CiviCRM Admin Menu -> Mailings -> Message Templates"
383 nav item ([19342](https://github.com/civicrm/civicrm-core/pull/19342))**
384
385 Updates the permissions for the "CiviCRM Admin Menu -> Mailings -> Message
386 Templates" navigation item so that if the user has any of the following
387 permissions they can view it:
388
389 - edit user-driven message templates
390 - edit system workflow message templates
391 - edit message templates
392
393 - **When two contacts, Contact A and Contact B have the same email address, if
394 Contact A is deleted then Contact B is incorrectly excluded from mailings,
395 does not receive emails
396 ([19360](https://github.com/civicrm/civicrm-core/pull/19360))**
397
398 ### CiviMembership
399
400 - **Show disabled membership types on contact tab
401 ([19431](https://github.com/civicrm/civicrm-core/pull/19431))**
402
403 - **Fix PHP notice if membershipBlock is not defined
404 ([19447](https://github.com/civicrm/civicrm-core/pull/19447))**
405
406 ### Backdrop Integration
407
408 - **UF Settings page for Views CiviCRM integration should not have backticks for
409 Backdrop ([dev/core#2352](https://lab.civicrm.org/dev/core/-/issues/2352):
410 [19491](https://github.com/civicrm/civicrm-core/pull/19491))**
411
412 ### Drupal Integration
413
414 - **Override the DrupalBase getUserObject function with a Drupal8/9 compatible
415 version ([19517](https://github.com/civicrm/civicrm-core/pull/19517))**
416
417 Fixes an error when using the APIv3 `User` entity on Drupal 9.
418
419 - **Drupal7: civicrm_rules - Add/Remove contact from CiviCRM Group works with
420 deprecated method on removal
421 ([dev/drupal#65](https://lab.civicrm.org/dev/drupal/-/issues/65):
422 [580](https://github.com/civicrm/civicrm-drupal/pull/580))**
423
424 - **fix deceased date format
425 ([607](https://github.com/civicrm/civicrm-drupal/pull/607))**
426
427 ### WordPress Integration
428
429 - **List of groups in search form and create new contact screen not respecting
430 ACLs ([dev/wordpress#86](https://lab.civicrm.org/dev/wordpress/-/issues/86):
431 [19372](https://github.com/civicrm/civicrm-core/pull/19372))**
432
433 ## <a name="misc"></a>Miscellany
434
435 - **Bump socket.io from 2.3.0 to 2.4.1
436 ([19427](https://github.com/civicrm/civicrm-core/pull/19427))**
437
438 - **Afform - code refactoring for angular best practices
439 ([19352](https://github.com/civicrm/civicrm-core/pull/19352))**
440
441 - **Token plan - what is it (Code Cleanup for
442 [dev/core#2303](https://lab.civicrm.org/dev/core/-/issues/2303):
443 [19409](https://github.com/civicrm/civicrm-core/pull/19409))**
444
445 - **Deprecate BaseIPN functions validateData & LoadObject
446 ([dev/financial#148](https://lab.civicrm.org/dev/financial/-/issues/148):
447 [19416](https://github.com/civicrm/civicrm-core/pull/19416))**
448
449 - **Comment intent to remove call to transition components
450 ([19507](https://github.com/civicrm/civicrm-core/pull/19507))**
451
452 - **CRM_Core_BAO_MessageTemplate::sendReminder() is not used anywhere
453 ([19502](https://github.com/civicrm/civicrm-core/pull/19502))**
454
455 - **Move another deprecated utils function
456 ([19365](https://github.com/civicrm/civicrm-core/pull/19365))**
457
458 - **Deprecate Pledge::add() function
459 ([19411](https://github.com/civicrm/civicrm-core/pull/19411))**
460
461 - **Cleanup a couple of unnecessary references
462 ([19420](https://github.com/civicrm/civicrm-core/pull/19420))**
463
464 - **Update contributor-key.yml
465 ([19459](https://github.com/civicrm/civicrm-core/pull/19459))**
466
467 - **update contributor-key.yml and CONTRIBUTORS.txt file
468 ([19446](https://github.com/civicrm/civicrm-core/pull/19446))**
469
470 - **Remove unnecessary call to error_reporting in drupal 7 integration code
471 ([19445](https://github.com/civicrm/civicrm-core/pull/19445))**
472
473 - **Remove call to loadRelatedObjects
474 ([19407](https://github.com/civicrm/civicrm-core/pull/19407))**
475
476 - **Remove always true if
477 ([19499](https://github.com/civicrm/civicrm-core/pull/19499))**
478
479 - **Remove another use of loadRelatedObjects() function
480 ([19505](https://github.com/civicrm/civicrm-core/pull/19505))**
481
482 - **Test framework - API4 DateTest::testRelativeDateRanges will fail on the last
483 day of Jan, Mar, May, Aug, Oct
484 ([dev/core#2339](https://lab.civicrm.org/dev/core/-/issues/2339):
485 [19462](https://github.com/civicrm/civicrm-core/pull/19462))**
486
487 - **[Test framework] Prevent intermittently failing relationship test
488 ([19424](https://github.com/civicrm/civicrm-core/pull/19424))**
489
490 - **[Test] Extend new membership form to cover multi-line renew + minor cleanup
491 ([19404](https://github.com/civicrm/civicrm-core/pull/19404))**
492
493 - **[REF] Remove some of those old php4 &s
494 ([19419](https://github.com/civicrm/civicrm-core/pull/19419))**
495
496 - **REF Move buildMembershipBlock function from ContributionPage to
497 Main/Confirm/Thankyou page
498 ([19467](https://github.com/civicrm/civicrm-core/pull/19467))**
499
500 - **REF Permit installing of replacement extensions during upgrade for ob…
501 ([19391](https://github.com/civicrm/civicrm-core/pull/19391))**
502
503 - **[REF] Remove objects var from PaypalProIPN
504 ([19440](https://github.com/civicrm/civicrm-core/pull/19440))**
505
506 - **[REF] Remove seemingly unreachable attempt to format activity_date_time
507 ([19437](https://github.com/civicrm/civicrm-core/pull/19437))**
508
509 - **[REF] Move related code to be together
510 ([19418](https://github.com/civicrm/civicrm-core/pull/19418))**
511
512 - **[REF] Simplify activity import validation
513 ([19373](https://github.com/civicrm/civicrm-core/pull/19373))**
514
515 - **[#REF] Cleanup recently added code fixing dev/core#2307 for the fact …
516 ([19415](https://github.com/civicrm/civicrm-core/pull/19415))**
517
518 - **[REF] Move instantiation of Order class to earlier in function
519 ([19402](https://github.com/civicrm/civicrm-core/pull/19402))**
520
521 - **[REF] Remove copy & paste code from Activity mapping form
522 ([19488](https://github.com/civicrm/civicrm-core/pull/19488))**
523
524 - **[REF] Fix Order class to not reload if already loaded
525 ([19403](https://github.com/civicrm/civicrm-core/pull/19403))**
526
527 - **[REF] Move code closer to where it is used
528 ([19410](https://github.com/civicrm/civicrm-core/pull/19410))**
529
530 - **[REF] Param simplification
531 ([19406](https://github.com/civicrm/civicrm-core/pull/19406))**
532
533 - **[REF] Minor cleanup on emailReceipt
534 ([19405](https://github.com/civicrm/civicrm-core/pull/19405))**
535
536 - **REF Ensure that when doing RLIKE BINARY the field is cast as BINARY t…
537 ([19399](https://github.com/civicrm/civicrm-core/pull/19399))**
538
539 - **[REF] Remove function that is the same as parent
540 ([19369](https://github.com/civicrm/civicrm-core/pull/19369))**
541
542 - **[REF] Standardise methods of determining isTest
543 ([19417](https://github.com/civicrm/civicrm-core/pull/19417))**
544
545 - **REF Update CiviCRM default PEAR Error handling to be exception rather…
546 ([19323](https://github.com/civicrm/civicrm-core/pull/19323))**
547
548 - **[REF] Extract logical functions from sendTemplate
549 ([19510](https://github.com/civicrm/civicrm-core/pull/19510))**
550
551 - **[REF] Move sendNotification out of recur, remove unused related_contact
552 ([19443](https://github.com/civicrm/civicrm-core/pull/19443))**
553
554 - **[REF] Remove invalid attempt to load contriution id from invoiceID
555 ([19511](https://github.com/civicrm/civicrm-core/pull/19511))**
556
557 - **[REF] Stop passing contributionPageID to isEmailReceipt
558 ([19498](https://github.com/civicrm/civicrm-core/pull/19498))**
559
560 - **[NFC] Fix PHP 7.4 Syntax issue in Afform HTML Extension
561 ([19477](https://github.com/civicrm/civicrm-core/pull/19477))**
562
563 - **[NFC] Update composer.lock
564 ([19485](https://github.com/civicrm/civicrm-core/pull/19485))**
565
566 - **[NFC] Whitespace fix up
567 ([19408](https://github.com/civicrm/civicrm-core/pull/19408))**
568
569 - **[NFC] Preliminary cleanup
570 ([19401](https://github.com/civicrm/civicrm-core/pull/19401))**
571
572 - **NFC Minor code cleanup to contribution pages
573 ([19468](https://github.com/civicrm/civicrm-core/pull/19468))**
574
575 - **[NFC] minor code cleanups
576 ([19366](https://github.com/civicrm/civicrm-core/pull/19366))**
577
578 - **[NFC] Update contributor-key.yml with Ahed
579 ([19378](https://github.com/civicrm/civicrm-core/pull/19378))**
580
581 - **[NFC] Minor code cleanup
582 ([19367](https://github.com/civicrm/civicrm-core/pull/19367))**
583
584 - **[NFC] Move Upgrade for navgation from 5.34.alpha1 to 5.35.alpha1 as t…
585 ([19364](https://github.com/civicrm/civicrm-core/pull/19364))**
586
587 - **(NFC) Regenerate civicrm_generated.mysql
588 ([19363](https://github.com/civicrm/civicrm-core/pull/19363))**
589
590 - **[NFC] - Remove literally empty if block
591 ([632](https://github.com/civicrm/civicrm-drupal/pull/632))**
592
593 ## <a name="credits"></a>Credits
594
595 This release was developed by the following code authors:
596
597 AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman;
598 Christian Wach; CiviCoop - Jaap Jansma, Klaas Eikelboom; CiviCRM - Coleman
599 Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Ahed Eid; Coop
600 SymbioTIC - Mathieu Lutfy; Dave D; ECOPLAN - Torben Bertram; Freeform
601 Solutions - Herb van den Dool; iXiam - Vangelis Pantazis; JMA Consulting -
602 Seamus Lee; John Kingsnorth; Megaphone Technology Consulting - Jon Goldberg; MJW
603 Consulting - Matthew Wire; Skvare - Sunil Pawar; Stephen Palmstrom; Wikimedia
604 Foundation - Eileen McNaughton
605
606 Most authors also reviewed code for this release; in addition, the following
607 reviewers contributed their comments:
608
609 Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan
610 Dixon; Fuzion - Jitendra Purohit; JMA Consulting - Monish Deb; MJCO - Mikey
611 O'Toole; StijnVanhandsaeme; Tadpole Collective - Kevin Cristiano;
612
613 ## <a name="feedback"></a>Feedback
614
615 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
616 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
617 and contact `@agh1`.