# CiviCRM 5.25.0
Released May 6, 2020;
- **[Features](#features)**
- **[Bugs resolved](#bugs)**
- **[Miscellany](#misc)**
- **[Credits](#credits)**
## Features
### Core CiviCRM
- **crm- Missing Summary ([16886](https://github.com/civicrm/civicrm-core/pull/16886))**
- **CRM-1367 Missing Summary ([16870](https://github.com/civicrm/civicrm-core/pull/16870))**
- **CRM-20553 Missing Summary ([14667](https://github.com/civicrm/civicrm-core/pull/14667))**
## Bugs resolved
### Core CiviCRM
- **Revert #16947 from 5.25RC ([17108](https://github.com/civicrm/civicrm-core/pull/17108))**
- **Add release-notes/5.24.4.md ([17097](https://github.com/civicrm/civicrm-core/pull/17097))**
- **Generalise typo3/phar-stream-wrapper so CiviCRM can be installed on d… ([17085](https://github.com/civicrm/civicrm-core/pull/17085))**
- **Fix unsubscribe regression ([17081](https://github.com/civicrm/civicrm-core/pull/17081))**
- **Add release-notes/5.24.2 ([17041](https://github.com/civicrm/civicrm-core/pull/17041))**
- **Revert "temp workaround for dev/core#1675" ([17033](https://github.com/civicrm/civicrm-core/pull/17033))**
- **CRM_Core_I18n - Provide a better label for new/unknown locales ([17021](https://github.com/civicrm/civicrm-core/pull/17021))**
- **Fixed fatal error for class not found when managed hook is invoked du… ([17004](https://github.com/civicrm/civicrm-core/pull/17004))**
- **add nl_BE language ([17014](https://github.com/civicrm/civicrm-core/pull/17014))**
- **Add release-notes/5.24.1 ([16978](https://github.com/civicrm/civicrm-core/pull/16978))**
- **dev/financial#84 - Fix upgrade failure. Thin-out activation logic for `sequentialcreditnotes`. ([16971](https://github.com/civicrm/civicrm-core/pull/16971))**
- **core#1688 - false positive on missing custom field check ([16961](https://github.com/civicrm/civicrm-core/pull/16961))**
- **dev/core#1528 - Consolidate to single constant for minimum PHP version ([16753](https://github.com/civicrm/civicrm-core/pull/16753))**
- **[REF] move buildQuickForm function to the trait ([16948](https://github.com/civicrm/civicrm-core/pull/16948))**
- **Revert "APIv4 - Fix contribution create" ([16951](https://github.com/civicrm/civicrm-core/pull/16951))**
- **Remove deprecated cleaning of money in the BAO layer ([16950](https://github.com/civicrm/civicrm-core/pull/16950))**
- **APIv4 - Support GROUP BY and aggregate functions ([16947](https://github.com/civicrm/civicrm-core/pull/16947))**
- **dev/core#1682 - Invalid currency on sending offline membership receipt. ([16943](https://github.com/civicrm/civicrm-core/pull/16943))**
- **dev/core#1674: fix rebuilding of container on every request ([16919](https://github.com/civicrm/civicrm-core/pull/16919))**
- **[REF] Move properties to Trait ([16940](https://github.com/civicrm/civicrm-core/pull/16940))**
- **Follow up PR for #16845 - Fix form error when variable is NULL ([16941](https://github.com/civicrm/civicrm-core/pull/16941))**
- **fixes dev/core#1683 set profile frontend title ([16945](https://github.com/civicrm/civicrm-core/pull/16945))**
- **5.24 ([16946](https://github.com/civicrm/civicrm-core/pull/16946))**
- **[REF] Start transitioning EmailCommon class to a trait ([16935](https://github.com/civicrm/civicrm-core/pull/16935))**
- **[NFC/TEST] Resurrect unfinished test for getRelatedCases() ([16885](https://github.com/civicrm/civicrm-core/pull/16885))**
- **Add hook to alter display value or Custom field value ([16921](https://github.com/civicrm/civicrm-core/pull/16921))**
- **5.24 ([16938](https://github.com/civicrm/civicrm-core/pull/16938))**
- **[REF] Remove fatal, fix some code comments ([16928](https://github.com/civicrm/civicrm-core/pull/16928))**
- **[REF] extract code to getEmails ([16929](https://github.com/civicrm/civicrm-core/pull/16929))**
- **[REF] Minor simplification - do not use variable variables ([16927](https://github.com/civicrm/civicrm-core/pull/16927))**
- **Add "pledge id" as column and filter in Contribution Detail report. ([16868](https://github.com/civicrm/civicrm-core/pull/16868))**
- **5.24 to master ([16931](https://github.com/civicrm/civicrm-core/pull/16931))**
- **[Test] Remove skip that seems no longer required ([16912](https://github.com/civicrm/civicrm-core/pull/16912))**
- **Added pseudoconstant for acl_id ([16925](https://github.com/civicrm/civicrm-core/pull/16925))**
- **dev/core#1676 - E_NOTICE because of missing brackets for order of operations ([16924](https://github.com/civicrm/civicrm-core/pull/16924))**
- **Remove deprecated function ([16907](https://github.com/civicrm/civicrm-core/pull/16907))**
- **dev/core#1366 - case audit printReport parameter is no longer used ([16670](https://github.com/civicrm/civicrm-core/pull/16670))**
- **Make api4 select query object more sane ([16889](https://github.com/civicrm/civicrm-core/pull/16889))**
- **[NFC] APIv4 - Add test coverage for expected fields from join ([16920](https://github.com/civicrm/civicrm-core/pull/16920))**
- **[NFC] Add in unit test to ensure that APIv4 Doesn't accept an invalid… ([16893](https://github.com/civicrm/civicrm-core/pull/16893))**
- **APIv4 - Only adjust domain_id if required ([16917](https://github.com/civicrm/civicrm-core/pull/16917))**
- **[REF] Extract code used to render a pseudoconstant when a table is defined. ([16902](https://github.com/civicrm/civicrm-core/pull/16902))**
- **Remove unused code ([16914](https://github.com/civicrm/civicrm-core/pull/16914))**
- **[REF] Move form specific handling back to the relevant form. ([16913](https://github.com/civicrm/civicrm-core/pull/16913))**
- **Remove assigns for atypefile ([16895](https://github.com/civicrm/civicrm-core/pull/16895))**
- **Deprecate use of in OptionGroup::add() function ([16910](https://github.com/civicrm/civicrm-core/pull/16910))**
- **[REF] APIv4 - Preserve order when expanding select wildcards ([16909](https://github.com/civicrm/civicrm-core/pull/16909))**
- **dev/core#561 Add in deprecation notice on addDateRange funtion ([16863](https://github.com/civicrm/civicrm-core/pull/16863))**
- **dev/core#1663 - Fix warning on relationship form ([16845](https://github.com/civicrm/civicrm-core/pull/16845))**
- **[NFC] Use strict comparison where possible ([16896](https://github.com/civicrm/civicrm-core/pull/16896))**
- **Improve APIv4 selectUtils to handle join paths in fieldnames. ([16904](https://github.com/civicrm/civicrm-core/pull/16904))**
- **[NFC] Code formatting ([16906](https://github.com/civicrm/civicrm-core/pull/16906))**
- **[NFC] minor form cleanup. ([16905](https://github.com/civicrm/civicrm-core/pull/16905))**
- **APIv4 - bugfix in select query ([16900](https://github.com/civicrm/civicrm-core/pull/16900))**
- **[REF] Remove & from before variable ([16897](https://github.com/civicrm/civicrm-core/pull/16897))**
- **log error message instead of throwing exception ([16880](https://github.com/civicrm/civicrm-core/pull/16880))**
- **5.24 ([16898](https://github.com/civicrm/civicrm-core/pull/16898))**
- **Add some deprecation notices, stop calling PrevNext::cleanupCache ([16697](https://github.com/civicrm/civicrm-core/pull/16697))**
- **Fixed fatal error for Event Participants custom search if price set f… ([16894](https://github.com/civicrm/civicrm-core/pull/16894))**
- **APIv3 - Use new DAO::deleteRecord method ([16869](https://github.com/civicrm/civicrm-core/pull/16869))**
- **APIv4 - Add Dashboard & DashboardContact entities ([16867](https://github.com/civicrm/civicrm-core/pull/16867))**
- **5.24 ([16892](https://github.com/civicrm/civicrm-core/pull/16892))**
- **[REF] Replace \CRM_Utils_Array::value with ?? ([16872](https://github.com/civicrm/civicrm-core/pull/16872))**
- **[REF] Civi/Api4 - Refactor out 'use CRM_Utils_Array' ([16873](https://github.com/civicrm/civicrm-core/pull/16873))**
- **[REF] BAO_Contact - Remove CRM_Utils_Array::value and other unnecessary code ([16874](https://github.com/civicrm/civicrm-core/pull/16874))**
- **5.24 ([16884](https://github.com/civicrm/civicrm-core/pull/16884))**
- **[REF] APIv4 - Restructure the way get query objects are constucted ([16878](https://github.com/civicrm/civicrm-core/pull/16878))**
- **dev/core#1668 - Avoid E_NOTICE when removing last dashlet ([16883](https://github.com/civicrm/civicrm-core/pull/16883))**
- **Alternate to #16650 - On Case Audit/Print Report richtext details field is getting escaped when system is non-english ([16659](https://github.com/civicrm/civicrm-core/pull/16659))**
- **Fix use col "Soft Credit Amount Stats" and any filter of contribution… ([16591](https://github.com/civicrm/civicrm-core/pull/16591))**
- **dev/core#1331 Add missing parameter to translation string ([16881](https://github.com/civicrm/civicrm-core/pull/16881))**
- **[REF] Cleanup is_array(CRM_Utils_Array::value()) pattern ([16875](https://github.com/civicrm/civicrm-core/pull/16875))**
- **dev/core#667 Fix bug where entity_tags are not deleted by 'soft FK' ([16832](https://github.com/civicrm/civicrm-core/pull/16832))**
- **dev/core#1652 - Check for change case type activity on case activity form doesn't work ([16785](https://github.com/civicrm/civicrm-core/pull/16785))**
- **Add privacy fields to ContributionDetail report ([16674](https://github.com/civicrm/civicrm-core/pull/16674))**
- **Follow up on fix on updating memberships when a contact is deceased ([16787](https://github.com/civicrm/civicrm-core/pull/16787))**
- **5.24 ([16879](https://github.com/civicrm/civicrm-core/pull/16879))**
- **Fix display of payment processor title in cancelSubscription form ([16857](https://github.com/civicrm/civicrm-core/pull/16857))**
- **CRM/Contribute - Cleanup boolean expressions ([16853](https://github.com/civicrm/civicrm-core/pull/16853))**
- **dev/financial#87 make it possible to add a payment to a fully paid contribution ([16480](https://github.com/civicrm/civicrm-core/pull/16480))**
- **dev/1640 New feature - adds a checkbox to the update contribution status form to determine if a receipt is sent ([16742](https://github.com/civicrm/civicrm-core/pull/16742))**
- **Civi/Test - Refactor out CRM_Utils_Array::value ([16871](https://github.com/civicrm/civicrm-core/pull/16871))**
- **dev/core#1331 Don't freeze fields for auto-renew memberships ([16609](https://github.com/civicrm/civicrm-core/pull/16609))**
- **[TEST] Add test for to time processing ([16861](https://github.com/civicrm/civicrm-core/pull/16861))**
- **fix typo ([16865](https://github.com/civicrm/civicrm-core/pull/16865))**
- **API tests - remove unnecessary check for v4 ([16866](https://github.com/civicrm/civicrm-core/pull/16866))**
- **[REF] Remove redundant call to build permissions ([16862](https://github.com/civicrm/civicrm-core/pull/16862))**
- **dev/core#561 Convert Reports from jcalender to datepicker format ([15709](https://github.com/civicrm/civicrm-core/pull/15709))**
- **dev/core#1664 - Fix errors recorded in log message on Manage Case scr… ([16846](https://github.com/civicrm/civicrm-core/pull/16846))**
- **Cleanup reverse boolean expressions ([16850](https://github.com/civicrm/civicrm-core/pull/16850))**
- **CRM/Core - Cleanup boolean expressions ([16852](https://github.com/civicrm/civicrm-core/pull/16852))**
- **5.24 to master ([16859](https://github.com/civicrm/civicrm-core/pull/16859))**
- **CRM/Utils - Cleanup boolean expressions ([16851](https://github.com/civicrm/civicrm-core/pull/16851))**
- **CRM - Cleanup boolean expressions ([16854](https://github.com/civicrm/civicrm-core/pull/16854))**
- **dev/core#1569: Increase Data Size for `form_values` column on civicrm_report_instance table ([16836](https://github.com/civicrm/civicrm-core/pull/16836))**
- **Add DAO::writeRecord and DAO::deleteRecord methods ([16856](https://github.com/civicrm/civicrm-core/pull/16856))**
- **Fix checking permissions in api3 profile get ([16848](https://github.com/civicrm/civicrm-core/pull/16848))**
- **Generate text for cancelSubscription form in payment class ([16715](https://github.com/civicrm/civicrm-core/pull/16715))**
- **Fix batch contact/activity update with radio options ([16855](https://github.com/civicrm/civicrm-core/pull/16855))**
- **dev/core#1630 Partial fix on renew membership missing ([16762](https://github.com/civicrm/civicrm-core/pull/16762))**
- **UFMatch - deprecate unused functions ([16849](https://github.com/civicrm/civicrm-core/pull/16849))**
- **Remove old stuff ([16835](https://github.com/civicrm/civicrm-core/pull/16835))**
- **Fix CustomDataView.tpl plain empty memo field. ([16839](https://github.com/civicrm/civicrm-core/pull/16839))**
- **CRM/Contact - Cleanup boolean expressions ([16844](https://github.com/civicrm/civicrm-core/pull/16844))**
- **5.24 ([16843](https://github.com/civicrm/civicrm-core/pull/16843))**
- **Deprecate unused/unneeded pseudoconstant functions ([16771](https://github.com/civicrm/civicrm-core/pull/16771))**
- **dev/report#28 - Join date field has no label on constituent detail report ([16829](https://github.com/civicrm/civicrm-core/pull/16829))**
- **5.24 ([16831](https://github.com/civicrm/civicrm-core/pull/16831))**
- **APIv4 - convert Result object to array when running through json_encode ([16828](https://github.com/civicrm/civicrm-core/pull/16828))**
- **Fix typos in xml/dao ([16827](https://github.com/civicrm/civicrm-core/pull/16827))**
- **[REF] Replace CRM_Utils_Array::value with ?? in variable assignments ([16768](https://github.com/civicrm/civicrm-core/pull/16768))**
- **[REF] Replace coalesce pattern with coalesce operator ([16802](https://github.com/civicrm/civicrm-core/pull/16802))**
- **[REF] Switch to using a non abandoned library for getting a mapping of mimetypes to extensions ([16436](https://github.com/civicrm/civicrm-core/pull/16436))**
- **Respect 'Donot notify activity type' setting ([16800](https://github.com/civicrm/civicrm-core/pull/16800))**
- **[NFC] Use helper / api to delete contacts in tests ([16825](https://github.com/civicrm/civicrm-core/pull/16825))**
- **Deprecate calling contactTrashRestore function ([16824](https://github.com/civicrm/civicrm-core/pull/16824))**
- **(NFC) Minor typo: receipients > recipients ([16810](https://github.com/civicrm/civicrm-core/pull/16810))**
- **Remove deprecated parameter ([16813](https://github.com/civicrm/civicrm-core/pull/16813))**
- **[NFC] Minor code cleanup ([16823](https://github.com/civicrm/civicrm-core/pull/16823))**
- **[REF] Simplify obtuse boolean expressions ([16822](https://github.com/civicrm/civicrm-core/pull/16822))**
- **[NFC] Deprecate passing in silly data ([16818](https://github.com/civicrm/civicrm-core/pull/16818))**
- **[NFC] Test cleanup ([16817](https://github.com/civicrm/civicrm-core/pull/16817))**
- **[REF] Fix PCP getPcpDashboardInfo to be tested & use sensible functions ([16790](https://github.com/civicrm/civicrm-core/pull/16790))**
- **[REF] Replace CRM_Utils_Array::value with ?? in variable assignments ([16820](https://github.com/civicrm/civicrm-core/pull/16820))**
- **[REF] cleanups on array operator ([16821](https://github.com/civicrm/civicrm-core/pull/16821))**
- **[REF] Simplify obtuse boolean expressions ([16819](https://github.com/civicrm/civicrm-core/pull/16819))**
- **[REF] Remove titleHeader var ([16816](https://github.com/civicrm/civicrm-core/pull/16816))**
- **Remove unused deprecated function ([16812](https://github.com/civicrm/civicrm-core/pull/16812))**
- **Skip expensive smarty Processing when nothing to see here ([16731](https://github.com/civicrm/civicrm-core/pull/16731))**
- **Fix setting outBound_option readonly in UI ([16774](https://github.com/civicrm/civicrm-core/pull/16774))**
- **[REF] simplify references to civicrm_acl ([16671](https://github.com/civicrm/civicrm-core/pull/16671))**
- **(NFC) Minor typo: contacts(s) -> contact(s) ([16804](https://github.com/civicrm/civicrm-core/pull/16804))**
- **(NFC) Query.php / Minor typo: Genrated -> Generated ([16803](https://github.com/civicrm/civicrm-core/pull/16803))**
- **Test for PR 13809 ([16474](https://github.com/civicrm/civicrm-core/pull/16474))**
- **(POC) Add `hook_civicrm_postCommit`, a less foot-gunny variant of `hook_civicrm_post` ([15338](https://github.com/civicrm/civicrm-core/pull/15338))**
- **dev/core#1646 Merge Case Modal not showing relevant cases ([16798](https://github.com/civicrm/civicrm-core/pull/16798))**
- **Added pseudoconstant for state province ([16799](https://github.com/civicrm/civicrm-core/pull/16799))**
- **5.24 ([16801](https://github.com/civicrm/civicrm-core/pull/16801))**
- **Make the 'billing address is the same' checkbox respond to the change event ([16496](https://github.com/civicrm/civicrm-core/pull/16496))**
- **(NFC) Minor string error : for for > for ([16773](https://github.com/civicrm/civicrm-core/pull/16773))**
- **dev/core#787 Auto-complete search results fixes ([13809](https://github.com/civicrm/civicrm-core/pull/13809))**
- **dev/core#1579 CRM_Core_Payment_PayPalProIPN should not call getPayPalPaymentProcessorID() if processor_id is clearly provided in URL ([16479](https://github.com/civicrm/civicrm-core/pull/16479))**
- **[NFC] Test cleanup, remove duplicate test ([16755](https://github.com/civicrm/civicrm-core/pull/16755))**
- **Fix Bug where Payment Balance is sometimes miscalculated ([16546](https://github.com/civicrm/civicrm-core/pull/16546))**
- **5.24 ([16797](https://github.com/civicrm/civicrm-core/pull/16797))**
- **[REF] Cleanup api3 DashboardContact ([16792](https://github.com/civicrm/civicrm-core/pull/16792))**
- **[REF] Fixes a bug in Message Template create API where by user permissions checks were being done on system workflow messages ([16788](https://github.com/civicrm/civicrm-core/pull/16788))**
- **5.24 ([16794](https://github.com/civicrm/civicrm-core/pull/16794))**
- **[REF] Remove calls to fatal() ([16746](https://github.com/civicrm/civicrm-core/pull/16746))**
- **[REF] Cleanup uses of CRM_Utils_Array::value related to numbers ([16778](https://github.com/civicrm/civicrm-core/pull/16778))**
- **5.24 ([16786](https://github.com/civicrm/civicrm-core/pull/16786))**
- **dev/core#1599/Deceased Contact's Membership Marked to Deceased via Inline ([16724](https://github.com/civicrm/civicrm-core/pull/16724))**
- **5.24 to master ([16783](https://github.com/civicrm/civicrm-core/pull/16783))**
- **5.24 ([16782](https://github.com/civicrm/civicrm-core/pull/16782))**
- **[REF] cleanup financial type form - remove complex inheritence ([16777](https://github.com/civicrm/civicrm-core/pull/16777))**
- **Add shortcodes for Personal Campaign Pages ([16695](https://github.com/civicrm/civicrm-core/pull/16695))**
- **5.24 ([16767](https://github.com/civicrm/civicrm-core/pull/16767))**
- **Remove instances of fatal ([16759](https://github.com/civicrm/civicrm-core/pull/16759))**
- **[NFC] cleanup in test class ([16764](https://github.com/civicrm/civicrm-core/pull/16764))**
- **[REF] Use ?? operator instead of CRM_Utils_Array::value() ([16710](https://github.com/civicrm/civicrm-core/pull/16710))**
- **add pseudoconstant for location type ([16758](https://github.com/civicrm/civicrm-core/pull/16758))**
- **[REF] dev/core#1116 - Remove unused misnamed activityTypeName variable ([16730](https://github.com/civicrm/civicrm-core/pull/16730))**
- **Added pseudoconstant for priceset ([16754](https://github.com/civicrm/civicrm-core/pull/16754))**
- **Fix bug where a % in a serialized array can lead to the data being broken ([16694](https://github.com/civicrm/civicrm-core/pull/16694))**
- **Event Cart cleanup ([16691](https://github.com/civicrm/civicrm-core/pull/16691))**
- **5.24 ([16749](https://github.com/civicrm/civicrm-core/pull/16749))**
- **Add recurring contribution ID to doCancelRecurring ([16741](https://github.com/civicrm/civicrm-core/pull/16741))**
- **Bump Minimum Install version to be 7.1 (Do not merge until 5.24 RC is cut) ([16678](https://github.com/civicrm/civicrm-core/pull/16678))**
- **dev/core#1613/Updated Misleading labels ([16651](https://github.com/civicrm/civicrm-core/pull/16651))**
- **5.24 ([16744](https://github.com/civicrm/civicrm-core/pull/16744))**
- **REF Switch to getter on cancelSubscription form ([16740](https://github.com/civicrm/civicrm-core/pull/16740))**
- **[REF] Minor code simplification ([16734](https://github.com/civicrm/civicrm-core/pull/16734))**
- **Update cancelSubscription form to use updated methodology ([16501](https://github.com/civicrm/civicrm-core/pull/16501))**
- **[REF] Hopefully fix regularly failing conformance test ([16732](https://github.com/civicrm/civicrm-core/pull/16732))**
- **Improve conditional in api3 ChainSubscriber ([16718](https://github.com/civicrm/civicrm-core/pull/16718))**
- **CRM_Utils_Array::values follow up from #16699 ([16737](https://github.com/civicrm/civicrm-core/pull/16737))**
- **Support PropertyBag in CRM_Utils_Array ([16699](https://github.com/civicrm/civicrm-core/pull/16699))**
- **[REF] Use empty() instead of CRM_Utils_Array::value() in inline conditionals ([16729](https://github.com/civicrm/civicrm-core/pull/16729))**
- **5.24 ([16728](https://github.com/civicrm/civicrm-core/pull/16728))**
- **pseudoconstant for bounce type ([16727](https://github.com/civicrm/civicrm-core/pull/16727))**
- **[REF] Use ?? operator instead of CRM_Utils_Array::value() in return statements ([16719](https://github.com/civicrm/civicrm-core/pull/16719))**
- **Fix another instance of NULL being passed to CRM_Utils_Array::value ([16711](https://github.com/civicrm/civicrm-core/pull/16711))**
- **5.24 ([16725](https://github.com/civicrm/civicrm-core/pull/16725))**
- **Fix PayPal Express on events ([16692](https://github.com/civicrm/civicrm-core/pull/16692))**
- **dev/core#1637 regression fix on WP urls ([16713](https://github.com/civicrm/civicrm-core/pull/16713))**
- **Fix another instance of silly use of CRM_Utils_Array::value ([16712](https://github.com/civicrm/civicrm-core/pull/16712))**
- **[NFC] Fix comments, use single quotes ([16693](https://github.com/civicrm/civicrm-core/pull/16693))**
- **Added pseudoconstant for civicrm_tag.parent_id ([16703](https://github.com/civicrm/civicrm-core/pull/16703))**
- **5.24 ([16709](https://github.com/civicrm/civicrm-core/pull/16709))**
- **Remove an instance of passing non-arraay to CRM_Utils_Array::value( ([16706](https://github.com/civicrm/civicrm-core/pull/16706))**
- **[REF] CRM_Utils_Array::value() -> empty() ([16704](https://github.com/civicrm/civicrm-core/pull/16704))**
- **Remove calls & deprecate CRM_Core_BAO_PrevNextCache::setItem ([16696](https://github.com/civicrm/civicrm-core/pull/16696))**
- **Api4 AJAX endpoint: change required permission to access AJAX API. ([16705](https://github.com/civicrm/civicrm-core/pull/16705))**
- **Fix passing a non-array to CRM_Utils_Array::value ([16701](https://github.com/civicrm/civicrm-core/pull/16701))**
- **Shifted UpdateMemberhsip to BAO Layer ([16690](https://github.com/civicrm/civicrm-core/pull/16690))**
- **Use dbAlias to generate where clause for date field in activity report ([16689](https://github.com/civicrm/civicrm-core/pull/16689))**
- **[NFC] Mark unused function deprecated, fix some comments & formatting ([16698](https://github.com/civicrm/civicrm-core/pull/16698))**
- **Remove additional display of buttons for events ([16550](https://github.com/civicrm/civicrm-core/pull/16550))**
- **Upgrade jQuery validation version to v1.19.1 ([16625](https://github.com/civicrm/civicrm-core/pull/16625))**
- **Mark unused function as deprecated ([16688](https://github.com/civicrm/civicrm-core/pull/16688))**
- **Fix Views relationship to addresses ([600](https://github.com/civicrm/civicrm-drupal/pull/600))**
- **Use new consolidated constant for minimum PHP version ([599](https://github.com/civicrm/civicrm-drupal/pull/599))**
- **Bump minimum PHP version to be 7.1 (Do not merge until 5.24 RC is cut) ([598](https://github.com/civicrm/civicrm-drupal/pull/598))**
- **Set "cms.root" URL in addition to Path ([188](https://github.com/civicrm/civicrm-wordpress/pull/188))**
- **Merge REST API wrapper code ([160](https://github.com/civicrm/civicrm-wordpress/pull/160))**
- **Consolidate to single constant for minimum PHP version ([187](https://github.com/civicrm/civicrm-wordpress/pull/187))**
- **Add shortcodes for Personal Campaign Pages ([185](https://github.com/civicrm/civicrm-wordpress/pull/185))**
- **Bump minimum install version to be 7.1 (Do not merge until 5.24 RC is cut) ([184](https://github.com/civicrm/civicrm-wordpress/pull/184))**
- **Issue #117 fix address relationship for Views ([118](https://github.com/civicrm/civicrm-backdrop/pull/118))**
- **Consolidate to single constant for minimum PHP version ([114](https://github.com/civicrm/civicrm-backdrop/pull/114))**
- **Bump Minimum PHP Version to be 7.1 (Do not merge until 5.24 RC is cut) ([111](https://github.com/civicrm/civicrm-backdrop/pull/111))**
- **dev/core#1675 and dev/core#1695 - Revert part of DB package upgrade that is causing transaction issues ([289](https://github.com/civicrm/civicrm-packages/pull/289))**
## Miscellany
## Credits
This release was developed by the following code authors:
a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt; Alexy Mikhailichenko; Andrei Mondoc; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - César Ramos; JMA Consulting - Seamus Lee; Joinery - Allen Shaw; Kartik Kathuria; Lighthouse Design and Consulting - Brian Shaughnessy; Makoa - Usha F. Matisson; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Naomi Rosenberg; Ray Wright; sushantpaste; SYSTOPIA Organisationsberatung - Björn Endres; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; Andrei Mondoc; Artful Robot - Rich Lott; British Humanist Association - Andrew West; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Nicolas Ganivet, Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Digitalcourage - Detlev Sieber; freeform-sg; Fuzion - Jitendra Purohit, Luke Stewart; Greenpeace Central and Eastern Europe - Patrick Figel; Jamie Tillman; JMA Consulting - Monish Deb, Seamus Lee; Joinery - Allen Shaw; Kartik Kathuria; Korlon - Stuart Gaston; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Richard van Oosterhout; Skvare - Mark Hanna; Squiffle Consulting - Aidan Saunders; sushantpaste; SYSTOPIA Organisationsberatung - Björn Endres; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton