| *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? | |
+| Fix security vulnerabilities? | no |
+| **Change the database schema?** | **yes** |
+| **Alter the API?** | **yes** |
+| **Require attention to configuration options?** | **yes** |
+| **Fix problems installing or upgrading to a previous version?** | **yes** |
+| **Introduce features?** | **yes** |
+| **Fix bugs?** | **yes** |
## <a name="features"></a>Features
-## <a name="bugs"></a>Bugs resolved
-
### Core CiviCRM
-- **SearchKit - Fix editable when displaying an icon ([24255](https://github.com/civicrm/civicrm-core/pull/24255))**
+- **Make Recent Items available providers an option group so extensions can
+ extend it ([dev/core#3783](https://lab.civicrm.org/dev/core/-/issues/3783):
+ [24164](https://github.com/civicrm/civicrm-core/pull/24164))**
+
+ Makes it so extension developers can extend the Recent Items content.
+
+- **Allow custom fields to have custom fields
+ ([23995](https://github.com/civicrm/civicrm-core/pull/23995))**
-- **[NFC] Convert Payment Processor ID field to payment processor in even… ([24256](https://github.com/civicrm/civicrm-core/pull/24256))**
+ Makes it so custom fields can have custom fields.
-- **dev/core#3799 - Fix incorrectly changed default for contact_dashboard.is_active ([24238](https://github.com/civicrm/civicrm-core/pull/24238))**
+- **CiviCRM Standalone: base classes
+ ([22227](https://github.com/civicrm/civicrm-core/pull/22227))**
-- **zetacomponents/mail - Ensure latest mail patches are included ([24233](https://github.com/civicrm/civicrm-core/pull/24233))**
+ Work towards a standalone CiviCRM (no CMS needed).
-- **CrmUi - Fix crmSelect2 to work with ngOptions ([24224](https://github.com/civicrm/civicrm-core/pull/24224))**
+- **SearchKit: HTML fields display
+ ([dev/core#3723](https://lab.civicrm.org/dev/core/-/issues/3723):
+ [24023](https://github.com/civicrm/civicrm-core/pull/24023))**
-- **Fix regression causing custom groups to reset to 'Contact' when updated ([24220](https://github.com/civicrm/civicrm-core/pull/24220))**
+ Allows HTML in SearchKit fields.
-- **Update zetacomponents/mail to 1.9.3 so can remove patches ([24198](https://github.com/civicrm/civicrm-core/pull/24198))**
+- **APIv4 Contact.get - include email, phone, address?
+ ([dev/core#3659](https://lab.civicrm.org/dev/core/-/issues/3659):
+ [23972](https://github.com/civicrm/civicrm-core/pull/23972))**
-- **CrmUi - Fix tabSetOptions variable ([24204](https://github.com/civicrm/civicrm-core/pull/24204))**
+ Makes it easier to search and display contact primary email, phone, and IM
+ without using any joins in SearchKit.
-- **removed import contacts access argument for summary path ([24206](https://github.com/civicrm/civicrm-core/pull/24206))**
+- **Add (pixels) to available label & pdf layout units
+ ([24136](https://github.com/civicrm/civicrm-core/pull/24136))**
-- **APIv4 - Fix resolving pseudoconstants for less-permissioned users ([24203](https://github.com/civicrm/civicrm-core/pull/24203))**
+ Makes `px` (pixels) an available layout unit for labels and pdfs.
-- **composer.json - Declare requirement for `composer-runtime-api` ([24202](https://github.com/civicrm/civicrm-core/pull/24202))**
+- **Metadata - Add label field for SavedSearch
+ ([24162](https://github.com/civicrm/civicrm-core/pull/24162))**
-- **Remove reference to CiviAuction ([24187](https://github.com/civicrm/civicrm-core/pull/24187))**
+ Adds a label field to the metadata for the SavedSearch entity.
-- **dev/core#3783 convert Recent Items providers into an option group ([24164](https://github.com/civicrm/civicrm-core/pull/24164))**
+- **Make civi 2 nanoseconds faster
+ ([24169](https://github.com/civicrm/civicrm-core/pull/24169))**
-- **[php 8.1 compat] Avoid CRM_Utils_System::url null for $query param ([24192](https://github.com/civicrm/civicrm-core/pull/24192))**
+ Performance improvement.
-- **Api4 Explorer - Use metadata for field suffixes instead of guessing ([24168](https://github.com/civicrm/civicrm-core/pull/24168))**
+- **Importer - Increase size of queue batches
+ ([24151](https://github.com/civicrm/civicrm-core/pull/24151))**
-- **APIv4 - Read & write contact primary and billing locations as implicit joins ([23972](https://github.com/civicrm/civicrm-core/pull/23972))**
+ Performance improvement.
-- **Add (pixels) to available label & pdf layout units ([24136](https://github.com/civicrm/civicrm-core/pull/24136))**
+- **Afform - provide easy way to add navigation menu from the form
+ ([24013](https://github.com/civicrm/civicrm-core/pull/24013))**
-- **dev/core#3784 fix contribution/membership/participant import matching on external id or contact id ([24166](https://github.com/civicrm/civicrm-core/pull/24166))**
+ Allows administrators to create a navigation menu entry while editing an
+ Afform.
-- **dev/core/-/issues/3786 💩 Matching by External / Contact ID always matches contacts with ID < 10 for Participant importer and possibly others because return params is not an array ([24153](https://github.com/civicrm/civicrm-core/pull/24153))**
+- **Afform - Allow groups and tags and age to be filters
+ ([23974](https://github.com/civicrm/civicrm-core/pull/23974))**
-- **[php 8.1 compat] Avoid CRM_Utils_System::url null for $query param ([24176](https://github.com/civicrm/civicrm-core/pull/24176))**
+ Ensures Contact filter fields (groups, tags, age) are available as Afform
+ search filters.
-- **Metadata - Add label field for SavedSearch ([24162](https://github.com/civicrm/civicrm-core/pull/24162))**
+- **Afform - Post-submit redirect tokens
+ ([24016](https://github.com/civicrm/civicrm-core/pull/24016))**
-- **SearchKit - Fix viewing search display for anonymous user ([24180](https://github.com/civicrm/civicrm-core/pull/24180))**
+ Supports tokens in the redirect url, so that e.g. after creating a new contact
+ you can be redirected to that contacts' summary page.
-- **Afform - Update correct existing email,phone,address & prevent deletion of others ([24172](https://github.com/civicrm/civicrm-core/pull/24172))**
+- **define format at one place
+ ([24049](https://github.com/civicrm/civicrm-core/pull/24049))**
-- **[REF] Convert Elavon Payment Processor to use Guzzle and ensure that … ([24131](https://github.com/civicrm/civicrm-core/pull/24131))**
+ Moves pdf format array to one place so that it can be altered using hooks.
-- **[php 8.1 compat] Avoid passing null to explode() ([24177](https://github.com/civicrm/civicrm-core/pull/24177))**
+- **Set target="_blank" on external footer links
+ ([23875](https://github.com/civicrm/civicrm-core/pull/23875))**
-- **[php 8.1 compat] Avoid passing null to strlen ([24178](https://github.com/civicrm/civicrm-core/pull/24178))**
+ Adds rel="external" and target="_blank" attributes to external links in the
+ footer.
-- **Fix line item 'title' determination ([24142](https://github.com/civicrm/civicrm-core/pull/24142))**
+- **Status Check - Report the overall status (accurately)
+ ([24027](https://github.com/civicrm/civicrm-core/pull/24027))**
-- **Downgrade Symfony Service Contracts to 2.2.0 to fix php fatal error i… ([24171](https://github.com/civicrm/civicrm-core/pull/24171))**
+ Improves the Status reported in the footer.
-- **Make civi 2 nanoseconds faster ([24169](https://github.com/civicrm/civicrm-core/pull/24169))**
+- **Upgrade task to handle %A date format specifier change
+ ([24077](https://github.com/civicrm/civicrm-core/pull/24077))**
-- **E-notice fix on Is delete record ([24157](https://github.com/civicrm/civicrm-core/pull/24157))**
+ Adds a post upgrade message about the change to teh date token %A output.
-- **Afform - Fix js error when checking to refresh menuBar ([24163](https://github.com/civicrm/civicrm-core/pull/24163))**
+### CiviCase
-- **(dev/core#3768) expose contact custom data as columns in case detail … ([24155](https://github.com/civicrm/civicrm-core/pull/24155))**
+- **Case custom field with clickable contact reference
+ ([24072](https://github.com/civicrm/civicrm-core/pull/24072))**
-- **Remove `loadAll` parameter from loadRelatedObjects ([24140](https://github.com/civicrm/civicrm-core/pull/24140))**
+ Makes Case contact reference custom fields clickable.
-- **Importer - Increase size of queue batches ([24151](https://github.com/civicrm/civicrm-core/pull/24151))**
+- **Improvements to Case Detail report
+ ([dev/core#3768](https://lab.civicrm.org/dev/core/-/issues/3768):
+ [24120](https://github.com/civicrm/civicrm-core/pull/24120),
+ [24155](https://github.com/civicrm/civicrm-core/pull/24155) and
+ [24109](https://github.com/civicrm/civicrm-core/pull/24109))**
-- **(NFC) Add common `@group` for import-related tests ([24150](https://github.com/civicrm/civicrm-core/pull/24150))**
+ Improves the Case Detail report by adding an option to include city as a
+ column and adding a filter for 'Activity type of the last activity'
-- **NFC - remove unused variables, minor tidy up ([24139](https://github.com/civicrm/civicrm-core/pull/24139))**
+### CiviContribute
-- **5.52 ([24148](https://github.com/civicrm/civicrm-core/pull/24148))**
+- **Add `paid_amount `, `balance_amount`, `tax_exclusive_amount` available to
+ apiv4 ([24118](https://github.com/civicrm/civicrm-core/pull/24118))**
-- **Skip warning about event-online message template during upgrade ([24141](https://github.com/civicrm/civicrm-core/pull/24141))**
+ Improves APIv4 by adding `paid_amount `, `balance_amount` and
+ `tax_exclusive_amount`.
-- **Fix test to not use Contribution option group for ContributionRecur status ([24135](https://github.com/civicrm/civicrm-core/pull/24135))**
+- **Get offline contribution-receipt fully working with preview screen (Work
+ Towards [dev/core#3694](https://lab.civicrm.org/dev/core/-/issues/3694):
+ [23870](https://github.com/civicrm/civicrm-core/pull/23870))**
-- **[REF] OAuth - Move some API code to the BAO for better reusability ([23725](https://github.com/civicrm/civicrm-core/pull/23725))**
+ Improves user experience of the offline contribution receipt preview.
-- **Add upgrade for contribution offline receipt ([24101](https://github.com/civicrm/civicrm-core/pull/24101))**
+## <a name="bugs"></a>Bugs resolved
-- **define format at one place ([24049](https://github.com/civicrm/civicrm-core/pull/24049))**
+### Core CiviCRM
-- **dev/financial#201 Fix pledge payment not to refer to contribution status ([24051](https://github.com/civicrm/civicrm-core/pull/24051))**
+- **CiviCRM Reports, setting the Report option "Available for Dashboard?" will
+ now add the Report to all users Dashboards, which is new and undesirable
+ behaviour ([dev/core#3799](https://lab.civicrm.org/dev/core/-/issues/3799):
+ [24238](https://github.com/civicrm/civicrm-core/pull/24238))**
-- **Remove unused variable ([24128](https://github.com/civicrm/civicrm-core/pull/24128))**
+- **Export fails for contact reference of type multi-select
+ ([dev/core#3751](https://lab.civicrm.org/dev/core/-/issues/3751):
+ [24047](https://github.com/civicrm/civicrm-core/pull/24047))**
-- **Issue #3772: Fix undefined index notice. ([24124](https://github.com/civicrm/civicrm-core/pull/24124))**
+- **Some file upload fields not uploading
+ ([dev/core#3736](https://lab.civicrm.org/dev/core/-/issues/3736):
+ [24004](https://github.com/civicrm/civicrm-core/pull/24004))**
-- **Remove deprecated call to `loadRelatedObjects` ([24088](https://github.com/civicrm/civicrm-core/pull/24088))**
+ Fixes uploading files on the message template form.
-- **Add `paid_amount `, `balance_amount`, `tax_exclusive_amount` available to apiv4 ([24118](https://github.com/civicrm/civicrm-core/pull/24118))**
+- **Errors with multiple-contact reference field handling
+ ([dev/core#3712](https://lab.civicrm.org/dev/core/-/issues/3712):
+ [23932](https://github.com/civicrm/civicrm-core/pull/23932))**
-- **Remove call to `loadRelatedObjects` from `completetransaction` ([24087](https://github.com/civicrm/civicrm-core/pull/24087))**
+- **Upgrader - Apply extension updates after core updates
+ ([dev/core#3490](https://lab.civicrm.org/dev/core/-/issues/3490):
+ [24030](https://github.com/civicrm/civicrm-core/pull/24030))**
-- **Remove legacy `apiquery` call from `isContactInGroup` ([24062](https://github.com/civicrm/civicrm-core/pull/24062))**
+- **E-notice fix on Is delete record
+ ([24157](https://github.com/civicrm/civicrm-core/pull/24157))**
-- **add filter for 'Activity type of the last activity' for case detail r… ([24120](https://github.com/civicrm/civicrm-core/pull/24120))**
+- **APIv4 - Fix resolving pseudoconstants for less-permissioned users
+ ([24203](https://github.com/civicrm/civicrm-core/pull/24203))**
-- **Regenerate sql ([24119](https://github.com/civicrm/civicrm-core/pull/24119))**
+- **Fix regression causing custom groups to reset to 'Contact' when updated
+ ([24220](https://github.com/civicrm/civicrm-core/pull/24220))**
-- **Move hook_civicrm_translateFields from message_admin to core ([24063](https://github.com/civicrm/civicrm-core/pull/24063))**
+- **Fix ActionLog BAO to not overwrite existing data
+ ([24035](https://github.com/civicrm/civicrm-core/pull/24035))**
-- **Whitespace cleanup in invoice template ([24113](https://github.com/civicrm/civicrm-core/pull/24113))**
+- **Call static function statically
+ ([24114](https://github.com/civicrm/civicrm-core/pull/24114))**
-- **Call static function statically ([24114](https://github.com/civicrm/civicrm-core/pull/24114))**
+- **Remove extraneous closing tags
+ ([24108](https://github.com/civicrm/civicrm-core/pull/24108))**
-- **[REF][PHP8.1] Another batch of fixes for passing in NULL values into … ([24082](https://github.com/civicrm/civicrm-core/pull/24082))**
+- **Fix regex on windows
+ ([24094](https://github.com/civicrm/civicrm-core/pull/24094))**
-- **5.52 to master ([24117](https://github.com/civicrm/civicrm-core/pull/24117))**
+- **Fix Angular datepicker to keep up with $digest cycle
+ ([24079](https://github.com/civicrm/civicrm-core/pull/24079))**
-- **Minor test cleanup ([24071](https://github.com/civicrm/civicrm-core/pull/24071))**
+- **Fix grep in guzzle mock patch
+ ([24096](https://github.com/civicrm/civicrm-core/pull/24096))**
-- **dev/core#3766 Keep league/csv on 9.6 for D9 as well so patches can apply ([24098](https://github.com/civicrm/civicrm-core/pull/24098))**
+- **Update cweagans/composer-patches to 1.7.2 to fix delete-and-reinstall
+ problem ([24015](https://github.com/civicrm/civicrm-core/pull/24015))**
-- **Afform - Check is_public directly ([24022](https://github.com/civicrm/civicrm-core/pull/24022))**
+- **SearchKit - Fix editable when displaying an icon
+ ([24255](https://github.com/civicrm/civicrm-core/pull/24255))**
-- **Make unshared function private, remove unused return ([24105](https://github.com/civicrm/civicrm-core/pull/24105))**
+- **SearchKit - Fix adding deep joins
+ ([23993](https://github.com/civicrm/civicrm-core/pull/23993))**
-- **Fix and followups for invoice receipt message template ([24111](https://github.com/civicrm/civicrm-core/pull/24111))**
+ Fixes a UI bug that was preventing joins past a depth of 2 to be added.
-- **Remove extraneous closing tags ([24108](https://github.com/civicrm/civicrm-core/pull/24108))**
+- **SearchKit - Fix viewing search display for anonymous user
+ ([24180](https://github.com/civicrm/civicrm-core/pull/24180))**
-- **expose city in case detail report ([24109](https://github.com/civicrm/civicrm-core/pull/24109))**
+- **Cannot uninstall Searchkit (dmaster)
+ ([dev/core#3179](https://lab.civicrm.org/dev/core/-/issues/3179#note_77504):
+ [23895](https://github.com/civicrm/civicrm-core/pull/23895))**
-- **Remove some fixmes from message tpls ([24107](https://github.com/civicrm/civicrm-core/pull/24107))**
+- **Update zetacomponents/mail to 1.9.3 so can remove patches
+ ([24198](https://github.com/civicrm/civicrm-core/pull/24198))**
-- **Remove extra space, offline receipt ([24106](https://github.com/civicrm/civicrm-core/pull/24106))**
+- **zetacomponents/mail - Ensure latest mail patches are included
+ ([24233](https://github.com/civicrm/civicrm-core/pull/24233))**
-- **APIv4 - Improve pseudoconstant support in getFields ([24099](https://github.com/civicrm/civicrm-core/pull/24099))**
+- **CrmUi - Fix crmSelect2 to work with ngOptions
+ ([24224](https://github.com/civicrm/civicrm-core/pull/24224))**
-- **[REF] Fix Test fails on import by ensuring that Month Abbreviations a… ([24100](https://github.com/civicrm/civicrm-core/pull/24100))**
+- **CrmUi - Fix tabSetOptions variable
+ ([24204](https://github.com/civicrm/civicrm-core/pull/24204))**
-- **Fix grep in guzzle mock patch ([24096](https://github.com/civicrm/civicrm-core/pull/24096))**
+- **composer.json - Declare requirement for `composer-runtime-api`
+ ([24202](https://github.com/civicrm/civicrm-core/pull/24202))**
-- **5.52 ([24095](https://github.com/civicrm/civicrm-core/pull/24095))**
+- **Api4 Explorer - Use metadata for field suffixes instead of guessing
+ ([24168](https://github.com/civicrm/civicrm-core/pull/24168))**
-- **dev/core#3765 Ensure that CiviCRM's Guzzle shim does not conflict with Drupal's guzzle shim ([24097](https://github.com/civicrm/civicrm-core/pull/24097))**
+- **API - Consistently save custom data for v3 & v4
+ ([24036](https://github.com/civicrm/civicrm-core/pull/24036))**
-- **Fix regex on windows ([24094](https://github.com/civicrm/civicrm-core/pull/24094))**
+- **APIv4 - Allow values to start with a dollar sign in chaining
+ ([24052](https://github.com/civicrm/civicrm-core/pull/24052))**
-- **[NFC][PHP8.1] Ensure that Trait function is only accessed by classes … ([24081](https://github.com/civicrm/civicrm-core/pull/24081))**
+- **APIv4 - Fix mishandling of boolean custom values
+ ([23970](https://github.com/civicrm/civicrm-core/pull/23970))**
-- **[REF][PHP8.1] Permit single quotes within html attributes ([24083](https://github.com/civicrm/civicrm-core/pull/24083))**
+- **APIv4 export action: find DAO by ID instead of just calling the constructor
+ and setting the ID
+ ([24089](https://github.com/civicrm/civicrm-core/pull/24089))**
-- **[REF][PHP8.1] Do not set auto_detect_line_endings to true on php vers… ([24092](https://github.com/civicrm/civicrm-core/pull/24092))**
+- **Afform - Require Authx
+ ([23767](https://github.com/civicrm/civicrm-core/pull/23767))**
-- **[REF][PHP8.1] Apply patch in PHPWord to fix passing in null value into strlen in validating locale ([24093](https://github.com/civicrm/civicrm-core/pull/24093))**
+ Makes Authx a dependency for Afform.
-- **[NFC] Resolve phpunit warning about using assertContains on strings ([24091](https://github.com/civicrm/civicrm-core/pull/24091))**
+- **Form Builder: Load contact summary blocks on Print Summary page
+ ([dev/core#3743](https://lab.civicrm.org/dev/core/-/issues/3743):
+ [24024](https://github.com/civicrm/civicrm-core/pull/24024))**
-- **Fix Angular datepicker to keep up with $digest cycle ([24079](https://github.com/civicrm/civicrm-core/pull/24079))**
+- **Afform - show icon on button only if icon is selected
+ ([24073](https://github.com/civicrm/civicrm-core/pull/24073))**
-- **APIv4 export action: find DAO by ID instead of just calling the constructor and setting the ID ([24089](https://github.com/civicrm/civicrm-core/pull/24089))**
+- **Afform - Update correct existing email,phone,address & prevent deletion of
+ others ([24172](https://github.com/civicrm/civicrm-core/pull/24172))**
-- **fix broken url for wordpress in example code ([24084](https://github.com/civicrm/civicrm-core/pull/24084))**
+- **Afform - Fix js error when checking to refresh menuBar
+ ([24163](https://github.com/civicrm/civicrm-core/pull/24163))**
-- **[REF][PHP8.1] Replace usage of the date_format modifer with crmDate t… ([24008](https://github.com/civicrm/civicrm-core/pull/24008))**
+- **Afform - Switch to APIv4 for managed afform_type option group
+ ([23896](https://github.com/civicrm/civicrm-core/pull/23896))**
-- **Upgrade task to handle %A date format specifier change ([24077](https://github.com/civicrm/civicrm-core/pull/24077))**
+ Updates managed entity code, with handling to prevent errors in weird upgrade
+ scenarios.
-- **dev/core#3749 Fix process pledges to throw exception when civiPledge disabled ([24059](https://github.com/civicrm/civicrm-core/pull/24059))**
+- **Afform - Add "clear" button to non-required radios
+ ([23413](https://github.com/civicrm/civicrm-core/pull/23413))**
-- **Afform - Add "clear" button to non-required radios ([23413](https://github.com/civicrm/civicrm-core/pull/23413))**
+- **afform: breadcrumbs present when flagged for frontend
+ ([dev/core#3741](https://lab.civicrm.org/dev/core/-/issues/3741):
+ [24022](https://github.com/civicrm/civicrm-core/pull/24022))**
-- **Update contributor-key.yml ([24078](https://github.com/civicrm/civicrm-core/pull/24078))**
+- **remove start/end date as mandatory in Demographics report
+ ([24048](https://github.com/civicrm/civicrm-core/pull/24048))**
-- **Case custom field with clickable contact reference ([24072](https://github.com/civicrm/civicrm-core/pull/24072))**
+- **Poly-fill-me-up
+ ([23954](https://github.com/civicrm/civicrm-core/pull/23954))**
-- **Afform - show icon on button only if icon is selected ([24073](https://github.com/civicrm/civicrm-core/pull/24073))**
+ Adds polyfill for PHP 7.4, 8.0, 8.1, and 8.2.
-- **5.52 to master ([24074](https://github.com/civicrm/civicrm-core/pull/24074))**
+### CiviCase
-- **dev/core#3694 - get preview working & tested for offline-contribution receipt ([23870](https://github.com/civicrm/civicrm-core/pull/23870))**
+- **Use fontawesome icon helper for activity/Page/AJAX
+ ([24021](https://github.com/civicrm/civicrm-core/pull/24021))**
-- **Log a bit more deprecation info ([24064](https://github.com/civicrm/civicrm-core/pull/24064))**
+ Fixes a missing delete icon on case roles on some themes.
-- **[REF][PHP8.1][INTL] Remove dependency on strftime function by using t… ([24032](https://github.com/civicrm/civicrm-core/pull/24032))**
+### CiviContribute
-- **Avoid sending blank invoices ([24065](https://github.com/civicrm/civicrm-core/pull/24065))**
+- **Fix line item 'title' determination
+ ([24142](https://github.com/civicrm/civicrm-core/pull/24142))**
-- **dev/financial#201 Fix PaypalPro IPN to refer to correct option group ([24050](https://github.com/civicrm/civicrm-core/pull/24050))**
+- **Fix and followups for invoice receipt message template
+ ([24111](https://github.com/civicrm/civicrm-core/pull/24111) and
+ [24101](https://github.com/civicrm/civicrm-core/pull/24101))**
-- **Merge forward 5.52-rc => master ([24068](https://github.com/civicrm/civicrm-core/pull/24068))**
+ Removes extraneous closing tags from the invoice receipt message template and
+ adds an upgrade warning regarding the change.
-- **Add whitespace to exception message ([24057](https://github.com/civicrm/civicrm-core/pull/24057))**
+- **5.51 regression - Contribution import - external id/contact id matches to
+ wrong records
+ ([dev/core#3784](https://lab.civicrm.org/dev/core/-/issues/3784):
+ [24166](https://github.com/civicrm/civicrm-core/pull/24166))**
-- **(NFC) HookStyleListener - Comments ([24055](https://github.com/civicrm/civicrm-core/pull/24055))**
+- **Scheduled Job, Process Pledges reports an error when executed - Scheduled
+ Job Failure: Finished execution of Process Pledges with result: Failure,
+ Error message: invalid criteria for IN
+ ([dev/core#3749](https://lab.civicrm.org/dev/core/-/issues/3749):
+ [24059](https://github.com/civicrm/civicrm-core/pull/24059))**
-- **APIv4 - Allow values to start with a dollar sign in chaining ([24052](https://github.com/civicrm/civicrm-core/pull/24052))**
+- **remove pledge status as mandatory in Pledge report
+ ([24028](https://github.com/civicrm/civicrm-core/pull/24028))**
-- **dev/core#3751 - export error fixes for multi-select contact reference custom field ([24047](https://github.com/civicrm/civicrm-core/pull/24047))**
+- **Fix 'Pledge Made Date' display to show date and not time
+ ([24031](https://github.com/civicrm/civicrm-core/pull/24031))**
-- **API - Consistently save custom data for v3 & v4 ([24036](https://github.com/civicrm/civicrm-core/pull/24036))**
+- **E_NOTICEs from CRM_Contribute_Task::permissionedTaskTitles() - undefined /
+ null array errors
+ ([dev/core#3737](https://lab.civicrm.org/dev/core/-/issues/3737):
+ [24010](https://github.com/civicrm/civicrm-core/pull/24010))**
-- **remove start/end date as mandatory in Demographics report ([24048](https://github.com/civicrm/civicrm-core/pull/24048))**
+- **Error thrown when 'remove'ing from CiviContribute Batch
+ ([dev/core#3050](https://lab.civicrm.org/dev/core/-/issues/3050):
+ [24025](https://github.com/civicrm/civicrm-core/pull/24025))**
-- **dev/core#3737 ensure tasks are loaded (notice fix) ([24010](https://github.com/civicrm/civicrm-core/pull/24010))**
+- **Stop adding 'In Progress' and 'Overdue' statuses to
+ civicrm_contribution.contribution_status_id option group (Work Towards
+ [dev/financial#201](https://lab.civicrm.org/dev/financial/-/issues/201):
+ [24050](https://github.com/civicrm/civicrm-core/pull/24050) and
+ [24051](https://github.com/civicrm/civicrm-core/pull/24051))**
-- **[REF][PHP8.1] Apply patches from upstream to ensure league/csv can work on php8.1 ([24046](https://github.com/civicrm/civicrm-core/pull/24046))**
+ Fixes PaypalPro IPN to refer to correct option group and fixes pledge payment
+ to not refer to Contribution status.
-- **[REF][PHP8.1] Update phpoffice/phpword and tecnickcom/tcpdf packages… ([24045](https://github.com/civicrm/civicrm-core/pull/24045))**
+- **Avoid sending blank invoices
+ ([24065](https://github.com/civicrm/civicrm-core/pull/24065))**
-- **Set target="_blank" on external footer links ([23875](https://github.com/civicrm/civicrm-core/pull/23875))**
+### CiviEvent
-- **(NFC) CRM_Core_Permission - More docblocks ([24043](https://github.com/civicrm/civicrm-core/pull/24043))**
+- **CiviCRM 5.51, Import Participants when matching by External / Contact ID
+ always matches to Contacts with ID < 10
+ ([dev/core#3786](https://lab.civicrm.org/dev/core/-/issues/3786):
+ [24153](https://github.com/civicrm/civicrm-core/pull/24153))**
-- **composer.json - Update scssphp and related libraries (for PHP 8.1) ([24044](https://github.com/civicrm/civicrm-core/pull/24044))**
+### CiviMember
-- **5.52 ([24042](https://github.com/civicrm/civicrm-core/pull/24042))**
+- **Notice: Undefined offset: 18 in CRM_Member_Form_Task_Batch->buildQuickForm()
+ ([dev/core#3772](https://lab.civicrm.org/dev/core/-/issues/3772):
+ [24124](https://github.com/civicrm/civicrm-core/pull/24124))**
-- **Afform - Switch to APIv4 for managed afform_type option group ([23896](https://github.com/civicrm/civicrm-core/pull/23896))**
+### Drupal Integration
-- **dev/core#3490 - Apply extension updates after core updates ([24030](https://github.com/civicrm/civicrm-core/pull/24030))**
+- **Error: Trying to access array offset on value of type null in
+ Drupal\civicrm\Plugin\Block\CivicrmBlock->build
+ ([dev/drupal#181](https://lab.civicrm.org/dev/drupal/-/issues/181):
+ [75](https://github.com/civicrm/civicrm-drupal-8/pull/75))**
-- **Afform - Post-submit redirect tokens ([24016](https://github.com/civicrm/civicrm-core/pull/24016))**
+ Fixes an error when a user without proper permissions tries to view the Recent
+ Items block.
-- **APIv4 - Fix mishandling of boolean custom values ([23970](https://github.com/civicrm/civicrm-core/pull/23970))**
+- **Drupal 10 requires Guzzle 7
+ ([dev/drupal#171](https://lab.civicrm.org/dev/drupal/-/issues/171):
+ [22918](https://github.com/civicrm/civicrm-core/pull/22918))**
-- **SearchKit - Switch to APIv4 for managed entities ([23895](https://github.com/civicrm/civicrm-core/pull/23895))**
+ Allows guzzle 7 for drupal 10.
-- **Fix ActionLog BAO to not overwrite existing data ([24035](https://github.com/civicrm/civicrm-core/pull/24035))**
+- **Lower minimum polyfill version since conflicts with drupal/core-recommended
+ ([24017](https://github.com/civicrm/civicrm-core/pull/24017))**
-- **Status Check - Report the overall status (accurately) ([24027](https://github.com/civicrm/civicrm-core/pull/24027))**
+### WordPress Integration
-- **Fix 'Pledge Made Date' display to show date and not time ([24031](https://github.com/civicrm/civicrm-core/pull/24031))**
+- **Downgrade Symfony Service Contracts to 2.2.0 to fix php fatal error in
+ wordpress ([24171](https://github.com/civicrm/civicrm-core/pull/24171))**
-- **dev/core#3050 - (Alternate) Fix crash removing an entry from a batch ([24025](https://github.com/civicrm/civicrm-core/pull/24025))**
+- **fix broken url for wordpress in example code
+ ([24084](https://github.com/civicrm/civicrm-core/pull/24084))**
-- **[REF][PHP8.1] Batch 4 of fixing issues found in unit tests where pass… ([24018](https://github.com/civicrm/civicrm-core/pull/24018))**
+## <a name="misc"></a>Miscellany
-- **Afform - Require Authx ([23767](https://github.com/civicrm/civicrm-core/pull/23767))**
+- **Log a bit more deprecation info
+ ([24064](https://github.com/civicrm/civicrm-core/pull/24064))**
-- **remove pledge status as mandatory in Pledge report ([24028](https://github.com/civicrm/civicrm-core/pull/24028))**
+- **Skip warning about event-online message template during upgrade
+ ([24141](https://github.com/civicrm/civicrm-core/pull/24141))**
-- **SearchKit - Allow html in columns ([24023](https://github.com/civicrm/civicrm-core/pull/24023))**
+- **APIv4 - Improve pseudoconstant support in getFields
+ ([24099](https://github.com/civicrm/civicrm-core/pull/24099))**
-- **Add afform blocks to print summary ([24024](https://github.com/civicrm/civicrm-core/pull/24024))**
+- **Replace all calls to deprecated method
+ CRM_Core_PseudoConstant::activityType()
+ ([dev/core#3692](https://lab.civicrm.org/dev/core/-/issues/3692):
+ [23981](https://github.com/civicrm/civicrm-core/pull/23981),
+ [23982](https://github.com/civicrm/civicrm-core/pull/23982) and
+ [23979](https://github.com/civicrm/civicrm-core/pull/23979))**
-- **Use fontawesome icon helper for activity/Page/AJAX ([24021](https://github.com/civicrm/civicrm-core/pull/24021))**
+- **[REF] Move reCAPTCHA to core extension
+ (Work Towards [dev/core#2571](https://lab.civicrm.org/dev/core/-/issues/2571):
+ [20588](https://github.com/civicrm/civicrm-core/pull/20588))**
-- **Afform - provide easy way to add navigation menu from the form ([24013](https://github.com/civicrm/civicrm-core/pull/24013))**
+- **Regenerate sql
+ ([24119](https://github.com/civicrm/civicrm-core/pull/24119))**
-- **Lower minimum polyfill version since conflicts with drupal/core-recommended ([24017](https://github.com/civicrm/civicrm-core/pull/24017))**
+- **composer.json - Update scssphp and related libraries (for PHP 8.1)
+ ([24044](https://github.com/civicrm/civicrm-core/pull/24044))**
-- **Update cweagans/composer-patches to 1.7.2 to fix delete-and-reinstall problem ([24015](https://github.com/civicrm/civicrm-core/pull/24015))**
+- **net_smtp upgrade to 1.10.0
+ ([23998](https://github.com/civicrm/civicrm-core/pull/23998))**
-- **composer.lock hash out of date ([24011](https://github.com/civicrm/civicrm-core/pull/24011))**
+- **Add whitespace to exception message
+ ([24057](https://github.com/civicrm/civicrm-core/pull/24057))**
-- **add classes to the contribution view page ([24012](https://github.com/civicrm/civicrm-core/pull/24012))**
+- **Update contributor-key.yml
+ ([24078](https://github.com/civicrm/civicrm-core/pull/24078))**
-- **Poly-fill-me-up ([23954](https://github.com/civicrm/civicrm-core/pull/23954))**
+- **Make unshared function private, remove unused return
+ ([24105](https://github.com/civicrm/civicrm-core/pull/24105))**
-- **dev/core#3736 - Fix uploaded file on message template form ([24004](https://github.com/civicrm/civicrm-core/pull/24004))**
+- **Move hook_civicrm_translateFields from message_admin to core
+ ([24063](https://github.com/civicrm/civicrm-core/pull/24063))**
-- **[REF][PHP8.1] Apply PR patch to fix issue in php8.1 where mysqli erro… ([23996](https://github.com/civicrm/civicrm-core/pull/23996))**
+- **Minor test cleanup
+ ([24071](https://github.com/civicrm/civicrm-core/pull/24071))**
-- **Fix test. Don't hide errors. (Followup to 23999) ([24007](https://github.com/civicrm/civicrm-core/pull/24007))**
+- **Whitespace cleanup in invoice template
+ ([24113](https://github.com/civicrm/civicrm-core/pull/24113))**
-- **[REF][PHP8.1] A third batch of fixes where passing in NULL values cau… ([23999](https://github.com/civicrm/civicrm-core/pull/23999))**
+- **Fix test to not use Contribution option group for ContributionRecur status
+ ([24135](https://github.com/civicrm/civicrm-core/pull/24135))**
-- **Allow custom fields to have custom fields ([23995](https://github.com/civicrm/civicrm-core/pull/23995))**
+- **composer.lock hash out of date
+ ([24011](https://github.com/civicrm/civicrm-core/pull/24011))**
-- **[REF][PHP8.1] Fix Return type hints and passing in NULL values causin… ([24000](https://github.com/civicrm/civicrm-core/pull/24000))**
+- **add classes to the contribution view page
+ ([24012](https://github.com/civicrm/civicrm-core/pull/24012))**
-- **[REF][PHP8.1] Fix issues in core extensions where passing in NULL val… ([23997](https://github.com/civicrm/civicrm-core/pull/23997))**
+- **removed import contacts access argument for summary path
+ ([24206](https://github.com/civicrm/civicrm-core/pull/24206))**
-- **Afform - Allow groups and tags and age to be filters ([23974](https://github.com/civicrm/civicrm-core/pull/23974))**
+- **Remove `loadAll` parameter from loadRelatedObjects
+ ([24140](https://github.com/civicrm/civicrm-core/pull/24140))**
-- **SearchKit - Fix adding deep joins ([23993](https://github.com/civicrm/civicrm-core/pull/23993))**
+- **Remove some fixmes from message tpls
+ ([24107](https://github.com/civicrm/civicrm-core/pull/24107))**
-- **net_smtp upgrade to 1.10.0 ([23998](https://github.com/civicrm/civicrm-core/pull/23998))**
+- **Remove extra space, offline receipt
+ ([24106](https://github.com/civicrm/civicrm-core/pull/24106))**
-- **5.52 ([23992](https://github.com/civicrm/civicrm-core/pull/23992))**
+- **Remove call to `loadRelatedObjects` from `completetransaction`
+ ([24087](https://github.com/civicrm/civicrm-core/pull/24087))**
-- **[REF][PHP8.1] Upgrade oauth2-client,zetacomponents/base,htmlpurfier packages … ([23984](https://github.com/civicrm/civicrm-core/pull/23984))**
+- **Remove legacy `apiquery` call from `isContactInGroup`
+ ([24062](https://github.com/civicrm/civicrm-core/pull/24062))**
-- **5.52 ([23990](https://github.com/civicrm/civicrm-core/pull/23990))**
+- **Remove deprecated call to `loadRelatedObjects`
+ ([24088](https://github.com/civicrm/civicrm-core/pull/24088))**
-- **CiviCRM Standalone: base classes ([22227](https://github.com/civicrm/civicrm-core/pull/22227))**
+- **Remove unused variable
+ ([24128](https://github.com/civicrm/civicrm-core/pull/24128))**
-- **[NFC] Add in convertDeprecationsToExceptions='true' to core extension… ([23986](https://github.com/civicrm/civicrm-core/pull/23986))**
+- **Remove reference to CiviAuction
+ ([24187](https://github.com/civicrm/civicrm-core/pull/24187))**
-- **[NFC] Convert Deprecations in tests to exceptions ([23985](https://github.com/civicrm/civicrm-core/pull/23985))**
+- **[REF] Fix Test fails on import by ensuring that Month Abbreviations are
+ formatted based on the first of each month
+ ([24100](https://github.com/civicrm/civicrm-core/pull/24100))**
-- **dev/core#3692 Remove hard coded activity_type_id ([23982](https://github.com/civicrm/civicrm-core/pull/23982))**
+- **[REF] OAuth - Move some API code to the BAO for better reusability
+ ([23725](https://github.com/civicrm/civicrm-core/pull/23725))**
-- **dev/core#3692 Remove call to deprecated function ([23981](https://github.com/civicrm/civicrm-core/pull/23981))**
+- **[REF] Convert Elavon Payment Processor to use Guzzle and ensure that we are
+ using POST requests not GET requests to Elavon end point
+ ([24131](https://github.com/civicrm/civicrm-core/pull/24131))**
-- **dev/core#3692 Comment fixes ([23979](https://github.com/civicrm/civicrm-core/pull/23979))**
+- **[REF] Upgrade DOMPDF to 2.x branch
+ ([23946](https://github.com/civicrm/civicrm-core/pull/23946))**
-- **Add support for multiple-selection of contact IDs in _civicrm_api3_custom_data_get() ([23932](https://github.com/civicrm/civicrm-core/pull/23932))**
+- **[REF][PHP8.1] Batch 4 of fixing issues found in unit tests where passing
+ NULL values triggers deprecations
+ ([24018](https://github.com/civicrm/civicrm-core/pull/24018))**
-- **[NFC] fix composer.lock hash ([23978](https://github.com/civicrm/civicrm-core/pull/23978))**
+- **[REF][PHP8.1] Upgrade oauth2-client,zetacomponents/base,htmlpurfier packages
+ to versions that support php8.1
+ ([23984](https://github.com/civicrm/civicrm-core/pull/23984))**
-- **[NFC] dompdf patch whitespace fix ([23977](https://github.com/civicrm/civicrm-core/pull/23977))**
+- **[php 8.1 compat] Avoid passing null to explode()
+ ([24177](https://github.com/civicrm/civicrm-core/pull/24177))**
-- **REF dev/core#2571 Move reCAPTCHA code to extension ([20588](https://github.com/civicrm/civicrm-core/pull/20588))**
+- **[php 8.1 compat] Avoid passing null to strlen
+ ([24178](https://github.com/civicrm/civicrm-core/pull/24178))**
-- **dev/drupal#171 - Allow guzzle 7 for drupal 10 ([22918](https://github.com/civicrm/civicrm-core/pull/22918))**
+- **[php 8.1 compat] Avoid CRM_Utils_System::url null for $query param
+ ([24176](https://github.com/civicrm/civicrm-core/pull/24176))**
-- **[REF] Upgrade DOMPDF to 2.x branch ([23946](https://github.com/civicrm/civicrm-core/pull/23946))**
+- **[REF][PHP8.1] Fix a couple of deprecations in php8.1 by specifying that
+ return type may change in BaseParamQuery and by ensuring that we don't pass
+ null into function_exists in I18n class
+ ([23851](https://github.com/civicrm/civicrm-core/pull/23851))**
-- **[REF][PHP8.1] Fix a couple of deprecations in php8.1 by specifying th… ([23851](https://github.com/civicrm/civicrm-core/pull/23851))**
+- **[REF] Additional PHP8.1 fix for passing in NULL value to strlen
+ ([349](https://github.com/civicrm/civicrm-packages/pull/349))**
-- **5.52 ([23976](https://github.com/civicrm/civicrm-core/pull/23976))**
+- **[REF][PHP8.1] A third batch of fixes where passing in NULL values causes
+ deprecation notices in php8.1
+ ([23999](https://github.com/civicrm/civicrm-core/pull/23999))**
-- **Issue 181: Ensure content key exists ([75](https://github.com/civicrm/civicrm-drupal-8/pull/75))**
+- **Fix test. Don't hide errors. (Followup to 23999)
+ ([24007](https://github.com/civicrm/civicrm-core/pull/24007))**
-- **[REF] Additional PHP8.1 fix for passing in NULL value to strlen ([349](https://github.com/civicrm/civicrm-packages/pull/349))**
+- **[REF][PHP8.1] Replace usage of the date_format modifer with crmDate to
+ resolve issues with strftime
+ ([24008](https://github.com/civicrm/civicrm-core/pull/24008))**
-- **[REF][PHP8.1] Fix some further places where passing in NULL is deprec… ([348](https://github.com/civicrm/civicrm-packages/pull/348))**
+- **[REF][PHP8.1][INTL] Remove dependency on strftime function by using ts to
+ generate day full names and abbreviations and month abbreviations
+ ([24032](https://github.com/civicrm/civicrm-core/pull/24032))**
-- **[REF][PHP8.1] Fix issues where passing in NULL values causes deprecat… ([346](https://github.com/civicrm/civicrm-packages/pull/346))**
+- **[REF][PHP8.1] Apply patches from upstream to ensure league/csv can work on
+ php8.1 ([24046](https://github.com/civicrm/civicrm-core/pull/24046))**
-- **[REF][PHP8.1] Fix return type hint deprecations in php8.1 in the IDS ([347](https://github.com/civicrm/civicrm-packages/pull/347))**
+- **[php 8.1 compat] Avoid CRM_Utils_System::url null for $query param
+ ([24192](https://github.com/civicrm/civicrm-core/pull/24192))**
-## <a name="misc"></a>Miscellany
+- **[REF][PHP8.1] Update phpoffice/phpword and tecnickcom/tcpdf packages for
+ php8.1 compatability
+ ([24045](https://github.com/civicrm/civicrm-core/pull/24045))**
+
+- **[REF][PHP8.1] Another batch of fixes for passing in NULL values into
+ functions that expect string|array parameters
+ ([24082](https://github.com/civicrm/civicrm-core/pull/24082))**
+
+- **[NFC][PHP8.1] Ensure that Trait function is only accessed by classes that
+ use the trait ([24081](https://github.com/civicrm/civicrm-core/pull/24081))**
+
+- **[REF][PHP8.1] Permit single quotes within html attributes
+ ([24083](https://github.com/civicrm/civicrm-core/pull/24083))**
+
+- **[REF][PHP8.1] Do not set auto_detect_line_endings to true on php versions
+ 8.1 and later as it is deprecated
+ ([24092](https://github.com/civicrm/civicrm-core/pull/24092))**
+
+- **[REF][PHP8.1] Apply patch in PHPWord to fix passing in null value into
+ strlen in validating locale
+ ([24093](https://github.com/civicrm/civicrm-core/pull/24093))**
+
+- **[REF][PHP8.1] Apply PR patch to fix issue in php8.1 where mysqli error
+ reporting changed
+ ([23996](https://github.com/civicrm/civicrm-core/pull/23996))**
+
+- **[REF][PHP8.1] Fix some further places where passing in NULL is deprecated in
+ php8.1 ([348](https://github.com/civicrm/civicrm-packages/pull/348))**
+
+- **[REF][PHP8.1] Fix issues where passing in NULL values causes deprecations in
+ php8.1 ([346](https://github.com/civicrm/civicrm-packages/pull/346))**
+
+- **[REF][PHP8.1] Fix return type hint deprecations in php8.1 in the IDS
+ ([347](https://github.com/civicrm/civicrm-packages/pull/347))**
+
+- **[REF][PHP8.1] Fix Return type hints and passing in NULL values causing
+ deprecation notices in php8.1 in Property Bag
+ ([24000](https://github.com/civicrm/civicrm-core/pull/24000))**
+
+- **[REF][PHP8.1] Fix issues in core extensions where passing in NULL values is
+ no longer supported
+ ([23997](https://github.com/civicrm/civicrm-core/pull/23997))**
+
+- **[NFC] Convert Payment Processor ID field to payment processor in event
+ create in tests
+ ([24256](https://github.com/civicrm/civicrm-core/pull/24256))**
+
+- **(NFC) Add common `@group` for import-related tests
+ ([24150](https://github.com/civicrm/civicrm-core/pull/24150))**
+
+- **NFC - remove unused variables, minor tidy up
+ ([24139](https://github.com/civicrm/civicrm-core/pull/24139))**
+
+- **[NFC] Resolve phpunit warning about using assertContains on strings
+ ([24091](https://github.com/civicrm/civicrm-core/pull/24091))**
+
+- **(NFC) HookStyleListener - Comments
+ ([24055](https://github.com/civicrm/civicrm-core/pull/24055))**
+
+- **(NFC) CRM_Core_Permission - More docblocks
+ ([24043](https://github.com/civicrm/civicrm-core/pull/24043))**
+
+- **[NFC] Add in convertDeprecationsToExceptions='true' to core extension's
+ phpunit.xml.dist files
+ ([23986](https://github.com/civicrm/civicrm-core/pull/23986))**
+
+- **[NFC] Convert Deprecations in tests to exceptions
+ ([23985](https://github.com/civicrm/civicrm-core/pull/23985))**
+
+- **[NFC] fix composer.lock hash
+ ([23978](https://github.com/civicrm/civicrm-core/pull/23978))**
+
+- **[NFC] dompdf patch whitespace fix
+ ([23977](https://github.com/civicrm/civicrm-core/pull/23977))**
## <a name="credits"></a>Credits
This release was developed by the following code authors:
-AGH Strategies - Andie Hunt; Agileware - Justin Freeman; Alexy Mikhailichenko; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; CSES (Chelmsford Science and Engineering Society) - Adam Wood; Dave D; Freeform Solutions - Herb van den Dool; Jens Schuppe; JMA Consulting - Seamus Lee; Joinery - Allen Shaw; KAM z.s. - Vít Maňásek; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Robert J. Lang; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi, Michael McAndrew; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Andie Hunt; Agileware - Justin Freeman; Alexy Mikhailichenko;
+Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten;
+CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy;
+CSES (Chelmsford Science and Engineering Society) - Adam Wood; Dave D;
+Freeform Solutions - Herb van den Dool; Jens Schuppe;
+JMA Consulting - Seamus Lee; Joinery - Allen Shaw; KAM z.s. - Vít Maňásek;
+Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg;
+MJW Consulting - Matthew Wire; Robert J. Lang;
+Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi,
+Michael McAndrew; Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-Agileware - Francis Whittle, Justin Freeman; Alexy Mikhailichenko; Andy Burns; Artful Robot - Rich Lott; avall-llovera; Betty Dolfing; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Jens Schuppe; JMA Consulting - Monish Deb, Seamus Lee; KAM z.s. - Vít Maňásek; Lemniscus - Noah Miller; Levi-70; Megaphone Technology Consulting - Jon Goldberg; Mikey O'Toole; MJW Consulting - Matthew Wire; savionlee; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
+Agileware - Francis Whittle; Andy Burns; Artful Robot - Rich Lott;
+avall-llovera; Betty Dolfing; Circle Interactive - Pradeep Nayak;
+CiviCoop - Jaap Jansma; Francesc Bassas i Bullich; JMA Consulting - Monish Deb;
+Levi.k; Mikey O'Toole; Savion Lee; Squiffle Consulting - Aidan Saunders
## <a name="feedback"></a>Feedback