| *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? | no |
+| **Fix problems installing or upgrading to a previous version?** | **yes** |
+| **Introduce features?** | **yes** |
+| **Fix bugs?** | **yes** |
## <a name="features"></a>Features
### Core CiviCRM
-- **crm- Missing Summary ([18229](https://github.com/civicrm/civicrm-core/pull/18229))**
+- **APIv4 Explorer: Generate short cv code
+ ([18089](https://github.com/civicrm/civicrm-core/pull/18089))**
-## <a name="bugs"></a>Bugs resolved
+ Improves the APIv4 Explorer user interface by including cv code to run the API
+ from CLI.
-### Core CiviCRM
+- **Optimise proximity custom search, by reducing addGeocodingData fn call
+ ([18248](https://github.com/civicrm/civicrm-core/pull/18248))**
-- **Add ability to enable query logging per process ([18335](https://github.com/civicrm/civicrm-core/pull/18335))**
+ Improves performance of the proximity custom search.
-- **5.29 ([18334](https://github.com/civicrm/civicrm-core/pull/18334))**
+- **Support more table names for utf8mb4 conversions and database name
+ ([18249](https://github.com/civicrm/civicrm-core/pull/18249))**
-- **[REF] Move function to delete merged contacts to the Merger class and include all instances of the pair ([17980](https://github.com/civicrm/civicrm-core/pull/17980))**
+ Improves the System.utf8conversion API so that one can specify table patterns
+ and databases.
-- **dev/core#1956 - Typo in call to nestedGroup on scheduled reminders admin form ([18323](https://github.com/civicrm/civicrm-core/pull/18323))**
+- **distmaker - Autogenerate civicrm-*-patchset.tar.gz
+ ([18229](https://github.com/civicrm/civicrm-core/pull/18229))**
-- **5.29 ([18327](https://github.com/civicrm/civicrm-core/pull/18327))**
+ Adds a script to autogenerate `civicrm-*-patchset.tar.gz` instead of having to
+ manually generate it every release.
-- **dev/mail#24, item 1 - Fix spec labels MailingEventSubscribe.create ([18325](https://github.com/civicrm/civicrm-core/pull/18325))**
+- **Finish allowing use of SSL to connect to database
+ (Work Towards [dev/core#1926](https://lab.civicrm.org/dev/core/-/issues/1926):
+ [18095](https://github.com/civicrm/civicrm-core/pull/18095))**
-- **5.29 ([18320](https://github.com/civicrm/civicrm-core/pull/18320))**
+ Code cleanup towards the goal of allowing SSL database connections.
-- **[REF] Remove most interaction with $objects in completeOrder ([18315](https://github.com/civicrm/civicrm-core/pull/18315))**
+- **Profile settings - Add new contacts to a Group? is misleading
+ ([dev/core#1950](https://lab.civicrm.org/dev/core/-/issues/1950):
+ [18153](https://github.com/civicrm/civicrm-core/pull/18153))**
-- **Test & remove handling for max_related in renewal form ([18295](https://github.com/civicrm/civicrm-core/pull/18295))**
+ Improves user experience by editing the help text and description for the "Add
+ new contacts to a Group?" setting.
-- **5.29 to master ([18316](https://github.com/civicrm/civicrm-core/pull/18316))**
+- **API4: Inconsistent behavior on Role ID
+ ([dev/event#37](https://lab.civicrm.org/dev/event/-/issues/37):
+ [18285](https://github.com/civicrm/civicrm-core/pull/18285))**
-- **REF Remove unused passbyreference and var from ipn_process_transaction ([18311](https://github.com/civicrm/civicrm-core/pull/18311))**
+ Allows searching within arrays or serialized strings via APIv4 (and the new
+ Search extension).
-- **[REF] Clean up return variables on updateContributionStatus, updatePendingOnlineContribution ([18303](https://github.com/civicrm/civicrm-core/pull/18303))**
+- **APIv4 - Fix output of CustomValue create/save/update
+ ([18195](https://github.com/civicrm/civicrm-core/pull/18195))**
-- **Fix test set up to call Order.create to create the correct line items ([18279](https://github.com/civicrm/civicrm-core/pull/18279))**
+ Improves APIv4 output when saving custom pseudo-entities so that it outputs
+ the values saved instead of `[is_error => 0, result => true]`.
-- **[REF] Separate and move line-item specific portion of checkTaxAmount to LineItem api ([18294](https://github.com/civicrm/civicrm-core/pull/18294))**
+- **Add ability to enable query logging per process
+ ([18335](https://github.com/civicrm/civicrm-core/pull/18335))**
-- **5.29 ([18305](https://github.com/civicrm/civicrm-core/pull/18305))**
+ Makes it possible to enable logging by process as opposed to all processes or
+ no processes.
-- **Move LineItem acl handling from v3 api to financialacls core extension ([18293](https://github.com/civicrm/civicrm-core/pull/18293))**
+- **Expose field label to APIv4 and Search creator
+ ([18255](https://github.com/civicrm/civicrm-core/pull/18255) and
+ [18256](https://github.com/civicrm/civicrm-core/pull/18256))**
-- **[REF] Fix financial item allocation of negative payments against completed payments ([17810](https://github.com/civicrm/civicrm-core/pull/17810))**
+ Progress towards codifying the difference between a field's title and
+ label in the schema.
-- **Remove 'hack' that overwrites result of searchColumns hook in mailings list ([18237](https://github.com/civicrm/civicrm-core/pull/18237))**
+ These changes:
+ - expose labels to APIv4
+ - switch to using labels in the new search extension.
+ - separates titles from labels in exportable fields.
+ - attempts to clarify the difference between titles and labels in the
+ getfields description as:
+ - title: "Technical name of field, shown in API and exports"
+ - label: "User-facing label, shown on most forms and displays"
-- **5.29 to master ([18302](https://github.com/civicrm/civicrm-core/pull/18302))**
+- **Metadata fix - phone_type_id, location_type_id, gender_id
+ ([18114](https://github.com/civicrm/civicrm-core/pull/18114))**
-- **event#34: allow negative self-service/transfer time ([18067](https://github.com/civicrm/civicrm-core/pull/18067))**
+ Improves metadata for various fields to align with new title and label
+ standards.
-- **Add test to check, remove unnecessary lines ([18292](https://github.com/civicrm/civicrm-core/pull/18292))**
+- **CRM_Utils_VersionCheck - respect force param
+ ([18183](https://github.com/civicrm/civicrm-core/pull/18183))**
-- **Clean money for non-deductible amount ([18300](https://github.com/civicrm/civicrm-core/pull/18300))**
+ Makes the versionCheck job more consistent with other checks by respecting
+ APIv4's "force" setting to run even if disabled.
-- **[REF] [test] Slight increase in test cover & make functions more re-usable ([18291](https://github.com/civicrm/civicrm-core/pull/18291))**
+- **Add Serialize key to payment_processor field for Event & Contribution Page
+ ([18110](https://github.com/civicrm/civicrm-core/pull/18110))**
-- **[REF] simplify retrieval of existing membership on membership renewal form ([18296](https://github.com/civicrm/civicrm-core/pull/18296))**
+ Use metatdata rather than code handling to save array of processors. This
+ makes it so that the DAO can handle arrays if it knows the format.
-- **Improve robustness of api/class.api.php ([18283](https://github.com/civicrm/civicrm-core/pull/18283))**
+### CiviContribute
-- **add serialize data to actionschedule ([18289](https://github.com/civicrm/civicrm-core/pull/18289))**
+- **Shell Financial ACLs extension
+ ([18269](https://github.com/civicrm/civicrm-core/pull/18269))**
-- **dev/event#37 Add CONTAINS operator for APIv4 & Search ([18285](https://github.com/civicrm/civicrm-core/pull/18285))**
+ Begins work to move Financial ACL code into an extension.
-- **[REF] Extract function to get locations to merge, rename 'operation' … ([17991](https://github.com/civicrm/civicrm-core/pull/17991))**
+- **Add Line Item v4 API (Work Towards
+ [dev/core#1980](https://lab.civicrm.org/dev/core/-/issues/1980):
+ [18275](https://github.com/civicrm/civicrm-core/pull/18275) and
+ [18293](https://github.com/civicrm/civicrm-core/pull/18293))**
-- **dev/core#1980 Move (now tested) delete acl check from v3 api to pre delete hook ([18275](https://github.com/civicrm/civicrm-core/pull/18275))**
+ Extends permission handling for LineItem delete and LineItem ACLs from APIv3 to
+ to APIv4 by moving it to the `financialacls` extension.
-- **remove dropped tables for activity target and assignment ([18280](https://github.com/civicrm/civicrm-core/pull/18280))**
+- **Book keeping Report : Add Time field for Transaction Date and Receive Date
+ field ([dev/report#47](https://lab.civicrm.org/dev/report/-/issues/47):
+ [18268](https://github.com/civicrm/civicrm-core/pull/18268))**
-- **Add line item acl tests ([18274](https://github.com/civicrm/civicrm-core/pull/18274))**
+ Adds a time field to the "Transaction Date" and "Receive Date" filters on the
+ Bookkeeping report.
-- **5.29 ([18276](https://github.com/civicrm/civicrm-core/pull/18276))**
+### CiviEvent
-- **report#47 Report Bookkeeping add time field for date filter. ([18268](https://github.com/civicrm/civicrm-core/pull/18268))**
+- **Wrap "not you" message in crmRegion
+ ([18236](https://github.com/civicrm/civicrm-core/pull/18236))**
-- **Fix regen and update civicrm_generated ([18273](https://github.com/civicrm/civicrm-core/pull/18273))**
+ Wraps the "Not you, do you want to register for someone else" message in a
+ crmRegion so that it can be removed/replaced by the buildForm hook.
-- **[REF] Move Auto DSN Switching into a core function ([18270](https://github.com/civicrm/civicrm-core/pull/18270))**
+### CiviMail
-- **Shell Financial ACLs extension ([18269](https://github.com/civicrm/civicrm-core/pull/18269))**
+- **Add new columns to mailing summary report
+ ([dev/core#1944](https://lab.civicrm.org/dev/core/-/issues/1944):
+ [18132](https://github.com/civicrm/civicrm-core/pull/18132))**
-- **dev/core#912 update payment instrument of main contribution record ([18266](https://github.com/civicrm/civicrm-core/pull/18266))**
+ Adds two new columns to the mailing summary report: "Sender Name" and "Sender
+ Email".
-- **Use already determined value for contributionRecurID ([18265](https://github.com/civicrm/civicrm-core/pull/18265))**
+- **Add disable_smarty option to MessageTemplate.send API
+ ([18118](https://github.com/civicrm/civicrm-core/pull/18118))**
-- **Remove old dropped items from the schema xml ([18244](https://github.com/civicrm/civicrm-core/pull/18244))**
+ Improves the `MessageTemplate.send` API by adding a new optional parameter
+ "disable_smarty", when "disable_smarty" is set to true smarty is not applied
+ to the contents of the message.
-- **Remove 1 of 2 remaining places where relatedObjects is called in completeOrder ([18257](https://github.com/civicrm/civicrm-core/pull/18257))**
+### WordPress Integration
-- **dev/core#1971 Caching of domain-specific option values ([18252](https://github.com/civicrm/civicrm-core/pull/18252))**
+- **Switch WP over to new installer
+ ([dev/wordpress#37](https://lab.civicrm.org/dev/wordpress/-/issues/37):
+ [215](https://github.com/civicrm/civicrm-wordpress/pull/215))**
-- **Remove last pass-by-reference in completeOrder signature ([18258](https://github.com/civicrm/civicrm-core/pull/18258))**
+ Switch to new CiviCRM Installer.
-- **Support more table names for utf8mb4 conversions and database name ([18249](https://github.com/civicrm/civicrm-core/pull/18249))**
+### Drupal Integration
-- **[REF] Ensure that the form param _id is set when adding a new group w… ([18250](https://github.com/civicrm/civicrm-core/pull/18250))**
+- **Allow for the setting of an additional constant CIVICRM_DRUSH_DSN
+ ([613](https://github.com/civicrm/civicrm-drupal/pull/613))**
-- **Optimise proximity custom search, by reducing addGeocodingData fn call ([18248](https://github.com/civicrm/civicrm-core/pull/18248))**
+ Allows sites to configure CIVICRM_DRUSH_DSN for drush to use to set up
+ database connections.
-- **Expose field label to APIv4 and Search creaor ([18255](https://github.com/civicrm/civicrm-core/pull/18255))**
+## <a name="bugs"></a>Bugs resolved
-- **Separate titles from labels in exportable fields ([18256](https://github.com/civicrm/civicrm-core/pull/18256))**
+### Core CiviCRM
-- **Fix js for case type status change on load ([18254](https://github.com/civicrm/civicrm-core/pull/18254))**
+- **Increase size of mysql field in export table for column with
+ CRM_Utils_Type::T_INT type
+ ([dev/core#1661](https://lab.civicrm.org/dev/core/-/issues/1661):
+ [17956](https://github.com/civicrm/civicrm-core/pull/17956))**
-- **Batch Update via Profile does not supply data for editing when custom fields created after participant added to event ([18235](https://github.com/civicrm/civicrm-core/pull/18235))**
+ Fixes some data too long for column errors when exporting.
-- **Wrap "not you" message in crmRegion ([18236](https://github.com/civicrm/civicrm-core/pull/18236))**
+- **Improve robustness of api/class.api.php
+ ([18283](https://github.com/civicrm/civicrm-core/pull/18283))**
-- **Do not pass by reference for createRelatedMemberships ([18243](https://github.com/civicrm/civicrm-core/pull/18243))**
+ Ensures that the API mode is set to "local" when an empty string is passed
+ as the server.
-- **Remove 2019 deprecated function ([18242](https://github.com/civicrm/civicrm-core/pull/18242))**
+- **add serialize data to actionschedule
+ ([18289](https://github.com/civicrm/civicrm-core/pull/18289))**
-- **Add disable_smarty option to MessageTemplate.send API ([18118](https://github.com/civicrm/civicrm-core/pull/18118))**
+ Ensures one can create a scheduled reminder via the API that triggers on two
+ different events.
-- **dev/core#1950 Update help text and description for the profile add to groups setting ([18153](https://github.com/civicrm/civicrm-core/pull/18153))**
+- **API - Add upgrade-safe checks to ensure table exists before reading
+ ([18135](https://github.com/civicrm/civicrm-core/pull/18135))**
-- **Remove ref to logging time ([18221](https://github.com/civicrm/civicrm-core/pull/18221))**
+ Adds efficient checks into the API (v3 and v4) to ensure a DAO table
+ exists before trying to read from it. This prevents hard-crashes in the UI
+ when there are pending updates (or during the upgrade process itself),
-- **Replace deprecated Drupal 8 constants ([18240](https://github.com/civicrm/civicrm-core/pull/18240))**
+- **DB_DataObject - Read CIVICRM_DEBUG_LOG_QUERY correctly
+ ([305](https://github.com/civicrm/civicrm-packages/pull/305))**
-- **trim white space when checking dedupe ([18234](https://github.com/civicrm/civicrm-core/pull/18234))**
+ Makes The value of `CIVICRM_DEBUG_LOG_QUERY` TRUE-ish or FALSE-ish instead of
+ considering any value true.
-- **Spelling mistake "separator" not "seperator" ([18238](https://github.com/civicrm/civicrm-core/pull/18238))**
+- **APIv4 Explorer - Fix possible undefined index
+ ([18093](https://github.com/civicrm/civicrm-core/pull/18093))**
-- **[NFC] Some DAO checksums not updated ([18239](https://github.com/civicrm/civicrm-core/pull/18239))**
+- **Option value cache key missing domain ID can result in wrong value retrieved
+ for domain ([dev/core#1971](https://lab.civicrm.org/dev/core/-/issues/1971):
+ [18252](https://github.com/civicrm/civicrm-core/pull/18252))**
-- **5.29 ([18231](https://github.com/civicrm/civicrm-core/pull/18231))**
+- **Upgrade screen - show success instead of error if already upgraded
+ ([18181](https://github.com/civicrm/civicrm-core/pull/18181))**
-- **5.29 ([18226](https://github.com/civicrm/civicrm-core/pull/18226))**
+- **trim white space when checking dedupe
+ ([18234](https://github.com/civicrm/civicrm-core/pull/18234))**
-- **5.29 to master ([18222](https://github.com/civicrm/civicrm-core/pull/18222))**
+### CiviCase
-- **[Test framework] - Remove test for deprecated way of calling hook invoke ([18136](https://github.com/civicrm/civicrm-core/pull/18136))**
+- **Fix js for case type status change on load
+ ([18254](https://github.com/civicrm/civicrm-core/pull/18254))**
-- **Cleanup contactID variables in event/contribution register buildQuickForm ([18208](https://github.com/civicrm/civicrm-core/pull/18208))**
+### CiviContribute
-- **Remove unused variables from repeatTransaction ([18209](https://github.com/civicrm/civicrm-core/pull/18209))**
+- **Clean money for non-deductible amount
+ ([18300](https://github.com/civicrm/civicrm-core/pull/18300))**
-- **Metadata fix in activity search ([18216](https://github.com/civicrm/civicrm-core/pull/18216))**
+ Ensures that the Contribution API cleans data entered into the "non-deductible
+ amount" field the same way it cleans the other money fields.
-- **Minor code cleanup to Order API ([18217](https://github.com/civicrm/civicrm-core/pull/18217))**
+- **Processors - remove gross_amount param from processors
+ ([18177](https://github.com/civicrm/civicrm-core/pull/18177))**
-- **5.29 ([18215](https://github.com/civicrm/civicrm-core/pull/18215))**
+ The gross_amount param is returned by a bunch of processors but is not used so
+ this removes it.
-- **(NFC) Add some tests to the `resources` group ([18211](https://github.com/civicrm/civicrm-core/pull/18211))**
+- **{contribution.receipt_date} token does not use any CiviCRM date formatter,
+ output in YYYY-MM-DD HH:MM:SS format and {contribution.receive_date} also uses
+ a non-standard format
+ ([18176](https://github.com/civicrm/civicrm-core/pull/18176))**
-- **5.29 ([18210](https://github.com/civicrm/civicrm-core/pull/18210))**
+- **Fix PHP notice on contribution page
+ ([18116](https://github.com/civicrm/civicrm-core/pull/18116))**
-- **5.29 ([18203](https://github.com/civicrm/civicrm-core/pull/18203))**
+- **E_NOTICE on contribution page widget tab
+ ([18189](https://github.com/civicrm/civicrm-core/pull/18189))**
-- **APIv4 - Fix output of CustomValue create/save/update ([18195](https://github.com/civicrm/civicrm-core/pull/18195))**
+- **change payment instrument when pending payment paid through credit card
+ ([dev/core#912](https://lab.civicrm.org/dev/core/-/issues/912):
+ [18266](https://github.com/civicrm/civicrm-core/pull/18266))**
-- **5.29 ([18199](https://github.com/civicrm/civicrm-core/pull/18199))**
+### CiviEvent
-- **Remove first_contribution key from repeattransaction ([18197](https://github.com/civicrm/civicrm-core/pull/18197))**
+- **Allow the "Cancellation or transfer time limit (hours)" to be negative
+ ([dev/event#34](https://lab.civicrm.org/dev/event/-/issues/34):
+ [18067](https://github.com/civicrm/civicrm-core/pull/18067))**
-- **Remove unnecessary transformation of upgrade msg severity ([18182](https://github.com/civicrm/civicrm-core/pull/18182))**
+ Ensures that entering a negative value into "Cancellation or transfer time
+ limit (hours)" saves correctly and works as expected.
-- **Metadata fix - phone_type_id, location_type_id, gender_id ([18114](https://github.com/civicrm/civicrm-core/pull/18114))**
+- **Batch Update via Profile does not supply data for editing when custom fields
+ created after participant added to event
+ ([18235](https://github.com/civicrm/civicrm-core/pull/18235))**
-- **Check if $post defined before trying to use its field values. ([18168](https://github.com/civicrm/civicrm-core/pull/18168))**
+- **E_WARNING when saving event fees admin page if there's no discounts set
+ ([18169](https://github.com/civicrm/civicrm-core/pull/18169))**
-- **5.29 to master ([18193](https://github.com/civicrm/civicrm-core/pull/18193))**
+### CiviMail
-- **Put mysql back in civicrm.settings.php template ([18188](https://github.com/civicrm/civicrm-core/pull/18188))**
+- **Unexpected behavior from api.MailingEventSubscribe.create
+ (Work Towards [dev/mail#24](https://lab.civicrm.org/dev/mail/-/issues/24):
+ [18325](https://github.com/civicrm/civicrm-core/pull/18325))**
-- **E_NOTICE on contribution page widget tab ([18189](https://github.com/civicrm/civicrm-core/pull/18189))**
+ Fixes labels for APIv3 `MailingEventSubscribe.create` so that they accurately
+ represent the behavior (unsubscribe v subscribe).
-- **CRM_Utils_VersionCheck - respect force param ([18183](https://github.com/civicrm/civicrm-core/pull/18183))**
+- **Mass SMS: Limit group selection to mailing groups
+ ([18154](https://github.com/civicrm/civicrm-core/pull/18154))**
-- **5.29 ([18187](https://github.com/civicrm/civicrm-core/pull/18187))**
+ Ensures that the fields "Include Groups" and "Exclude Groups" on the "New SMS" form
+ only list groups of the type "Mailing List".
-- **(NFC) Update various DAO checksums ([18184](https://github.com/civicrm/civicrm-core/pull/18184))**
+### Drupal Integration
-- **E_WARNING when saving event fees admin page if there's no discounts set ([18169](https://github.com/civicrm/civicrm-core/pull/18169))**
+- **Fix : Enable Drupal Watchdog Logging for Drupal 8
+ ([dev/core#1943](https://lab.civicrm.org/dev/core/-/issues/1943):
+ [18115](https://github.com/civicrm/civicrm-core/pull/18115))**
-- **Upgrade screen - show success instead of error if already upgraded ([18181](https://github.com/civicrm/civicrm-core/pull/18181))**
+ Ensure the setting `Enable Drupal Watchdog Logging` works on Drupal 8 sites.
-- **Processors - remove gross_amount param from processors ([18177](https://github.com/civicrm/civicrm-core/pull/18177))**
+### WordPress Integration
-- **5.29 ([18173](https://github.com/civicrm/civicrm-core/pull/18173))**
+- **Check if $post defined before trying to use its field values.
+ ([18168](https://github.com/civicrm/civicrm-core/pull/18168))**
-- **{contribution.receipt_date} token does not use any CiviCRM date formatter, output in YYYY-MM-DD HH:MM:SS format and {contribution.receive_date} also uses a non-standard format ([18176](https://github.com/civicrm/civicrm-core/pull/18176))**
+ This fixes php notices like `PHP Notice: Trying to get property 'post_name'
+ of non-object in <webroot
+ path>\wp-content\plugins\civicrm\civicrm\CRM\Utils\System\WordPress.php on
+ line 288`
-- **Minor cleanup in test class ([18170](https://github.com/civicrm/civicrm-core/pull/18170))**
+## <a name="misc"></a>Miscellany
-- **[REF] Deprecate unused SQL temptable functions ([18171](https://github.com/civicrm/civicrm-core/pull/18171))**
+- **Fix regen and update civicrm_generated
+ ([18273](https://github.com/civicrm/civicrm-core/pull/18273))**
-- **Mass SMS: Limit group selection to mailing groups ([18154](https://github.com/civicrm/civicrm-core/pull/18154))**
+- **Do not pass by reference for createRelatedMemberships
+ ([18243](https://github.com/civicrm/civicrm-core/pull/18243))**
-- **[REF] Update recent replacement for CRM_Utils_Array::value ([18172](https://github.com/civicrm/civicrm-core/pull/18172))**
+- **Typo in groups dropdown on scheduled reminders admin form
+ ([dev/core#1956](https://lab.civicrm.org/dev/core/-/issues/1956):
+ [18323](https://github.com/civicrm/civicrm-core/pull/18323))**
-- **5.29 ([18165](https://github.com/civicrm/civicrm-core/pull/18165))**
+- **Replace CRM_Utils_Array::value in contribution/confirm and bao/membership
+ ([18157](https://github.com/civicrm/civicrm-core/pull/18157))**
-- **Replace CRM_Utils_Array::value in contribution/confirm and bao/membership ([18157](https://github.com/civicrm/civicrm-core/pull/18157))**
+- **Cleanup contactID variables in event/contribution register buildQuickForm
+ ([18208](https://github.com/civicrm/civicrm-core/pull/18208))**
-- **5.29 ([18159](https://github.com/civicrm/civicrm-core/pull/18159))**
+- **Use already determined value for contributionRecurID
+ ([18265](https://github.com/civicrm/civicrm-core/pull/18265))**
-- **Remove legacy handling for 'fixing' line_item.entity_id ([18155](https://github.com/civicrm/civicrm-core/pull/18155))**
+- **Minor code cleanup to Order API
+ ([18217](https://github.com/civicrm/civicrm-core/pull/18217))**
-- **Remove deprecated code ids['userId'] ([18156](https://github.com/civicrm/civicrm-core/pull/18156))**
+- **CodeGen - Add use statement to extensions DAO files
+ ([18094](https://github.com/civicrm/civicrm-core/pull/18094))**
-- **[REF] Remove usages of CRM_Utils_Money::format that pass in a blank s… ([18142](https://github.com/civicrm/civicrm-core/pull/18142))**
+- **Use more appropriate money format function
+ ([18151](https://github.com/civicrm/civicrm-core/pull/18151))**
-- **5.29 ([18148](https://github.com/civicrm/civicrm-core/pull/18148))**
+- **Metadata fix in activity search
+ ([18216](https://github.com/civicrm/civicrm-core/pull/18216))**
-- **Use more appropriate money format function ([18151](https://github.com/civicrm/civicrm-core/pull/18151))**
+- **Replace deprecated Drupal 8 constants
+ ([18240](https://github.com/civicrm/civicrm-core/pull/18240))**
-- **API - Add upgrade-safe checks to ensure table exists before reading ([18135](https://github.com/civicrm/civicrm-core/pull/18135))**
+- **Spelling mistake "separator" not "seperator"
+ ([18238](https://github.com/civicrm/civicrm-core/pull/18238))**
-- **Deprecate 'trapException' in DAO::executeQuery ([18138](https://github.com/civicrm/civicrm-core/pull/18138))**
+- **Remove unused variables from repeatTransaction
+ ([18209](https://github.com/civicrm/civicrm-core/pull/18209))**
-- **(REF) CRM_Core_Region - Remove unused bits ([18139](https://github.com/civicrm/civicrm-core/pull/18139))**
+- **Remove first_contribution key from repeattransaction
+ ([18197](https://github.com/civicrm/civicrm-core/pull/18197))**
-- **dev/core#1661 Allow phones with types longer than 16 chars to export ([17956](https://github.com/civicrm/civicrm-core/pull/17956))**
+- **Remove unnecessary transformation of upgrade msg severity
+ ([18182](https://github.com/civicrm/civicrm-core/pull/18182))**
-- **[REF] Move isSSLDSN() function to avoid potential problems ([18131](https://github.com/civicrm/civicrm-core/pull/18131))**
+- **Remove old dropped items from the schema xml
+ ([18244](https://github.com/civicrm/civicrm-core/pull/18244))**
-- **Deprecate/remove unused checkVersion() functions ([18134](https://github.com/civicrm/civicrm-core/pull/18134))**
+- **Remove 1 of 2 remaining places where relatedObjects is called in
+ completeOrder ([18257](https://github.com/civicrm/civicrm-core/pull/18257))**
-- **(dev/core#1944) Add new columns to mailing summary report ([18132](https://github.com/civicrm/civicrm-core/pull/18132))**
+- **Remove last pass-by-reference in completeOrder signature
+ ([18258](https://github.com/civicrm/civicrm-core/pull/18258))**
-- **CodeGen - Add use statement to extensions DAO files ([18094](https://github.com/civicrm/civicrm-core/pull/18094))**
+- **Remove legacy handling for 'fixing' line_item.entity_id
+ ([18155](https://github.com/civicrm/civicrm-core/pull/18155))**
-- **5.29 ([18128](https://github.com/civicrm/civicrm-core/pull/18128))**
+- **Remove deprecated code ids['userId']
+ ([18156](https://github.com/civicrm/civicrm-core/pull/18156))**
-- **dev/core#1926 - Towards supporting SSL for mysql connections - remove DB::connect that doesn't add anything ([18095](https://github.com/civicrm/civicrm-core/pull/18095))**
+- **Remove 'hack' that overwrites result of searchColumns hook in mailings list
+ ([18237](https://github.com/civicrm/civicrm-core/pull/18237))**
-- **5.29 ([18122](https://github.com/civicrm/civicrm-core/pull/18122))**
+- **Remove unused variable
+ ([18108](https://github.com/civicrm/civicrm-core/pull/18108))**
-- **Fix PHP notice on contribution page ([18116](https://github.com/civicrm/civicrm-core/pull/18116))**
+- **Remove handling for 4.2 DBs
+ ([612](https://github.com/civicrm/civicrm-drupal/pull/612))**
-- **[NFC] Add code comments about hidden but still used buttons ([18119](https://github.com/civicrm/civicrm-core/pull/18119))**
+- **Remove ref to logging time
+ ([18221](https://github.com/civicrm/civicrm-core/pull/18221))**
-- **dev/core#1943 add functionality to add civicrm log into Drupal access log ([18115](https://github.com/civicrm/civicrm-core/pull/18115))**
+- **Remove 2019 deprecated function
+ ([18242](https://github.com/civicrm/civicrm-core/pull/18242))**
-- **5.29 to master ([18117](https://github.com/civicrm/civicrm-core/pull/18117))**
+- **remove dropped tables for activity target and assignment
+ ([18280](https://github.com/civicrm/civicrm-core/pull/18280))**
-- **[NFC] [Test] Initial testing on event payment forms. ([18112](https://github.com/civicrm/civicrm-core/pull/18112))**
+- **Deprecate 'trapException' in DAO::executeQuery
+ ([18138](https://github.com/civicrm/civicrm-core/pull/18138))**
-- **Add Serialize key to payment_processor field for Event & Contribution Page ([18110](https://github.com/civicrm/civicrm-core/pull/18110))**
+- **Deprecate/remove unused checkVersion() functions
+ ([18134](https://github.com/civicrm/civicrm-core/pull/18134))**
-- **[NFC] Array formatting ([18109](https://github.com/civicrm/civicrm-core/pull/18109))**
+- **[REF] Ensure that the form param _id is set when adding a new group w…
+ ([18250](https://github.com/civicrm/civicrm-core/pull/18250))**
-- **Remove unused variable ([18108](https://github.com/civicrm/civicrm-core/pull/18108))**
+- **[REF] Update recent replacement for CRM_Utils_Array::value
+ ([18172](https://github.com/civicrm/civicrm-core/pull/18172))**
-- **5.29 ([18104](https://github.com/civicrm/civicrm-core/pull/18104))**
+- **[REF] Remove usages of CRM_Utils_Money::format that pass in a blank s…
+ ([18142](https://github.com/civicrm/civicrm-core/pull/18142))**
-- **5.29 ([18100](https://github.com/civicrm/civicrm-core/pull/18100))**
+- **[REF] Move isSSLDSN() function to avoid potential problems
+ ([18131](https://github.com/civicrm/civicrm-core/pull/18131))**
-- **There is no "I" in mysqli - oh wait there is ([18097](https://github.com/civicrm/civicrm-core/pull/18097))**
+- **(REF) CRM_Core_Region - Remove unused bits
+ ([18139](https://github.com/civicrm/civicrm-core/pull/18139))**
-- **5.29 to master ([18098](https://github.com/civicrm/civicrm-core/pull/18098))**
+- **[REF] Move Auto DSN Switching into a core function
+ ([18270](https://github.com/civicrm/civicrm-core/pull/18270))**
-- **[NFC] Update locale over-ride documentation to mention that it is mos… ([17919](https://github.com/civicrm/civicrm-core/pull/17919))**
+- **[REF] Remove DB Package as it is now deployed using composer
+ ([302](https://github.com/civicrm/civicrm-packages/pull/302))**
-- **APIv4 Explorer - Fix possible undefined index ([18093](https://github.com/civicrm/civicrm-core/pull/18093))**
+- **[REF] Deploy Pear DB package using composer
+ ([18027](https://github.com/civicrm/civicrm-core/pull/18027))**
-- **[REF] Update subtypeInfo function to leverage getAllContactTypes ([17934](https://github.com/civicrm/civicrm-core/pull/17934))**
+- **[REF] Update subtypeInfo function to leverage getAllContactTypes
+ ([17934](https://github.com/civicrm/civicrm-core/pull/17934))**
-- **[REF] Fix metadata label for contribution_page_id ([18047](https://github.com/civicrm/civicrm-core/pull/18047))**
+- **[REF] Fix metadata label for contribution_page_id
+ ([18047](https://github.com/civicrm/civicrm-core/pull/18047))**
-- **5.29 ([18090](https://github.com/civicrm/civicrm-core/pull/18090))**
+- **REF Remove unused passbyreference and var from ipn_process_transaction
+ ([18311](https://github.com/civicrm/civicrm-core/pull/18311))**
-- **APIv4 Explorer: Generate short cv code ([18089](https://github.com/civicrm/civicrm-core/pull/18089))**
+- **[REF] Clean up return variables on updateContributionStatus,
+ updatePendingOnlineContribution
+ ([18303](https://github.com/civicrm/civicrm-core/pull/18303))**
-- **[REF] Deploy Pear DB package using composer ([18027](https://github.com/civicrm/civicrm-core/pull/18027))**
+- **[REF] Move function to delete merged contacts to the Merger class and
+ include all instances of the pair
+ ([17980](https://github.com/civicrm/civicrm-core/pull/17980))**
-- **Allow for the setting of an additional constant CIVICRM_DRUSH_DSN ([613](https://github.com/civicrm/civicrm-drupal/pull/613))**
+- **[REF] Remove most interaction with $objects in completeOrder
+ ([18315](https://github.com/civicrm/civicrm-core/pull/18315))**
-- **7.x 5.29 ([621](https://github.com/civicrm/civicrm-drupal/pull/621))**
+- **[REF] Fix financial item allocation of negative payments against completed
+ payments ([17810](https://github.com/civicrm/civicrm-core/pull/17810))**
-- **7.x 5.29 ([616](https://github.com/civicrm/civicrm-drupal/pull/616))**
+- **[REF] Separate and move line-item specific portion of checkTaxAmount to
+ LineItem api ([18294](https://github.com/civicrm/civicrm-core/pull/18294))**
-- **[NFC] IDE cleanup - arrays, single quotes ([614](https://github.com/civicrm/civicrm-drupal/pull/614))**
+- **[REF] [test] Slight increase in test cover & make functions more re-usable
+ ([18291](https://github.com/civicrm/civicrm-core/pull/18291))**
-- **Remove handling for 4.2 DBs ([612](https://github.com/civicrm/civicrm-drupal/pull/612))**
+- **[REF] simplify retrieval of existing membership on membership renewal form
+ ([18296](https://github.com/civicrm/civicrm-core/pull/18296))**
-- **dev/wordpress#37 - Switch unambiguously to new installer UI ([215](https://github.com/civicrm/civicrm-wordpress/pull/215))**
+- **[REF] Extract function to get locations to merge, rename 'operation' …
+ ([17991](https://github.com/civicrm/civicrm-core/pull/17991))**
-- **DB_DataObject - Read CIVICRM_DEBUG_LOG_QUERY correctly ([305](https://github.com/civicrm/civicrm-packages/pull/305))**
+- **[REF] Deprecate unused SQL temptable functions
+ ([18171](https://github.com/civicrm/civicrm-core/pull/18171))**
-- **[REF] Remove DB Package as it is now deployed using composer ([302](https://github.com/civicrm/civicrm-packages/pull/302))**
+- **Minor cleanup in test class
+ ([18170](https://github.com/civicrm/civicrm-core/pull/18170))**
-## <a name="misc"></a>Miscellany
+- **Add line item acl tests
+ ([18274](https://github.com/civicrm/civicrm-core/pull/18274))**
+
+- **Fix test set up to call Order.create to create the correct line items
+ ([18279](https://github.com/civicrm/civicrm-core/pull/18279))**
+
+- **Test & remove handling for max_related in renewal form
+ ([18295](https://github.com/civicrm/civicrm-core/pull/18295))**
+
+- **Add test to check, remove unnecessary lines
+ ([18292](https://github.com/civicrm/civicrm-core/pull/18292))**
+
+- **[Test framework] - Remove test for deprecated way of calling hook invoke
+ ([18136](https://github.com/civicrm/civicrm-core/pull/18136))**
+
+- **(NFC) Update various DAO checksums
+ ([18184](https://github.com/civicrm/civicrm-core/pull/18184))**
+
+- **[NFC] Add code comments about hidden but still used buttons
+ ([18119](https://github.com/civicrm/civicrm-core/pull/18119))**
+
+- **[NFC] [Test] Initial testing on event payment forms.
+ ([18112](https://github.com/civicrm/civicrm-core/pull/18112))**
+
+- **[NFC] Update locale over-ride documentation to mention that it is mos…
+ ([17919](https://github.com/civicrm/civicrm-core/pull/17919))**
+
+- **(NFC) Add some tests to the `resources` group
+ ([18211](https://github.com/civicrm/civicrm-core/pull/18211))**
+
+- **[NFC] Some DAO checksums not updated
+ ([18239](https://github.com/civicrm/civicrm-core/pull/18239))**
+
+- **[NFC] Array formatting
+ ([18109](https://github.com/civicrm/civicrm-core/pull/18109))**
+
+- **[NFC] IDE cleanup - arrays, single quotes
+ ([614](https://github.com/civicrm/civicrm-drupal/pull/614))**
## <a name="credits"></a>Credits
This release was developed by the following code authors:
-AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman, Pengyi Zhang; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; Dave D; Flinders University of South Australia - Tom Anderson; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Lemniscus - Noah Miller; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MillerTech - Chamil Wijesooriya; MJW Consulting - Matthew Wire; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen McNaughton, Maggie Epps; Wildsight - Lars Sanders-Green
+AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman, Pengyi
+Zhang; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten;
+CiviDesk - Sunil Pawar, Yashodha Chaku; Dave D; Flinders University of South
+Australia - Tom Anderson; JMA Consulting - Monish Deb, Seamus Lee; John
+Kingsnorth; Lemniscus - Noah Miller; Lighthouse Consulting and Design - Brian
+Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MillerTech - Chamil
+Wijesooriya; MJW Consulting - Matthew Wire; Squiffle Consulting - Aidan
+Saunders; Wikimedia Foundation - Eileen McNaughton, Maggie Epps; Wildsight -
+Lars Sanders-Green
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-Artful Robot - Rich Lott; Christian Wach; civibot[bot]; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Dave D; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; JMA Consulting - Seamus Lee; John Kingsnorth; Lighthouse Consulting and Design - Brian Shaughnessy; MarshCastle; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton, Maggie Epps; Wildsight - Lars Sanders-Green
+Artful Robot - Rich Lott; Christian Wach; Circle Interactive - Martin Castle;
+Dave D; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe -
+Patrick Figel; MJCO - Mikey O'Toole; Semper IT - Karin Gerritsen; Squiffle
+Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano;
## <a name="feedback"></a>Feedback