X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=release-notes%2F5.17.0.md;h=57c4f6b216ae2c0056af0a015df2fbf79f285d27;hb=caa0781633b1d5969dad176d0682b8e735589690;hp=6c4f8d357c722448d14b8fe8b09601da73532bf2;hpb=abbff8f57ff6aa8908f55fefeebcf74bd635d0aa;p=civicrm-core.git
diff --git a/release-notes/5.17.0.md b/release-notes/5.17.0.md
index 6c4f8d357c..57c4f6b216 100644
--- a/release-notes/5.17.0.md
+++ b/release-notes/5.17.0.md
@@ -13,516 +13,1000 @@ Released September 4, 2019
| *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** |
## Features
### Core CiviCRM
-- **CRM-20455 Missing Summary ([259](https://github.com/civicrm/civicrm-packages/pull/259))**
+- **Add unique names and unique title for recurrings.
+ ([14820](https://github.com/civicrm/civicrm-core/pull/14820))**
-- **CRM-20445 Missing Summary ([180](https://github.com/civicrm/civicrm-packages/pull/180))**
+ Adds the key `unique_title` to the entity definition schema for situations where
+ multiple entities may be involved (e.g advanced search) and disambiguation is
+ needed
-## Bugs resolved
+- **Add query dispatcher to allow query modification
+ ([CRM-20445](https://issues.civicrm.org/jira/browse/CRM-20445):
+ [259](https://github.com/civicrm/civicrm-packages/pull/259) and
+ [180](https://github.com/civicrm/civicrm-packages/pull/180))**
-### Core CiviCRM
+ Allows a query to be modified from an extension, for example by prepending
+ data like '/* Query run by user 45*/'.
-- **(dev/drupal#79) CRM_Upgrade_Form - Raise MINIMUM_PHP_VERSION from 5.6 to 7.0 ([15082](https://github.com/civicrm/civicrm-core/pull/15082))**
+- **Add support for bulkcreates
+ ([dev/core#1093](https://lab.civicrm.org/dev/core/issues/1093):
+ [14829](https://github.com/civicrm/civicrm-core/pull/14829) and
+ [14694](https://github.com/civicrm/civicrm-core/pull/14694))**
-- **Remove "Copy Case custom data" code (circa 2013) ([15051](https://github.com/civicrm/civicrm-core/pull/15051))**
+ Adds a bulkCreate function for CustomField so that one can create multiple
+ custom fields at the same time. This sets the stage for a new protocol
+ for how bulk create actions could look from a code point of view.
-- **Fix unreleased regression on import ([15048](https://github.com/civicrm/civicrm-core/pull/15048))**
+- **Make admin panels hookable
+ ([dev/core#1104](https://lab.civicrm.org/dev/core/issues/1104):
+ [14734](https://github.com/civicrm/civicrm-core/pull/14734))**
-- **dev/core#1186 add in unit test to lock in fix from dmeritcowboy in #1⦠([15058](https://github.com/civicrm/civicrm-core/pull/15058))**
+ Adds the hook `alterAdminPanel` to allow extension developers to hide and show
+ elements on the admin screen.
-- **dev/core#1186 - ignore exception if no description field ([15055](https://github.com/civicrm/civicrm-core/pull/15055))**
+- **[EXPORT] add getPreview function
+ ([14782](https://github.com/civicrm/civicrm-core/pull/14782))**
-- **dev/core#1190 Add pptx to safe file types ([15047](https://github.com/civicrm/civicrm-core/pull/15047))**
+ Adds a function to allow preview of export results.
-- **Add release-notes/5.16.2.md ([15041](https://github.com/civicrm/civicrm-core/pull/15041))**
+- **Export help info does not match code
+ ([dev/core#1120](https://lab.civicrm.org/dev/core/issues/1120):
+ [14830](https://github.com/civicrm/civicrm-core/pull/14830))**
-- **dev/financial#65 - Revert recent changes that cause financial account edit form to be blank ([15037](https://github.com/civicrm/civicrm-core/pull/15037))**
+ Improves the export UI when one selects "Merge All Contacts with the Same
+ Address" so that the field "Postal Greeting (merging > 2 contacts)" reads
+ "Postal Greeting (when merging contacts)" and the field "Addressee (merging >
+ 2 contacts)" reads "Addressee (when merging contacts)" and the code behind
+ these fields so that merging greater than 2 contacts or less than 2 contacts
+ functions the same.
-- **5.16.1 release notes ([15025](https://github.com/civicrm/civicrm-core/pull/15025))**
+- **Can't show contact subtype in search views
+ ([core#1130](https://lab.civicrm.org/dev/core/issues/1130):
+ [14840](https://github.com/civicrm/civicrm-core/pull/14840))**
-- **core#1182 - revert crm.menubar.js changes ([15021](https://github.com/civicrm/civicrm-core/pull/15021))**
+ This change ensures that one can use Contact Subtype as a result column in
+ Search Views.
-- **core#1175 - fix custom searches ([15007](https://github.com/civicrm/civicrm-core/pull/15007))**
+- **[REPORT] Allow extensions to join address, email and phone tables without
+ limiting to primary fields
+ ([14941](https://github.com/civicrm/civicrm-core/pull/14941))**
-- **Revert #14222 on RC branch ([14996](https://github.com/civicrm/civicrm-core/pull/14996))**
+ Allows reports to join the address email and phone tables without limiting to
+ just primary fields and add a test to ensure this functionality stays in
+ place.
-- **Further e-notice regression fix ([14991](https://github.com/civicrm/civicrm-core/pull/14991))**
+- **Use metadata for getOptions abbreviation & include currency symbol
+ ([14969](https://github.com/civicrm/civicrm-core/pull/14969))**
-- **Error log improvements: Provide severity level and use Civi::log() ([14222](https://github.com/civicrm/civicrm-core/pull/14222))**
+ Refactors the "abbreviation" mode in getOptions to be more consistently
+ metadata-driven, and adds the currency symbol as an abbreviation to fetch.
-- **Issue 1170 ([14985](https://github.com/civicrm/civicrm-core/pull/14985))**
+- **Error log improvements: Provide severity level and use Civi::log()
+ ([14222](https://github.com/civicrm/civicrm-core/pull/14222))**
-- **dev/core#1109 - Fix merge not updating ContactReference fields ([14983](https://github.com/civicrm/civicrm-core/pull/14983))**
+ Improves the Error Logging functionality ` CRM_Core_Error::debug_var` by
+ adding an optional severity level parameter and using `Civi::log()`.
-- ** Fix (unreleased regression) e-notices on import form ([14978](https://github.com/civicrm/civicrm-core/pull/14978))**
+- **Move the code to add employer from relationship backoffice form to BAO
+ ([14950](https://github.com/civicrm/civicrm-core/pull/14950))**
-- **5.16 to master ([14987](https://github.com/civicrm/civicrm-core/pull/14987))**
+ Makes it so one can add the employer contact after a current 'Employee of'
+ relationship is created and adds an optional relationship.create API parameter
+ `is_current_employer`.
-- **dev/drupal#72 Ensure front end profile title is used in event confirmation emails ([14960](https://github.com/civicrm/civicrm-core/pull/14960))**
+- **[METADATA] Add titles to Mapping xml & DAOs
+ ([14867](https://github.com/civicrm/civicrm-core/pull/14867) and
+ [14975](https://github.com/civicrm/civicrm-core/pull/14975))**
-- **[REF] [Import] extract function that sets field metadata ([14979](https://github.com/civicrm/civicrm-core/pull/14979))**
+ Adds some missing metadata to the Mapping & MappingField entities.
-- **[REF][Import] very minor cleanup - 3 lines of code to one ([14976](https://github.com/civicrm/civicrm-core/pull/14976))**
+- **Fix support for relative dates in urls
+ ([14893](https://github.com/civicrm/civicrm-core/pull/14893))**
-- **[Test] Add test cover for Member_BAO_Query auto_renew field ([14956](https://github.com/civicrm/civicrm-core/pull/14956))**
+ Improves url support for relative dates for fields that have been converted to
+ use datepicker.
-- **Add pseudoconstant metadata to mapping_field.location_type_id ([14975](https://github.com/civicrm/civicrm-core/pull/14975))**
+- **Add default location for API v3 creates of Address, IM, OpenID and Phone
+ ([14885](https://github.com/civicrm/civicrm-core/pull/14885))**
-- **[NFC] code formatting only ([14977](https://github.com/civicrm/civicrm-core/pull/14977))**
+- **EntityPageTrait: Set logged in contact ID as default if one is not
+ specified, this allows permission checks etc. to work properly.
+ ([14620](https://github.com/civicrm/civicrm-core/pull/14620))**
-- **Use metadata for getOptions abbreviation & include currency symbol ([14969](https://github.com/civicrm/civicrm-core/pull/14969))**
+ Currently the `entitypagetrait` is only in use by
+ CRM_Contact_Page_View_Relationship. However the plan is to extend it to other
+ pages too, this PR updates it to get the logged in contact ID if none is
+ passed in - so it can be used on non-contact forms (eg. event lists).
-- **[REF] Update selfService in updateBilling to use shared function ([14965](https://github.com/civicrm/civicrm-core/pull/14965))**
+- **Move log and compilation dirs from "Runtime" to "Paths"
+ ([14718](https://github.com/civicrm/civicrm-core/pull/14718))**
-- **dev/core#1061 Ensure that custom data is not loaded on update subscription form when in self service mode and re-use shared function ([14964](https://github.com/civicrm/civicrm-core/pull/14964))**
+ This is an update to the path-handling convention for data folders that allows
+ more intuitive management of file-paths.
-- **Translation 'ts' usage fixes. ([14971](https://github.com/civicrm/civicrm-core/pull/14971))**
+- **Use select2 to display field mappings
+ ([14794](https://github.com/civicrm/civicrm-core/pull/14794))**
-- **5.16.0 to master ([14974](https://github.com/civicrm/civicrm-core/pull/14974))**
+ On the "Export Options" Screen for the "Use Saved Field Mapping" select field
+ adds the Description for the option (if one exists).
-- **Minor cleanup around invoicing on event code ([14959](https://github.com/civicrm/civicrm-core/pull/14959))**
+- **expose smarty's compile_check to be overridden in civicrm.settings.php
+ ([14706](https://github.com/civicrm/civicrm-core/pull/14706))**
-- **[NFC] minor cleanup ([14957](https://github.com/civicrm/civicrm-core/pull/14957))**
+ Exposes the Smarty variable `compile_force` so that it can be overridden from
+ civicrm.settings.php because having `compile_force` set to FALSE in some
+ environments has a positive impact on page rendering performance.
-- **[NFC] dev/core#1116 - seek and document where activityTypeName is name and where it's label ([14970](https://github.com/civicrm/civicrm-core/pull/14970))**
+- **[dev/core#538](https://lab.civicrm.org/dev/core/issues/538) Activity search
+ (advanced search) by subject - is exact match only
+ ([14703](https://github.com/civicrm/civicrm-core/pull/14703))**
-- **[REF] minor code cleanup on import mapping ([14962](https://github.com/civicrm/civicrm-core/pull/14962))**
+ Makes searching on some fields (including but not limited to invoice_number,
+ activity details, activity subject and activity location) do a "Like" search
+ as opposed to a strict match search consistently whether using the advanced
+ search or a component specific search.
-- **Fix removeNullContactTokens compatibility with custom tokens ([14943](https://github.com/civicrm/civicrm-core/pull/14943))**
+- **Unable to use url search arguments in 'Advanced Search' using force=1
+ ([Core/dev#692](https://lab.civicrm.org/dev/core/issues/692):
+ [14921](https://github.com/civicrm/civicrm-core/pull/14921))**
-- **dev/core#1135 Participants having multiple roles affects maximum event registration count ([14844](https://github.com/civicrm/civicrm-core/pull/14844))**
+ Adds support for the url search arguments 'contact_tags' and 'email' for the
+ 'Advanced Search' form.
-- **dev/core#470: Current employer disapears when disabling expired relationships ([14951](https://github.com/civicrm/civicrm-core/pull/14951))**
+### CiviContribute
-- **[REF] Move Self service handlng to shared function to allow for use i⦠([14963](https://github.com/civicrm/civicrm-core/pull/14963))**
+- **Extend contribute search url parsing to advanced search
+ ([14939](https://github.com/civicrm/civicrm-core/pull/14939))**
-- **[REF] simple extraction of function to check required fields are present ([14961](https://github.com/civicrm/civicrm-core/pull/14961))**
+ This change extends the url parameters accepted by the Advanced Search form to
+ include the search url parameters accepted by the Contribution Search form.
-- **Core/dev#692 support for some additional url params ([14921](https://github.com/civicrm/civicrm-core/pull/14921))**
+- **Improve performance on getSoftContribution details - only run one query
+ instead of one per contribution
+ ([14747](https://github.com/civicrm/civicrm-core/pull/14747))**
-- **Add serialization metadata for MembershipType api ([14954](https://github.com/civicrm/civicrm-core/pull/14954))**
+ Improves performance when retrieving bulk contributions.
-- **Add missing is_public flags to public paths ([14945](https://github.com/civicrm/civicrm-core/pull/14945))**
+- **Switch priceset selector to addField method
+ ([14843](https://github.com/civicrm/civicrm-core/pull/14843))**
-- **[TEST] [REF] [Export] Convert a couple more tests ([14953](https://github.com/civicrm/civicrm-core/pull/14953))**
+ Switches to adding price set fields using schema metadata instead of hard
+ coded metadata.
-- **Move the code to add employer from relationship backoffice form to BAO ([14950](https://github.com/civicrm/civicrm-core/pull/14950))**
+- **Set title using standard form method and use for success message on
+ contributionpage
+ ([14615](https://github.com/civicrm/civicrm-core/pull/14615))**
-- **dev/core#439 [Export] [Ref] Convert custom data export test to use newer function. ([14937](https://github.com/civicrm/civicrm-core/pull/14937))**
+ Switches to using a standard form method for assigning title on the Manage
+ Contribution page screen so the title can be accessed during postprocess.
-- **[REF] [Test] [Export] Convert some more tests to use the newer function ([14933](https://github.com/civicrm/civicrm-core/pull/14933))**
+### CiviEvent
-- **core#1130 - allow search views to show contact subtype ([14840](https://github.com/civicrm/civicrm-core/pull/14840))**
+- **Improve handling of 'Manage Event' title
+ ([14614](https://github.com/civicrm/civicrm-core/pull/14614))**
-- **[NFC] dev/core#1116 - document where activityTypeName is name and where it's label ([14952](https://github.com/civicrm/civicrm-core/pull/14952))**
+ Switches to using a standard form method for assigning title on the Manage
+ Event screen so the title can be accessed during postprocess.
-- **Add test for failed payment ([14946](https://github.com/civicrm/civicrm-core/pull/14946))**
+### CiviMail
-- **[NFC] Formatting in BAO_Relationship class ([14949](https://github.com/civicrm/civicrm-core/pull/14949))**
+- **Changed the title and description of profile_add_to_group_double_optin
+ ([14852](https://github.com/civicrm/civicrm-core/pull/14852))**
-- **dev/core#1162 [TEST] [Mailing] add in unit test checking that no bulk email flag is re⦠([14947](https://github.com/civicrm/civicrm-core/pull/14947))**
+ Improves help text by updating the profile_add_to_group_double_optin and
+ profile_double_optin to have different titles and descriptions.
-- **5.16 to master ([14948](https://github.com/civicrm/civicrm-core/pull/14948))**
+### CiviMembership
-- **dev/core#961 - Contribution page including 2 email fields does not re⦠([14252](https://github.com/civicrm/civicrm-core/pull/14252))**
+- **Add serialization metadata for MembershipType api
+ ([14954](https://github.com/civicrm/civicrm-core/pull/14954))**
-- **Catch Payment Processor Exception if thrown when registering via bac⦠([14930](https://github.com/civicrm/civicrm-core/pull/14930))**
+ Adds metadata for serializing the membership_type fields
+ 'relationship_type_id' and 'relationship_direction'.
-- **Fix mishandling of renamed membership status labels on membership import ([14940](https://github.com/civicrm/civicrm-core/pull/14940))**
+- **Switch create MembershipPayment to use API
+ ([14886](https://github.com/civicrm/civicrm-core/pull/14886))**
-- **[REPORT] Allow extensions to join address, email and phone tables without limi⦠([14941](https://github.com/civicrm/civicrm-core/pull/14941))**
+ Simplifies and standardizes the creation of a MembershipPayment when using a
+ "live" payment method.
-- **[Report] Fix handling of location type in Reports ([14942](https://github.com/civicrm/civicrm-core/pull/14942))**
+## Bugs resolved
-- **(dev/core#1104) make admin panels hookable ([14734](https://github.com/civicrm/civicrm-core/pull/14734))**
+### Core CiviCRM
-- **dev/core#987 Reporthook ([14320](https://github.com/civicrm/civicrm-core/pull/14320))**
+- **Does CiviCRM make it possible to specify which directories are private and
+ which are public-accessible?
+ ([dev/cloud-native#3](https://lab.civicrm.org/dev/cloud-native/issues/3):
+ [14778](https://github.com/civicrm/civicrm-core/pull/14778))**
-- **Extend contribute search url parsing to advanced search ([14939](https://github.com/civicrm/civicrm-core/pull/14939))**
+ This deprecates a function which was enabling/complicit in problematic
+ file-construction logic.
-- **5.16 ([14934](https://github.com/civicrm/civicrm-core/pull/14934))**
+- **Postal Code Suffix returns Postal Code value
+ ([dev/report#17](https://lab.civicrm.org/dev/report/issues/17):
+ [14744](https://github.com/civicrm/civicrm-core/pull/14744))**
-- **[REF] [Export] Move writeToTable fn to exportProcessor ([14932](https://github.com/civicrm/civicrm-core/pull/14932))**
+ Ensures when the postal code suffix column is displayed it returns the suffix,
+ before this change the postal code value was displayed.
-- **[REF][Event] Extract calculation of 'zero-ness' in form rule ([14917](https://github.com/civicrm/civicrm-core/pull/14917))**
+- **Contact Reference Field Cutoff on Export
+ ([dev/core#439](https://lab.civicrm.org/dev/core/issues/439):
+ [14937](https://github.com/civicrm/civicrm-core/pull/14937))**
-- **dev/financial#36 [IMPORT] fix & test mishandling on payment_instrument labels ([14881](https://github.com/civicrm/civicrm-core/pull/14881))**
+ Fixes the handling of custom country fields longer than 16 characters when
+ exporting and improves test coverage.
-- **dev/core#1141 remove unused deprecated sql_calc_rows ([14877](https://github.com/civicrm/civicrm-core/pull/14877))**
+- **Issue with alterReportVars hook invoke
+ ([dev/core#987](https://lab.civicrm.org/dev/core/issues/987):
+ [14320](https://github.com/civicrm/civicrm-core/pull/14320))**
-- **[Export] Convert testGender Export to new test format. ([14914](https://github.com/civicrm/civicrm-core/pull/14914))**
+ Switches to invoking alterReportVars hook before grand total and section total
+ calculations instead of after so that when alterReportVars hook is used to
+ alter values in report rows those changes are taken into account when
+ totaling.
-- **[REF] [Export] Stop passing header rows around ([14913](https://github.com/civicrm/civicrm-core/pull/14913))**
+- **Delete repeating activities not working as intended
+ ([dev/core#1050](https://lab.civicrm.org/dev/core/issues/1050):
+ [14784](https://github.com/civicrm/civicrm-core/pull/14784))**
-- **5.16 ([14925](https://github.com/civicrm/civicrm-core/pull/14925))**
+ Ensures that when the user opts to delete multiple repeat activities, the
+ specified activities are actually deleted.
-- **5.16 to master ([14922](https://github.com/civicrm/civicrm-core/pull/14922))**
+- **Bad popup on update recurring screen
+ ([dev/core#1061](https://lab.civicrm.org/dev/core/issues/1061):
+ [14964](https://github.com/civicrm/civicrm-core/pull/14964))**
-- **[REF] Add in cleanup function to prevnext service and utilise in clea⦠([14911](https://github.com/civicrm/civicrm-core/pull/14911))**
+ Ensures that custom data is not loaded on the update subscription form when it
+ is in self service mode.
-- **[REF] [Export] [Test] Update 2 more tests to use new helper ([14915](https://github.com/civicrm/civicrm-core/pull/14915))**
+- **Count on Groups tab changes when tab is loaded
+ ([dev/core#1097](https://lab.civicrm.org/dev/core/issues/1097):
+ [14721](https://github.com/civicrm/civicrm-core/pull/14721))**
-- **[REF] [Export] Remove now redundant param ([14912](https://github.com/civicrm/civicrm-core/pull/14912))**
+ Fixes a bug where if a contact had been explicitly added to any Smart Groups,
+ then the number on their Groups tab would not include these Smart Groups until
+ the tab was loaded.
-- **dev/core#1050 - Delete repeat activities that are selected for deletion ([14784](https://github.com/civicrm/civicrm-core/pull/14784))**
+- **Contact Reference fields are not updated when merging contacts
+ ([dev/core#1109](https://lab.civicrm.org/dev/core/issues/1109):
+ [14983](https://github.com/civicrm/civicrm-core/pull/14983))**
-- **[REF] remove never-set, mispelt parameter ([14907](https://github.com/civicrm/civicrm-core/pull/14907))**
+ Ensures when duplicates are merged, custom fields and other records pointing
+ to the duplicate contact are updated to point to the surviving contact.
-- **Further deprecate use of $ids array in membership functions ([14887](https://github.com/civicrm/civicrm-core/pull/14887))**
+- **Regression: Custom searches no longer work
+ (dev/[core#1175](https://lab.civicrm.org/dev/core/issues/1175):
+ [15007](https://github.com/civicrm/civicrm-core/pull/15007))**
-- **Improve performance on getSoftContribution details - only run one query instead of one per contribution ([14747](https://github.com/civicrm/civicrm-core/pull/14747))**
+ Fixes a regression that broke custom searches in 5.16.
-- **Add unit test for net_amount when fee_amount is set ([14909](https://github.com/civicrm/civicrm-core/pull/14909))**
+- **Datatables error when viewing contact multiple record custom field tab
+ containing a file field
+ ([dev/core#1186](https://lab.civicrm.org/dev/core/issues/1186):
+ [15058](https://github.com/civicrm/civicrm-core/pull/15058) and
+ [15055](https://github.com/civicrm/civicrm-core/pull/15055))**
-- **[REF] [Export] Move fetch Relationship details to processor ([14898](https://github.com/civicrm/civicrm-core/pull/14898))**
+ Fixes a Datatables error when viewing a contact's multiple record custom field
+ tab containing a file field because of an uncaught exception and adds a unit
+ test.
-- **Remove unused standalone-mode code ([14910](https://github.com/civicrm/civicrm-core/pull/14910))**
+- **Add pptx to safe file types
+ ([dev/core#1190](https://lab.civicrm.org/dev/core/issues/1190):
+ [15047](https://github.com/civicrm/civicrm-core/pull/15047))**
-- **[NFC] comment fixes, function mis-casing fix ([14906](https://github.com/civicrm/civicrm-core/pull/14906))**
+ Ensures the file type 'pptx' is included as an uploadable file type.
-- **dev/core#1149 - Make it clearer which record the logging report is displaying ([14889](https://github.com/civicrm/civicrm-core/pull/14889))**
+- **[Report] Fix handling of location type in Reports
+ ([14942](https://github.com/civicrm/civicrm-core/pull/14942))**
-- **Fix membership end date on confirming a pending contribution ([14902](https://github.com/civicrm/civicrm-core/pull/14902))**
+ Fixes a bug in the processing of the `location_type_id` field for addresses in
+ reports. Before this change the array key's name was "is_primary" which led to
+ showing the location type as either blank or Home which is generally the label
+ for location type id 1.
-- **5.16 ([14908](https://github.com/civicrm/civicrm-core/pull/14908))**
+- **[Export] Convert testGender Export to new test format.
+ ([14914](https://github.com/civicrm/civicrm-core/pull/14914))**
-- **[Test] [Import] Add test to demonstrate bug that turns out not to exist ([14880](https://github.com/civicrm/civicrm-core/pull/14880))**
+ This change ensures that gender labels longer than 16 characters are supported
+ when exporting.
-- **[NFC] reformat class ([14899](https://github.com/civicrm/civicrm-core/pull/14899))**
+- **[EXPORT] Minor fixes to the export form
+ ([14785](https://github.com/civicrm/civicrm-core/pull/14785))**
-- **Fixed event type id fetch ([14534](https://github.com/civicrm/civicrm-core/pull/14534))**
+ This improves the export form by only showing enabled contact types and
+ only showing relevant relationship types for a given contact type.
-- **[IMPORT] [code-quality] Remove instances of CRM_Core_Error::fatal from first import form ([14870](https://github.com/civicrm/civicrm-core/pull/14870))**
+- **[IMPORT] [code-quality] Remove instances of CRM_Core_Error::fatal from first
+ import form ([14870](https://github.com/civicrm/civicrm-core/pull/14870))**
-- **Fix support for relative dates in urls ([14893](https://github.com/civicrm/civicrm-core/pull/14893))**
+ Code cleanup towards removing `CRM_Core_Error::fatal` and using
+ `CRM_Core_Exception` instead.
-- **Add default location for API v3 creates of Address, IM, OpenID and Phone ([14885](https://github.com/civicrm/civicrm-core/pull/14885))**
+- **Translation 'ts' usage fixes.
+ ([14971](https://github.com/civicrm/civicrm-core/pull/14971))**
-- **dev/core#1108 [REF] use CRM_Core_DAO::executeQuery instead of ->query() ([14760](https://github.com/civicrm/civicrm-core/pull/14760))**
+ Fixes how the gettext 'ts' translation function is called reducing the
+ number of warnings from the string extraction script.
-- **Switch create MembershipPayment to use API ([14886](https://github.com/civicrm/civicrm-core/pull/14886))**
+- **Fix removeNullContactTokens compatibility with custom tokens
+ ([14943](https://github.com/civicrm/civicrm-core/pull/14943))**
-- **EntityPageTrait: Set logged in contact ID as default if one is not specified - this allows permission checks etc. to work properly. ([14620](https://github.com/civicrm/civicrm-core/pull/14620))**
+ Fixes notices and warnings with custom tokens when updating a contact record.
-- **Fix php7.x warning on count ([14896](https://github.com/civicrm/civicrm-core/pull/14896))**
+- **Do not launch raw js alert jqueryValidation fails
+ ([14854](https://github.com/civicrm/civicrm-core/pull/14854))**
-- **[REf] [Export] Remove deprecated componentPaymentFields function ([14874](https://github.com/civicrm/civicrm-core/pull/14874))**
+ For sites with Jquery validation turned on disables js alerts.
-- **[Ref] [Export] Remove exportComponent function - it's not adding much here ([14875](https://github.com/civicrm/civicrm-core/pull/14875))**
+- **Invalidate smart group cache for group following deletion of group_contact
+ row ([14672](https://github.com/civicrm/civicrm-core/pull/14672))**
-- **Do not launch raw js alert jqueryValidation fails ([14854](https://github.com/civicrm/civicrm-core/pull/14854))**
+ Ensures that when a contact is removed from a smart group they are removed
+ from the cache instantly.
-- **Don't let optiongroup check crash ([14895](https://github.com/civicrm/civicrm-core/pull/14895))**
+- **Ensure that if present the HTTP_X_FORWARDED_FOR IP address is used instead
+ of the SERVER_ADDR when logging items from the IDS
+ ([14833](https://github.com/civicrm/civicrm-core/pull/14833))**
-- **[REF] [Test] Add test to cover handling of 'gender_id' on import, remove unused code. ([14879](https://github.com/civicrm/civicrm-core/pull/14879))**
+ Ensures the `SERVER_ADDR` is only used if `HTTP_X_FORWARDED_FOR` cannot be.
-- **dev/event#6 Follow the 'same email' participants config setting for backend participants ([14884](https://github.com/civicrm/civicrm-core/pull/14884))**
+- **Set profile greeting fields based on actual contact type
+ ([14845](https://github.com/civicrm/civicrm-core/pull/14845))**
-- **Invalidate smart group cache for group following deletion of group_c⦠([14672](https://github.com/civicrm/civicrm-core/pull/14672))**
+ Sets greeting options in a profile based on the actual contact type being
+ edited instead of based off the profile type.
-- **[test] Catch A.net exception & ignore ([14861](https://github.com/civicrm/civicrm-core/pull/14861))**
+- **Menubar - Improve flexibility & remove hardcoded values
+ ([14839](https://github.com/civicrm/civicrm-core/pull/14839))**
-- **Ensure that if present the HTTP_X_FORWARDED_FOR IP address is used in⦠([14833](https://github.com/civicrm/civicrm-core/pull/14833))**
+ Minor tweak to crm.menubar.js to make it less reliant on the presence of a
+ `
` which may not be present on non-civicrm pages. Also
+ tweaks the js to remove hardcoded pixel values to work better with theme
+ overrides.
-- **5.16 to master ([14878](https://github.com/civicrm/civicrm-core/pull/14878))**
+- **Use singleton to get session instead of relying on ->_session being set
+ elsewhere ([14832](https://github.com/civicrm/civicrm-core/pull/14832))**
-- **Move log and compilation dirs from "Runtime" to "Paths" ([14718](https://github.com/civicrm/civicrm-core/pull/14718))**
+ Calls CRM_Core_Session::singleton() on the `CRM_Profile_Form` instead of
+ relying on $this->_session being set.
-- **[REF] extract loadSavedMapping ([14873](https://github.com/civicrm/civicrm-core/pull/14873))**
+- **Remove the only two defined fonts from selectors
+ ([14815](https://github.com/civicrm/civicrm-core/pull/14815))**
-- **dev/event#9 Event Templates: do not set the Start/End dates ([14862](https://github.com/civicrm/civicrm-core/pull/14862))**
+ Before this change CiviCRM was setting h3 tags on front end forms to have the
+ font arial. After this change h3 tags on front end forms inherit their fonts
+ from the theme (like the rest of the h tags).
-- **[IMPORT] [code quality] [REF] Improve readability of variable assignment ([14871](https://github.com/civicrm/civicrm-core/pull/14871))**
+- **GenCode, Cache::cleanKey() - Fix deploop during clean initialization
+ ([14777](https://github.com/civicrm/civicrm-core/pull/14777))**
-- **[IMPORT] [code-quality] Remove usage of nullArray ([14869](https://github.com/civicrm/civicrm-core/pull/14869))**
+ Fixes a bug when running `xml/GenCode.php` with a clean codebase with no DAO
+ files.
-- **[IMPORT] reduce php4 support, don't pass by ref when not required ([14872](https://github.com/civicrm/civicrm-core/pull/14872))**
+- **e-notice fix & unit test
+ ([14729](https://github.com/civicrm/civicrm-core/pull/14729))**
-- **[EXPORT] Fix unreleased regression where postal addresses are not suppressed when empty ([14846](https://github.com/civicrm/civicrm-core/pull/14846))**
+ Fixes an e-notice when a table has been excluded from triggers by a hook.
-- **[METADATA] Add titles to Mapping xml & DAOs ([14867](https://github.com/civicrm/civicrm-core/pull/14867))**
+- **Fatal db error in Activity Summary report when Sorting uses Section Header
+ (without ONLY_FULL_GROUP_BY)
+ ([dev/core/issues/577](https://lab.civicrm.org/dev/core/issues/577):
+ [13540](https://github.com/civicrm/civicrm-core/pull/13540) and
+ [dev/core#578](https://lab.civicrm.org/dev/core/issues/578):
+ [14745](https://github.com/civicrm/civicrm-core/pull/14745))**
-- **5.16 to master ([14868](https://github.com/civicrm/civicrm-core/pull/14868))**
+- **With logging turned on editing an activity displays as a deletion
+ ([dev/core#1149](https://lab.civicrm.org/dev/core/issues/1149):
+ [14889](https://github.com/civicrm/civicrm-core/pull/14889))**
-- **[REF] [EXPORT] Use columns from processor instead of passing them ([14860](https://github.com/civicrm/civicrm-core/pull/14860))**
+- **Regression: Can't use CiviCRM menu on 5.16.0
+ ([dev/core#1182](https://lab.civicrm.org/dev/core/issues/1182):
+ [15021](https://github.com/civicrm/civicrm-core/pull/15021))**
-- **NFC Update node module versions based on npm audit fix ([14859](https://github.com/civicrm/civicrm-core/pull/14859))**
+- **Add missing is_public flags to public paths
+ ([14945](https://github.com/civicrm/civicrm-core/pull/14945))**
-- **Add in Atomfeeds deprecation now that the extension has a new release⦠([14856](https://github.com/civicrm/civicrm-core/pull/14856))**
+- **Fix php7.x warning on count
+ ([14896](https://github.com/civicrm/civicrm-core/pull/14896))**
-- **Autoformat /tests directory with php short array syntax ([14857](https://github.com/civicrm/civicrm-core/pull/14857))**
+- **Don't let optiongroup check crash
+ ([14895](https://github.com/civicrm/civicrm-core/pull/14895))**
-- **(NFC) Fixing documentation links in readme. ([14855](https://github.com/civicrm/civicrm-core/pull/14855))**
+- **Fix enotice on formatting credit card details
+ ([14750](https://github.com/civicrm/civicrm-core/pull/14750))**
-- **Multilingual test fix and cleanup ([14639](https://github.com/civicrm/civicrm-core/pull/14639))**
+- **Fix obscure bug on updating custom fields (not necessarily hittable via UI)
+ ([14754](https://github.com/civicrm/civicrm-core/pull/14754))**
-- **Add unit test demonstrating attaching a listener to queries ([14716](https://github.com/civicrm/civicrm-core/pull/14716))**
+- **MagicMerge - Fix ephemeral overrides for aliased properties
+ ([14818](https://github.com/civicrm/civicrm-core/pull/14818))**
-- **[REF] [Export] Move temp table creation function to the processor ([14851](https://github.com/civicrm/civicrm-core/pull/14851))**
+- **Current employer disappears when disabling expired relationships
+ ([dev/core#470](https://lab.civicrm.org/dev/core/issues/470):
+ [14951](https://github.com/civicrm/civicrm-core/pull/14951))**
-- **[NFC] code reformatting ([14853](https://github.com/civicrm/civicrm-core/pull/14853))**
+### CiviCase
-- **dev/core#538 fix advanced search on activity subject, detail to use wildcards like activity search does ([14703](https://github.com/civicrm/civicrm-core/pull/14703))**
+- **Case summary report filters incorrectly for case type
+ ([dev/core#1118](https://lab.civicrm.org/dev/core/issues/1118):
+ [14827](https://github.com/civicrm/civicrm-core/pull/14827))**
-- **mail#46 - show label, not value, on contribution custom field tokens ([14658](https://github.com/civicrm/civicrm-core/pull/14658))**
+ Fixes a bug where applying the case type filter in the case summary report
+ resulted in two case types being reported where only one is selected in the
+ case type filter.
-- **Remove use of deprecated path in function `CRM_Event_BAO_Event::checkPermission()` ([14735](https://github.com/civicrm/civicrm-core/pull/14735))**
+- **CiviCase singleton activity warning has wrong url
+ ([dev/core#1115](https://lab.civicrm.org/dev/core/issues/1115):
+ [14824](https://github.com/civicrm/civicrm-core/pull/14824))**
-- **Switch priceset selector to addField method ([14843](https://github.com/civicrm/civicrm-core/pull/14843))**
+ Fixes a bug where if a case type has an activity type (other than open case)
+ with max_instances set to 1 and a user attempted to create a second activity
+ of that type for that case type the warning presented to the user would
+ contain a broken link to edit the existing activity of that type so that the
+ link works as expected.
-- **Changed the title and description of profile_add_to_group_double_optin ([14852](https://github.com/civicrm/civicrm-core/pull/14852))**
+### CiviContribute
-- **dev/core#1118 correct filteration by case type, re-use parent where() ([14827](https://github.com/civicrm/civicrm-core/pull/14827))**
+- **[dev/core#1133](https://lab.civicrm.org/dev/core/issues/1133) Payment method
+ name is displayed instead of label in payment block for Manual payment
+ ([14841](https://github.com/civicrm/civicrm-core/pull/14841))**
-- **Set profile greeting fields based on actual contact type ([14845](https://github.com/civicrm/civicrm-core/pull/14845))**
+ Ensures the Payment method name is displayed instead of label in payment block
+ for Manual payment.
-- **[REF][TEST][EXPORT] minor test cleanup & minor cleanup of code it tests ([14848](https://github.com/civicrm/civicrm-core/pull/14848))**
+- **Bug, cannot import Contributions because the import requires the payment
+ method, payment instrument ID, not the payment instrument label
+ ([dev/financial#36](https://lab.civicrm.org/dev/financial/issues/36):
+ [14881](https://github.com/civicrm/civicrm-core/pull/14881))**
-- **[NFC] [TEST] code formatting in test class ([14849](https://github.com/civicrm/civicrm-core/pull/14849))**
+- **Editing a financial account pops up a blank new form
+ ([dev/financial#65](https://lab.civicrm.org/dev/financial/issues/65):
+ [15037](https://github.com/civicrm/civicrm-core/pull/15037))**
-- **[REF] [TEST] cleanup on export activity test ([14850](https://github.com/civicrm/civicrm-core/pull/14850))**
+- **Contribution page including 2 email fields does not respect dedupe rule.
+ ([dev/core#961](https://lab.civicrm.org/dev/core/issues/961):
+ [14252](https://github.com/civicrm/civicrm-core/pull/14252))**
-- **[REF] [Export] Stop passing exportParams & sqlColumns around ([14838](https://github.com/civicrm/civicrm-core/pull/14838))**
+- **Catch Payment Processor Exception if thrown when registering via back office
+ participant registration
+ ([14930](https://github.com/civicrm/civicrm-core/pull/14930))**
-- **[REF] Down with php4 compatibility ([14847](https://github.com/civicrm/civicrm-core/pull/14847))**
+- **Fix creation of additional zero value line item when changing fee selection
+ in edge case ([14589](https://github.com/civicrm/civicrm-core/pull/14589))**
-- **dev/core#1133 Payment method name is displayed instead of label in payment block for Manual payment ([14841](https://github.com/civicrm/civicrm-core/pull/14841))**
+### CiviEvent
-- **Menubar - Improve flexibility & remove hardcoded values ([14839](https://github.com/civicrm/civicrm-core/pull/14839))**
+- **Fixed event type id fetch
+ ([14534](https://github.com/civicrm/civicrm-core/pull/14534))**
-- **[REF] [Export] Simplify setting of address strings ([14835](https://github.com/civicrm/civicrm-core/pull/14835))**
+ Fixes a bug where when using the query search the event type id was being
+ returned as the option_value.id instead option_value.value.
-- **dev/core#1056 Remove unneded schema file ([14834](https://github.com/civicrm/civicrm-core/pull/14834))**
+- **Participants having multiple roles affects maximum event registration count
+ ([dev/core#1135](https://lab.civicrm.org/dev/core/issues/1135):
+ [14844](https://github.com/civicrm/civicrm-core/pull/14844))**
-- **dev/core#1120 remove multiple export handling ([14830](https://github.com/civicrm/civicrm-core/pull/14830))**
+ Ensures that Participants having multiple roles does not affect the maximum
+ event registration count.
-- **[NFC] [TEST] Reformat arrays in test classes ([14831](https://github.com/civicrm/civicrm-core/pull/14831))**
+- **Allow duplicate backend registration when event has "allow same participant
+ emails" ([dev/event#6](https://lab.civicrm.org/dev/event/issues/6):
+ [14884](https://github.com/civicrm/civicrm-core/pull/14884))**
-- **Use singleton to get session instead of relying on ->_session being set elsewhere ([14832](https://github.com/civicrm/civicrm-core/pull/14832))**
+- **Event Cart: does not save participant custom fields on checkout
+ ([dev/event#8](https://lab.civicrm.org/dev/event/issues/8):
+ [14816](https://github.com/civicrm/civicrm-core/pull/14816))**
-- **Add in Deprecation warnings on Cache functons ([14828](https://github.com/civicrm/civicrm-core/pull/14828))**
+- **Event Templates: do not auto-populate the Start Date / End Date
+ ([dev/event#9](https://lab.civicrm.org/dev/event/issues/9):
+ [14862](https://github.com/civicrm/civicrm-core/pull/14862))**
-- **dev/core#1093 Make bulkSave defaults optional and ensure correct post hook is called ([14829](https://github.com/civicrm/civicrm-core/pull/14829))**
+### CiviMail
-- **[REF] Convert contribution_recur dates to datepicker from jcalendar ([14737](https://github.com/civicrm/civicrm-core/pull/14737))**
+- **Unsubscribe broken if mailing sent to previous mailing recipients with an
+ excluded group (Work towards
+ [dev/core#1108](https://lab.civicrm.org/dev/core/issues/1108):
+ [14760](https://github.com/civicrm/civicrm-core/pull/14760) and
+ [14761](https://github.com/civicrm/civicrm-core/pull/14761))**
-- **dev/core#1115 - fix invalid url in singleton/max_instances warning in civicase ([14824](https://github.com/civicrm/civicrm-core/pull/14824))**
+ These changes clean up code to set the stage to fix a bug where the
+ unsubscribe link does not work if a mailing is sent to a list of previous
+ mailing recipients and excludes a group.
-- **[REF] [Export] remove another confusing parameter ([14822](https://github.com/civicrm/civicrm-core/pull/14822))**
+- **Contribution tokens with option values display values, not label
+ ([dev/mail#46](https://lab.civicrm.org/dev/mail/issues/46):
+ [14658](https://github.com/civicrm/civicrm-core/pull/14658))**
-- **[REF] Cleanup up handling of dates for Recurring & Contribution date fields in query class ([14825](https://github.com/civicrm/civicrm-core/pull/14825))**
+### CiviMembership
-- **Remove additional custom fields deletegroup functions ([14823](https://github.com/civicrm/civicrm-core/pull/14823))**
+- **Scheduled Reminders for Membership not being sent
+ ([dev/core#285](https://lab.civicrm.org/dev/core/issues/285):
+ [13487](https://github.com/civicrm/civicrm-core/pull/13487) and
+ [14810](https://github.com/civicrm/civicrm-core/pull/14810))**
-- **Convert the contact fields cache group to standard cache backend ([14583](https://github.com/civicrm/civicrm-core/pull/14583))**
+ Fixes a bug where If you setup a scheduled reminder for memberships based on
+ the end date, the first reminder would send as expected but if the user
+ renewed their membership it wouldn't send out another reminder when the
+ condition became true for the new end date.
-- **Add unique names and unique title for recurrings. ([14820](https://github.com/civicrm/civicrm-core/pull/14820))**
+- **Fix mishandling of renamed membership status labels on membership import
+ ([14940](https://github.com/civicrm/civicrm-core/pull/14940))**
-- **Convert Custom Data cache group to be using standard cache backend ([14582](https://github.com/civicrm/civicrm-core/pull/14582))**
+ Fixes a bug that especially affects multilingual sites where the 'Membership
+ Status' is compared against the 'name' field but not the 'label'.
-- **5.16 to master ([14821](https://github.com/civicrm/civicrm-core/pull/14821))**
+- **Fix membership end date on confirming a pending contribution
+ ([14902](https://github.com/civicrm/civicrm-core/pull/14902))**
-- **[REF] [Export] Stop passing export params to the merge function ([14819](https://github.com/civicrm/civicrm-core/pull/14819))**
+ Fixes a bug where if a user created a Membership with a contribution status of
+ pending for 2 or more terms, recording a payment for that Contribution would
+ lead to the membership end_date being set incorrectly.
-- **dev/event#8 Event Cart: save Participant custom field data ([14816](https://github.com/civicrm/civicrm-core/pull/14816))**
+### Backdrop Integration
-- **Remove the only two defined fonts from selectors ([14815](https://github.com/civicrm/civicrm-core/pull/14815))**
+- **Fix getLoginURL() for Backdrop
+ ([dev/core#1170](https://lab.civicrm.org/dev/core/issues/1170):
+ [14985](https://github.com/civicrm/civicrm-core/pull/14985))**
-- **[REF] Cleanup usage of CRM_Core_BAO_PrevNextCache::setItem and deprec⦠([14675](https://github.com/civicrm/civicrm-core/pull/14675))**
+ Fixes the redirect when an anonymous user goes to `/user` to point to
+ `/user/login` instead of `/user?destination...`.
-- **Convert Navigation cache group to current cache defition system ([14581](https://github.com/civicrm/civicrm-core/pull/14581))**
+### Drupal Integration
-- **[TEST] export - add unit test covering merge to same address addressee handling ([14817](https://github.com/civicrm/civicrm-core/pull/14817))**
+- **confirmation screen shows internal profile name not public title (reg screen
+ shows public title)
+ ([dev/drupal#72](https://lab.civicrm.org/dev/drupal/issues/72):
+ [14960](https://github.com/civicrm/civicrm-core/pull/14960))**
-- **MagicMerge - Fix ephemeral overrides for aliased properties ([14818](https://github.com/civicrm/civicrm-core/pull/14818))**
+ Fixes a bug whereby the front end profile title was not being used in event
+ confirm & thank you screens & confirmation emails.
-- **[EXPORT] add getPreview function ([14782](https://github.com/civicrm/civicrm-core/pull/14782))**
+- **[regression] `cv` fails on CiviCRM 5.15.0
+ ([dev/drupal#75](https://lab.civicrm.org/dev/drupal/issues/75):
+ [14772](https://github.com/civicrm/civicrm-core/pull/14772))**
-- **[REF] [Export] clean up incorporation of order by & group by into ExportProcessor ([14811](https://github.com/civicrm/civicrm-core/pull/14811))**
+ Fixes a call to `languageNegotiationURL` that was causing cv to fail on Drupal
+ 8 sites.
-- **[REF] [Export] More export Structure arrays to processor ([14812](https://github.com/civicrm/civicrm-core/pull/14812))**
+- **Fail more gracefully when attempting to install on PHP 5.x
+ ([dev/drupal#79](https://lab.civicrm.org/dev/drupal/issues/79):
+ [15082](https://github.com/civicrm/civicrm-core/pull/15082) and
+ [15089](https://github.com/civicrm/civicrm-core/pull/15089))**
-- **[REF] [TEST] [Export] Update export tests to reflect new format ([14813](https://github.com/civicrm/civicrm-core/pull/14813))**
+ Raises the `MINIMUM_PHP_VERSION` from 5.6 to 7.0 in the metadata because when
+ upgrading via drush or Drupal web UI to Civi 5.16+ on PHP 5.6, the Civi
+ class-loader fails to initialize. The installer is also updated to check the
+ PHP version before proceeding with the class loader.
-- **Fix upgrade for membership second reminder ([14810](https://github.com/civicrm/civicrm-core/pull/14810))**
+- **Migrate CivicrmHelper::parseUrl() to CRM_Utils_System_Drupal8::parseUrl().
+ ([14696](https://github.com/civicrm/civicrm-core/pull/14696))**
-- **[REF] [Export] Further cleanup - construct sql more concisely ([14808](https://github.com/civicrm/civicrm-core/pull/14808))**
+ Fixes a bug when installing Drupal8 thru the command line.
-- **[REF] [Export] move mergeSameAddress to processor class ([14809](https://github.com/civicrm/civicrm-core/pull/14809))**
+- **Fix path for civicrm.settings.php when installed in profiles/
+ ([552](https://github.com/civicrm/civicrm-drupal/pull/552))**
-- **[TEST][EXPORT] Improve unit test on export. ([14793](https://github.com/civicrm/civicrm-core/pull/14793))**
+ Ensures that when CiviCRM is installed in a Drupal distribution profile under
+ `profiles/
/modules/[contrib]`, the function `civicrm_conf_init()`
+ returns the proper path for file civicrm.settings.php before this change
+ calling an API using REST would result in a "Could not load the settings
+ file..." error.
-- **5.16 to master ([14807](https://github.com/civicrm/civicrm-core/pull/14807))**
+## Miscellany
-- **[REF] [Export] further code cleanup ([14806](https://github.com/civicrm/civicrm-core/pull/14806))**
+- **Changing a civicase activity's label breaks the max_instances check (Begins
+ work towards [dev/core#1116](https://lab.civicrm.org/dev/core/issues/1116):
+ [14952](https://github.com/civicrm/civicrm-core/pull/14952) and
+ [14970](https://github.com/civicrm/civicrm-core/pull/14970))**
-- **[REF] final cleanup - call bulkCreate from migrate_utils ([14728](https://github.com/civicrm/civicrm-core/pull/14728))**
+- **Update civicrmtheme module to use new isFrontEndPage function on user System
+ ([581](https://github.com/civicrm/civicrm-drupal/pull/581))**
-- **[REF] [EXPORT] Alter CRM_Export_BAO_Export::exportComponents ([14800](https://github.com/civicrm/civicrm-core/pull/14800))**
+- **Removed hardcoded activity status and used Activity create
+ ([14720](https://github.com/civicrm/civicrm-core/pull/14720))**
-- **(dev/core#285) Fixed second membership reminder ([13487](https://github.com/civicrm/civicrm-core/pull/13487))**
+- **Extract field wrangling to determineReturnProperties
+ ([14756](https://github.com/civicrm/civicrm-core/pull/14756))**
-- **[REF] [Export] move build master copy array to ExportProcessor ([14803](https://github.com/civicrm/civicrm-core/pull/14803))**
+- **Finish removing references to Config.IDS.ini
+ ([14770](https://github.com/civicrm/civicrm-core/pull/14770))**
-- **[REF] [Export] Remove code that seems unused ([14804](https://github.com/civicrm/civicrm-core/pull/14804))**
+- **Convert Navigation cache group to current cache definition system
+ ([14581](https://github.com/civicrm/civicrm-core/pull/14581))**
-- **[REF] [Export] Move setting of household properties to processor ([14802](https://github.com/civicrm/civicrm-core/pull/14802))**
+- **Convert the contact fields cache group to standard cache backend
+ ([14583](https://github.com/civicrm/civicrm-core/pull/14583) and
+ [14582](https://github.com/civicrm/civicrm-core/pull/14582))**
-- **5.16 to master ([14805](https://github.com/civicrm/civicrm-core/pull/14805))**
+- **Remove additional custom fields deletegroup functions
+ ([14823](https://github.com/civicrm/civicrm-core/pull/14823))**
-- **[REF] [Export] Minor code relocation ([14801](https://github.com/civicrm/civicrm-core/pull/14801))**
+- **Add in Deprecation warnings on Cache functons
+ ([14828](https://github.com/civicrm/civicrm-core/pull/14828))**
-- **[REF] [Export] Move replace merge tokens to processor class ([14799](https://github.com/civicrm/civicrm-core/pull/14799))**
+- **Autoformat /tests directory with php short array syntax
+ ([14857](https://github.com/civicrm/civicrm-core/pull/14857))**
-- **[REF] [EXPORT] Stop passing return Properties ([14795](https://github.com/civicrm/civicrm-core/pull/14795))**
+- **Remove use of deprecated path in function
+ `CRM_Event_BAO_Event::checkPermission()`
+ ([14735](https://github.com/civicrm/civicrm-core/pull/14735))**
-- **[REF] [Export] Move function that parses tokens to address processor ([14797](https://github.com/civicrm/civicrm-core/pull/14797))**
+- **Add in Atomfeeds deprecation now that the extension has a new release with
+ converted cache mechanism
+ ([14856](https://github.com/civicrm/civicrm-core/pull/14856))**
-- **[REF] [EXPORT] Minor consolidation of weird mergeSameAddreess nightmare code ([14796](https://github.com/civicrm/civicrm-core/pull/14796))**
+- **Further deprecate use of $ids array in membership functions
+ ([14887](https://github.com/civicrm/civicrm-core/pull/14887))**
-- **dev/core#1093 add a bulkCreate action for many customFields in one go ([14694](https://github.com/civicrm/civicrm-core/pull/14694))**
+- **[IMPORT] reduce php4 support, don't pass by ref when not required
+ ([14872](https://github.com/civicrm/civicrm-core/pull/14872))**
-- **Use select2 to display field mappings ([14794](https://github.com/civicrm/civicrm-core/pull/14794))**
+- **[IMPORT] [code-quality] Remove usage of nullArray
+ ([14869](https://github.com/civicrm/civicrm-core/pull/14869))**
-- **[REF] [EXPORT] cleanup setting of additional postal fields ([14790](https://github.com/civicrm/civicrm-core/pull/14790))**
+- **[IMPORT] [code quality] [REF] Improve readability of variable assignment
+ ([14871](https://github.com/civicrm/civicrm-core/pull/14871))**
-- **[REF] [EXPORT] [TLA] Update handling of input fields so that the mapping format is accepted. ([14792](https://github.com/civicrm/civicrm-core/pull/14792))**
+- **Remove "Copy Case custom data" code (circa 2013)
+ ([15051](https://github.com/civicrm/civicrm-core/pull/15051))**
-- **[REF][Export] Minor cleanup on household merge properties ([14787](https://github.com/civicrm/civicrm-core/pull/14787))**
+- **People tagged with âNo Bulk Email (User Opt Out)â seem to be receiving bulk
+ email (Adds test for
+ [dev/core#1162](https://lab.civicrm.org/dev/core/issues/1162):
+ [14947](https://github.com/civicrm/civicrm-core/pull/14947))**
-- **[NFC] [REF] [TEST] [EXPORT] Update various export tests to test csv output with new functions ([14780](https://github.com/civicrm/civicrm-core/pull/14780))**
+- **Remove deprecated SQL_CALC_FOUND_ROWS
+ ([dev/core#1141](https://lab.civicrm.org/dev/core/issues/1141):
+ [14877](https://github.com/civicrm/civicrm-core/pull/14877))**
-- **[REF] [EXPORT] partial cleanup on adding fields to returnProperties based on usage ([14788](https://github.com/civicrm/civicrm-core/pull/14788))**
+- **Remove unused xml/schema/Event/EventPage.xml
+ ([dev/core#1056](https://lab.civicrm.org/dev/core/issues/1056):
+ [14834](https://github.com/civicrm/civicrm-core/pull/14834))**
-- **[EXPORT] Minor fixes to the export form ([14785](https://github.com/civicrm/civicrm-core/pull/14785))**
+- **Errors exporting contributions on 5.13.2 (unit test for
+ [dev/core#1015](https://lab.civicrm.org/dev/core/issues/1015):
+ [14514](https://github.com/civicrm/civicrm-core/pull/14514))**
-- **5.16 to master ([14786](https://github.com/civicrm/civicrm-core/pull/14786))**
+- **Minor cleanup around invoicing on event code
+ ([14959](https://github.com/civicrm/civicrm-core/pull/14959))**
-- ** [REF] [export] remove chunk of non-functional code ([14773](https://github.com/civicrm/civicrm-core/pull/14773))**
+- **Multilingual test fix and cleanup
+ ([14639](https://github.com/civicrm/civicrm-core/pull/14639))**
-- **[REF] [export] Cleaner handling of additional return properties ([14774](https://github.com/civicrm/civicrm-core/pull/14774))**
+- **Updated Circle-Interactive developers info
+ ([14736](https://github.com/civicrm/civicrm-core/pull/14736))**
-- **dev/core#1108 Use api call to retrieve mailing_id ([14761](https://github.com/civicrm/civicrm-core/pull/14761))**
+- **Remove unused standalone-mode code
+ ([14910](https://github.com/civicrm/civicrm-core/pull/14910))**
-- **[REF] initial extraction of loading saved mapping to qf format ([14767](https://github.com/civicrm/civicrm-core/pull/14767))**
+- **[TEST] [REF] [Export] Convert a couple more tests
+ ([14953](https://github.com/civicrm/civicrm-core/pull/14953))**
-- **[REF] simplify & add tests on getMappingParams ([14769](https://github.com/civicrm/civicrm-core/pull/14769))**
+- **[REF] [Test] [Export] Convert some more tests to use the newer function
+ ([14933](https://github.com/civicrm/civicrm-core/pull/14933))**
-- **5.16 to master ([14781](https://github.com/civicrm/civicrm-core/pull/14781))**
+- **[REF] [Export] [Test] Update 2 more tests to use new helper
+ ([14915](https://github.com/civicrm/civicrm-core/pull/14915))**
-- **[ref] [export] [test] Improve csv test to test final output rather than the csv ([14779](https://github.com/civicrm/civicrm-core/pull/14779))**
+- **[REF][TEST][EXPORT] minor test cleanup & minor cleanup of code it tests
+ ([14848](https://github.com/civicrm/civicrm-core/pull/14848))**
-- **Fix enotice on formatting credit card details ([14750](https://github.com/civicrm/civicrm-core/pull/14750))**
+- **[REF] [TEST] [Export] Update export tests to reflect new format
+ ([14813](https://github.com/civicrm/civicrm-core/pull/14813))**
-- **Finish removing references to Config.IDS.ini ([14770](https://github.com/civicrm/civicrm-core/pull/14770))**
+- **[REF] [EXPORT] [TLA] Update handling of input fields so that the mapping
+ format is accepted.
+ ([14792](https://github.com/civicrm/civicrm-core/pull/14792))**
-- **Migrate CivicrmHelper::parseUrl() to CRM_Utils_System_Drupal8::parseUrl(). ([14696](https://github.com/civicrm/civicrm-core/pull/14696))**
+- **[NFC] [REF] [TEST] [EXPORT] Update various export tests to test csv output
+ with new functions
+ ([14780](https://github.com/civicrm/civicrm-core/pull/14780))**
-- **GenCode, Cache::cleanKey() - Fix deploop during clean initialization ([14777](https://github.com/civicrm/civicrm-core/pull/14777))**
+- **[REf] [Export] Remove deprecated componentPaymentFields function
+ ([14874](https://github.com/civicrm/civicrm-core/pull/14874))**
-- **(dev/cloud-native#3) CRM_Utils_File - Deprecate baseFilePath() et al ([14778](https://github.com/civicrm/civicrm-core/pull/14778))**
+- **[Ref] [Export] Remove exportComponent function - it's not adding much here
+ ([14875](https://github.com/civicrm/civicrm-core/pull/14875))**
-- **dev/drupal#75 Drupal8: fix call to languageNegotiationURL() when called from cv ([14772](https://github.com/civicrm/civicrm-core/pull/14772))**
+- **[REF] [Export] Move writeToTable fn to exportProcessor
+ ([14932](https://github.com/civicrm/civicrm-core/pull/14932))**
-- **[REF] [export] . Move greeting params retrieval to the place in the code where it is used ([14768](https://github.com/civicrm/civicrm-core/pull/14768))**
+- **[REF] [Export] Stop passing header rows around
+ ([14913](https://github.com/civicrm/civicrm-core/pull/14913))**
-- **[REF] Update export test to new function ([14765](https://github.com/civicrm/civicrm-core/pull/14765))**
+- **[REF] [Export] Remove now redundant param
+ ([14912](https://github.com/civicrm/civicrm-core/pull/14912))**
-- **dev/core#578 follow up fix on activity summary report ([14745](https://github.com/civicrm/civicrm-core/pull/14745))**
+- **[REF] [EXPORT] Use columns from processor instead of passing them
+ ([14860](https://github.com/civicrm/civicrm-core/pull/14860))**
-- **Set title using standard form method and use for success message on contributionpage ([14615](https://github.com/civicrm/civicrm-core/pull/14615))**
+- **[REF] [Export] Move temp table creation function to the processor
+ ([14851](https://github.com/civicrm/civicrm-core/pull/14851))**
-- **[REF] Extract mapping converter function, kinda brutally ([14762](https://github.com/civicrm/civicrm-core/pull/14762))**
+- **[REF] [Export] Stop passing exportParams & sqlColumns around
+ ([14838](https://github.com/civicrm/civicrm-core/pull/14838))**
-- **expose smarty's compile_check to be overridden in civicrm.settings.php ([14706](https://github.com/civicrm/civicrm-core/pull/14706))**
+- **[REF] [Export] remove another confusing parameter
+ ([14822](https://github.com/civicrm/civicrm-core/pull/14822))**
-- **[REF] export code simplification ([14758](https://github.com/civicrm/civicrm-core/pull/14758))**
+- **[REF] [Export] Stop passing export params to the merge function
+ ([14819](https://github.com/civicrm/civicrm-core/pull/14819))**
-- **[REF] Extract saveMapping Field ([14757](https://github.com/civicrm/civicrm-core/pull/14757))**
+- **[REF] [Export] Simplify setting of address strings
+ ([14835](https://github.com/civicrm/civicrm-core/pull/14835))**
-- **e-notice fix & unit test ([14729](https://github.com/civicrm/civicrm-core/pull/14729))**
+- **[REF] [Export] clean up incorporation of order by & group by into
+ ExportProcessor
+ ([14811](https://github.com/civicrm/civicrm-core/pull/14811))**
-- **Extract field wrangling to determineReturnProperties ([14756](https://github.com/civicrm/civicrm-core/pull/14756))**
+- **[REF] [Export] More export Structure arrays to processor
+ ([14812](https://github.com/civicrm/civicrm-core/pull/14812))**
-- **Fix obscure bug on updating custom fields (not necessarily hittable via UI) ([14754](https://github.com/civicrm/civicrm-core/pull/14754))**
+- **[REF] [Export] Further cleanup - construct sql more concisely
+ ([14808](https://github.com/civicrm/civicrm-core/pull/14808))**
-- **[REF] Remove call to getMappingFields in favour of api call. ([14755](https://github.com/civicrm/civicrm-core/pull/14755))**
+- **[REF] [Export] move mergeSameAddress to processor class
+ ([14809](https://github.com/civicrm/civicrm-core/pull/14809))**
-- **[REF] un-extract createProportionalFinancialEntities ([14742](https://github.com/civicrm/civicrm-core/pull/14742))**
+- **[REF] [Export] further code cleanup
+ ([14806](https://github.com/civicrm/civicrm-core/pull/14806))**
-- **[REF] Move function onto the processor class ([14752](https://github.com/civicrm/civicrm-core/pull/14752))**
+- **[REF] [EXPORT] Alter CRM_Export_BAO_Export::exportComponents
+ ([14800](https://github.com/civicrm/civicrm-core/pull/14800))**
-- **dev/core#1015 Unit test for fix regression on exporting soft credits ([14514](https://github.com/civicrm/civicrm-core/pull/14514))**
+- **[REF] [Export] move build master copy array to ExportProcessor
+ ([14803](https://github.com/civicrm/civicrm-core/pull/14803))**
-- **[REF] Extract CRM_Core_BAO_Mapping::addComponentFields ([14751](https://github.com/civicrm/civicrm-core/pull/14751))**
+- **[REF] [Export] Remove code that seems unused
+ ([14804](https://github.com/civicrm/civicrm-core/pull/14804))**
-- **dev/report#17 fix postal_code_suffix col ([14744](https://github.com/civicrm/civicrm-core/pull/14744))**
+- **[REF] [Export] Move setting of household properties to processor
+ ([14802](https://github.com/civicrm/civicrm-core/pull/14802))**
-- **REF Simple cleanup of tabset code for contributionpages ([14616](https://github.com/civicrm/civicrm-core/pull/14616))**
+- **[REF] [Export] Minor code relocation
+ ([14801](https://github.com/civicrm/civicrm-core/pull/14801))**
-- **Removed hardcoded activity status and used Activity create ([14720](https://github.com/civicrm/civicrm-core/pull/14720))**
+- **[REF] [Export] Move replace merge tokens to processor class
+ ([14799](https://github.com/civicrm/civicrm-core/pull/14799))**
-- **5.16 to master ([14749](https://github.com/civicrm/civicrm-core/pull/14749))**
+- **[REF] [EXPORT] Stop passing return Properties
+ ([14795](https://github.com/civicrm/civicrm-core/pull/14795))**
-- **dev/core/issues/577: Activity Summary report fix for db column count error with section header (without ONLY_FULL_GROUP_BY) ([13540](https://github.com/civicrm/civicrm-core/pull/13540))**
+- **[REF] [Export] Move function that parses tokens to address processor
+ ([14797](https://github.com/civicrm/civicrm-core/pull/14797))**
-- **[REF] Further cleanup & extraction in getMappingFieds ([14743](https://github.com/civicrm/civicrm-core/pull/14743))**
+- **[REF] [EXPORT] Minor consolidation of weird mergeSameAddreess nightmare code
+ ([14796](https://github.com/civicrm/civicrm-core/pull/14796))**
-- **[REF] Simple function extraction for buildMappingForm ([14741](https://github.com/civicrm/civicrm-core/pull/14741))**
+- **[REF] [EXPORT] cleanup setting of additional postal fields
+ ([14790](https://github.com/civicrm/civicrm-core/pull/14790))**
-- **[REF] simple extraction of getFieldAlterSQL ([14727](https://github.com/civicrm/civicrm-core/pull/14727))**
+- **[REF][Export] Minor cleanup on household merge properties
+ ([14787](https://github.com/civicrm/civicrm-core/pull/14787))**
-- ** Fix creation of additional zero value line item when changing fee selection in edge case ([14589](https://github.com/civicrm/civicrm-core/pull/14589))**
+- **[REF] [EXPORT] partial cleanup on adding fields to returnProperties based on
+ usage ([14788](https://github.com/civicrm/civicrm-core/pull/14788))**
-- **[REF] extract portion that creates the custom field record ([14725](https://github.com/civicrm/civicrm-core/pull/14725))**
+- **[REF] [export] remove chunk of non-functional code
+ ([14773](https://github.com/civicrm/civicrm-core/pull/14773))**
-- **5.16 to master ([14738](https://github.com/civicrm/civicrm-core/pull/14738))**
+- **[REF] [export] Cleaner handling of additional return properties
+ ([14774](https://github.com/civicrm/civicrm-core/pull/14774))**
-- **Improve handling of 'Manage Event' title ([14614](https://github.com/civicrm/civicrm-core/pull/14614))**
+- **[ref] [export] [test] Improve csv test to test final output rather than the
+ csv ([14779](https://github.com/civicrm/civicrm-core/pull/14779))**
-- **[REF] Cleanup fixSchemaDifferencesFor() ([14697](https://github.com/civicrm/civicrm-core/pull/14697))**
+- **[REF] [export] . Move greeting params retrieval to the place in the code
+ where it is used
+ ([14768](https://github.com/civicrm/civicrm-core/pull/14768))**
-- **[REF] clarify variable (very minor change with good test cover) ([14724](https://github.com/civicrm/civicrm-core/pull/14724))**
+- **[REF] [Export] Move fetch Relationship details to processor
+ ([14898](https://github.com/civicrm/civicrm-core/pull/14898))**
-- **Fix some test leakage ([14731](https://github.com/civicrm/civicrm-core/pull/14731))**
+- **[REF] [Import] extract function that sets field metadata
+ ([14979](https://github.com/civicrm/civicrm-core/pull/14979))**
-- **Updated Circle-Interactive developers info ([14736](https://github.com/civicrm/civicrm-core/pull/14736))**
+- **[REF][Import] very minor cleanup - 3 lines of code to one
+ ([14976](https://github.com/civicrm/civicrm-core/pull/14976))**
-- **Activity search - convert priority_id to a metadata field and add location as a searchable field ([14701](https://github.com/civicrm/civicrm-core/pull/14701))**
+- **[REF][Event] Extract calculation of 'zero-ness' in form rule
+ ([14917](https://github.com/civicrm/civicrm-core/pull/14917))**
-- **[REF] simple extraction of prepareCreateParams ([14726](https://github.com/civicrm/civicrm-core/pull/14726))**
+- **[REF] extract loadSavedMapping
+ ([14873](https://github.com/civicrm/civicrm-core/pull/14873))**
-- **dev/core#1097 - Ensure consistent count on Groups tab ([14721](https://github.com/civicrm/civicrm-core/pull/14721))**
+- **[REF] Add in cleanup function to prevnext service and utilise in cleaâ¦
+ ([14911](https://github.com/civicrm/civicrm-core/pull/14911))**
-- **Fix path for civicrm.settings.php when installed in profiles/ ([552](https://github.com/civicrm/civicrm-drupal/pull/552))**
+- **[REF] Update selfService in updateBilling to use shared function
+ ([14965](https://github.com/civicrm/civicrm-core/pull/14965))**
-- **Update civicrmtheme module to use new isFrontEndPage function on user⦠([581](https://github.com/civicrm/civicrm-drupal/pull/581))**
+- **[REF] remove never-set, mispelt parameter
+ ([14907](https://github.com/civicrm/civicrm-core/pull/14907))**
-- **(NFC) VERSIONS.php - Add discussion about how to migrate to composer ([261](https://github.com/civicrm/civicrm-packages/pull/261))**
+- **[REF] minor code cleanup on import mapping
+ ([14962](https://github.com/civicrm/civicrm-core/pull/14962))**
-## Miscellany
+- **[REF] Move Self service handlng to shared function to allow for use iâ¦
+ ([14963](https://github.com/civicrm/civicrm-core/pull/14963))**
+
+- **[REF] simple extraction of function to check required fields are present
+ ([14961](https://github.com/civicrm/civicrm-core/pull/14961))**
+
+- **[REF] Down with php4 compatibility
+ ([14847](https://github.com/civicrm/civicrm-core/pull/14847))**
+
+- **[REF] Convert contribution_recur dates to datepicker from jcalendar
+ ([14737](https://github.com/civicrm/civicrm-core/pull/14737))**
+
+- **[REF] initial extraction of loading saved mapping to qf format
+ ([14767](https://github.com/civicrm/civicrm-core/pull/14767))**
+
+- **[REF] simplify & add tests on getMappingParams
+ ([14769](https://github.com/civicrm/civicrm-core/pull/14769))**
+
+- **[REF] Update export test to new function
+ ([14765](https://github.com/civicrm/civicrm-core/pull/14765))**
+
+- **[REF] Extract mapping converter function, kinda brutally
+ ([14762](https://github.com/civicrm/civicrm-core/pull/14762))**
+
+- **[REF] export code simplification
+ ([14758](https://github.com/civicrm/civicrm-core/pull/14758))**
+
+- **[REF] Extract saveMapping Field
+ ([14757](https://github.com/civicrm/civicrm-core/pull/14757))**
+
+- **[REF] Remove call to getMappingFields in favour of api call.
+ ([14755](https://github.com/civicrm/civicrm-core/pull/14755))**
+
+- **[REF] un-extract createProportionalFinancialEntities
+ ([14742](https://github.com/civicrm/civicrm-core/pull/14742))**
+
+- **[REF] Move function onto the processor class
+ ([14752](https://github.com/civicrm/civicrm-core/pull/14752))**
+
+- **[REF] Further cleanup & extraction in getMappingFieds
+ ([14743](https://github.com/civicrm/civicrm-core/pull/14743))**
+
+- **[REF] Simple function extraction for buildMappingForm
+ ([14741](https://github.com/civicrm/civicrm-core/pull/14741))**
+
+- **[REF] simple extraction of getFieldAlterSQL
+ ([14727](https://github.com/civicrm/civicrm-core/pull/14727))**
+
+- **[REF] extract portion that creates the custom field record
+ ([14725](https://github.com/civicrm/civicrm-core/pull/14725))**
+
+- **[REF] simple extraction of prepareCreateParams
+ ([14726](https://github.com/civicrm/civicrm-core/pull/14726))**
+
+- **[REF] Cleanup fixSchemaDifferencesFor()
+ ([14697](https://github.com/civicrm/civicrm-core/pull/14697))**
+
+- **[REF] clarify variable (very minor change with good test cover)
+ ([14724](https://github.com/civicrm/civicrm-core/pull/14724))**
+
+- **[REF] Extract CRM_Core_BAO_Mapping::addComponentFields
+ ([14751](https://github.com/civicrm/civicrm-core/pull/14751))**
+
+- **REF Simple cleanup of tabset code for contributionpages
+ ([14616](https://github.com/civicrm/civicrm-core/pull/14616))**
+
+- **[REF] final cleanup - call bulkCreate from migrate_utils
+ ([14728](https://github.com/civicrm/civicrm-core/pull/14728))**
+
+- **[REF] Cleanup up handling of dates for Recurring & Contribution date fields
+ in query class ([14825](https://github.com/civicrm/civicrm-core/pull/14825))**
+
+- **[REF] Cleanup usage of CRM_Core_BAO_PrevNextCache::setItem and deprecâ¦
+ ([14675](https://github.com/civicrm/civicrm-core/pull/14675))**
+
+- **[REF] [Test] Add test to cover handling of 'gender_id' on import, remove
+ unused code. ([14879](https://github.com/civicrm/civicrm-core/pull/14879))**
+
+- **[REF] [TEST] cleanup on export activity test
+ ([14850](https://github.com/civicrm/civicrm-core/pull/14850))**
+
+- **[test] Catch A.net exception & ignore
+ ([14861](https://github.com/civicrm/civicrm-core/pull/14861))**
+
+- **[Test] [Import] Add test to demonstrate bug that turns out not to exist
+ ([14880](https://github.com/civicrm/civicrm-core/pull/14880))**
+
+- **Add test for failed payment
+ ([14946](https://github.com/civicrm/civicrm-core/pull/14946))**
+
+- **Add unit test demonstrating attaching a listener to queries
+ ([14716](https://github.com/civicrm/civicrm-core/pull/14716))**
+
+- **[Test] Add test cover for Member_BAO_Query auto_renew field
+ ([14956](https://github.com/civicrm/civicrm-core/pull/14956))**
+
+- **Add unit test for net_amount when fee_amount is set
+ ([14909](https://github.com/civicrm/civicrm-core/pull/14909))**
+
+- **Fix some test leakage
+ ([14731](https://github.com/civicrm/civicrm-core/pull/14731))**
+
+- **[TEST] export - add unit test covering merge to same address addressee
+ handling ([14817](https://github.com/civicrm/civicrm-core/pull/14817))**
+
+- **[TEST][EXPORT] Improve unit test on export.
+ ([14793](https://github.com/civicrm/civicrm-core/pull/14793))**
+
+- **[NFC] [TEST] Reformat arrays in test classes
+ ([14831](https://github.com/civicrm/civicrm-core/pull/14831))**
+
+- **[NFC] [TEST] code formatting in test class
+ ([14849](https://github.com/civicrm/civicrm-core/pull/14849))**
+
+- **[NFC] reformat class
+ ([14899](https://github.com/civicrm/civicrm-core/pull/14899))**
+
+- **[NFC] Formatting in BAO_Relationship class
+ ([14949](https://github.com/civicrm/civicrm-core/pull/14949))**
+
+- **[NFC] code formatting only
+ ([14977](https://github.com/civicrm/civicrm-core/pull/14977))**
+
+- **[NFC] minor cleanup
+ ([14957](https://github.com/civicrm/civicrm-core/pull/14957))**
+
+- **NFC Update node module versions based on npm audit fix
+ ([14859](https://github.com/civicrm/civicrm-core/pull/14859))**
+
+- **(NFC) Fixing documentation links in readme.
+ ([14855](https://github.com/civicrm/civicrm-core/pull/14855))**
+
+- **[NFC] code reformatting
+ ([14853](https://github.com/civicrm/civicrm-core/pull/14853))**
+
+- **(NFC) VERSIONS.php - Add discussion about how to migrate to composer
+ ([261](https://github.com/civicrm/civicrm-packages/pull/261))**
+
+- **[NFC] comment fixes, function mis-casing fix
+ ([14906](https://github.com/civicrm/civicrm-core/pull/14906))**
+
+- **[NFC] comment
+ fixes([15197](https://github.com/civicrm/civicrm-core/pull/15197))**
## Credits
This release was developed by the following code authors:
-AGH Strategies - Andrew Hunt, Eli Lisseck; Agileware - Alok Patel, Justin Freeman; Australian Greens - Seamus Lee; Circle Interactive - Dave Jenkins, Kirk Jackson, Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Dawnthorn; Deepak Srivastava; Electronic Frontier Foundation - Mark Burdett; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Greenpeace CEE - Patrick Figel; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; John Kingsnorth; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MillerTech - Chamil Wijesooriya; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Squiffle Consulting - Aidan Saunders; sushantpaste; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Andrew Hunt, Eli Lisseck; Agileware - Alok Patel, Justin
+Freeman; Australian Greens - Seamus Lee; Circle Interactive - Dave Jenkins, Kirk
+Jackson, Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha
+Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Deepak Srivastava; Electronic
+Frontier Foundation - Mark Burdett; Freeform Solutions - Herb van den Dool;
+Fuzion - Jitendra Purohit; Giant Rabbit - Peter Haight; Greenpeace CEE - Patrick
+Figel; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; John Kingsnorth;
+Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology
+Consulting - Jon Goldberg; MillerTech - Chamil Wijesooriya; MJCO - Mikey
+O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; OSSeed Technologies
+LLP - Sushant Paste; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation -
+Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; Australian Greens - Seamus Lee; Circle Interactive - Dave Jenkins, Kirk Jackson, Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Nicolas Ganivet, Yashodha Chaku; CompuCorp - Alessandro Verdura; Coop SymbioTIC - Mathieu Lutfy; Dave D; Dawnthorn; Deepak Srivastava; Electronic Frontier Foundation - Mark Burdett; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit, Luke Stewart; Greenpeace CEE - Patrick Figel; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; John Kingsnorth; Joseph Lacey; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Richard van Oosterhout; ryanlrobinson; Skvare - Mark Hanna; Squiffle Consulting - Aidan Saunders; sushantpaste; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Alice Frumin; Agileware - Justin Freeman; CiviCoop - Jaap
+Jansma; CiviDesk - Nicolas Ganivet; CompuCorp - Alessandro Verdura; Fuzion -
+Luke Stewart; Joseph Lacey; Richard van Oosterhout; Ryan L. Robinson; Skvare -
+Mark Hanna; Tadpole Collective - Kevin Cristiano;
## Feedback