# CiviCRM 5.39.0
Released July 7, 2021
- **[Synopsis](#synopsis)**
- **[Features](#features)**
- **[Bugs resolved](#bugs)**
- **[Miscellany](#misc)**
- **[Credits](#credits)**
- **[Feedback](#feedback)**
## Synopsis
| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
| Fix security vulnerabilities? | |
| Change the database schema? | |
| Alter the API? | |
| Require attention to configuration options? | |
| Fix problems installing or upgrading to a previous version? | |
| Introduce features? | |
| Fix bugs? | |
## Features
### Core CiviCRM
- **crm- Missing Summary ([20419](https://github.com/civicrm/civicrm-core/pull/20419))**
## Bugs resolved
### Core CiviCRM
- **APIv4 - Make LineItem, EntityFinancialTrxn and FinancialTrxn read-only ([20609](https://github.com/civicrm/civicrm-core/pull/20609))**
- **Fix unreleased api change to more logical variant ([20611](https://github.com/civicrm/civicrm-core/pull/20611))**
- **dev/core#2649 - Make 5.39 upgrade more robust ([20580](https://github.com/civicrm/civicrm-core/pull/20580))**
- **Update civicrm_generated (5.39 version) ([20571](https://github.com/civicrm/civicrm-core/pull/20571))**
- **[NFC] Fix phpunit9 deprecation issues on using assertType instead of … ([20567](https://github.com/civicrm/civicrm-core/pull/20567))**
- **Fix Financial item test to validate Financials ([20532](https://github.com/civicrm/civicrm-core/pull/20532))**
- **Mark DetailTest as having invalid financials ([20552](https://github.com/civicrm/civicrm-core/pull/20552))**
- **Introduce civi.api4.authorizeRecord and civi.api4.validate ([20533](https://github.com/civicrm/civicrm-core/pull/20533))**
- **dev/core#2646 juice up the error a little ([20564](https://github.com/civicrm/civicrm-core/pull/20564))**
- **Fix for dev/membership#37 ([20493](https://github.com/civicrm/civicrm-core/pull/20493))**
- **REF - Cleanup array key checking to use array_key_exists ([20563](https://github.com/civicrm/civicrm-core/pull/20563))**
- **[REF] CRM_Contact_Task - Use short array syntax ([20562](https://github.com/civicrm/civicrm-core/pull/20562))**
- **dev/core#2479 Adjust generic copy for localizable fields ([20059](https://github.com/civicrm/civicrm-core/pull/20059))**
- **APIv4 - Make the @searchable flag explicit for OptionList type entities. ([20560](https://github.com/civicrm/civicrm-core/pull/20560))**
- **[php8-compat] Partial Fix of hook tests for php8 ([20545](https://github.com/civicrm/civicrm-core/pull/20545))**
- **Fix the populateTempTable to be more direct ([20548](https://github.com/civicrm/civicrm-core/pull/20548))**
- **[php8-compact] Add in guards into various templates to fix hook tests… ([20542](https://github.com/civicrm/civicrm-core/pull/20542))**
- **[php8-compact] Fix Report tests failing on php8 ([20549](https://github.com/civicrm/civicrm-core/pull/20549))**
- **[php8-compat] Upgrade TCPDF version to support php8 ([20540](https://github.com/civicrm/civicrm-core/pull/20540))**
- **SearchKit - allow searches based on relationships ([20558](https://github.com/civicrm/civicrm-core/pull/20558))**
- **dev/core#2486 - Add WordReplacement APIv4 entity ([20559](https://github.com/civicrm/civicrm-core/pull/20559))**
- **(REF) dev/core#1744 - Simplify Afform event naming ([20555](https://github.com/civicrm/civicrm-core/pull/20555))**
- **Fix v3 api payment test to validate on postAssert ([20530](https://github.com/civicrm/civicrm-core/pull/20530))**
- **Sort trigger data before processing ([20541](https://github.com/civicrm/civicrm-core/pull/20541))**
- **[php8-compat] Fix Include/Exclude Group Custom Search Tests by better… ([20539](https://github.com/civicrm/civicrm-core/pull/20539))**
- **SearchKit - Fix link target selection ([20537](https://github.com/civicrm/civicrm-core/pull/20537))**
- **[php8-compat] Fix Resources Test issue due to undefined array key add… ([20538](https://github.com/civicrm/civicrm-core/pull/20538))**
- **Switch table mapping to square bracket array syntax. ([20535](https://github.com/civicrm/civicrm-core/pull/20535))**
- **Dedupe DAO is out of date ([20534](https://github.com/civicrm/civicrm-core/pull/20534))**
- **[php8-compat][REF] Fix Date unit tests in php8 by passing in 00 inste… ([20525](https://github.com/civicrm/civicrm-core/pull/20525))**
- **dev/report#67 Fix standalone export classes ([20528](https://github.com/civicrm/civicrm-core/pull/20528))**
- **[php8-compact][REF] Fix another couple of places where by there are r… ([20526](https://github.com/civicrm/civicrm-core/pull/20526))**
- **[php8-compact][REF] Fix api_v3_PaymentTokenTest to work on php8 ([20527](https://github.com/civicrm/civicrm-core/pull/20527))**
- **[php8-compat][REF] Fix Case and Custom data tests by adding guards in… ([20524](https://github.com/civicrm/civicrm-core/pull/20524))**
- **Fix for tax rates being mangled on contribution update ([20357](https://github.com/civicrm/civicrm-core/pull/20357))**
- **Use line items to look up memberships ([20495](https://github.com/civicrm/civicrm-core/pull/20495))**
- **Test fix up for AdditionalPaymentTest ([20521](https://github.com/civicrm/civicrm-core/pull/20521))**
- **SearchKit - Add API filter for contacts in groups and smart groups ([20507](https://github.com/civicrm/civicrm-core/pull/20507))**
- **[php8-compat] Fix api_v3_PaymentTest failures by putting in more guar… ([20520](https://github.com/civicrm/civicrm-core/pull/20520))**
- **dev/core#2486 - Use read-only permissions for FinancialItem API ([20499](https://github.com/civicrm/civicrm-core/pull/20499))**
- **dev/core#1549 - Malleate civicrm_generated so that long lines are split ([20513](https://github.com/civicrm/civicrm-core/pull/20513))**
- **[php8-compat][REF] Fix some more test failures in php8 ([20516](https://github.com/civicrm/civicrm-core/pull/20516))**
- **[php8-compat][REF] Fix api_v3_contributionpagetest on php8 ([20518](https://github.com/civicrm/civicrm-core/pull/20518))**
- **[php8-compat][REF] Fix more php8 test failures caused by template issues ([20517](https://github.com/civicrm/civicrm-core/pull/20517))**
- **[php8-compat] Update smarty templates and some php files to get the a… ([20512](https://github.com/civicrm/civicrm-core/pull/20512))**
- **[php8-compat] Fix some more examples of where required parameters are… ([20515](https://github.com/civicrm/civicrm-core/pull/20515))**
- **Allow legacy warnings to be fully suppressed in PropertyBag ([20331](https://github.com/civicrm/civicrm-core/pull/20331))**
- **[php8-compat] Fix php beautifier notice by conditionally assinging dy… ([20509](https://github.com/civicrm/civicrm-core/pull/20509))**
- **[php8-compat] Fix issue in APIv3 Where by because product has a colum… ([20508](https://github.com/civicrm/civicrm-core/pull/20508))**
- **[php8-compat] Fix issue with returning bool from uasort by using the … ([20502](https://github.com/civicrm/civicrm-core/pull/20502))**
- **[php8-compat][NFC] Fix using ZipArchive::open on an empty file ([20500](https://github.com/civicrm/civicrm-core/pull/20500))**
- **ACLEntityRole BAO tidy fixes ([20504](https://github.com/civicrm/civicrm-core/pull/20504))**
- **[php8-compat] fix Upgrade call back issues by making functions static… ([20503](https://github.com/civicrm/civicrm-core/pull/20503))**
- **[REF] Fix Authx tests on Druapl 8/9 by ensuring that we only return a… ([20498](https://github.com/civicrm/civicrm-core/pull/20498))**
- **APIv4 - Delete undocumented deprecated activityType lookup ([20506](https://github.com/civicrm/civicrm-core/pull/20506))**
- **Add APIv4 Batch.create spec ([20501](https://github.com/civicrm/civicrm-core/pull/20501))**
- **[php8-compat][NFC] Fix issue where by we are tryiing to access array keys … ([20496](https://github.com/civicrm/civicrm-core/pull/20496))**
- **[REF][php8-compat] Fix more instances of where there is a required pa… ([20497](https://github.com/civicrm/civicrm-core/pull/20497))**
- **Clarify types on `hook_custom` and `hook_customPre` ([20488](https://github.com/civicrm/civicrm-core/pull/20488))**
- **dev/core#2636 - Authx - Undefined function in drupal 9 ([20479](https://github.com/civicrm/civicrm-core/pull/20479))**
- **Prevent adding duplicate dashlet if present with same name and label ([20375](https://github.com/civicrm/civicrm-core/pull/20375))**
- **APIv4 Entity.get refactor to be more efficient ([20470](https://github.com/civicrm/civicrm-core/pull/20470))**
- **Cleanup references to old dedupe class names ([20492](https://github.com/civicrm/civicrm-core/pull/20492))**
- **dev/core#2486 Add ACLEntityRole APIv4 Entity ([20474](https://github.com/civicrm/civicrm-core/pull/20474))**
- **Add DedupeRule, DedupeRuleGroup and DedupeException API4 entity ([20466](https://github.com/civicrm/civicrm-core/pull/20466))**
- **[php8-compat] Fix undefined property on Array Cache class in wordpres… ([20491](https://github.com/civicrm/civicrm-core/pull/20491))**
- **[REF][php8-compat] Further fixes where there is a required paramater … ([20490](https://github.com/civicrm/civicrm-core/pull/20490))**
- **dev/translation#67 - Define "Translation" table. Add during installation/upgrade. ([20478](https://github.com/civicrm/civicrm-core/pull/20478))**
- **APIv4 - Cleanup getFields, add @internal flag for non-public field attributes ([20489](https://github.com/civicrm/civicrm-core/pull/20489))**
- **Remove some unused variables ([20487](https://github.com/civicrm/civicrm-core/pull/20487))**
- **[php8-compat][REF] Fix php8 error on undefined constant CIVICRM_DISAB… ([20485](https://github.com/civicrm/civicrm-core/pull/20485))**
- **5.38 ([20486](https://github.com/civicrm/civicrm-core/pull/20486))**
- **[php8-compat][NFC] Ensure that the 2nd parameter of hash_equals is a … ([20483](https://github.com/civicrm/civicrm-core/pull/20483))**
- **Afform - Fix custom field handling and add tests ([20480](https://github.com/civicrm/civicrm-core/pull/20480))**
- **Extract code that populates temp table for an individual group ([20458](https://github.com/civicrm/civicrm-core/pull/20458))**
- **APIv4 - Fix getFields to respect default_value from getFields ([20481](https://github.com/civicrm/civicrm-core/pull/20481))**
- **Remove pass-by-ref as param not altered ([20475](https://github.com/civicrm/civicrm-core/pull/20475))**
- **[php8-compat][phpunit8][NFC] Fix PHPUnit Warnings and fix a php error on f… ([20477](https://github.com/civicrm/civicrm-core/pull/20477))**
- **[php8-compat] Fix deprecation error where by required function parame… ([20473](https://github.com/civicrm/civicrm-core/pull/20473))**
- **5.38 ([20469](https://github.com/civicrm/civicrm-core/pull/20469))**
- **Bump DOMPDF to `~1.0.0` ([20465](https://github.com/civicrm/civicrm-core/pull/20465))**
- **SearchKit - Update `hook_civicrm_searchKitTasks` signature ([20467](https://github.com/civicrm/civicrm-core/pull/20467))**
- **[Ref] [tests only] replace direct calls to enable logging with calls to the setting ([20460](https://github.com/civicrm/civicrm-core/pull/20460))**
- ** [Ref] Remove function parameter only used from test ([20459](https://github.com/civicrm/civicrm-core/pull/20459))**
- **APIv4 - Return id_field as part of Entity.get ([20457](https://github.com/civicrm/civicrm-core/pull/20457))**
- **dev/core#2486 Add pseudoconstant callback for LineItem and Financial item entity ([20464](https://github.com/civicrm/civicrm-core/pull/20464))**
- **Don't pass doPayment by reference in Contribution.transact API ([20463](https://github.com/civicrm/civicrm-core/pull/20463))**
- **dev/core#2486 Add in FinancialItem APIv4 Entity ([20433](https://github.com/civicrm/civicrm-core/pull/20433))**
- **[Ref] remove never-passed param ([20456](https://github.com/civicrm/civicrm-core/pull/20456))**
- **Make functions protected ([20455](https://github.com/civicrm/civicrm-core/pull/20455))**
- **Mark test class as having invalid financials ([20448](https://github.com/civicrm/civicrm-core/pull/20448))**
- **SearchKit - Organize ON clause field selectors with joined entity first ([20454](https://github.com/civicrm/civicrm-core/pull/20454))**
- **BAOs, Tests, etal - Support `HookInterface` and `EventSubscriberInterface` for auto-registration ([20427](https://github.com/civicrm/civicrm-core/pull/20427))**
- **AfformGui - Fix tabs when cms theme adds extra margin ([20431](https://github.com/civicrm/civicrm-core/pull/20431))**
- **[REF] APIv4 refactoring to support calculated fields ([20440](https://github.com/civicrm/civicrm-core/pull/20440))**
- **SearchKit - Add static groups and organize main entity selector ([20434](https://github.com/civicrm/civicrm-core/pull/20434))**
- **dev/core#2369 - Change missing image fatal error to 404 ([20447](https://github.com/civicrm/civicrm-core/pull/20447))**
- **[REF] Set receipt_date after sending, (from batch) not in anticipation ([20395](https://github.com/civicrm/civicrm-core/pull/20395))**
- **dev/core#2593 Fix failure to complete contributions when membership deleted ([20424](https://github.com/civicrm/civicrm-core/pull/20424))**
- **[php8-compat] Upgrade PHPWord Package to support php8 ([20449](https://github.com/civicrm/civicrm-core/pull/20449))**
- **[NFC] Superficial code cleanup ([20446](https://github.com/civicrm/civicrm-core/pull/20446))**
- **financial#173: Show 'Pay Now' on user dashboard for partially paid contributions ([20376](https://github.com/civicrm/civicrm-core/pull/20376))**
- **[php8-compat] [REF] Fix a couple of functions triggering deprecation notices in php… ([20442](https://github.com/civicrm/civicrm-core/pull/20442))**
- **[php8-compat] Fix Warning Notices when running schema generation ([20445](https://github.com/civicrm/civicrm-core/pull/20445))**
- **[php8-compat] Update Various Symfony components to latest version in … ([20444](https://github.com/civicrm/civicrm-core/pull/20444))**
- **OAuth: initial support for per-contact OAuth tokens ([20189](https://github.com/civicrm/civicrm-core/pull/20189))**
- **Fix profile test teardown ([20439](https://github.com/civicrm/civicrm-core/pull/20439))**
- **[php8-compat] Fix calling method_exist with paremeter that is bool not an object in… ([20443](https://github.com/civicrm/civicrm-core/pull/20443))**
- **[php8-compat] [REF] Fix call to function CRM_Utils_String::createRandom by ensuring that … ([20441](https://github.com/civicrm/civicrm-core/pull/20441))**
- **[REF] Extract code to transfer groups from temp table to cache ([20435](https://github.com/civicrm/civicrm-core/pull/20435))**
- **Fix separate payment membership test to create valid financial transa… ([20436](https://github.com/civicrm/civicrm-core/pull/20436))**
- **Ensure contacts without a name are updated when primary email changes ([20403](https://github.com/civicrm/civicrm-core/pull/20403))**
- **Afform GUI - Fix tab breakage in Shoreditch theme ([20416](https://github.com/civicrm/civicrm-core/pull/20416))**
- **Fix internal group contact cache functions to be protected ([20385](https://github.com/civicrm/civicrm-core/pull/20385))**
- **[REF] minor extraction - getInfoUrl ([20421](https://github.com/civicrm/civicrm-core/pull/20421))**
- **5.38 ([20430](https://github.com/civicrm/civicrm-core/pull/20430))**
- **[REF] Fix issue where by mailing urls were always stuck in the origin… ([20102](https://github.com/civicrm/civicrm-core/pull/20102))**
- **dev/mailing#95 Only track urls in Flexmailer for HTML emails ([20129](https://github.com/civicrm/civicrm-core/pull/20129))**
- **Test - fix contributionTest to validate contributions ([20415](https://github.com/civicrm/civicrm-core/pull/20415))**
- **dev/core#2593 Fully remove loadRelatedObjects from PaypalExpress ([20422](https://github.com/civicrm/civicrm-core/pull/20422))**
- **Test fixes ([20426](https://github.com/civicrm/civicrm-core/pull/20426))**
- **[REF] Paypal pro - remove call to load contact record ([20423](https://github.com/civicrm/civicrm-core/pull/20423))**
- **[REF] Stop passing unneed params to the recur function ([20412](https://github.com/civicrm/civicrm-core/pull/20412))**
- **Remove unused functions from payJunction ([20417](https://github.com/civicrm/civicrm-core/pull/20417))**
- **Remove unused variable on dummy processor ([20418](https://github.com/civicrm/civicrm-core/pull/20418))**
- **Add defaults for APIv4 Case create ([20306](https://github.com/civicrm/civicrm-core/pull/20306))**
- **Revised fix for menu/UI issues for Joomla 4.0 ([20401](https://github.com/civicrm/civicrm-core/pull/20401))**
- **Describe logic behind placement of `invalidateRouteCache` ([20414](https://github.com/civicrm/civicrm-core/pull/20414))**
- **[REF] replace isFirst parameter ([20411](https://github.com/civicrm/civicrm-core/pull/20411))**
- **[REF] Remove now-unused params ([20410](https://github.com/civicrm/civicrm-core/pull/20410))**
- **[REF] Paypal ipn - cleanup references to completion ([20407](https://github.com/civicrm/civicrm-core/pull/20407))**
- **[NFC] Cleanup in test class ([20402](https://github.com/civicrm/civicrm-core/pull/20402))**
- **[REF] Replace deprecated code call ([20409](https://github.com/civicrm/civicrm-core/pull/20409))**
- **Remove remains of md5 check from authorizenet ([20406](https://github.com/civicrm/civicrm-core/pull/20406))**
- **Update eventcart test to only test payment form ([20405](https://github.com/civicrm/civicrm-core/pull/20405))**
- **Fix contribution page pledge tests to create valid contributions ([20404](https://github.com/civicrm/civicrm-core/pull/20404))**
- **[REF] Cleanup validation in PaypalProIPN single function ([20360](https://github.com/civicrm/civicrm-core/pull/20360))**
- **[REF] Minor simplification ([20393](https://github.com/civicrm/civicrm-core/pull/20393))**
- **Tax fixes in unit test ([20390](https://github.com/civicrm/civicrm-core/pull/20390))**
- **fix arguments sent to hook_civicrm_check ([20400](https://github.com/civicrm/civicrm-core/pull/20400))**
- **Afform - Improve Gui, prefill & submit APIs ([20383](https://github.com/civicrm/civicrm-core/pull/20383))**
- **Add call to validateAllContributions & fix getTotalAmount ([20391](https://github.com/civicrm/civicrm-core/pull/20391))**
- **Remove legacy references to partial_amount_to_pay ([20358](https://github.com/civicrm/civicrm-core/pull/20358))**
- **[NFC] {test} code cleanup in test class ([20389](https://github.com/civicrm/civicrm-core/pull/20389))**
- **[NFC] Minor cleanup ([20387](https://github.com/civicrm/civicrm-core/pull/20387))**
- **[NFC] Minor code cleanup ([20386](https://github.com/civicrm/civicrm-core/pull/20386))**
- **Use PHPUnit8 in main test suites ([20370](https://github.com/civicrm/civicrm-core/pull/20370))**
- **If paymentprocessor still uses doTransferCheckout/doDirectPayment trigger deprecated function warning ([20384](https://github.com/civicrm/civicrm-core/pull/20384))**
- **[NFC] Fix PHPUnit8 Deprecation Warnings in api_v3 and Civi Test Suites ([20380](https://github.com/civicrm/civicrm-core/pull/20380))**
- **[REF] extract function to get locks ([20373](https://github.com/civicrm/civicrm-core/pull/20373))**
- **[NFC] [Test] Big cleanup in test class ([20374](https://github.com/civicrm/civicrm-core/pull/20374))**
- **[NFC] Fix PHPUnit8 Deprecation warnings in the api_v4 Test Suite ([20381](https://github.com/civicrm/civicrm-core/pull/20381))**
- **[NFC] Fix PHPUnit8 Warning notices in E2E And in some API unit tests ([20379](https://github.com/civicrm/civicrm-core/pull/20379))**
- **[REF] Remove unused variable ([20378](https://github.com/civicrm/civicrm-core/pull/20378))**
- **[NFC] Fix PHPUnit8 deprecation warnings in the CRM_AllTests suite ([20377](https://github.com/civicrm/civicrm-core/pull/20377))**
- **Afform Entity Reference Submit ([20305](https://github.com/civicrm/civicrm-core/pull/20305))**
- **[NFC] Further cleanup in test class ([20372](https://github.com/civicrm/civicrm-core/pull/20372))**
- **[NFC] Add in more voids to unit tests to support PHPUnit8 ([20369](https://github.com/civicrm/civicrm-core/pull/20369))**
- **[NFC] [Test] Preliminary cleanup in test class ([20371](https://github.com/civicrm/civicrm-core/pull/20371))**
- **Fix Distmaker building by ensuring we are rsyncing from the right folder ([20353](https://github.com/civicrm/civicrm-core/pull/20353))**
- **[Test] Add test cover for contribution tokens in pdf letter ([20217](https://github.com/civicrm/civicrm-core/pull/20217))**
- **[REF] Slightly more logical order of code ([20368](https://github.com/civicrm/civicrm-core/pull/20368))**
- **Deprecate function CRM_Core_BAO_CustomField::bulkSave ([20367](https://github.com/civicrm/civicrm-core/pull/20367))**
- **[REF] Useradd contact task - Use OO instead of hardcoding "if Wordpress" ([20366](https://github.com/civicrm/civicrm-core/pull/20366))**
- **Superficial tidy up in test class ([20359](https://github.com/civicrm/civicrm-core/pull/20359))**
- **Cleanup - declare return types, remove unused var ([20363](https://github.com/civicrm/civicrm-core/pull/20363))**
- **[REF] Cleanup on import rows error ([20196](https://github.com/civicrm/civicrm-core/pull/20196))**
- **Update bulkSave test to use the api ([20362](https://github.com/civicrm/civicrm-core/pull/20362))**
- **SearchKit - Fix menu permission ([20349](https://github.com/civicrm/civicrm-core/pull/20349))**
- **[NFC] Add in voids to various setUpBeforeClass and tearDownAfterClass… ([20365](https://github.com/civicrm/civicrm-core/pull/20365))**
- **SearchKit and Afform UI improvements ([20348](https://github.com/civicrm/civicrm-core/pull/20348))**
- **Unit test for #20342 ([20361](https://github.com/civicrm/civicrm-core/pull/20361))**
- **[REF] Extract function to build temporary table of members of group from Report_Form ([20297](https://github.com/civicrm/civicrm-core/pull/20297))**
- **Fix mandatory keys check fail for value of float 0.0 in a required key in an entity ([20342](https://github.com/civicrm/civicrm-core/pull/20342))**
- **[REF] Extract getContributionObject ([20355](https://github.com/civicrm/civicrm-core/pull/20355))**
- **[NFC] Update PHPUnit config to not cache results in phpunit8 and add … ([20356](https://github.com/civicrm/civicrm-core/pull/20356))**
- **[REF] Remove now-unused parameter ([20354](https://github.com/civicrm/civicrm-core/pull/20354))**
- **Add test for mixed Order data ([20241](https://github.com/civicrm/civicrm-core/pull/20241))**
- **[REF] Add getter for contributionID ([20318](https://github.com/civicrm/civicrm-core/pull/20318))**
- **[REF] Make previous unshared function protected & Remove hard-coded params ([20345](https://github.com/civicrm/civicrm-core/pull/20345))**
- **Fix form params for testEventPaymentForms ([20330](https://github.com/civicrm/civicrm-core/pull/20330))**
- **[NFC] Add in unit tests of credit card validation rules ([20352](https://github.com/civicrm/civicrm-core/pull/20352))**
- **[REF] Update Pear Validate Finance CreditCard to use latest tagged re… ([20351](https://github.com/civicrm/civicrm-core/pull/20351))**
- **Fix extraneous white space in generated sql ([20340](https://github.com/civicrm/civicrm-core/pull/20340))**
- **Give the custom css file a 'name' to make it easier to manipulate in hook_civicrm_alterBundle() ([20278](https://github.com/civicrm/civicrm-core/pull/20278))**
- **[REF] Make previously unshared function protected ([20346](https://github.com/civicrm/civicrm-core/pull/20346))**
- **Remove extraneous debug ([20319](https://github.com/civicrm/civicrm-core/pull/20319))**
- **dev/core#2613 - Replace deprecated function in useradd task ([20347](https://github.com/civicrm/civicrm-core/pull/20347))**
- **[REF] Remove unused parameters ([20301](https://github.com/civicrm/civicrm-core/pull/20301))**
- **5.38 ([20344](https://github.com/civicrm/civicrm-core/pull/20344))**
- **SearchKit - Rename crmSearchActions module to crmSearchTasks & add hook ([20307](https://github.com/civicrm/civicrm-core/pull/20307))**
- **[NFC] Remove timecop function references from Cache Tiered Test ([20343](https://github.com/civicrm/civicrm-core/pull/20343))**
- **dev/core#2403 - Change Greenwich link color from gray to blue ([20341](https://github.com/civicrm/civicrm-core/pull/20341))**
- **[REF] Cleanup BAO_ActionSchedule::getlist() signature ([20239](https://github.com/civicrm/civicrm-core/pull/20239))**
- **SearchKit - Use default_pager_size setting ([20336](https://github.com/civicrm/civicrm-core/pull/20336))**
- **(REF) Regen CRM/Core/DAO/CustomField.php ([20337](https://github.com/civicrm/civicrm-core/pull/20337))**
- **Fix case sensitive parameter for call to getCustomFieldTokens ([20333](https://github.com/civicrm/civicrm-core/pull/20333))**
- **Core_DAO - fire links_callback for all entities ([20332](https://github.com/civicrm/civicrm-core/pull/20332))**
- **Fix CKEditor5 link editing in modal dialog ([20285](https://github.com/civicrm/civicrm-core/pull/20285))**
- **Fix old-ish regression on paypal standard self-service cancel links ([20210](https://github.com/civicrm/civicrm-core/pull/20210))**
- **[Ref] remove redundant call to clearGroupContactCache ([20243](https://github.com/civicrm/civicrm-core/pull/20243))**
- **Convert payJunction to doPayment ([20326](https://github.com/civicrm/civicrm-core/pull/20326))**
- **Convert FirstData to doPayment ([20325](https://github.com/civicrm/civicrm-core/pull/20325))**
- **Convert elavon to doPayment ([20324](https://github.com/civicrm/civicrm-core/pull/20324))**
- **Convert Realex to doPayment ([20327](https://github.com/civicrm/civicrm-core/pull/20327))**
- **Convert payflowpro to doPayment ([20328](https://github.com/civicrm/civicrm-core/pull/20328))**
- **Convert eway to doPayment ([20323](https://github.com/civicrm/civicrm-core/pull/20323))**
- **Correct copy-paste error in CustomField schema ([20329](https://github.com/civicrm/civicrm-core/pull/20329))**
- **Convert AuthorizeNet to doPayment() ([20322](https://github.com/civicrm/civicrm-core/pull/20322))**
- **get county fields populated via api call ([20309](https://github.com/civicrm/civicrm-core/pull/20309))**
- **dev/release#17 - Synchronize version#s for core and core-extensions ([20303](https://github.com/civicrm/civicrm-core/pull/20303))**
- **APIv4 - Save custom fields in bulk ([20269](https://github.com/civicrm/civicrm-core/pull/20269))**
- **[REF] Make use of recently added default pager size setting in Reports ([20273](https://github.com/civicrm/civicrm-core/pull/20273))**
- **[REF] Duplicate & deprecate processMembership ([20313](https://github.com/civicrm/civicrm-core/pull/20313))**
- **Add unit test for #20144 ([20320](https://github.com/civicrm/civicrm-core/pull/20320))**
- **Explicitly throw an error/status bounce on Edit/New if no types. ([19840](https://github.com/civicrm/civicrm-core/pull/19840))**
- **[REF] Switch to using getContributionRecurID function, remove now unused param ([20316](https://github.com/civicrm/civicrm-core/pull/20316))**
- **Afform drag n drop fixes ([20281](https://github.com/civicrm/civicrm-core/pull/20281))**
- **[REF] Fully remove ids variable from paypal std ([20317](https://github.com/civicrm/civicrm-core/pull/20317))**
- **(dev/release#17) Extension UI - Show developmental icon for alpha/beta-stage extensions ([20302](https://github.com/civicrm/civicrm-core/pull/20302))**
- **Cleanup tracking on group.load ([20310](https://github.com/civicrm/civicrm-core/pull/20310))**
- **authx - Accept API keys by default ([20081](https://github.com/civicrm/civicrm-core/pull/20081))**
- **Activate user when no activation is required ([20229](https://github.com/civicrm/civicrm-core/pull/20229))**
- **Separates the default language for contacts from the site language ([20214](https://github.com/civicrm/civicrm-core/pull/20214))**
- **Switch to non deprecated buildPermissionClause() for contact detail report ([20314](https://github.com/civicrm/civicrm-core/pull/20314))**
- **Do not error on view contribution recur if not displaying contributions ([20209](https://github.com/civicrm/civicrm-core/pull/20209))**
- **dev/core#2593 stop calling loadRelatedObjects / fix for bug ([20300](https://github.com/civicrm/civicrm-core/pull/20300))**
- **[REF] Provide standardised methods to get recurring contribution id & object ([20294](https://github.com/civicrm/civicrm-core/pull/20294))**
- **[REF] Reverse if statement ([20211](https://github.com/civicrm/civicrm-core/pull/20211))**
- **Remove deprecation of order-must-be-pending ([20205](https://github.com/civicrm/civicrm-core/pull/20205))**
- **Improve Sample data by ensuring all Credit Card Contributions have a … ([20312](https://github.com/civicrm/civicrm-core/pull/20312))**
- **Remove never-passed parameter from now unshared function ([20304](https://github.com/civicrm/civicrm-core/pull/20304))**
- **dev/core#2614 - Sample payment processor is the wrong id in the generated sample data for demos ([20311](https://github.com/civicrm/civicrm-core/pull/20311))**
- **Add warning when url_site is not specified for paypal (it won't work if not set) ([20082](https://github.com/civicrm/civicrm-core/pull/20082))**
- **Remove defunct default return property ([20139](https://github.com/civicrm/civicrm-core/pull/20139))**
- **Afform Gui - Add support for entityRef fields ([20216](https://github.com/civicrm/civicrm-core/pull/20216))**
- **Remove now-unused ids parameter from signature ([20299](https://github.com/civicrm/civicrm-core/pull/20299))**
- **[REF] Use function to getContributionRecurID ([20293](https://github.com/civicrm/civicrm-core/pull/20293))**
- **[REF] Duplicate processMembership preliminary to cleanup ([20295](https://github.com/civicrm/civicrm-core/pull/20295))**
- **Switch to non deprecated buildPermissionClause() for contact summary report ([20287](https://github.com/civicrm/civicrm-core/pull/20287))**
- **[NFC/TEST] - Add unit test enforcing automatic chaining for financial type/account creation via api ([20288](https://github.com/civicrm/civicrm-core/pull/20288))**
- **5.38 ([20290](https://github.com/civicrm/civicrm-core/pull/20290))**
- **dev/core#2593 [REF] Fix function signature to actually-used variables ([20246](https://github.com/civicrm/civicrm-core/pull/20246))**
- **Use order api when creating a recurring membership from the Membershi… ([20077](https://github.com/civicrm/civicrm-core/pull/20077))**
- **Change the help text for Message Templates and Scheduled Reminders to include link to CiviCRM Token Documentation page ([20259](https://github.com/civicrm/civicrm-core/pull/20259))**
- **5.38 ([20284](https://github.com/civicrm/civicrm-core/pull/20284))**
- **Afform - hide disabled contact types & entities from disabled components/extensions ([20283](https://github.com/civicrm/civicrm-core/pull/20283))**
- **5.38 ([20280](https://github.com/civicrm/civicrm-core/pull/20280))**
- **Typo when retrieving help_pre textarea attributes for price field ([20276](https://github.com/civicrm/civicrm-core/pull/20276))**
- **[REF] Move ACLPermission Trait into Civi Folder so that it can be acc… ([20208](https://github.com/civicrm/civicrm-core/pull/20208))**
- **dev/core#2606 - Typo in rowCount variable in pager ([20275](https://github.com/civicrm/civicrm-core/pull/20275))**
- **dev/core#2590 - Remove unused function CRM_Utils_File::relativeDirectory ([20270](https://github.com/civicrm/civicrm-core/pull/20270))**
- **Afform - Drag & drop fixes ([20263](https://github.com/civicrm/civicrm-core/pull/20263))**
- **(REF) dev/core#2601 - Cleanup stale parameter ([20271](https://github.com/civicrm/civicrm-core/pull/20271))**
- **[NFC] Test - Improve tearDown cleanup of domain contacts ([20258](https://github.com/civicrm/civicrm-core/pull/20258))**
- **dev/core#2187 Allow sites to customise the default number of rows ret… ([18969](https://github.com/civicrm/civicrm-core/pull/18969))**
- **Freeze readonly fields ([20204](https://github.com/civicrm/civicrm-core/pull/20204))**
- **CiviCRM Scheduled Reminders, Subject field missing Token selector - users must copy Token from Body field to Subject ([20260](https://github.com/civicrm/civicrm-core/pull/20260))**
- **Fix delete customgroup using API4 so it removes data table ([20265](https://github.com/civicrm/civicrm-core/pull/20265))**
- **5.38 ([20266](https://github.com/civicrm/civicrm-core/pull/20266))**
- **fix missing parent tearDown ([20261](https://github.com/civicrm/civicrm-core/pull/20261))**
- **Fix missing parent tearDown ([20262](https://github.com/civicrm/civicrm-core/pull/20262))**
- **[NFC] Test - fix to use v3 api on postAsserts ([20257](https://github.com/civicrm/civicrm-core/pull/20257))**
- **[REF] Extract code determining list of groups requiring a refresh ([20242](https://github.com/civicrm/civicrm-core/pull/20242))**
- **[Test] Improve cleanup of domain contacts ([20253](https://github.com/civicrm/civicrm-core/pull/20253))**
- **dev/core#2602 - Installer doesn't check mysql version properly ([20255](https://github.com/civicrm/civicrm-core/pull/20255))**
- **Switch l10n.js from ajax callback to assetBuilder ([20121](https://github.com/civicrm/civicrm-core/pull/20121))**
- **Test fix - assertion fails when run with other tests (sometimes) ([20250](https://github.com/civicrm/civicrm-core/pull/20250))**
- **Improve cleanup on contact test ([20248](https://github.com/civicrm/civicrm-core/pull/20248))**
- **APIv4 - CiviCase API: Fix openening a case with current user as creator ([20238](https://github.com/civicrm/civicrm-core/pull/20238))**
- **Bump lodash from 4.17.19 to 4.17.21 ([20247](https://github.com/civicrm/civicrm-core/pull/20247))**
- **hook_managed - do not try to disable managed entities if is_active is not available to api3.create ([20144](https://github.com/civicrm/civicrm-core/pull/20144))**
- **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results ([645](https://github.com/civicrm/civicrm-drupal/pull/645))**
- **Remove Base Page content filter once it has been used ([240](https://github.com/civicrm/civicrm-wordpress/pull/240))**
- **Add FUNDING.yml to display a SPONSOR link that directs to c.o ([248](https://github.com/civicrm/civicrm-wordpress/pull/248))**
- **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results ([249](https://github.com/civicrm/civicrm-wordpress/pull/249))**
- **Add FUNDING.yml to display a SPONSOR link that directs to c.o ([62](https://github.com/civicrm/civicrm-joomla/pull/62))**
- **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results ([140](https://github.com/civicrm/civicrm-backdrop/pull/140))**
- **1.x 5.38 ([139](https://github.com/civicrm/civicrm-backdrop/pull/139))**
- **drush install - Bump up entropy for autogenerated creds. Add signing key. ([128](https://github.com/civicrm/civicrm-backdrop/pull/128))**
- **DB/DataObject: use mb_strtolower because in turkish, INSERT becomes Insert ([324](https://github.com/civicrm/civicrm-packages/pull/324))**
- **[php8-compat] Fix calling method_exist with paremeter that is bool not an object in… ([323](https://github.com/civicrm/civicrm-packages/pull/323))**
## Miscellany
## Credits
This release was developed by the following code authors:
AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; bugfolder; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; dependabot[bot]; invalid-email-address; iXiam - Vangelis Pantazis; JMA Consulting - Monish Deb, Seamus Lee; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
Agileware - Justin Freeman; Artful Robot - Rich Lott; bugfolder; Business & Code - Alain Benbassat; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Nicolas Ganivet, Yashodha Chaku; CompuCorp - Jamie Novick; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - Vangelis Pantazis; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; SYSTOPIA Organisationsberatung - Björn Endres; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green
## Feedback
These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
and contact `@agh1`.