X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=release-notes%2F5.21.0.md;h=9ad9b7e53f723d59782b7f279954ea0bf483fa34;hb=81a53602596558bad4b205d13425458f586883dd;hp=98c719f8ac1a6dc9cd8239968ee1aef6b5f41431;hpb=df67940b36644571754cc4c1e5fa20933bf23985;p=civicrm-core.git diff --git a/release-notes/5.21.0.md b/release-notes/5.21.0.md index 98c719f8ac..9ad9b7e53f 100644 --- a/release-notes/5.21.0.md +++ b/release-notes/5.21.0.md @@ -13,406 +13,672 @@ Released January 1, 2020 | *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? | no | +| **Introduce features?** | **yes** | +| **Fix bugs?** | **yes** | ## Features -## Bugs resolved - ### Core CiviCRM -- **5.20 ([16028](https://github.com/civicrm/civicrm-core/pull/16028))** - -- **[NFC] code cleanup in test class. ([16026](https://github.com/civicrm/civicrm-core/pull/16026))** - -- **Add Payment PropertyBag for payment processor method arguments ([15697](https://github.com/civicrm/civicrm-core/pull/15697))** - -- **Always display amount paid even if it is 0.00. Blank looks like it's missing data rather than nothing paid ([16021](https://github.com/civicrm/civicrm-core/pull/16021))** +- **Default to 'copy' for non-empty fields on merge screen + ([dev/core#1339](https://lab.civicrm.org/dev/core/issues/1339): + [15595](https://github.com/civicrm/civicrm-core/pull/15595))** -- **allow PCP report to filter on contribution status ([16024](https://github.com/civicrm/civicrm-core/pull/16024))** + This updates the contact merge screen to default to copying data for all + non-empty fields. This change makes it easier to keep too much data but harder + to lose some. -- **[NFC] Fix camelCase variable name following fix for dev/core#1435 ([16023](https://github.com/civicrm/civicrm-core/pull/16023))** +- **Performance issue when exporting to CSV from reports with custom fields + ([dev/report#19](https://lab.civicrm.org/dev/report/issues/19): + [15248](https://github.com/civicrm/civicrm-core/pull/15248))** -- **Remove unused cancelledStatus assign on contributionView ([16019](https://github.com/civicrm/civicrm-core/pull/16019))** + Performance improvements when exporting a report to CSV. -- **5.20 ([16016](https://github.com/civicrm/civicrm-core/pull/16016))** +- **Memory error on creating large pdfs + ([dev/core#574](https://lab.civicrm.org/dev/core/issues/574): + [13232](https://github.com/civicrm/civicrm-core/pull/13232))** -- **dev/core#523 get the Lybunt charts working again ([15989](https://github.com/civicrm/civicrm-core/pull/15989))** + Improves performance when creating PDFs. -- **[NFC] Remove dinosaur function ([16010](https://github.com/civicrm/civicrm-core/pull/16010))** +- **Update Country list: change Macedonia, Republic of into North Macedonia + ([dev/core#1166](https://lab.civicrm.org/dev/core/issues/1166): + [15997](https://github.com/civicrm/civicrm-core/pull/15997))** -- **PayPalImpl: Add SOLUTIONTYPE parameter that triggers allowing to pay without having to create a paypal account. ([15523](https://github.com/civicrm/civicrm-core/pull/15523))** + Updates the name of "Macedonia, Republic of" to "North Macedonia" in + accordance with the iso 3166-1 list. + +- **Tagsets should display vertically in activity/new case forms + ([dev/core#1346](https://lab.civicrm.org/dev/core/issues/1346): + [15649](https://github.com/civicrm/civicrm-core/pull/15649))** + + Improves the User interface of the "New Activity" and "New Case" forms by + displaying the tag fields vertically instead of horizontally. -- **dev/report#23 - Fix contact sub-type 'is not one of' filtering ([15971](https://github.com/civicrm/civicrm-core/pull/15971))** +- **Make utf8mb4 status check language more for the general consumer + ([15946](https://github.com/civicrm/civicrm-core/pull/15946))** -- **Make utf8mb4 status check language more for the general consumer ([15946](https://github.com/civicrm/civicrm-core/pull/15946))** + This alters the language on the utf8mb4 status check so that it is a bit more + general in nature and hopefully easier to digest for end users. -- **Make else statement more legible ([15974](https://github.com/civicrm/civicrm-core/pull/15974))** +- **Include Metadata on advanced search form for membership, grant, pledge, + contribution, and case fields + ([15936](https://github.com/civicrm/civicrm-core/pull/15936), + [15785](https://github.com/civicrm/civicrm-core/pull/15785), and + [15928](https://github.com/civicrm/civicrm-core/pull/15928))** -- **[Test] fix test setup on ANet tests ([15908](https://github.com/civicrm/civicrm-core/pull/15908))** + You can now set URL parameters for additional fields like + `membership_join_date` and `pledge_payment_start_date` to pre-filter results + on the advanced search form. -- **dev/core#1166 Update the name of Macedonia, Republic of to North Macedonia ([15997](https://github.com/civicrm/civicrm-core/pull/15997))** +- **Fix activity search to work by url params + ([15990](https://github.com/civicrm/civicrm-core/pull/15990))** -- **5.20 ([16008](https://github.com/civicrm/civicrm-core/pull/16008))** + You can now set URL parameters like `activity_date_time_high` to pre-filter + results on the activity search form. -- **[REF] clean up merge array. ([15970](https://github.com/civicrm/civicrm-core/pull/15970))** +- **Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception + (Work towards [dev/core#560](https://lab.civicrm.org/dev/core/issues/560): + [15903](https://github.com/civicrm/civicrm-core/pull/15903), + [15770](https://github.com/civicrm/civicrm-core/pull/15770), + [15941](https://github.com/civicrm/civicrm-core/pull/15941), + [15775](https://github.com/civicrm/civicrm-core/pull/15775) and + [15822](https://github.com/civicrm/civicrm-core/pull/15822))** -- **Code style, remove typo, double ;; from code where it makes sense to do so ([16001](https://github.com/civicrm/civicrm-core/pull/16001))** + Work towards throwing exceptions instead of fatal errors. -- **dev/core#1405 Strip any spaces from Option Group name parameter and r… ([15937](https://github.com/civicrm/civicrm-core/pull/15937))** +- **Remove background opacity in menus; improving accessibility/readability + ([15847](https://github.com/civicrm/civicrm-core/pull/15847))** -- **5.20 ([16004](https://github.com/civicrm/civicrm-core/pull/16004))** + The CiviCRM menu is now opaque to improve readability. -- **dev/core#1434 Fix table alias used in select when ouputting as a chart ([16000](https://github.com/civicrm/civicrm-core/pull/16000))** +- **Improve datePicker placeholder/icons + ([15848](https://github.com/civicrm/civicrm-core/pull/15848))** -- **Add testing for various params that pass through Contact_BAO_Query::optionValueQuery ([15996](https://github.com/civicrm/civicrm-core/pull/15996))** + Small tweaks to the datepicker widget to improve flexibility & consistency. -- **Remove calls to deprecated pseudoconstant activityType, test ([15995](https://github.com/civicrm/civicrm-core/pull/15995))** +- **modified shared address note under contact dashboard + ([15666](https://github.com/civicrm/civicrm-core/pull/15666) and + [15769](https://github.com/civicrm/civicrm-core/pull/15769))** -- **[NFC] cleanup on QueryTest ([15994](https://github.com/civicrm/civicrm-core/pull/15994))** + Improves the note below the Shared Address field to include a link to the + contact that the address lives on to make it easier for get to the shared + address to edit it. -- **dev/core#874 [UI] Fix styling of the menubar colour picker in joomla ([15945](https://github.com/civicrm/civicrm-core/pull/15945))** +- **Grant in Edit mode doesn't show the associated contact and standardize all + screens accordingly. (Work Towards + [dev/core#1065](https://lab.civicrm.org/dev/core/issues/1065): + [15757](https://github.com/civicrm/civicrm-core/pull/15757), + [15833](https://github.com/civicrm/civicrm-core/pull/15833) and + [15840](https://github.com/civicrm/civicrm-core/pull/15840))** -- **Fix activity search to work by url params ([15990](https://github.com/civicrm/civicrm-core/pull/15990))** + This standardizes edit screens for participant, grant, and membership records + to ensure that a clickable link to the associated contact is included in a + consistent way. -- **dev/core#1425 Replace deprecated setting function ([15981](https://github.com/civicrm/civicrm-core/pull/15981))** +- **Temporary tables should follow consistent naming convention (Work Towards + [dev/core#183](https://lab.civicrm.org/dev/core/issues/183): + [15795](https://github.com/civicrm/civicrm-core/pull/15795), + [15798](https://github.com/civicrm/civicrm-core/pull/15798), + [15819](https://github.com/civicrm/civicrm-core/pull/15819), + [15793](https://github.com/civicrm/civicrm-core/pull/15793), + [15792](https://github.com/civicrm/civicrm-core/pull/15792), + [15874](https://github.com/civicrm/civicrm-core/pull/15874), + [15821](https://github.com/civicrm/civicrm-core/pull/15821), + [15823](https://github.com/civicrm/civicrm-core/pull/15823), + [15826](https://github.com/civicrm/civicrm-core/pull/15826), + [15820](https://github.com/civicrm/civicrm-core/pull/15820), + [15825](https://github.com/civicrm/civicrm-core/pull/15825), + [15876](https://github.com/civicrm/civicrm-core/pull/15876), and + [16155](https://github.com/civicrm/civicrm-core/pull/16155))** -- **Add import & export metadata to activity.priority_id ([15993](https://github.com/civicrm/civicrm-core/pull/15993))** + Begins work to enforce a common naming convention for temporary tables. -- **dev/core#1425 Remove misleading type hint for Setting value parameter ([15988](https://github.com/civicrm/civicrm-core/pull/15988))** +### CiviContribute -- **[NFC] Cleanup comments, string comparison in grant search ([15983](https://github.com/civicrm/civicrm-core/pull/15983))** +- **Develop getter & setter structure for Payment classes (Work Towards + [dev/financial#82](https://lab.civicrm.org/dev/financial/issues/82): + [15697](https://github.com/civicrm/civicrm-core/pull/15697), + [16052](https://github.com/civicrm/civicrm-core/pull/16052), + [16060](https://github.com/civicrm/civicrm-core/pull/16060), and + [16081](https://github.com/civicrm/civicrm-core/pull/16081))** -- **Only add in the metadata for advanced search if use has access to the… ([15987](https://github.com/civicrm/civicrm-core/pull/15987))** + This PR adds a new class, `Civi\Payment\PropertyBag` which is designed to + offer a consistent object for holding payment parameters as they are sent to + and from payment processors. For now, the legacy array of parameters is still + valid, so this will not have much immediate impact, but it lays the groundwork + for future work. -- **5.20 ([15986](https://github.com/civicrm/civicrm-core/pull/15986))** +- **Always display amount paid even if it is 0.00. Blank looks like it's missing + data rather than nothing paid + ([16021](https://github.com/civicrm/civicrm-core/pull/16021))** -- **dev/core#1390 - Search builder error on Membership source field ([15845](https://github.com/civicrm/civicrm-core/pull/15845))** + This improves user experience by displaying contributions of 0 as 0 instead + of blank. -- **5.20 port to master ([15985](https://github.com/civicrm/civicrm-core/pull/15985))** +### CiviMail -- **[REF] Standardise the Grant Search form handling ([15931](https://github.com/civicrm/civicrm-core/pull/15931))** +- **CiviMail - Only display "Headers and Footers" if there are headers and + footers ([15326](https://github.com/civicrm/civicrm-core/pull/15326))** -- **dev/core#1425 Replace deprecated settings fns in test suite ([15980](https://github.com/civicrm/civicrm-core/pull/15980))** + Makes it so when creating a CiviMail Mailing the "Headers and Footers" tab + only displays if there are Headers and/or Footers configured on the site. -- **Remove CRM_Contact_Form_Search_Custom_Basic from searches added on install. ([15979](https://github.com/civicrm/civicrm-core/pull/15979))** +### Drupal Integration -- **5.20 ([15982](https://github.com/civicrm/civicrm-core/pull/15982))** +- **Add participant is_test field to views + ([590](https://github.com/civicrm/civicrm-drupal/pull/590))** -- **5.20 ([15978](https://github.com/civicrm/civicrm-core/pull/15978))** + Makes the Participant `is_test` field available in views. -- **[REF] further removal of unnecessary params ([15901](https://github.com/civicrm/civicrm-core/pull/15901))** +### PayPal Implementation -- **[TEST] dev/core#1366 Unit test for case audit ([15877](https://github.com/civicrm/civicrm-core/pull/15877))** +- **PayPalImpl: Add SOLUTIONTYPE parameter that triggers allowing to pay without + having to create a paypal account. + ([15523](https://github.com/civicrm/civicrm-core/pull/15523))** -- **Fix api Payment.create to support overpayments ([15909](https://github.com/civicrm/civicrm-core/pull/15909))** + Adds a `SOLUTIONTYPE` parameter to the PayPal checkout values so that one can + make a contribution without having to create an account. -- **CSV Export: Add deprecation warning ([15951](https://github.com/civicrm/civicrm-core/pull/15951))** - -- **dev/core1329 Reduce number of deceased contacts in the demo data from… ([15967](https://github.com/civicrm/civicrm-core/pull/15967))** +## Bugs resolved -- **dev/core#1366 - Make case activity audit print report work again ([15882](https://github.com/civicrm/civicrm-core/pull/15882))** +### Core CiviCRM -- **Fix potential test glitch when repeatedly calling createLoggedInUser ([15965](https://github.com/civicrm/civicrm-core/pull/15965))** +- **CiviCRM Option Group with a name containing spaces cannot have any options + added, error message is shown also impacts the in-place option editor + ([dev/core#1405](https://lab.civicrm.org/dev/core/issues/1405) and + [dev/core#1447](https://lab.civicrm.org/dev/core/issues/1447): + [15937](https://github.com/civicrm/civicrm-core/pull/15937) and + [16033](https://github.com/civicrm/civicrm-core/pull/16033))** -- **[REF] Remove unused parameter ([15960](https://github.com/civicrm/civicrm-core/pull/15960))** + Option group names are no longer exposed for editing, as they are now + automatically generated from the title. On upgrade, existing option group + names that contain spaces will be rewritten. *Extensions that provide or rely + upon option group names that contain spaces will need to be rewritten.* -- **5.20 ([15958](https://github.com/civicrm/civicrm-core/pull/15958))** + Upon upgrade, if rewriting an option group name will duplicate another option + group's name, that option group will be skipped and a post-upgrade message + will show the details. -- **Remove unused parameter ([15953](https://github.com/civicrm/civicrm-core/pull/15953))** +- **Quicksearch with phone filter doesn't work with non-numeric character + ([dev/core#1420](https://lab.civicrm.org/dev/core/issues/1420): + [15955](https://github.com/civicrm/civicrm-core/pull/15955))** -- **Rename activity search field from status_id to activity_status_id ([15947](https://github.com/civicrm/civicrm-core/pull/15947))** +- **Option to open navigation item in new window (if present) + ([dev/core#1398](https://lab.civicrm.org/dev/core/issues/1398): + [15861](https://github.com/civicrm/civicrm-core/pull/15861))** -- **[REF] CSV Export: Remove impossible checks on var ([15954](https://github.com/civicrm/civicrm-core/pull/15954))** + Ensures the target attribute is respected for menu items that are added using + the navigationMenu hook. -- **core#1420 Quicksearch with phone filter doesn't work with non-numeric character ([15955](https://github.com/civicrm/civicrm-core/pull/15955))** +- **CIVI-SA-2019-21 may lead to regressions when following typehints on + CRM_Core_BAO_Setting::setItem() (Work Towards + [dev/core#1425](https://lab.civicrm.org/dev/core/issues/1425): + [15981](https://github.com/civicrm/civicrm-core/pull/15981), + [15988](https://github.com/civicrm/civicrm-core/pull/15988) and + [15980](https://github.com/civicrm/civicrm-core/pull/15980))** -- **Remove unused functions ([15956](https://github.com/civicrm/civicrm-core/pull/15956))** + Removes a misleading PHPDoc type hint for the `$value` parameter in + `CRM_Core_BAO_Setting::setItem()` and updates tests that use this function. -- **core#1398: Option to open navigation item in new window (if present) ([15861](https://github.com/civicrm/civicrm-core/pull/15861))** +- **Only add in the metadata for advanced search if user has access to the + relevant component + ([15987](https://github.com/civicrm/civicrm-core/pull/15987))** -- **Remove join to civicrm_option_value in favour of using getLabel funct… ([15734](https://github.com/civicrm/civicrm-core/pull/15734))** + Ensures the user has access to the relevant component before adding metadata + for that component to the advanced search form. -- **[REF] Further cleanup on address handling in merge code. ([15950](https://github.com/civicrm/civicrm-core/pull/15950))** +- **Fix api explorer formatting IS NULL clauses + ([15817](https://github.com/civicrm/civicrm-core/pull/15817))** -- **Enable Case search metadata on Advanced Search Form ([15928](https://github.com/civicrm/civicrm-core/pull/15928))** + Fixes a formatting issue in the api explorer output where IS NULL and IS NOT + NULL clauses would output invalid code due to the missing value piece of the + clause. -- **dev/core#560 Replace instances of CRM_Core_Error::fatal with Exceptio… ([15941](https://github.com/civicrm/civicrm-core/pull/15941))** +- **Add in translation function around newly converted statusBounce messages + ([15774](https://github.com/civicrm/civicrm-core/pull/15774))** -- **[REF] Minor code cleanup on the setting of contact greetings. ([15949](https://github.com/civicrm/civicrm-core/pull/15949))** +- **Fix cachekey string + ([15761](https://github.com/civicrm/civicrm-core/pull/15761))** -- **Sort CMS Database Table list ([15944](https://github.com/civicrm/civicrm-core/pull/15944))** + Fixes an obscure bug where no custom fields were being returned when doing a + Contact.get api call with check_permissions=0. -- **[UI] Ensure that when sorting on columns in the find activity search … ([15943](https://github.com/civicrm/civicrm-core/pull/15943))** +- **Fix potential test glitch when repeatedly calling createLoggedInUser + ([15965](https://github.com/civicrm/civicrm-core/pull/15965))** -- **[REF] Standardise form handling in the Find Pledges search form ([15930](https://github.com/civicrm/civicrm-core/pull/15930))** +- **Ensure that when sorting on columns in the find activity search the arrow + shows which field is being sorted and direction + ([15943](https://github.com/civicrm/civicrm-core/pull/15943))** -- **Include Metadata on advanced search form for membership, grant, pledg… ([15936](https://github.com/civicrm/civicrm-core/pull/15936))** +- **translate strings + ([15858](https://github.com/civicrm/civicrm-core/pull/15858))** -- **5.20 ([15938](https://github.com/civicrm/civicrm-core/pull/15938))** + Some text in the extension manager was not wrapped in a translation function. -- **[REF] return determination of whether to show expired fields to the calling function ([15934](https://github.com/civicrm/civicrm-core/pull/15934))** +- **Filter contact sub-type by "is not one of" fails + ([dev/report#23](https://lab.civicrm.org/dev/report/issues/23): + [15971](https://github.com/civicrm/civicrm-core/pull/15971))** -- **5.20 ([15933](https://github.com/civicrm/civicrm-core/pull/15933))** +- **Trying to edit the settings for a reserved option group gives a network + error can't connect to server + ([dev/core#1477](https://lab.civicrm.org/dev/core/issues/1477): + [16107](https://github.com/civicrm/civicrm-core/pull/16107))** -- **Remove background opacity in menus; improving accessibility/readability ([15847](https://github.com/civicrm/civicrm-core/pull/15847))** +### CiviCampaign -- **[NFC] [Test] Minor test cleanup on CiviMailUtils ([15907](https://github.com/civicrm/civicrm-core/pull/15907))** +- **Activities not visible if they have a campaign_id & contact does not have + 'administer CiviCampaign' + ([dev/core#1444](https://lab.civicrm.org/dev/core/issues/1444): + [16057](https://github.com/civicrm/civicrm-core/pull/16057))** -- **dev/core#1414 Fix E-notices on the lack of an html key in the psudo m… ([15924](https://github.com/civicrm/civicrm-core/pull/15924))** +### CiviCase -- **5.20 ([15921](https://github.com/civicrm/civicrm-core/pull/15921))** +- **Case Activities Report includes core activities *always* + ([dev/core#1366](https://lab.civicrm.org/dev/core/issues/1366): + [15882](https://github.com/civicrm/civicrm-core/pull/15882) and + [15877](https://github.com/civicrm/civicrm-core/pull/15877))** -- **dev/core#1410 Fix E-notice when doin a force case search with a prede… ([15920](https://github.com/civicrm/civicrm-core/pull/15920))** +- **Case search with force URL parameters gives php warning + ([dev/core#1410](https://lab.civicrm.org/dev/core/issues/1410) and + [dev/core#1414](https://lab.civicrm.org/dev/core/issues/1414): + [15920](https://github.com/civicrm/civicrm-core/pull/15920) and + [15924](https://github.com/civicrm/civicrm-core/pull/15924))** -- **Fix CRM_Contribute_BAO_ContributionTest to no longer use unreliable legacy set up method ([15905](https://github.com/civicrm/civicrm-core/pull/15905))** +- **CiviCase - Make static function `allActivityTypes()` static + ([15839](https://github.com/civicrm/civicrm-core/pull/15839))** -- **5.20 to master ([15916](https://github.com/civicrm/civicrm-core/pull/15916))** +### CiviContribute -- **[Test] Remove hard coded it reference ([15906](https://github.com/civicrm/civicrm-core/pull/15906))** +- **Membership form permits creating invalid transactions + ([dev/financial#100](https://lab.civicrm.org/dev/financial/issues/100): + [15771](https://github.com/civicrm/civicrm-core/pull/15771))** -- **Move greeting handling up as it is not paymentValidation dependent ([15904](https://github.com/civicrm/civicrm-core/pull/15904))** + To avoid users accidentally setting invalid statuses, this removes the + statuses "Partially Paid", "Cancelled", and "Failed" from the `Payment Status` + field when recording a payment for a Contribution related to a Membership. + Additionally, removes the statuses "Partially Paid", "Overdue" and "In + Progress" from the `Payment Status` field when recording a payment for a + Contribution related to an Event. -- **dev/core#183 Event Price Set Custom Search to using CRM_Utils_SQL_Tem… ([15819](https://github.com/civicrm/civicrm-core/pull/15819))** +- **hook_civicrm_post() implementation results in DB Error: already exists for + custom field values + ([dev/core#1443](https://lab.civicrm.org/dev/core/issues/1443): + [16061](https://github.com/civicrm/civicrm-core/pull/16061))** -- **dev/core#183 Remove references to and noisly deprecated CRM_Core_DAO::createTempTableName ([15793](https://github.com/civicrm/civicrm-core/pull/15793))** + The post hook is invoked after storing custom values when adding contributions. -- **dev/core#183 Use Standard CRM_Utils_SQL_TempTable builder to create temporary tabl… ([15792](https://github.com/civicrm/civicrm-core/pull/15792))** +- **Lybunt report - remove broken chart functionality + ([dev/core#523](https://lab.civicrm.org/dev/core/issues/523): + [15989](https://github.com/civicrm/civicrm-core/pull/15989))** -- **dev/core#183 Convert the generating of temporary tables within the ra… ([15876](https://github.com/civicrm/civicrm-core/pull/15876))** + Fixes the LYBUNT charts. -- **Contribution url params - add contribution_page_id as a supported url parameter ([15785](https://github.com/civicrm/civicrm-core/pull/15785))** +- **allow PCP report to filter on contribution status + ([16024](https://github.com/civicrm/civicrm-core/pull/16024))** -- **[REF] remove another unnecessary pass-by-reference ([15902](https://github.com/civicrm/civicrm-core/pull/15902))** + The PCP report template lists all personal campaign pages with the total + number of contributions made against each PCP page and the total amount + raised. Before this change the report had no filter for Contribution Status, + so canceled contributions were showing and throwing off the totals. There is + now a filter for contribution status allowing users to filter this list as + they wish. -- **Convert a few fatals to exceptions. ([15903](https://github.com/civicrm/civicrm-core/pull/15903))** +- **Fix api Payment.create to support overpayments + ([15909](https://github.com/civicrm/civicrm-core/pull/15909))** -- **Remove unused variables in completeOrder() ([15841](https://github.com/civicrm/civicrm-core/pull/15841))** + Payments made to already paid-up contributions no longer result in an error. + The payment continues to be "Completed" and no related entities are updated. -- **5.20 ([15890](https://github.com/civicrm/civicrm-core/pull/15890))** +### CiviEvent -- **(NFC) api_v3_ExtensionTest - Fix when executing on build with 25+ extensions ([15892](https://github.com/civicrm/civicrm-core/pull/15892))** +- **Fix Participant Search in force mode to support query parameters in URL + ([15791](https://github.com/civicrm/civicrm-core/pull/15791) and + [15807](https://github.com/civicrm/civicrm-core/pull/15807))** -- **CiviMail - Only display "Headers and Footers" if there are headers and footers ([15326](https://github.com/civicrm/civicrm-core/pull/15326))** +- **Move greeting handling up as it is not paymentValidation dependent + ([15904](https://github.com/civicrm/civicrm-core/pull/15904))** -- **[REF] Convert CRM_Core_Error::fatal to CRM_Core_Error::statusBounce i… ([15863](https://github.com/civicrm/civicrm-core/pull/15863))** + Validation of greetings on the frontend event registration form is no longer + conditional on processing a payment. -- **dev/core#183 Convert Include group / exclude group and include tags /… ([15821](https://github.com/civicrm/civicrm-core/pull/15821))** +- **Remove nbsp from UserDashboard Event section + ([15880](https://github.com/civicrm/civicrm-core/pull/15880))** -- **[NFC] Update composer lockfile to remove warning ([15886](https://github.com/civicrm/civicrm-core/pull/15886))** +### CiviMail -- **Add string type declarations to global API functions. ([15864](https://github.com/civicrm/civicrm-core/pull/15864))** +- **DB error in Mail Clickthroughs bar chart display + ([dev/core#1434](https://lab.civicrm.org/dev/core/issues/1434): + [16000](https://github.com/civicrm/civicrm-core/pull/16000))** -- **Remove nbsp from UserDashboard Event section ([15880](https://github.com/civicrm/civicrm-core/pull/15880))** + Fixes the bar chart view on the Mail Clickthroughs report. -- **Fix api explorer formatting IS NULL clauses ([15817](https://github.com/civicrm/civicrm-core/pull/15817))** +- **Unsubscribe broken if mailing sent to previous mailing recipients with an + excluded group ([dev/core#1108](https://lab.civicrm.org/dev/core/issues/1108): + [15815](https://github.com/civicrm/civicrm-core/pull/15815))** -- **5.20 ([15881](https://github.com/civicrm/civicrm-core/pull/15881))** +### CiviMember -- **5.20 ([15878](https://github.com/civicrm/civicrm-core/pull/15878))** +- **Search builder error on Membership source field. + ([dev/core#1390](https://lab.civicrm.org/dev/core/issues/1390): + [15845](https://github.com/civicrm/civicrm-core/pull/15845))** -- **Remove unused parameter recur from CompleteOrder signature ([15800](https://github.com/civicrm/civicrm-core/pull/15800))** + Fixes an error: "DB error: syntax error" when adding "Membership Source" on + the search builder screen. -- **[REF] Move CRM_Event_Form_EventFees::buildQuickForm to Participant_Form class ([15871](https://github.com/civicrm/civicrm-core/pull/15871))** +### Drupal Integration -- **[NFC] [Test-only] Remove partially paid from statuses tested for RenewContribution ([15866](https://github.com/civicrm/civicrm-core/pull/15866))** +- **Implement drupal_get_user_timezone() + ([15794](https://github.com/civicrm/civicrm-core/pull/15794))** -- **[REF] Minor simplifcation on initSet ([15870](https://github.com/civicrm/civicrm-core/pull/15870))** + Ensures that the timezone is set using the drupal timezone on Contributions + made by anonymous users (Drupal 8). -- **[NFC] Test fix - incorrect records created due to test set up using PartiallyPaid when no payment is made ([15854](https://github.com/civicrm/civicrm-core/pull/15854))** +### Joomla Integration -- **[REF] remove unused lines of code ([15869](https://github.com/civicrm/civicrm-core/pull/15869))** +- **New Accessible Menu Color Picker display issue on Joomla + ([dev/core#874](https://lab.civicrm.org/dev/core/issues/874): + [15945](https://github.com/civicrm/civicrm-core/pull/15945))** -- **dev/core#183 CRM/Dedupe/BAO/QueryBuilder/IndividualUnsupervised.php report to using CRM_Utils… ([15826](https://github.com/civicrm/civicrm-core/pull/15826))** + Fixes the display of the menubar color picker on Joomla so it looks more like + the other CMSes. -- **[TEST] dev/core#1394 - Avoid duplicate activity types in tests that use CiviCaseTestCase ([15853](https://github.com/civicrm/civicrm-core/pull/15853))** +## Miscellany -- **[NFC] Add in unit test of code being altered by #15826 ([15849](https://github.com/civicrm/civicrm-core/pull/15849))** +- **Field metadata cleanup: Contact & Activity & Custom + ([15818](https://github.com/civicrm/civicrm-core/pull/15818))** -- **dev/core#183 Use standard temporary table name format when creating t… ([15874](https://github.com/civicrm/civicrm-core/pull/15874))** +- **Create a GitLab general issue template + ([15665](https://github.com/civicrm/civicrm-core/pull/15665))** -- **5.20 ([15875](https://github.com/civicrm/civicrm-core/pull/15875))** +- **Don't pass \$input to completeOrder by reference - return values are never + used ([15699](https://github.com/civicrm/civicrm-core/pull/15699))** -- **Fix incorrect reference on extracted function ([15865](https://github.com/civicrm/civicrm-core/pull/15865))** +- **Fix incorrect reference on extracted function + ([15865](https://github.com/civicrm/civicrm-core/pull/15865))** -- **[NFC] fix test to correctly set up partially paid contribution ([15867](https://github.com/civicrm/civicrm-core/pull/15867))** +- **Add $params type declaration to global API functions. + ([15852](https://github.com/civicrm/civicrm-core/pull/15852))** -- **dev/core#183 Finish converting contrib sybnt custom search to using t… ([15820](https://github.com/civicrm/civicrm-core/pull/15820))** +- **Add string type declarations to global API functions. + ([15864](https://github.com/civicrm/civicrm-core/pull/15864))** -- **Upgrade ui-sortable angular library to v0.19.0 ([15868](https://github.com/civicrm/civicrm-core/pull/15868))** +- **Convert fee selection test to use Order api + ([15812](https://github.com/civicrm/civicrm-core/pull/15812))** -- **dev/core#1108 Fix unsubscribe bug ([15815](https://github.com/civicrm/civicrm-core/pull/15815))** +- **Fix CRM_Contribute_BAO_ContributionTest to no longer use unreliable legacy + set up method ([15905](https://github.com/civicrm/civicrm-core/pull/15905))** -- **(dev/core#574) Prevent memory exhaustion when generating large PDFs ([13232](https://github.com/civicrm/civicrm-core/pull/13232))** +- **Sort CMS Database Table list + ([15944](https://github.com/civicrm/civicrm-core/pull/15944))** -- **Improve datePicker placeholder/icons ([15848](https://github.com/civicrm/civicrm-core/pull/15848))** +- **Rename activity search field from status_id to activity_status_id + ([15947](https://github.com/civicrm/civicrm-core/pull/15947))** -- **Field metadata cleanup: Contact & Activity & Custom ([15818](https://github.com/civicrm/civicrm-core/pull/15818))** +- **CSV Export: Add deprecation warning + ([15951](https://github.com/civicrm/civicrm-core/pull/15951))** -- **Implement drupal_get_user_timezone() ([15794](https://github.com/civicrm/civicrm-core/pull/15794))** +- **Remove CRM_Contact_Form_Search_Custom_Basic from searches added on install. + ([15979](https://github.com/civicrm/civicrm-core/pull/15979))** -- **(NFC) PULL_REQUEST_TEMPLATE.md - Improve suggestions for under-the-hood/non-UI changes ([15837](https://github.com/civicrm/civicrm-core/pull/15837))** +- **Add import & export metadata to activity.priority_id + ([15993](https://github.com/civicrm/civicrm-core/pull/15993))** -- **dev/core#1065 Change verbiage in accordance with context ([15840](https://github.com/civicrm/civicrm-core/pull/15840))** +- **Too many dead people in sample data + ([dev/core#1329](https://lab.civicrm.org/dev/core/issues/1329): + [15967](https://github.com/civicrm/civicrm-core/pull/15967))** -- **Add $params type declaration to global API functions. ([15852](https://github.com/civicrm/civicrm-core/pull/15852))** +- **Update dompdf (0.8.0=>0.8.3) & dependencies + ([15739](https://github.com/civicrm/civicrm-core/pull/15739))** -- **translate strings ([15858](https://github.com/civicrm/civicrm-core/pull/15858))** +- **Upgrade ui-sortable angular library to v0.19.0 + ([15868](https://github.com/civicrm/civicrm-core/pull/15868))** -- **[REF] minor refactor - move handling of 'skipMerge' to the skipMerge function ([15828](https://github.com/civicrm/civicrm-core/pull/15828))** +- **Remove unused parameter + ([15953](https://github.com/civicrm/civicrm-core/pull/15953))** -- **Fix CRM/Event/BAO/AdditionalPaymentTest.php to use Order.create ([15813](https://github.com/civicrm/civicrm-core/pull/15813))** +- **Remove unused variables in completeOrder() + ([15841](https://github.com/civicrm/civicrm-core/pull/15841))** -- **[NFC] dev/core#1352 - Add comments why there's two custom blocks on new case form ([15851](https://github.com/civicrm/civicrm-core/pull/15851))** +- **Make else statement more legible + ([15974](https://github.com/civicrm/civicrm-core/pull/15974))** -- **[REF] refactor on nasty Dedupe function ([15830](https://github.com/civicrm/civicrm-core/pull/15830))** +- **Code style, remove typo, double ;; from code where it makes sense to do so + ([16001](https://github.com/civicrm/civicrm-core/pull/16001))** -- **[REF] calculate 'amount' on ContributionPage in a shared way in one scenario ([15810](https://github.com/civicrm/civicrm-core/pull/15810))** +- **Remove obsolete warning + ([15786](https://github.com/civicrm/civicrm-core/pull/15786))** -- **5.20 to master ([15850](https://github.com/civicrm/civicrm-core/pull/15850))** +- **Remove calls to deprecated pseudoconstant activityType, test + ([15995](https://github.com/civicrm/civicrm-core/pull/15995))** -- **[REF] XMLProcessor/Report - Extract method to make it more testable ([15838](https://github.com/civicrm/civicrm-core/pull/15838))** +- **Remove unused cancelledStatus assign on contributionView + ([16019](https://github.com/civicrm/civicrm-core/pull/16019))** -- **dev/core#183 Convert Logging report summary report to using CRM_Utils… ([15825](https://github.com/civicrm/civicrm-core/pull/15825))** +- **Remove join to civicrm_option_value in favour of using getLabel funct… + ([15734](https://github.com/civicrm/civicrm-core/pull/15734))** -- **core#1346: Tagsets should display vertically in activity/new case forms ([15649](https://github.com/civicrm/civicrm-core/pull/15649))** +- **Remove unused functions + ([15956](https://github.com/civicrm/civicrm-core/pull/15956))** -- **(NFC) (dev/core#878) Simplify standard header. Remove year+version. ([15843](https://github.com/civicrm/civicrm-core/pull/15843))** +- **Remove unused parameter recur from CompleteOrder signature + ([15800](https://github.com/civicrm/civicrm-core/pull/15800))** -- **CiviCase - Make static function `allActivityTypes()` static ([15839](https://github.com/civicrm/civicrm-core/pull/15839))** +- **[REF] minor refactor - move handling of 'skipMerge' to the skipMerge + function ([15828](https://github.com/civicrm/civicrm-core/pull/15828))** -- **dev/financial#100 Remove 'partially paid' as a contribution status option for 'record p…ayment' ([15771](https://github.com/civicrm/civicrm-core/pull/15771))** +- **[REF] refactor on nasty Dedupe function + ([15830](https://github.com/civicrm/civicrm-core/pull/15830))** -- **(dev/core#1065) Contact missing in membership renewal form ([15833](https://github.com/civicrm/civicrm-core/pull/15833))** +- **[REF] calculate 'amount' on ContributionPage in a shared way in one scenario + ([15810](https://github.com/civicrm/civicrm-core/pull/15810))** -- **[NFC] Remove unused variable not used since v4.4 ([15835](https://github.com/civicrm/civicrm-core/pull/15835))** +- **[REF] XMLProcessor/Report - Extract method to make it more testable + ([15838](https://github.com/civicrm/civicrm-core/pull/15838))** -- **[REF] very minor tidy up ([15756](https://github.com/civicrm/civicrm-core/pull/15756))** +- **[REF] very minor tidy up + ([15756](https://github.com/civicrm/civicrm-core/pull/15756))** -- **[NFC] minimal test for Mailing.update_email_resetdate ([15832](https://github.com/civicrm/civicrm-core/pull/15832))** +- **[REF] remove another unnecessary pass-by-reference + ([15902](https://github.com/civicrm/civicrm-core/pull/15902))** -- **dev/core#183 Convert creating of temporary tables in CRM/Mailing file… ([15823](https://github.com/civicrm/civicrm-core/pull/15823))** +- **[REF] Convert CRM_Core_Error::fatal to CRM_Core_Error::statusBounce i… + ([15863](https://github.com/civicrm/civicrm-core/pull/15863))** -- **Fix LabelFormat class to throw exceptions rather than fatals ([15822](https://github.com/civicrm/civicrm-core/pull/15822))** +- **[REF] CSV Export: Remove impossible checks on var + ([15954](https://github.com/civicrm/civicrm-core/pull/15954))** -- **Add unit test for searching by participant_status_id & switch to generic function ([15803](https://github.com/civicrm/civicrm-core/pull/15803))** +- **[REF] Further cleanup on address handling in merge code. + ([15950](https://github.com/civicrm/civicrm-core/pull/15950))** -- **Fix Participant Search in force mode to support query parameters in URL ([15791](https://github.com/civicrm/civicrm-core/pull/15791))** +- **[REF] Move CRM_Event_Form_EventFees::buildQuickForm to Participant_Form + class ([15871](https://github.com/civicrm/civicrm-core/pull/15871))** -- **Convert fee selection test to use Order api ([15812](https://github.com/civicrm/civicrm-core/pull/15812))** +- **[REF] Minor simplifcation on initSet + ([15870](https://github.com/civicrm/civicrm-core/pull/15870))** -- **[NFC] declare thrown exceptions ([15809](https://github.com/civicrm/civicrm-core/pull/15809))** +- **[REF] remove unused lines of code + ([15869](https://github.com/civicrm/civicrm-core/pull/15869))** -- **Don't pass \$input to completeOrder by reference - return values are never used ([15699](https://github.com/civicrm/civicrm-core/pull/15699))** +- **[REF] Standardise the Grant Search form handling + ([15931](https://github.com/civicrm/civicrm-core/pull/15931))** -- **Handling comma separated list of participant statuses in url ([15807](https://github.com/civicrm/civicrm-core/pull/15807))** +- **[REF] further removal of unnecessary params + ([15901](https://github.com/civicrm/civicrm-core/pull/15901))** -- **[REF] Add setSearchMetadata to each of the classes that extend CRM_Core_Form_Search ([15806](https://github.com/civicrm/civicrm-core/pull/15806))** +- **[REF] Remove unused parameter + ([15960](https://github.com/civicrm/civicrm-core/pull/15960))** -- **[REF] extract setDeprecatedDefaults ([15805](https://github.com/civicrm/civicrm-core/pull/15805))** +- **[REF] clean up merge array. + ([15970](https://github.com/civicrm/civicrm-core/pull/15970))** -- **Test fixes - addresses more invalid setup data ([15802](https://github.com/civicrm/civicrm-core/pull/15802))** +- **[REF] replace copy & paste with shared getSortID function. + ([15783](https://github.com/civicrm/civicrm-core/pull/15783))** -- **FinancialTrxnTest - Fix unit test to be 'legit' ([15799](https://github.com/civicrm/civicrm-core/pull/15799))** +- **[REF] return determination of whether to show expired fields to the calling + function ([15934](https://github.com/civicrm/civicrm-core/pull/15934))** -- **5.20 ([15808](https://github.com/civicrm/civicrm-core/pull/15808))** +- **[REF] Minor code cleanup on the setting of contact greetings. + ([15949](https://github.com/civicrm/civicrm-core/pull/15949))** -- **dev/core#183 Convert creating of temp table in mailing test to use st… ([15795](https://github.com/civicrm/civicrm-core/pull/15795))** +- **[REF] Standardise form handling in the Find Pledges search form + ([15930](https://github.com/civicrm/civicrm-core/pull/15930))** -- **[NFC] reformat CiviUnitTestCase.php ([15801](https://github.com/civicrm/civicrm-core/pull/15801))** +- **[REF] Add setSearchMetadata to each of the classes that extend + CRM_Core_Form_Search + ([15806](https://github.com/civicrm/civicrm-core/pull/15806))** -- **dev/core#183 Convert database testing to use CRM_Utils_SQL_TempTable … ([15798](https://github.com/civicrm/civicrm-core/pull/15798))** +- **[REF] extract setDeprecatedDefaults + ([15805](https://github.com/civicrm/civicrm-core/pull/15805))** -- **5.20 ([15790](https://github.com/civicrm/civicrm-core/pull/15790))** +- **Add unit test for searching by participant_status_id & switch to generic + function ([15803](https://github.com/civicrm/civicrm-core/pull/15803))** -- **Create a GitLab general issue template ([15665](https://github.com/civicrm/civicrm-core/pull/15665))** +- **Add testing for various params that pass through + Contact_BAO_Query::optionValueQuery + ([15996](https://github.com/civicrm/civicrm-core/pull/15996))** -- **[REF] replace copy & paste with shared getSortID function. ([15783](https://github.com/civicrm/civicrm-core/pull/15783))** +- **Fix CRM/Event/BAO/AdditionalPaymentTest.php to use Order.create + ([15813](https://github.com/civicrm/civicrm-core/pull/15813))** -- **Remove obsolete warning ([15786](https://github.com/civicrm/civicrm-core/pull/15786))** +- **Test fixes - addresses more invalid setup data + ([15802](https://github.com/civicrm/civicrm-core/pull/15802))** -- **5.20 ([15784](https://github.com/civicrm/civicrm-core/pull/15784))** +- **FinancialTrxnTest - Fix unit test to be 'legit' + ([15799](https://github.com/civicrm/civicrm-core/pull/15799))** -- **[NFC] Reformat Contact_Form_Search_Advanced ([15777](https://github.com/civicrm/civicrm-core/pull/15777))** +- **[Test] Remove hard coded it reference + ([15906](https://github.com/civicrm/civicrm-core/pull/15906))** -- **5.20 ([15773](https://github.com/civicrm/civicrm-core/pull/15773))** +- **[Test] fix test setup on ANet tests + ([15908](https://github.com/civicrm/civicrm-core/pull/15908))** -- **Converts using deprecated fatal function for exception in CRM/Utils/Sys… ([15775](https://github.com/civicrm/civicrm-core/pull/15775))** +- **CiviCaseTestCase setup() can make duplicate activity type option values + (Test for [dev/core#1394](https://lab.civicrm.org/dev/core/issues/1394): + [15853](https://github.com/civicrm/civicrm-core/pull/15853))** -- **[NFC] comment fixes - exceptions & don't declare NULL ([15776](https://github.com/civicrm/civicrm-core/pull/15776))** +- **[NFC] Add in unit test of code being altered by #15826 + ([15849](https://github.com/civicrm/civicrm-core/pull/15849))** -- **Add in translation function around newly converted statusBounce messages ([15774](https://github.com/civicrm/civicrm-core/pull/15774))** +- **[NFC] [Test] Minor test cleanup on CiviMailUtils + ([15907](https://github.com/civicrm/civicrm-core/pull/15907))** -- **Swap some fatals on form & page classes for statusBounces ([15770](https://github.com/civicrm/civicrm-core/pull/15770))** +- **(NFC) api_v3_ExtensionTest - Fix when executing on build with 25+ extensions + ([15892](https://github.com/civicrm/civicrm-core/pull/15892))** -- **(dev/core#1065) Contribution in Edit mode needs to be shown consistently ([15757](https://github.com/civicrm/civicrm-core/pull/15757))** +- **[NFC] [Test-only] Remove partially paid from statuses tested for + RenewContribution + ([15866](https://github.com/civicrm/civicrm-core/pull/15866))** -- **Improve link title in shared address as per Mathieu ([15769](https://github.com/civicrm/civicrm-core/pull/15769))** +- **[NFC] Test fix - incorrect records created due to test set up using + PartiallyPaid when no payment is made + ([15854](https://github.com/civicrm/civicrm-core/pull/15854))** -- **modified shared address note under contact dashboard ([15666](https://github.com/civicrm/civicrm-core/pull/15666))** +- **[NFC] Update composer lockfile to remove warning + ([15886](https://github.com/civicrm/civicrm-core/pull/15886))** -- **5.20 to master ([15768](https://github.com/civicrm/civicrm-core/pull/15768))** +- **[NFC] Cleanup comments, string comparison in grant search + ([15983](https://github.com/civicrm/civicrm-core/pull/15983))** -- **5.20 ([15764](https://github.com/civicrm/civicrm-core/pull/15764))** +- **[NFC] cleanup on QueryTest + ([15994](https://github.com/civicrm/civicrm-core/pull/15994))** -- **Fix cachekey string ([15761](https://github.com/civicrm/civicrm-core/pull/15761))** +- **[NFC] reformat CiviUnitTestCase.php + ([15801](https://github.com/civicrm/civicrm-core/pull/15801))** -- **reporting#19 - Performance improvements on report display/export ([15248](https://github.com/civicrm/civicrm-core/pull/15248))** +- **[NFC] Reformat Contact_Form_Search_Advanced + ([15777](https://github.com/civicrm/civicrm-core/pull/15777))** -- **add contributor name ([15758](https://github.com/civicrm/civicrm-core/pull/15758))** +- **[NFC] comment fixes - exceptions & don't declare NULL + ([15776](https://github.com/civicrm/civicrm-core/pull/15776))** -- **dev/core#1339 Dedupe screen check to carry across any data where the other contact has none by default. ([15595](https://github.com/civicrm/civicrm-core/pull/15595))** +- **[NFC] Update copyright date for 2020 + ([586](https://github.com/civicrm/civicrm-drupal/pull/586))** -- **[NFC] Update copyright date for 2020 ([15755](https://github.com/civicrm/civicrm-core/pull/15755))** +- **Remove copyright & years from all code, except LICENSE.md etc + ([dev/core#878](https://lab.civicrm.org/dev/core/issues/878): + [588](https://github.com/civicrm/civicrm-drupal/pull/588), + [169](https://github.com/civicrm/civicrm-wordpress/pull/169), + [15843](https://github.com/civicrm/civicrm-core/pull/15843), + [587](https://github.com/civicrm/civicrm-drupal/pull/587) and + [104](https://github.com/civicrm/civicrm-backdrop/pull/104))** -- **Update dompdf (0.8.0=>0.8.3) & dependencies ([15739](https://github.com/civicrm/civicrm-core/pull/15739))** +- **[NFC] Update copyright date for 2020 + ([585](https://github.com/civicrm/civicrm-drupal/pull/585))** -- **(NFC) (dev/core#878) Simplify copyright header ([588](https://github.com/civicrm/civicrm-drupal/pull/588))** +- **[NFC] Update copyright date for 2020 + ([270](https://github.com/civicrm/civicrm-packages/pull/270))** -- **[NFC] Update copyright date for 2020 ([586](https://github.com/civicrm/civicrm-drupal/pull/586))** +- **[NFC] Remove dinosaur function + ([16010](https://github.com/civicrm/civicrm-core/pull/16010))** -- **Add participant is_test field to views ([590](https://github.com/civicrm/civicrm-drupal/pull/590))** +- **[NFC] code cleanup in test class. + ([16026](https://github.com/civicrm/civicrm-core/pull/16026))** -- **(NFC) (dev/core#878) Simplify copyright header (D7) ([587](https://github.com/civicrm/civicrm-drupal/pull/587))** +- **Membership and Event Related Contributions - shows all contributions (Clean + up for [dev/core#1435](https://lab.civicrm.org/dev/core/issues/1435): + [16023](https://github.com/civicrm/civicrm-core/pull/16023))** -- **[NFC] Update copyright date for 2020 ([585](https://github.com/civicrm/civicrm-drupal/pull/585))** +- **[NFC] Remove unused variable not used since v4.4 + ([15835](https://github.com/civicrm/civicrm-core/pull/15835))** -- **5.20 ([172](https://github.com/civicrm/civicrm-wordpress/pull/172))** +- **(NFC) PULL_REQUEST_TEMPLATE.md - Improve suggestions for + under-the-hood/non-UI changes + ([15837](https://github.com/civicrm/civicrm-core/pull/15837))** -- **5.20 ([170](https://github.com/civicrm/civicrm-wordpress/pull/170))** +- **Duplicate custom field blocks on open case (Add Code Comments for + [dev/core#1352](https://lab.civicrm.org/dev/core/issues/1352): + [15851](https://github.com/civicrm/civicrm-core/pull/15851))** -- **(NFC) (dev/core#878) Simplify copyright header ([169](https://github.com/civicrm/civicrm-wordpress/pull/169))** +- **[NFC] minimal test for Mailing.update_email_resetdate + ([15832](https://github.com/civicrm/civicrm-core/pull/15832))** -- **[NFC] Update copyright date for 2020 ([167](https://github.com/civicrm/civicrm-wordpress/pull/167))** +- **[NFC] declare thrown exceptions + ([15809](https://github.com/civicrm/civicrm-core/pull/15809))** -- **[NFC] Update copyright date for 2020 ([54](https://github.com/civicrm/civicrm-joomla/pull/54))** +- **[NFC] fix test to correctly set up partially paid contribution + ([15867](https://github.com/civicrm/civicrm-core/pull/15867))** -- **1.x 5.20 ([107](https://github.com/civicrm/civicrm-backdrop/pull/107))** +- **[NFC] Update copyright date for 2020 + ([167](https://github.com/civicrm/civicrm-wordpress/pull/167))** -- **(NFC) (dev/core#878) Simplify copyright header ([104](https://github.com/civicrm/civicrm-backdrop/pull/104))** +- **[NFC] Update copyright date for 2020 + ([54](https://github.com/civicrm/civicrm-joomla/pull/54))** -- **Update copyright date for 2020 ([102](https://github.com/civicrm/civicrm-backdrop/pull/102))** +- **[NFC] Update copyright date for 2020 + ([15755](https://github.com/civicrm/civicrm-core/pull/15755))** -- **[NFC] Update copyright date for 2020 ([270](https://github.com/civicrm/civicrm-packages/pull/270))** +- **Update copyright date for 2020 + ([102](https://github.com/civicrm/civicrm-backdrop/pull/102))** -## Miscellany +- **add contributor name + ([15758](https://github.com/civicrm/civicrm-core/pull/15758))** ## Credits This release was developed by the following code authors: -AGH Strategies - Andrew Hunt; Agileware - Justin Freeman; Australian Greens - Seamus Lee; Christian Wach; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Camilo Rodriguez; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Greenpeace CEE - Patrick Figel; jamie-tillman; Jens Schuppe; JMA Consulting - Monish Deb; Joost Fock; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton +AGH Strategies - Andrew Hunt; Agileware - Justin Freeman; Australian Greens - +Seamus Lee; Christian Wach; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - +Yashodha Chaku; CompuCorp - Camilo Rodriguez; Coop SymbioTIC - Mathieu Lutfy; +Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra +Purohit; Greenpeace CEE - Patrick Figel; Jamie Tillman; Jens Schuppe; JMA +Consulting - Monish Deb; Joost Fock; Megaphone Technology Consulting - Jon +Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive +Technology Project - Jamie McClelland; Richard van Oosterhout; Semper IT - Karin +Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin +Cristiano; Wikimedia Foundation - Eileen McNaughton Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: -AGH Strategies - Alice Frumin; Agileware - Justin Freeman; Artful Robot - Rich Lott; Australian Greens - Seamus Lee; Chris Burgess; Christian Wach; Circle Interactive - Dave Jenkins; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; jamie-tillman; JMA Consulting - Monish Deb; John Kingsnorth; Joost Fock; lolaslade; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; revati90; Richard van Oosterhout; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton +AGH Strategies - Alice Frumin; Artful Robot - Rich Lott; Chris Burgess; Circle +Interactive - Dave Jenkins; John Kingsnorth; Freeform Solutions - Lola Slade; +OSSeed Technologies LLP - Revati Gawas ## Feedback