5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
12 ## <a name="synopsis"></a>Synopsis
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** |
24 ## <a name="features"></a>Features
28 - **Improve quicksearch result presentation to enable browser link functions
29 ([19779](https://github.com/civicrm/civicrm-core/pull/19779))**
31 The results in the quick search in the menu bar now appear as actual links.
32 Clicking an item acts the same as before, but you can now ctrl-click or
33 right-click for advanced functions in your browser (such as to open the link
34 in a new tab or window).
36 - **Add new super-duper-no-permissions-apply permission
37 ([19797](https://github.com/civicrm/civicrm-core/pull/19797))**
39 A new permission, "Administer all of CiviCRM", is established as a super-duper
40 permission that implicitly has all other CiviCRM permissions. This is much
41 like how a Drupal user with the ID 1 has all permissions, even if they're not
44 - **AngularJS - Allow loading multiple apps on a single page
45 ([19922](https://github.com/civicrm/civicrm-core/pull/19922))**
47 Allows multiple Angular apps to run on a single page. For example, you
48 might display 2x Angular-based tabs, 3x Angular-based WP shortcodes, or 4x
49 Angular-based Drupal blocks.
51 - **Support mobile devices on public forms
52 ([dev/user-interface#35](https://lab.civicrm.org/dev/user-interface/-/issues/35):
53 [19968](https://github.com/civicrm/civicrm-core/pull/19968))**
55 Improves user experience for mobile users on public forms by making labels
56 appear above inputs on small screens.
58 - **info.xml - Allow PSR-0 style class-loader declarations
59 ([19870](https://github.com/civicrm/civicrm-core/pull/19870))**
61 Makes it so extensions may setup classloading in info.xml.
63 - **We should not be auto-generating 5.xx.beta1.mysql.tpl files
64 ([dev/release#16](https://lab.civicrm.org/dev/release/-/issues/16):
65 [19743](https://github.com/civicrm/civicrm-core/pull/19743))**
67 Makes it possible to skip upgrader increments which do not actually require DB
70 - **Adjust weights on activity contact record types
71 ([dev/core#2442](https://lab.civicrm.org/dev/core/-/issues/2442):
72 [19992](https://github.com/civicrm/civicrm-core/pull/19992) and
73 [19987](https://github.com/civicrm/civicrm-core/pull/19987))**
75 Improves user experience by making the default Activity Contact Record type
78 - **The mailings screen is very slow to load when there are many campaigns in
79 the database ([dev/core#2451](https://lab.civicrm.org/dev/core/-/issues/2451):
80 [19766](https://github.com/civicrm/civicrm-core/pull/19766))**
82 Improves processing of option groups in select2 elements.
84 - **Reorganize contact summary template to support non-ajax tabs
85 ([19875](https://github.com/civicrm/civicrm-core/pull/19875))**
87 Adds hook support for non-ajax contact summary tabs.
89 - **Feature Request: API endpoint to trigger rebuild paths
90 ([dev/core#2458](https://lab.civicrm.org/dev/core/-/issues/2458):
91 [19795](https://github.com/civicrm/civicrm-core/pull/19795))**
93 Adds an API to trigger rebuilding paths.
95 - **Add job to cleanup acl_cache table, add setting to disable opportunistic
96 flushing ([dev/core#2477](https://lab.civicrm.org/dev/core/-/issues/2477):
97 [19930](https://github.com/civicrm/civicrm-core/pull/19930))**
99 Adds a scheduled job to cleanup acl_cache table (like for smart groups).
101 - **APIv4 entity parity
102 ([dev/core#2486](https://lab.civicrm.org/dev/core/-/issues/2486):
103 [19932](https://github.com/civicrm/civicrm-core/pull/19932),
104 [19933](https://github.com/civicrm/civicrm-core/pull/19933) and
105 [19931](https://github.com/civicrm/civicrm-core/pull/19931))**
107 Moves towards APIv4 entity parity by adding the following entities: "Payment
108 Token", "Batch" and "Entity Financial trxn".
110 - **APIv4 - Add CiviCase, CaseType, CaseContact entities
111 ([19907](https://github.com/civicrm/civicrm-core/pull/19907), followed up by
112 [dev/core#2573](https://lab.civicrm.org/dev/core/-/issues/2573):
113 [20174](https://github.com/civicrm/civicrm-core/pull/20174))**
115 Adds support for CiviCase entities to APIv4.
117 - **Add FinancialTrxn APIv4
118 ([19918](https://github.com/civicrm/civicrm-core/pull/19918))**
120 Adds support for FinancialTrxn to APIv4.
122 - **Afform - Add submit actions (Work Towards
123 [dev/core#2522](https://lab.civicrm.org/dev/core/-/issues/2522):
124 [20018](https://github.com/civicrm/civicrm-core/pull/20018) and
125 [20147](https://github.com/civicrm/civicrm-core/pull/20147))**
127 Adds in a submit handler and redirect after submit for afform.
129 - **Add 'readonly' attribute to fields in schema
130 ([dev/core#2397](https://lab.civicrm.org/dev/core/-/issues/2397):
131 [19751](https://github.com/civicrm/civicrm-core/pull/19751) and
132 [19778](https://github.com/civicrm/civicrm-core/pull/19778))**
134 Adds metadata to schema to tell SearchKit and Afform which fields are
135 appropriate to show to the user.
137 - **SearchKit - Add "in-place edit" feature
138 ([19765](https://github.com/civicrm/civicrm-core/pull/19765))**
140 Adds a new feature "in-place edit" to search displays.
142 - **SearchKit - Exposed join filters
143 ([dev/core#2494](https://lab.civicrm.org/dev/core/-/issues/2494):
144 [19984](https://github.com/civicrm/civicrm-core/pull/19984))**
146 Improves SearchKit generated SQL joins.
148 - **SearchKit - Support implied operators in exposed search forms
149 ([19959](https://github.com/civicrm/civicrm-core/pull/19959))**
151 Improves SearchKit by adding support for "Multi-Select" and "Search by range"
154 - **Expose mapping search task to Search Kit
155 ([19561](https://github.com/civicrm/civicrm-core/pull/19561))**
157 Exposes Contact Mapping task to SearchKit.
159 - **Add created_id & modified_id to civicrm_saved_search
160 ([dev/core#2422](https://lab.civicrm.org/dev/core/-/issues/2422):
161 [19892](https://github.com/civicrm/civicrm-core/pull/19892))**
163 Adds created & modified info to SavedSearch listing in SearchKit.
165 - **SearchKit - Include custom group title with custom field label
166 ([19856](https://github.com/civicrm/civicrm-core/pull/19856))**
168 Adds Custom Group title when display custom fields. This makes it easier to
169 tell custom fields apart in SearchKit when they have similar names to core or
172 - **Afform GUI - Improve drag-n-drop and add link to edit search
173 ([19935](https://github.com/civicrm/civicrm-core/pull/19935))**
175 This adds a few UI improvements to Afform, making drag-n-drop smoother and
176 adding a configuration option to edit saved searches.
178 - **Afform - Add support for email tokens `{afform.myFormUrl}`
179 ([19660](https://github.com/civicrm/civicrm-core/pull/19660))**
181 Adds support for Afform email tokens ex: "My public form (Full Hyperlink)" and
182 "My public form (URL)".
184 - **Embed afforms & search displays on contact summary screen as blocks and tabs
185 ([19887](https://github.com/civicrm/civicrm-core/pull/19887))**
187 Enables the creation of blocks and tabs on the contact summary screen,
188 using Afform & SearchKit.
190 - **Phpunit 8 support - add void to setup
191 ([19974](https://github.com/civicrm/civicrm-core/pull/19974),
192 [19921](https://github.com/civicrm/civicrm-core/pull/19921),
193 [19898](https://github.com/civicrm/civicrm-core/pull/19898),
194 [19901](https://github.com/civicrm/civicrm-core/pull/19901),
195 [19905](https://github.com/civicrm/civicrm-core/pull/19905),
196 [19899](https://github.com/civicrm/civicrm-core/pull/19899),
197 [19925](https://github.com/civicrm/civicrm-core/pull/19925),
198 [19909](https://github.com/civicrm/civicrm-core/pull/19909) and
199 [19900](https://github.com/civicrm/civicrm-core/pull/19900))**
201 Work towards supporting PHPunit8.
203 - **Create reCAPTCHA core extension
204 ([19967](https://github.com/civicrm/civicrm-core/pull/19967))**
206 Moves reCAPTCHA from core to a core extension.
208 - **Include the timezone for date values in the Activity iCal
209 ([19770](https://github.com/civicrm/civicrm-core/pull/19770))**
211 Ensures the timezone is specified for the start date value in the Activity
216 - **Add entity financial account bridge entity
217 ([19927](https://github.com/civicrm/civicrm-core/pull/19927))**
219 Adds a new entity 'EntityFinancialAccount'.
221 - **Enable translation for Contribution Ordinality options on Contribution
222 Detail Report ([19771](https://github.com/civicrm/civicrm-core/pull/19771))**
224 Improves translation on the Contribution Detail Report.
226 - **Enable translation for Contribution Ordinality options on Member
227 Contribution Detail Report
228 ([19772](https://github.com/civicrm/civicrm-core/pull/19772))**
230 Improves translation on the Member Contribution Detail Report.
234 - **Include the timezone for date values in the Event iCal
235 ([19762](https://github.com/civicrm/civicrm-core/pull/19762))**
237 Ensures the timezone is specified for the start date value in the Event
242 - **MessageTemplates - Convert token processing to use `TokenProcessor`
243 ([19550](https://github.com/civicrm/civicrm-core/pull/19550))**
245 Improves token processing (resulting in some different token processing).
247 - **Align most of the tokens in the `TokenProcessor` handling with the legacy
248 handling ([19806](https://github.com/civicrm/civicrm-core/pull/19806) and
249 [19863](https://github.com/civicrm/civicrm-core/pull/19863))**
251 Aligns new token processing with legacy token processing handling and moves
252 towards deprecating the Mailing_BAO classes in favor of flexmailer.
254 - **Upgrader - Display note about token formatting
255 ([19920](https://github.com/civicrm/civicrm-core/pull/19920))**
257 Improves communications about tokens that may generate different output after
258 token processing changes made in this release.
260 ### WordPress Integration
262 - **Cannot create a WordPress account from the Contact record
263 ([dev/wordpress#82](https://lab.civicrm.org/dev/wordpress/-/issues/82):
264 [18982](https://github.com/civicrm/civicrm-core/pull/18982))**
266 Adds support for creating WordPress accounts from the contact record.
268 - **Afform - Support embedding forms via WP shortcodes.
269 ([19687](https://github.com/civicrm/civicrm-core/pull/19687))**
271 Adds the ability to embed Afform forms using WordPress shortcodes.
273 - **Allow shortcodes to be rendered without invoking Civi page
274 ([244](https://github.com/civicrm/civicrm-wordpress/pull/244))**
276 Allows CiviCRM core and extensions to supply content for shortcodes without
277 rendering a page; they can simply implement civicrm_shortcode_get_markup and
280 ## <a name="bugs"></a>Bugs resolved
284 - **Unable to send individual email with attachment and 3+ recipients
285 ([dev/core#2588](https://lab.civicrm.org/dev/core/-/issues/2588): [20222](https://github.com/civicrm/civicrm-core/pull/20222), [20227](https://github.com/civicrm/civicrm-core/pull/20227))**
287 - **Search Kit terminology and help
288 ([dev/report#58](https://lab.civicrm.org/dev/report/-/issues/58):
289 [20033](https://github.com/civicrm/civicrm-core/pull/20033))**
291 Renames 'Filters' to 'Having' in the SearchKit UI which is clearer for users
292 familiar with SQL terms.
294 - **Address location type search errors when using a search profile
295 ([dev/report#59](https://lab.civicrm.org/dev/report/-/issues/59):
296 [19764](https://github.com/civicrm/civicrm-core/pull/19764))**
298 Fixes a "DB Error: no such field" when using Advanced Search with a profile
299 used as a search view.
301 - **civicrm_saved_search FK in civicrm_group should be ON DELETE CACSCADE
302 ([dev/core#1845](https://lab.civicrm.org/dev/core/-/issues/1845):
303 [19312](https://github.com/civicrm/civicrm-core/pull/19312))**
305 Change FK on civicrm_group to delete the associated group if a saved search is
308 - **Schema - Add readonly to all fields in RelationshipCache entity
309 ([19908](https://github.com/civicrm/civicrm-core/pull/19908))**
311 Ensures SearchKit understands that Relationship Cache fields are not editable.
313 - **Skip UFField.field_name on singleValueAlter as flakey
314 ([19895](https://github.com/civicrm/civicrm-core/pull/19895))**
316 Fixes a recurring test fail.
318 - **Return from getACLRoles when contactID is not null
319 ([19871](https://github.com/civicrm/civicrm-core/pull/19871))**
323 - **Add .clear class to break inline flow on social share footer
324 ([19829](https://github.com/civicrm/civicrm-core/pull/19829))**
326 Fixes the display of the social share footer for some sites with front end
329 - **Enable & do single field metadata conversion for defaultContactCountry
330 ([19697](https://github.com/civicrm/civicrm-core/pull/19697))**
332 Ensures the template for defaultContactCountry uses metadata for the field.
334 - **Activity contact is null challenge
335 ([dev/core#2438](https://lab.civicrm.org/dev/core/-/issues/2438):
336 [19825](https://github.com/civicrm/civicrm-core/pull/19825))**
338 Fixes the ability to do "Without" conditions in SearchKit when a bridge table
339 is used (e.g. EntityTag or RelationshipCache).
341 - **Northern Ireland / Wales counties are out of date
342 ([dev/core#2027](https://lab.civicrm.org/dev/core/-/issues/2027):
343 [19802](https://github.com/civicrm/civicrm-core/pull/19802))**
345 Fix state/province abbreviation for Carmarthenshire.
347 - **Add created_date column to the civicrm_note table
348 ([dev/core#2243](https://lab.civicrm.org/dev/core/-/issues/2243):
349 [19738](https://github.com/civicrm/civicrm-core/pull/19738))**
351 Adds a created date to notes.
353 - **SearchKit request - aggregate without group by
354 ([dev/core#2415](https://lab.civicrm.org/dev/core/-/issues/2415):
355 [19755](https://github.com/civicrm/civicrm-core/pull/19755))**
357 Adds API support for aggregate without group by.
359 - **Can't export link custom fields
360 ([dev/core#2466](https://lab.civicrm.org/dev/core/-/issues/2466):
361 [19839](https://github.com/civicrm/civicrm-core/pull/19839))**
363 Ensures users can export custom fields of the type link with a length above
366 - **Deprecated function Redis::delete()
367 ([dev/core#2468](https://lab.civicrm.org/dev/core/-/issues/2468):
368 [19830](https://github.com/civicrm/civicrm-core/pull/19830))**
370 Removes deprecated function.
372 - **(APIv3, APIv4) OptionValue.create and OptionValue.update: Setting the default
373 value (is_default=1) ignores domain ID
374 ([dev/core#2488](https://lab.civicrm.org/dev/core/-/issues/2488):
375 [19970](https://github.com/civicrm/civicrm-core/pull/19970))**
377 Ensures when setting the default optionValue thru the API (versions 3 and 4)
378 the query is limited to the specified domain.
380 - **Regression dedupe threshold
381 ([dev/core#2498](https://lab.civicrm.org/dev/core/-/issues/2498):
382 [20071](https://github.com/civicrm/civicrm-core/pull/20071))**
384 Ensures dedupe rule threshold validation works correctly.
386 - **SearchKit - Flush Angular cache when saving
387 ([20031](https://github.com/civicrm/civicrm-core/pull/20031))**
389 Fixes caching issue for search displays embedded in Afforms (as pages,
390 dashlets, tabs, blocks, etc).
392 - **APIv4 - Standardize generic entity name resolution
393 ([19889](https://github.com/civicrm/civicrm-core/pull/19889))**
395 APIv4 code cleanup to enable the addition of a Case API.
398 ([dev/core#2528](https://lab.civicrm.org/dev/core/-/issues/2528):
399 [20066](https://github.com/civicrm/civicrm-core/pull/20066))**
401 Fixes an `(errno: 121 "Duplicate key on write or update")` when upgrading from
404 - **Exporting in localized civicrm crashes due to long translations in columns
405 T_Boolean ([dev/core#2164](https://lab.civicrm.org/dev/core/-/issues/2164):
406 [19963](https://github.com/civicrm/civicrm-core/pull/19963))**
408 - **Scheduled Reminder fails to send if From Name includes comma
409 ([dev/core#2226](https://lab.civicrm.org/dev/core/-/issues/2226):
410 [19603](https://github.com/civicrm/civicrm-core/pull/19603))**
412 - **The civicrm_alterReportVar hook is not working for contribute detail report
413 ([dev/core#2285](https://lab.civicrm.org/dev/core/-/issues/2285):
414 [19317](https://github.com/civicrm/civicrm-core/pull/19317))**
416 - **Some API calls no longer give an error when e.g. a database error happens
417 ([dev/core#2364](https://lab.civicrm.org/dev/core/-/issues/2364):
418 [131](https://github.com/civicrm/civicrm-backdrop/pull/131))**
420 - **PHP 7.4 - get_magic_quotes_gpc() deprecated in IDS_Monitor
421 ([dev/core#2366](https://lab.civicrm.org/dev/core/-/issues/2366):
422 [315](https://github.com/civicrm/civicrm-packages/pull/315) and
423 [19851](https://github.com/civicrm/civicrm-core/pull/19851))**
425 - **Contact custom data date field not working in scheduled reminder
426 ([dev/core#2383](https://lab.civicrm.org/dev/core/-/issues/2383):
427 [19628](https://github.com/civicrm/civicrm-core/pull/19628))**
429 - **Add hook support for Activity Contact ([dev/core#2390](dev/core#2390):
430 [19828](https://github.com/civicrm/civicrm-core/pull/19828))**
432 - **Wrong event fee shown in CiviCRM
433 ([dev/core#2447](https://lab.civicrm.org/dev/core/-/issues/2447):
434 [19810](https://github.com/civicrm/civicrm-core/pull/19810))**
436 - **Changing a custom field from multiple choice to Text breaks the API
437 ([dev/core#2459](https://lab.civicrm.org/dev/core/-/issues/2459):
438 [19794](https://github.com/civicrm/civicrm-core/pull/19794))**
440 - **Boolean custom values can't be of type boolean
441 ([dev/core#2461](https://lab.civicrm.org/dev/core/-/issues/2461):
442 [19805](https://github.com/civicrm/civicrm-core/pull/19805))**
444 - **Feature to file emails on multiple case ids provided in the url not working
445 ([dev/core#2463](https://lab.civicrm.org/dev/core/-/issues/2463):
446 [19873](https://github.com/civicrm/civicrm-core/pull/19873) and
447 [19826](https://github.com/civicrm/civicrm-core/pull/19826))**
449 - **SearchBuilder: contact search for tags with child-tags broken when using '='
450 operator ([dev/core#2502](https://lab.civicrm.org/dev/core/-/issues/2502):
451 [19961](https://github.com/civicrm/civicrm-core/pull/19961))**
453 - **CiviReport does not localize custom fields of type Money
454 ([dev/core#2503](https://lab.civicrm.org/dev/core/-/issues/2503):
455 [19962](https://github.com/civicrm/civicrm-core/pull/19962))**
457 - **SearchKit - remove extra irrelevant fields from bridge joins
458 ([19868](https://github.com/civicrm/civicrm-core/pull/19868))**
460 - **SearchKit - Fix broken export action
461 ([20003](https://github.com/civicrm/civicrm-core/pull/20003))**
463 - **SearchKit - remove unused smartGroup code
464 ([19752](https://github.com/civicrm/civicrm-core/pull/19752))**
466 - **SearchKit - Refactor loading actions list & support custom fields for groups
467 ([19783](https://github.com/civicrm/civicrm-core/pull/19783))**
469 - **APIv4 Explorer - Prevent long results from breaking layout
470 ([19853](https://github.com/civicrm/civicrm-core/pull/19853))**
472 - **APIv4 - Code cleanup & improve links to @see annotations in Explorer
473 ([19798](https://github.com/civicrm/civicrm-core/pull/19798))**
475 - **APIv4 Explorer - Fix layout in code tab
476 ([19734](https://github.com/civicrm/civicrm-core/pull/19734))**
478 - **APIv4 - Prevent API adding default join conditions when it shouldn't
479 ([19993](https://github.com/civicrm/civicrm-core/pull/19993))**
481 - **Fix APIv4 test sloppiness
482 ([19754](https://github.com/civicrm/civicrm-core/pull/19754))**
484 - **APIv4 - Fix GetActions function to work with entityNames that don't match
485 className ([19896](https://github.com/civicrm/civicrm-core/pull/19896))**
487 - **APIv4 - Add function to get API class name
488 ([19867](https://github.com/civicrm/civicrm-core/pull/19867))**
490 - **Afform - Refresh assetBuilder when saving a form
491 ([19998](https://github.com/civicrm/civicrm-core/pull/19998))**
493 - **Afform - Fix endless spinner on "New Search Display" dropdown
494 ([19997](https://github.com/civicrm/civicrm-core/pull/19997))**
496 - **Fix issues with "Create User Record" process
497 ([20057](https://github.com/civicrm/civicrm-core/pull/20057))**
499 - **Fix entity-ref search by id & update search prompt
500 ([20050](https://github.com/civicrm/civicrm-core/pull/20050))**
502 - **Soft credit fails when membership is created using backend form
503 ([20025](https://github.com/civicrm/civicrm-core/pull/20025))**
505 - **Rename 'Misc' menu item machine name to a safe string
506 ([19996](https://github.com/civicrm/civicrm-core/pull/19996))**
508 - **replaceOrgTokens: Remove broken code
509 ([19543](https://github.com/civicrm/civicrm-core/pull/19543))**
511 - **E-notice fix on serialized setting
512 ([19969](https://github.com/civicrm/civicrm-core/pull/19969))**
514 - **Pledge - Fix re-calculation of payment dates
515 ([19990](https://github.com/civicrm/civicrm-core/pull/19990))**
517 - **Fix scrollbars on fullscreen dashboard dashlet
518 ([19981](https://github.com/civicrm/civicrm-core/pull/19981))**
520 - **Only call getGroupACLRoles if contactID is present
521 ([19894](https://github.com/civicrm/civicrm-core/pull/19894))**
523 - **Stop passing html to crmMoney
524 ([19941](https://github.com/civicrm/civicrm-core/pull/19941))**
526 - **Fix to avoid passing non-money to money::format
527 ([19940](https://github.com/civicrm/civicrm-core/pull/19940))**
529 - **Fix ts() namespace in searchKit & afform extensions
530 ([19729](https://github.com/civicrm/civicrm-core/pull/19729))**
532 - **Fix for dedupe error under some mysql configs
533 ([19818](https://github.com/civicrm/civicrm-core/pull/19818))**
535 - **Fix loop ([19858](https://github.com/civicrm/civicrm-core/pull/19858))**
537 - **Export UI - Only present "save mapping" button to permissioned users
538 ([19733](https://github.com/civicrm/civicrm-core/pull/19733))**
540 - **Update SocialNetwork.tpl Twitter Intent URL
541 ([19724](https://github.com/civicrm/civicrm-core/pull/19724))**
543 - **Prevent pages and metabox from loading until CiviCRM is installed
544 ([247](https://github.com/civicrm/civicrm-wordpress/pull/247))**
546 - **Fix access permissions for sub-pages and "Quick Add" dashlet
547 ([245](https://github.com/civicrm/civicrm-wordpress/pull/245))**
549 - **Non translatable fields in profile schema
550 ([dev/core#527](https://lab.civicrm.org/dev/core/-/issues/527):
551 [19937](https://github.com/civicrm/civicrm-core/pull/19937))**
553 - **Merge Contacts fails when custom Contact Reference field allows Multi-Select
554 ([dev/core#2561](https://lab.civicrm.org/dev/core/-/issues/2561):
555 [20142](https://github.com/civicrm/civicrm-core/pull/20142))**
557 - **Error: Undefined class constant 'MODE_CBC' in
558 `Civi\Crypto\PhpseclibCipherSuite->__construct()`
559 ([dev/core#2564](https://lab.civicrm.org/dev/core/-/issues/2564):
560 [20148](https://github.com/civicrm/civicrm-core/pull/20148))**
562 - **SearchKit - Pass-thru permission checks from SearchDisplay::run to API.get
563 ([20186](https://github.com/civicrm/civicrm-core/pull/20186))**
567 - **On New Campaign form, placeholder text for status is weird
568 ([dev/core#2411](https://lab.civicrm.org/dev/core/-/issues/2411):
569 [19768](https://github.com/civicrm/civicrm-core/pull/19768))**
571 - **Fix incorrect placeholder text on 'Create Campaign' form
572 ([19767](https://github.com/civicrm/civicrm-core/pull/19767))**
576 - **Civicase: Wrong Details in Change Custom Data Activity when filling an empty
577 field ([dev/core#2019](https://lab.civicrm.org/dev/core/-/issues/2019):
578 [19735](https://github.com/civicrm/civicrm-core/pull/19735) and
579 [19741](https://github.com/civicrm/civicrm-core/pull/19741))**
581 Changing a case custom field from blank to something doesn't show properly
584 - **Activity Type and Case Type not being combined correctly in Advanced Search
585 ([dev/report#53](https://lab.civicrm.org/dev/report/-/issues/53):
586 [20009](https://github.com/civicrm/civicrm-core/pull/20009))**
588 Allows SearchKit to search by and display cases with their activities.
590 - **Investigate replacing civicase views with something that is not views
591 ([dev/core#2385](https://lab.civicrm.org/dev/core/-/issues/2385) and
592 [dev/core#2262](https://lab.civicrm.org/dev/core/-/issues/2262):
593 [19642](https://github.com/civicrm/civicrm-core/pull/19642))**
597 - **Changing Payment Method on a Transaction causes fatal error
598 ([dev/core#2577](https://lab.civicrm.org/dev/core/-/issues/2577):
599 [20195](https://github.com/civicrm/civicrm-core/pull/20195))**
601 - **Access Control by Financial Type permissioning does not cover
602 contribution_recur (Work Towards
603 [dev/core#2454](https://lab.civicrm.org/dev/core/-/issues/2454):
604 [19788](https://github.com/civicrm/civicrm-core/pull/19788))**
606 Ensures Contribution Recur is properly permissioned.
608 - **Warnings when saving a contribution with recognition date filled in
609 ([dev/financial#172](https://lab.civicrm.org/dev/financial/-/issues/172):
610 [19948](https://github.com/civicrm/civicrm-core/pull/19948))**
612 Fixes warnings when saving a contribution with a recognition date.
614 - **Contribution page creates a wrong amount and probably payment processor use
616 ([dev/core#2449](https://lab.civicrm.org/dev/core/-/issues/2449):
617 [19807](https://github.com/civicrm/civicrm-core/pull/19807))**
619 Ensures amounts are saved correcly when localization settings are changed.
621 - **Activity contact is not updated when contribution contact is changed
622 ([dev/core#2450](https://lab.civicrm.org/dev/core/-/issues/2450):
623 [19820](https://github.com/civicrm/civicrm-core/pull/19820))**
625 Ensures source/target activity contacts are updated whenever a contribution is
628 - **Fix recurring contribution defaults
629 ([dev/core#2487](https://lab.civicrm.org/dev/core/-/issues/2487):
630 [19934](https://github.com/civicrm/civicrm-core/pull/19934))**
632 Updates defaults for the civicrm_contribution_recur table to bring the API
633 behaviour closer to the user interface behavior.
635 - **Simplify decision as to whether to use a PDF on emails
636 ([dev/financial#162](https://lab.civicrm.org/dev/financial/-/issues/162):
637 [19486](https://github.com/civicrm/civicrm-core/pull/19486))**
639 - **Minor buttonrama issue with Cancel button after exporting financial batch
640 ([dev/financial#170](https://lab.civicrm.org/dev/financial/-/issues/170):
641 [19787](https://github.com/civicrm/civicrm-core/pull/19787))**
643 - **False positive message about missing INTL PHP extension on membership type
644 form ([dev/financial#171](https://lab.civicrm.org/dev/financial/-/issues/171):
645 [19929](https://github.com/civicrm/civicrm-core/pull/19929),
646 [19958](https://github.com/civicrm/civicrm-core/pull/19958),
647 [19880](https://github.com/civicrm/civicrm-core/pull/19880),
648 [19876](https://github.com/civicrm/civicrm-core/pull/19876) and
649 [19938](https://github.com/civicrm/civicrm-core/pull/19938))**
651 - **PHP 7.4 - E_NOTICE every time you save a contribution
652 ([dev/core#2425](https://lab.civicrm.org/dev/core/-/issues/2425):
653 [19978](https://github.com/civicrm/civicrm-core/pull/19978))**
655 - **Payment balance should be cast to float, not int, when checking if a
656 contribution form should load
657 ([dev/core#2453](https://lab.civicrm.org/dev/core/-/issues/2453):
658 [19777](https://github.com/civicrm/civicrm-core/pull/19777))**
660 - **CiviCRM 5.35.1, truncation of money values where $1,000 donation is recorded
661 as $1 which appears to be truncating at the thousand separator when using the
662 Australian (AU) and US Locale
663 ([dev/core#2493](https://lab.civicrm.org/dev/core/-/issues/2493):
664 [20040](https://github.com/civicrm/civicrm-core/pull/20040))**
666 - **Fix re-calculation of payment dates on pledge
667 ([19976](https://github.com/civicrm/civicrm-core/pull/19976))**
669 - **Donot over-ride total amount incase contribution has more than one line item
670 ([19951](https://github.com/civicrm/civicrm-core/pull/19951))**
672 - **Only include completed contributions in the aggregate custom search
673 ([19936](https://github.com/civicrm/civicrm-core/pull/19936))**
675 - **Set the `Other Amount` input in a price set to not autocomplete
676 ([19923](https://github.com/civicrm/civicrm-core/pull/19923))**
678 - **Replace deprecated money_format() fn to support PHP 7.4
679 ([dev/translation#65](https://lab.civicrm.org/dev/translation/-/issues/65) and
680 [dev/core#1494](https://lab.civicrm.org/dev/core/-/issues/1494):
681 [19753](https://github.com/civicrm/civicrm-core/pull/19753))**
683 - **Remove text about email receipts for each recurring contribution.
684 ([dev/core#2384](https://lab.civicrm.org/dev/core/-/issues/2384):
685 [19624](https://github.com/civicrm/civicrm-core/pull/19624))**
689 - **Price option reaches max amount causes critical error.
690 ([dev/event#53](https://lab.civicrm.org/dev/event/-/issues/53):
691 [20073](https://github.com/civicrm/civicrm-core/pull/20073))**
693 Ensures that on registration forms sold out radio price options are frozen.
695 - **Cannot "Transfer or Cancel" event participant as admin user
696 ([dev/event#54](https://lab.civicrm.org/dev/event/-/issues/54):
697 [20223](https://github.com/civicrm/civicrm-core/pull/20223))**
701 - **Remove addressee, email_greeting_id, postal_greeting_id from exposed tokens
702 ([19782](https://github.com/civicrm/civicrm-core/pull/19782))**
704 Removes support for tokens that are likely to break and are redundant.
706 - **[regression] CiviMail crashing on send instead of throwing exception when
708 ([dev/mail#72](https://lab.civicrm.org/dev/mail/-/issues/72):
709 [18466](https://github.com/civicrm/civicrm-core/pull/18466))**
713 - **Backend Membership Renewal returns a fatal error when min fee is empty
714 ([dev/core#2583](https://lab.civicrm.org/dev/core/-/issues/2583):
715 [20212](https://github.com/civicrm/civicrm-core/pull/20212))**
717 - **Selecting of price sets not working anymore
718 ([dev/core#2434](https://lab.civicrm.org/dev/core/-/issues/2434):
719 [20158](https://github.com/civicrm/civicrm-core/pull/20158))**
721 The membership tab on the contribution page configuration form failed to
722 display the dropdown for choosing a price set. This problem was an unreleased
723 regression prior to 5.36.0 but this one form got missed when fixed.
725 - **Update to lifetime membership does not clear the end date
726 ([19716](https://github.com/civicrm/civicrm-core/pull/19716))**
728 Fix membership to clear end date if type is updated to lifetime.
730 - **When editing a membership with no existing payments, checking the box to
731 record payments results in a total amount of NaN.N
732 ([dev/core#2560](https://lab.civicrm.org/dev/core/-/issues/2560):
733 [20127](https://github.com/civicrm/civicrm-core/pull/20127))**
735 ### Drupal Integration
737 - **Rebuild the Drupal route cache.
738 ([19906](https://github.com/civicrm/civicrm-core/pull/19906))**
740 Ensures enabling a CiviCRM extension that adds a route on Drupal 8 or 9 does
743 - **Drupal 8 hook_uninstall not implemented
744 ([dev/drupal#141](https://lab.civicrm.org/dev/drupal/-/issues/141):
745 [61](https://github.com/civicrm/civicrm-drupal-8/pull/61))**
747 - **Fix Drupal Base 'isFrontEndPage' Returns Wrong Value After Saving A Settings
748 Page ([dev/core#2464](https://lab.civicrm.org/dev/core/-/issues/2464):
749 [19823](https://github.com/civicrm/civicrm-core/pull/19823))**
751 - **Fix batch transaction export on D8/9
752 ([19761](https://github.com/civicrm/civicrm-core/pull/19761))**
754 ### WordPress Integration
756 - **WordPress: avoid PHP notice if the anonymous user does not have any
757 capabilities ([19732](https://github.com/civicrm/civicrm-core/pull/19732))**
759 ## <a name="misc"></a>Miscellany
761 - **Remove recaptcha library as now part of core extension
762 ([317](https://github.com/civicrm/civicrm-packages/pull/317))**
764 - **Migrate current recaptcha library into extension and fix a couple of ts
765 calls ([20011](https://github.com/civicrm/civicrm-core/pull/20011))**
767 - **Add recaptcha to distmaker
768 ([19999](https://github.com/civicrm/civicrm-core/pull/19999))**
770 - **Use standard function to add reCAPTCHA to PCPAccount form
771 ([20019](https://github.com/civicrm/civicrm-core/pull/20019))**
773 - **Make testExpiredPriceSet more realistic
774 ([19474](https://github.com/civicrm/civicrm-core/pull/19474))**
776 - **Remove safe+mode setting
777 ([19833](https://github.com/civicrm/civicrm-core/pull/19833))**
779 - **Fold back in getGroupACLs
780 ([19882](https://github.com/civicrm/civicrm-core/pull/19882))**
782 - **Remove getACLRoles
783 ([19879](https://github.com/civicrm/civicrm-core/pull/19879))**
785 - **Move setting of _includesSoftCredits out of getQuery
786 ([19860](https://github.com/civicrm/civicrm-core/pull/19860))**
788 - **Upgrade angularJs from 1.8.0 to 1.8.2
789 ([19831](https://github.com/civicrm/civicrm-core/pull/19831))**
791 - **Bump phpseclib/phpseclib from 2.0.29 to 2.0.31
792 ([19994](https://github.com/civicrm/civicrm-core/pull/19994))**
794 - **Bump y18n from 4.0.0 to 4.0.1
795 ([19944](https://github.com/civicrm/civicrm-core/pull/19944))**
797 - **Code cleanup in bootstrap.php
798 ([19834](https://github.com/civicrm/civicrm-core/pull/19834))**
800 - **Updates to ExportTest
801 ([19884](https://github.com/civicrm/civicrm-core/pull/19884))**
803 - **Update Unit tests to work with phpunit8
804 ([130](https://github.com/civicrm/civicrm-backdrop/pull/130))**
806 - **Update Unit tests to work with PHPUnit8
807 ([643](https://github.com/civicrm/civicrm-drupal/pull/643))**
809 - **Add :void return type to tearDown on a bunch of unit tests
810 ([19897](https://github.com/civicrm/civicrm-core/pull/19897))**
812 - **Tighten mysql mode in test environment
813 ([19817](https://github.com/civicrm/civicrm-core/pull/19817))**
815 - **Add further test for token custom fields
816 ([19790](https://github.com/civicrm/civicrm-core/pull/19790))**
818 - **Remove deprecated code
819 ([19919](https://github.com/civicrm/civicrm-core/pull/19919))**
821 - **Remove unused private function
822 ([19950](https://github.com/civicrm/civicrm-core/pull/19950))**
824 - **Remove empty setUp() functions
825 ([19971](https://github.com/civicrm/civicrm-core/pull/19971))**
827 - **Remove unused variables/assigns from buildMembershipBlock function
828 ([19775](https://github.com/civicrm/civicrm-core/pull/19775))**
830 - **Remove an unnecessary ampersand
831 ([19821](https://github.com/civicrm/civicrm-core/pull/19821))**
833 - **Remove now-empty function
834 ([19824](https://github.com/civicrm/civicrm-core/pull/19824))**
836 - **Remove legacy phpunit param
837 ([19836](https://github.com/civicrm/civicrm-core/pull/19836))**
839 - **[REF] Fix APIv3 MembershipJob test failure on PHP 7.4 by only doing ch…
840 ([19844](https://github.com/civicrm/civicrm-core/pull/19844))**
842 - **[REF] Extract getQueryParams
843 ([19857](https://github.com/civicrm/civicrm-core/pull/19857))**
845 - **[REF] Clarify & simplify is_recur param
846 ([19812](https://github.com/civicrm/civicrm-core/pull/19812))**
848 - **[REF] Minor function extraction
849 ([19835](https://github.com/civicrm/civicrm-core/pull/19835))**
851 - **[REF] Simplify a couple of variables
852 ([19861](https://github.com/civicrm/civicrm-core/pull/19861))**
854 - **[REF] Simplify BAO_ACL table references
855 ([19869](https://github.com/civicrm/civicrm-core/pull/19869))**
857 - **[REF] Stdise campaign_id handling
858 ([19877](https://github.com/civicrm/civicrm-core/pull/19877))**
860 - **[REF] Minor simplification around assigning taxAmount to the template
861 ([19757](https://github.com/civicrm/civicrm-core/pull/19757))**
863 - **[REF] Remove setting of unused variables
864 ([19800](https://github.com/civicrm/civicrm-core/pull/19800))**
866 - **[REF] Fold getACLs back into the calling function
867 ([19872](https://github.com/civicrm/civicrm-core/pull/19872))**
869 - **[REF] Simplify code calculating the number of membership terms
870 ([19801](https://github.com/civicrm/civicrm-core/pull/19801))**
872 - **[REF] Remove redundant toArray() function
873 ([19885](https://github.com/civicrm/civicrm-core/pull/19885))**
875 - **[REF] Store the getSearchQueryResults so it can be re-accessed
876 ([19881](https://github.com/civicrm/civicrm-core/pull/19881))**
878 - **[REF] Minor extraction to help cleanup permission code
879 ([19803](https://github.com/civicrm/civicrm-core/pull/19803))**
881 - **[REF] Minor parameter cleanup
882 ([19799](https://github.com/civicrm/civicrm-core/pull/19799))**
884 - **[REF] Extract code to get generic membership parameters
885 ([19784](https://github.com/civicrm/civicrm-core/pull/19784))**
887 - **[REF] Cleanup on permission code
888 ([19796](https://github.com/civicrm/civicrm-core/pull/19796))**
890 - **[REF] Extract getPaymentInstrumentID
891 ([19793](https://github.com/civicrm/civicrm-core/pull/19793))**
893 - **[Ref] Remove copy and paste overkill
894 ([19786](https://github.com/civicrm/civicrm-core/pull/19786))**
896 - **[REF] getCorePermissions cleanup
897 ([19789](https://github.com/civicrm/civicrm-core/pull/19789))**
899 - **[REF] Very minor simplification
900 ([19785](https://github.com/civicrm/civicrm-core/pull/19785))**
902 - **[REF] Fix ContributionPage::recurringNotify to use APIv4, simplify params
903 ([19639](https://github.com/civicrm/civicrm-core/pull/19639))**
905 - **[REF] Cleanup code to determine financial_type_id
906 ([19756](https://github.com/civicrm/civicrm-core/pull/19756))**
908 - **[REF] [Towards membership API] Cleanup access to payment_processor_id
909 ([19910](https://github.com/civicrm/civicrm-core/pull/19910))**
911 - **[REF] Remove now redundant code to set line item financial type
912 ([19745](https://github.com/civicrm/civicrm-core/pull/19745))**
914 - **[REF] [Towards membership API] Duplicate emailReceipt function rather than
915 silly sharing ([19912](https://github.com/civicrm/civicrm-core/pull/19912))**
917 - **[REF] [Towards membership API] Simplify message functions
918 ([19915](https://github.com/civicrm/civicrm-core/pull/19915))**
920 - **[REF] Extract portion of GroupContact load that builds the temporary table
921 ([19945](https://github.com/civicrm/civicrm-core/pull/19945))**
923 - **[REF] remove unused code in recordFinancialAccounts
924 ([19769](https://github.com/civicrm/civicrm-core/pull/19769))**
926 - **[REF] Clean up code around is_email_receipt
927 ([19746](https://github.com/civicrm/civicrm-core/pull/19746))**
929 - **[REF] Move function from static class to OO class
930 ([19955](https://github.com/civicrm/civicrm-core/pull/19955))**
932 - **[REF] Extract getMembershipTypeValues
933 ([19924](https://github.com/civicrm/civicrm-core/pull/19924))**
935 - **(REF) CRM_Upgrade_Form - Remove unused method getRevisionPart()
936 ([19742](https://github.com/civicrm/civicrm-core/pull/19742))**
938 - **[REF] [SearchKit Actions] Cleanup around contribution PDF common
939 ([19904](https://github.com/civicrm/civicrm-core/pull/19904))**
941 - **[REF] Minor cleanup - remove unused variables
942 ([19980](https://github.com/civicrm/civicrm-core/pull/19980))**
944 - **REF Ensure that getAmount includes 0s in decimal places up to 2 places
945 ([20074](https://github.com/civicrm/civicrm-core/pull/20074))**
947 - **[REF] Minor cleanup - strictness & formatting
948 ([19949](https://github.com/civicrm/civicrm-core/pull/19949))**
950 - **[REF] [Towards membership API] more consistent handling on amount
951 ([19911](https://github.com/civicrm/civicrm-core/pull/19911))**
953 - **[REF] [Towards membership API] Simplify calculation of recurring membership
954 parameters ([19893](https://github.com/civicrm/civicrm-core/pull/19893))**
956 - **[REF] Simplify setting of softcredit form options (minor)
957 ([19891](https://github.com/civicrm/civicrm-core/pull/19891))**
959 - **[NFC] Minor coding standards cleanup
960 ([19838](https://github.com/civicrm/civicrm-core/pull/19838))**
962 - **[NFC] Add in "void" statements on various Core Ext Tests to future support PHP…
963 ([19832](https://github.com/civicrm/civicrm-core/pull/19832))**
965 - **[NFC] Minor test cleanup
966 ([19852](https://github.com/civicrm/civicrm-core/pull/19852))**
968 - **[NFC] Cleanup in test class
969 ([19866](https://github.com/civicrm/civicrm-core/pull/19866))**
971 - **[NFC] Fix logging schema test to work on MySQL8 as it no longer outpu…
972 ([19850](https://github.com/civicrm/civicrm-core/pull/19850))**
974 - **[NFC] Fix test failures on PHP 7.4 caused by either NULL being set fo…
975 ([19849](https://github.com/civicrm/civicrm-core/pull/19849))**
977 - **[NFC] Fix test failures on MySQL 8 caused by change in output of eith…
978 ([19847](https://github.com/civicrm/civicrm-core/pull/19847))**
980 - **[NFC] Fix PHP 7.4 errors on ContributionPage tests
981 ([19846](https://github.com/civicrm/civicrm-core/pull/19846))**
983 - **[NFC] Fix Membership Type Test error on PHP 7.4
984 ([19845](https://github.com/civicrm/civicrm-core/pull/19845))**
986 - **[NFC] Minor IDE cleanup in test class
987 ([19816](https://github.com/civicrm/civicrm-core/pull/19816))**
989 - **[NFC] IDE cleanup on test class
990 ([19813](https://github.com/civicrm/civicrm-core/pull/19813))**
992 - **NFC cleanup in test class
993 ([19953](https://github.com/civicrm/civicrm-core/pull/19953))**
995 - **[NFC] Update unit tests to be compatible with PHPUnit8
996 ([246](https://github.com/civicrm/civicrm-wordpress/pull/246))**
998 - **(NFC) Add FUNDING.yml to display a SPONSOR link that directs to c.o
999 ([19946](https://github.com/civicrm/civicrm-core/pull/19946))**
1001 - **[NFC] Minor cleanup on test class
1002 ([19864](https://github.com/civicrm/civicrm-core/pull/19864))**
1004 - **[REF] Fix installation of the search display table on MySQL 5.36 in tests
1005 ([20094](https://github.com/civicrm/civicrm-core/pull/20094))**
1007 ## <a name="credits"></a>Credits
1009 This release was developed by the following code authors:
1011 AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman; Alexy
1012 Mikhailichenko; Calibrate - Wouter Hechtermans; Christian Wach; Circle
1013 Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts,
1014 Tim Otten; CompuCorp - Ahed Eid; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove;
1015 Dave D; Francesc Bassas i Bullich; Fuzion - Jitendra Purohit; Greenpeace CEE -
1016 mflandorfer; JMA Consulting - Monish Deb, Seamus Lee; Lighthouse Consulting and
1017 Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg;
1018 MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Oxfam
1019 Germany - Thomas Schüttler; Progressive Technology Project - Jamie McClelland;
1020 Romain Thouvenin; SYSTOPIA Organisationsberatung - Björn Endres; Third Sector
1021 Design - Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; Web
1022 Access - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton
1024 Most authors also reviewed code for this release; in addition, the following
1025 reviewers contributed their comments:
1027 Artful Robot - Rich Lott; BrightMinded Ltd - Bradley Taylor; CiviCoop - Erik
1028 Hommel; CiviDesk - Nicolas Ganivet; Context Institute - Robert Gilman; Dave T;
1029 Freeform Solutions - Herb van den Dool; Joinery - Allen Shaw; Megaphone
1030 Technology Consulting - Dennis P. Osorio; Richard van Oosterhout; Semper IT -
1031 Karin Gerritsen; Skvare - Sunil Pawar; Tadpole Collective - Kevin Cristiano
1033 ## <a name="feedback"></a>Feedback
1035 These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
1036 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
1037 and contact `@agh1`.