From 97cc8b5ee1b6da764c5f5f7f7718a68a0079f219 Mon Sep 17 00:00:00 2001 From: Alice Frumin Date: Fri, 8 Nov 2019 16:28:06 -0500 Subject: [PATCH] release notes 5.20 - first pass at editing, sorting and annotating --- contributor-key.yml | 12 + release-notes/5.20.0.md | 935 ++++++++++++++++++++++++++++------------ 2 files changed, 683 insertions(+), 264 deletions(-) diff --git a/contributor-key.yml b/contributor-key.yml index fc2d6ef7b0..c0b4331f72 100644 --- a/contributor-key.yml +++ b/contributor-key.yml @@ -166,6 +166,10 @@ organization: British Humanist Association jira : awestbha +- github : bjendres + name : Björn Endres + organization: SYSTOPIA Organisationsberatung + - name : Ben Jarlett jira : benjarlett @@ -565,6 +569,10 @@ organization: Hartmann Computer Consulting jira : peterhartmann +- name : Heather Oliver + organization: Red Hot Irons + github : HROliver + - name : Heather Oliver organization: GMCVO Databases jira : heather oliver @@ -1030,6 +1038,10 @@ organization: JMA Consulting jira : monish.deb +- github : mountev + organization: Mountev Ltd + name : Mountev Ltd + - name : Martin Peth organization: Systopia jira : mpeth diff --git a/release-notes/5.20.0.md b/release-notes/5.20.0.md index 4010a97367..4c4aa2930f 100644 --- a/release-notes/5.20.0.md +++ b/release-notes/5.20.0.md @@ -13,538 +13,945 @@ Released December 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? | **yes** | +| Fix problems installing or upgrading to a previous version? | **yes** | +| Introduce features? | **yes** | +| Fix bugs? | **yes** | ## Features ### Core CiviCRM -- **CRM-21677 Missing Summary ([15567](https://github.com/civicrm/civicrm-core/pull/15567))** +- **Replace complex logic in email templates with simple logic on billing name + and credit card + ([dev/core#1344](https://lab.civicrm.org/dev/core/issues/1344): + [15653](https://github.com/civicrm/civicrm-core/pull/15653), + [15688](https://github.com/civicrm/civicrm-core/pull/15688), + [15646](https://github.com/civicrm/civicrm-core/pull/15646), + [15651](https://github.com/civicrm/civicrm-core/pull/15651), + [15682](https://github.com/civicrm/civicrm-core/pull/15682) and + [15680](https://github.com/civicrm/civicrm-core/pull/15680))** -## Bugs resolved + Improves system workflow email templates logic regarding billing name and + credit card. -### Core CiviCRM +- **Contact Display Name vs Email Greeting in Workflow templates + ([dev/core#781](https://lab.civicrm.org/dev/core/issues/781): + [15491](https://github.com/civicrm/civicrm-core/pull/15491))** + + Ensures all standard workflow message templates use {contact.email_greeting}, + before this change some standard workflow message templates used + {contact.display_name}. + +- **Workflow templates - Update 'Thank You' & other text corrections + ([dev/core#1316](https://lab.civicrm.org/dev/core/issues/1316): + [15749](https://github.com/civicrm/civicrm-core/pull/15749), + [15745](https://github.com/civicrm/civicrm-core/pull/15745), + [15503](https://github.com/civicrm/civicrm-core/pull/15503) and + [15751](https://github.com/civicrm/civicrm-core/pull/15751))** + + Improves grammar and readability of the standard workflow templates. -- **dev/core#1376 Catch Invalid Argument Exception when looking for APIv4… ([15765](https://github.com/civicrm/civicrm-core/pull/15765))** +- **Workflow templates - Include displayname in subject + ([dev/core#1320](https://lab.civicrm.org/dev/core/issues/1320): + [15513](https://github.com/civicrm/civicrm-core/pull/15513))** -- **dev/core#1371 Fix e-notice caused by trying to pass in known to the … ([15762](https://github.com/civicrm/civicrm-core/pull/15762))** + Adds contacts display name to the subject of some workflow templates to + make them more personal, less likely to be grouped together by email clients + and improve open-rates. -- **5.19 ([15754](https://github.com/civicrm/civicrm-core/pull/15754))** +- **Replace openflash charts with charts that work + ([15448](https://github.com/civicrm/civicrm-core/pull/15448), + [268](https://github.com/civicrm/civicrm-packages/pull/268), + [267](https://github.com/civicrm/civicrm-packages/pull/267) and + [15493](https://github.com/civicrm/civicrm-core/pull/15493))** -- **changed wording to Total Fee & Total Paid ([15751](https://github.com/civicrm/civicrm-core/pull/15751))** + These changes move CiviCRM charts to use dc (+crossfilter +d3) instead of + outdated openflash charts. -- **Provide precautionary handling for theoretical error scenario. ([15748](https://github.com/civicrm/civicrm-core/pull/15748))** +- **Add freeform relative date for 'This Fiscal Year' + ([14894](https://github.com/civicrm/civicrm-core/pull/14894))** -- **dev/financial#40 Fix for non-allocation of payment to fully reversed checkboxes option ([15740](https://github.com/civicrm/civicrm-core/pull/15740))** + Adds support for freeform relative dates (this_n.year & this_n.fiscal_year). + To utilize this new functionality administrators must add an option value to + the `relative_date_filters` option group. -- **Update template upgrade list as per PR #15742 ([15745](https://github.com/civicrm/civicrm-core/pull/15745))** +- **Be environmentally friendly. Remove the sentence: "Please print this page + for your records." from the various CiviCRM tpls. We like trees! + ([dev/core#371](https://lab.civicrm.org/dev/core/issues/371): + [15467](https://github.com/civicrm/civicrm-core/pull/15467))** -- **[NFC] Cleanup on exceptions ([15750](https://github.com/civicrm/civicrm-core/pull/15750))** + Removes the text "Print for your records" to discourage people from printing. -- **(dev/core#1065) Participant in Edit mode needs to be shown consistently ([15744](https://github.com/civicrm/civicrm-core/pull/15744))** +- **Remove Print Icon + ([15322](https://github.com/civicrm/civicrm-core/pull/15322))** -- **Additional fixes to workflow templates ([15749](https://github.com/civicrm/civicrm-core/pull/15749))** + Removes the print icon from the upper left hand corner of all pages because + printing the page thru the browser nearly always looks better then printing by + clicking the print icon. -- **5.19 ([15746](https://github.com/civicrm/civicrm-core/pull/15746))** +- **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): + [15608](https://github.com/civicrm/civicrm-core/pull/15608) and + [15623](https://github.com/civicrm/civicrm-core/pull/15623))** -- **Fix test to be more valid ([15743](https://github.com/civicrm/civicrm-core/pull/15743))** + Works towards throwing exceptions (instead of fatal errors) in + several places including if aborting because if a type of a param error. -- **Fix the relationship direction in testSingleMembershipForTwoRelationships ([15738](https://github.com/civicrm/civicrm-core/pull/15738))** +- **Make relationship description searchable + ([dev/core#1257](https://lab.civicrm.org/dev/core/issues/1257): + [15358](https://github.com/civicrm/civicrm-core/pull/15358))** -- **dev/core#1361 Fix bug where 2 memberships created for same relationship ([15731](https://github.com/civicrm/civicrm-core/pull/15731))** + Exposes the relationship description field to the advanced search form. -- **Upgrade script for dev/core#1046 ([15556](https://github.com/civicrm/civicrm-core/pull/15556))** +- **Add in method to allow extensions to opt out of using temporary table when + building ACL Contact Cache + ([15701](https://github.com/civicrm/civicrm-core/pull/15701))** -- **dev/core#1367 - Incorrect line items recorded with contribution repea… ([15735](https://github.com/civicrm/civicrm-core/pull/15735))** + Adds in getter and setter functions and a static class variable to + determine if a temporary table should be used when building the ACL contact + Cache -- **Schema changes for PaymentProcessor and PaymentProcessorType to suppo… ([15733](https://github.com/civicrm/civicrm-core/pull/15733))** +- **Re-arrange change log advanced search panel so both modified fields are next + to each other ([15712](https://github.com/civicrm/civicrm-core/pull/15712))** -- **Php 7.3 fix - don't mis-use continue ([15737](https://github.com/civicrm/civicrm-core/pull/15737))** + Re-arranges the Advanced Search Change Log panel so the modified fields are + next to each other on the form. -- **Fix Payment.create with a negative value to create the correct financial items ([15705](https://github.com/civicrm/civicrm-core/pull/15705))** +- **Schema changes for PaymentProcessor and PaymentProcessorType to support + apiv4 entities ([15733](https://github.com/civicrm/civicrm-core/pull/15733))** -- **(NFC) Remove windows-specific debugging code from 11 years ago ([15736](https://github.com/civicrm/civicrm-core/pull/15736))** + Begins work to add `PaymentProcesor` and `PaymentProcessorType` entities to + APIv4. -- **Remove recordPayment function. ([15684](https://github.com/civicrm/civicrm-core/pull/15684))** +- **Remove CIVICRM_SUPPORT_MULTIPLE_LOCKS and make it always enabled if + available ([15604](https://github.com/civicrm/civicrm-core/pull/15604))** -- **Fix Payment.create bug whereby payment_processor_id is not being used for the to_account_id ([15640](https://github.com/civicrm/civicrm-core/pull/15640))** + Makes `CIVICRM_SUPPORT_MULTIPLE_LOCKS` turned on by default so that by default + sites can use multiple locks on modern versions of MySQL/MariaDB. -- **composer.{json,lock} - Make the "tplaner/when" exception for old PHP reproducible ([15732](https://github.com/civicrm/civicrm-core/pull/15732))** +- **Add help text to payment processor subject field + ([15590](https://github.com/civicrm/civicrm-core/pull/15590))** -- **Add in xkerman/restricted-unserialize package ([15730](https://github.com/civicrm/civicrm-core/pull/15730))** + Improves consistency by adding a help icon to the subject field on the + "Settings - Payment Processor" form (CiviCRM Admin bar -> Adminster -> System + Settings -> Payment Processors add or edit a payment processor). -- **[REF] minor code simplification ([15728](https://github.com/civicrm/civicrm-core/pull/15728))** +- **Generic Settings Pages: Make getSettingPageFilter() public so we can use it + in hooks ([15576](https://github.com/civicrm/civicrm-core/pull/15576))** -- **dev/financial#82 revert added setters ([15707](https://github.com/civicrm/civicrm-core/pull/15707))** + Makes the `_filter` property available in hooks so extension developers can + use it. -- **dev/core#561 Add in routine to convert custom date fields in smart groups to datep… ([15710](https://github.com/civicrm/civicrm-core/pull/15710))** +- **Update api3 explorer url path for consistency + ([15597](https://github.com/civicrm/civicrm-core/pull/15597))** -- **Convert case activity links to 'actionLinks' ([14349](https://github.com/civicrm/civicrm-core/pull/14349))** + Changes the path to access the Api3 explorer to `civicrm/api3` so that it + is consistent with `civicrm/api4`, `civicrm/api` now redirects to + `civicrm/api3`. -- **Get rid of jcalendar range in custom data ([15694](https://github.com/civicrm/civicrm-core/pull/15694))** +- **Improvements to copying events and contribution pages + ([15144](https://github.com/civicrm/civicrm-core/pull/15144))** -- **5.19 to master ([15729](https://github.com/civicrm/civicrm-core/pull/15729))** + Ensures when an admin copies an event or contribution page the current user ID + and time are stored in the `created_date` and `created_id` fields. + Additionally, ensures when copying a contribution page the user is + redirected to the 'edit' screen for the newly copied page. -- **5.19 ([15727](https://github.com/civicrm/civicrm-core/pull/15727))** +- **Allow custom ts functions in extensions; defer custom ts calls until booted + ([15411](https://github.com/civicrm/civicrm-core/pull/15411))** -- **Fix Custom field date query builder to work with 'raw' high & low params ([15719](https://github.com/civicrm/civicrm-core/pull/15719))** + Makes it possible for developers to write custom translate functions in + extensions. -- **[REF] minor tidy ups on very nasty function ([15722](https://github.com/civicrm/civicrm-core/pull/15722))** +- **Update Sending Emails section of configuration checklist + ([dev/core#1278](https://lab.civicrm.org/dev/core/issues/1278): + [15359](https://github.com/civicrm/civicrm-core/pull/15359))** -- **Eliminate silly parameter ([15723](https://github.com/civicrm/civicrm-core/pull/15723))** + Improves the readability of the "Sending Emails" section of the configuration + checklist. -- **Remove early return on joinTable ([15721](https://github.com/civicrm/civicrm-core/pull/15721))** +- **Support street address sorting for contact detail report + ([15581](https://github.com/civicrm/civicrm-core/pull/15581))** -- **Test improvements ([15720](https://github.com/civicrm/civicrm-core/pull/15720))** + Improves the "Contact Detail" report template by making it possible to sort by + "Street Address". -- **[REF] Remove early return on joinTable ([15718](https://github.com/civicrm/civicrm-core/pull/15718))** +### CiviCase -- **[REF] remove as a return Param of getHierContactDetails ([15714](https://github.com/civicrm/civicrm-core/pull/15714))** +- **Unable to use url search arguments in 'Advanced Search' using force=1 (Work + Towards [dev/core#692](https://lab.civicrm.org/dev/core/issues/692): + [15370](https://github.com/civicrm/civicrm-core/pull/15370))** -- **Add test to lock in obscure custom join handling ([15715](https://github.com/civicrm/civicrm-core/pull/15715))** + Improves the "Find Cases" form's ability to accept url arguments. -- **[NFC] Allow users on backdrop to trigger regen.sh ([15717](https://github.com/civicrm/civicrm-core/pull/15717))** +- **Convert case activity links to 'actionLinks' + ([14349](https://github.com/civicrm/civicrm-core/pull/14349))** -- **[NFC] Fix exception thrown to std CRM_Core_Exception ([15716](https://github.com/civicrm/civicrm-core/pull/15716))** + Converts Case activity links to use actionLinks so they can be accessed by + extension developers using the hook `hook_civicrm_links`. -- **Agile fixFix inherited membership being deleted when there is still a valid … …relationship ([15062](https://github.com/civicrm/civicrm-core/pull/15062))** +- **Format details for case custom data activity in a human readable format + ([13365](https://github.com/civicrm/civicrm-core/pull/13365))** -- **[NFC] various code cleanup on CRM_Contact_BAO_Query ([15713](https://github.com/civicrm/civicrm-core/pull/15713))** + Improves readability of the activity details saved to case "Change Custom + Data" activities. -- **Backdrop support for adding roles and perms ([15571](https://github.com/civicrm/civicrm-core/pull/15571))** +### CiviContribute -- **Add in method to allow extensions to opt out of using temporary table… ([15701](https://github.com/civicrm/civicrm-core/pull/15701))** +- **Payment processor names: separate internal and external usage + ([dev/financial#2](https://lab.civicrm.org/dev/financial/issues/2): + [15418](https://github.com/civicrm/civicrm-core/pull/15418), + [15497](https://github.com/civicrm/civicrm-core/pull/15497), + [15617](https://github.com/civicrm/civicrm-core/pull/15617) and + [15632](https://github.com/civicrm/civicrm-core/pull/15632))** -- **Re-arrange change log advanced search panel so both modified fields a… ([15712](https://github.com/civicrm/civicrm-core/pull/15712))** + Adds a new field "Payment Processor Title" to the "Edit Payment Processor" + form if configured the title will appear on front end forms. This allows + administrators to configure internal and external names for payment + processors. For example, internally a payment processor may be called "Action + Fund - Stripe" while externally It may use the label "Credit Card". Ensures + that the front end title of the payment processor is used in receipts when + available. -- **Minor refactors to support converting custom fields to datepicker fields ([15711](https://github.com/civicrm/civicrm-core/pull/15711))** +- **Payments - Where do we store IDs from payment processor? + ([dev/financial#57](https://lab.civicrm.org/dev/financial/issues/57): + [15468](https://github.com/civicrm/civicrm-core/pull/15468))** -- **dev/core#561 Add in Upgrade routine to convert log_date smart group s… ([15702](https://github.com/civicrm/civicrm-core/pull/15702))** + Adds an `order_reference` field to `civicrm_financial_trxn` table. The + `order_reference` field is intended to hold the payment processor provided + external reference to an order / invoice (when applicable/possible). -- **Replace log_date with created_date & modified_date in advanced search ([15693](https://github.com/civicrm/civicrm-core/pull/15693))** +- **New methodology for storing template contributions (Work towards + [dev/financial#72](https://lab.civicrm.org/dev/financial/issues/72): + [15472](https://github.com/civicrm/civicrm-core/pull/15472), + [15470](https://github.com/civicrm/civicrm-core/pull/15470), + [15550](https://github.com/civicrm/civicrm-core/pull/15550), + [15431](https://github.com/civicrm/civicrm-core/pull/15431), + [15456](https://github.com/civicrm/civicrm-core/pull/15456), + [15433](https://github.com/civicrm/civicrm-core/pull/15433) and + [15419](https://github.com/civicrm/civicrm-core/pull/15419))** -- **Civi\Core\Container - Fix warning about Symfony 3=>4 and boot services ([15704](https://github.com/civicrm/civicrm-core/pull/15704))** + Moves towards a new methodology for storing template contributions by: using a + standard function to create contribution status dropdowns for batch + contribution entry and the batch pending contribution status update task, adds + a new contribution status "Template", adds an `is_template` field to + contributions. Adds some logic surrounding pulling Contributions templates + using the new `is_template` field. -- **dev/core#1297 If start/end date is empty, results are empty ([15415](https://github.com/civicrm/civicrm-core/pull/15415))** +- **PaymentProcessor.pay should handle 'invoice_id' & map it to a getter so + processors can retrieve it + ([dev/financial#77](https://lab.civicrm.org/dev/financial/issues/77): + [15639](https://github.com/civicrm/civicrm-core/pull/15639))** -- **[NFC] Test class preliminary clean up ([15685](https://github.com/civicrm/civicrm-core/pull/15685))** + Makes `contribution_id` required when calling the `PaymentProcessor.pay` API. -- **Fix loading of profile fields on additional participant form ([15698](https://github.com/civicrm/civicrm-core/pull/15698))** +- **Order.create should not require total amount + ([dev/financial#73](https://lab.civicrm.org/dev/financial/issues/73): + [15501](https://github.com/civicrm/civicrm-core/pull/15501))** -- **dev/financial#2 Support payment processor title if configured on Contribution & Event Pages ([15617](https://github.com/civicrm/civicrm-core/pull/15617))** + Updates the Order.create API to require `total_amount` OR `line_items` instead + of solely requiring `total_amount`. -- **Cleanup date handling on Payment.create ([15687](https://github.com/civicrm/civicrm-core/pull/15687))** +- **Order api updates to fix participant handling & deprecate creating + 'completed ([15514](https://github.com/civicrm/civicrm-core/pull/15514))** -- **Partial conversion of Payment form to use the EntityFormTrait & add title ([15632](https://github.com/civicrm/civicrm-core/pull/15632))** + Improves the Order api by making it so status is no longer required for + creating participants and creating completed orders is deprecated. -- **[REF] Move calls to CRM_Core_BAO_FinancialTrxn::createDeferredTrxn back to the calling functions. ([15641](https://github.com/civicrm/civicrm-core/pull/15641))** +- **Develop getter & setter structure for Payment classes (Work towards + [dev/financial#82](https://lab.civicrm.org/dev/financial/issues/82): + [15707](https://github.com/civicrm/civicrm-core/pull/15707) and + [15509](https://github.com/civicrm/civicrm-core/pull/15509))** -- **dev/core#1344 Fix logic for displaying BillingName and Credit Card De… ([15651](https://github.com/civicrm/civicrm-core/pull/15651))** + Begins work to refactor how CRM_Core_Payment works so that `doPayment` accepts + a consistent defined set of variables. -- **[REF] Refactor Smart Group Cache population code to be less intensive ([15588](https://github.com/civicrm/civicrm-core/pull/15588))** +- **Contribution Summary report only shows first 50 entries + ([dev/core#1252](https://lab.civicrm.org/dev/core/issues/1252): + [15528](https://github.com/civicrm/civicrm-core/pull/15528))** -- **[REF] Refactor ACL Contact Cache generation to be more efficient ([15592](https://github.com/civicrm/civicrm-core/pull/15592))** + Adds support for paging on the Contribution Summary Report. -- **dev/event#19 remove obsolete scriptFee & scriptArray ([15679](https://github.com/civicrm/civicrm-core/pull/15679))** +- **Provide precautionary handling for theoretical error scenario. + ([15748](https://github.com/civicrm/civicrm-core/pull/15748))** -- **Fix BillingName to be assigned in email receipts IF available ([15688](https://github.com/civicrm/civicrm-core/pull/15688))** + Provides protection against fatal errors when adding payments if + `financial_items` have not been created. -- **5.19 ([15691](https://github.com/civicrm/civicrm-core/pull/15691))** +- **Support chaining Payment.create from Order api + ([15548](https://github.com/civicrm/civicrm-core/pull/15548))** -- **dev/core#1344 Re-work if statements and remove excess ifs ([15682](https://github.com/civicrm/civicrm-core/pull/15682))** + Adds support to chain a `Payment.create` call from an `Order.create` api call. -- **dev/core#1282 unit test for bug ([15638](https://github.com/civicrm/civicrm-core/pull/15638))** +- **Translate two string in AdditionalPayment form + ([15577](https://github.com/civicrm/civicrm-core/pull/15577))** -- **[NFC] test cleanup ([15683](https://github.com/civicrm/civicrm-core/pull/15683))** + Translates two strings on the Additional Payment form. -- **[NFC] define variable type ([15681](https://github.com/civicrm/civicrm-core/pull/15681))** +### WordPress Integration -- **Add in upgrade step for upgrading Event date and Relationship Active Date smart groups ([15677](https://github.com/civicrm/civicrm-core/pull/15677))** +- **Switch WP over to new installer + ([dev/wordpress#37](https://lab.civicrm.org/dev/wordpress/issues/37): + [165](https://github.com/civicrm/civicrm-wordpress/pull/165))** -- **dev/core#1344 Fix complicated logic on credit card and billing name s… ([15680](https://github.com/civicrm/civicrm-core/pull/15680))** + Improves the CiviCRM installation process for WordPress sites by redirecting + users to an install screen when the CiviCRM plugin is activated. -- **Jcalendar conversion on relation_active_period_date ([15671](https://github.com/civicrm/civicrm-core/pull/15671))** +## Bugs resolved -- **Simplify billingName logic on xml/templates/message_templates/members… ([15674](https://github.com/civicrm/civicrm-core/pull/15674))** +### Core CiviCRM -- **(dev/core#1065) Member in Edit mode needs to be shown consistently ([15362](https://github.com/civicrm/civicrm-core/pull/15362))** +- **Add support for bulkcreates (Work towards + [dev/core#1093](https://lab.civicrm.org/dev/core/issues/1093): + [15599](https://github.com/civicrm/civicrm-core/pull/15599))** -- **Jcalendar replacement for event date ([15661](https://github.com/civicrm/civicrm-core/pull/15661))** + Fixes a fatal error when updating a custom field with logging enabled. -- **Ensure contributionRecurID is set on processor ([15673](https://github.com/civicrm/civicrm-core/pull/15673))** +- **Attachment API for event custom field gives: Failed to run Permissions + checks ([dev/core#1205](https://lab.civicrm.org/dev/core/issues/1205): + [15580](https://github.com/civicrm/civicrm-core/pull/15580))** -- **[NFC] Remove unreachable lines ([15672](https://github.com/civicrm/civicrm-core/pull/15672))** + Fixes a bug where using the Attachment API for a custom file field would fail + with a permission denied error. -- **Use Yes-No radio instead of checkbox on search form. ([15669](https://github.com/civicrm/civicrm-core/pull/15669))** +- **Email Processor drops the other attachments if there's more than 3 + ([dev/core#1270](https://lab.civicrm.org/dev/core/issues/1270): + [15438](https://github.com/civicrm/civicrm-core/pull/15438))** -- **[NFC] Test cleanup - switch to OrderApi in test setup, add throws, use sin… ([15662](https://github.com/civicrm/civicrm-core/pull/15662))** + Fixes a bug where the email processor would drop attachments if there were + more attachments in the incoming email than the limit set at system settings - + misc. -- **dev/core#1347 - Fix php warning in advanced search when opening some accordions ([15650](https://github.com/civicrm/civicrm-core/pull/15650))** +- **Fix CSS for public select2 elements regardless of parent theme box-size + ([15442](https://github.com/civicrm/civicrm-core/pull/15442))** -- **Add getQillValue fn to generalise qill string construct ([15667](https://github.com/civicrm/civicrm-core/pull/15667))** + Fixes the height of select2 boxes (so that they do not appears squished) on + front facing forms across CMS's and browsers. -- **dev/financial#94 fix eroneous payment creation when editing line items ([15664](https://github.com/civicrm/civicrm-core/pull/15664))** +- **CiviCRM Dashboard does not respect multiple domains + ([dev/core#1200](https://lab.civicrm.org/dev/core/issues/1200): + [15283](https://github.com/civicrm/civicrm-core/pull/15283))** -- **Remove unused, hidden subsystem for "persistent DB tpl strings" ([15660](https://github.com/civicrm/civicrm-core/pull/15660))** + Ongoing fixes for the CiviCRM Dashboard when using multiple Domains. -- **dev/core#1344 Simplify email template logic on displaying card inform… ([15653](https://github.com/civicrm/civicrm-core/pull/15653))** +- **Warning: array_key_exists(): The first argument should be either a string or + an integer in CRM_Contact_Form_Search::getModeValue() + ([dev/core#1347](https://lab.civicrm.org/dev/core/issues/1347): + [15650](https://github.com/civicrm/civicrm-core/pull/15650))** -- **5.19 ([15659](https://github.com/civicrm/civicrm-core/pull/15659))** + Fixes a php warning on the advanced search form when opening some accordions. -- **Delete mkdocs.yml ([15658](https://github.com/civicrm/civicrm-core/pull/15658))** +- **Report improvements + ([CRM-21677](https://issues.civicrm.org/jira/browse/CRM-21677): + [15567](https://github.com/civicrm/civicrm-core/pull/15567))** -- **Add uniquenames for mailing_name, mailing_job_status ([15652](https://github.com/civicrm/civicrm-core/pull/15652))** + Removes redundant gender evaluation code from the Case Demographic Report + template. -- **dev/core#1344 Simplify email template logic on displaying billing detail ([15646](https://github.com/civicrm/civicrm-core/pull/15646))** +- **Php 7.3 fix - don't mis-use continue + ([15737](https://github.com/civicrm/civicrm-core/pull/15737))** -- **dev/core#893 - fix misfiled case print/merge pdfs (alternate to PR 15609/15364) ([15626](https://github.com/civicrm/civicrm-core/pull/15626))** + Fixes some php warnings regarding using continue where break would be + preferable for sites running PHP 7.3. -- **dev/financial#34 Fix line allocation in Payment.create ([14763](https://github.com/civicrm/civicrm-core/pull/14763))** +- **Allow regen.sh to work with either upper/lower case for CMS name to match + elsewhere ([15647](https://github.com/civicrm/civicrm-core/pull/15647))** -- **Cleanup following smart group conversions and fix the old name of the… ([15648](https://github.com/civicrm/civicrm-core/pull/15648))** + Ensures regen.sh works with both Proper and lower case CMS names. -- **Allow regen.sh to work with either upper/lower case for CMS name to match elsewhere ([15647](https://github.com/civicrm/civicrm-core/pull/15647))** +- **Make sure labels match the actual date input format + ([15520](https://github.com/civicrm/civicrm-core/pull/15520))** -- **Convert relationship start & end dates to datepicker ([15637](https://github.com/civicrm/civicrm-core/pull/15637))** + Ensures the labels of the date input format dropdown (under + `/civicrm/admin/setting/date`) match the actual value of the formats. -- **dev/core#561 Convert birth_date & deceased_date to datepicker ([15635](https://github.com/civicrm/civicrm-core/pull/15635))** +- **E Notice 'info' Extension.php:248 -> When installing via cv + ([dev/core#1371](https://lab.civicrm.org/dev/core/issues/1371): + [15762](https://github.com/civicrm/civicrm-core/pull/15762))** -- **Add unique name for relationship start & end dates ([15636](https://github.com/civicrm/civicrm-core/pull/15636))** +- **Reports show " " in filters with child-groups + ([dev/core#826](https://lab.civicrm.org/dev/core/issues/826): + [15293](https://github.com/civicrm/civicrm-core/pull/15293))** -- **Fixing a fatal error when installing extensions with Option Values defined in XML ([15643](https://github.com/civicrm/civicrm-core/pull/15643))** +- **Upgrade failure with 5.19 involving interaction between APIv4 and extensions + ([dev/core#1376](https://lab.civicrm.org/dev/core/issues/1376): + [15765](https://github.com/civicrm/civicrm-core/pull/15765))** -- **Fix cancel payment action to reverse financial items related to cancelled payment ([15630](https://github.com/civicrm/civicrm-core/pull/15630))** +- **Fixing a fatal error when installing extensions with Option Values defined + in XML ([15643](https://github.com/civicrm/civicrm-core/pull/15643))** -- **5.19 to master ([15644](https://github.com/civicrm/civicrm-core/pull/15644))** +- **Civi\Core\Container - Fix warning about Symfony 3=>4 and boot services + ([15704](https://github.com/civicrm/civicrm-core/pull/15704))** -- **dev/financial#77 ++ Make contribution_id mandatory for PaymentProcessor.pay, pass invoiceID ([15639](https://github.com/civicrm/civicrm-core/pull/15639))** +- **Customfields attached to addresses break the profile page + ([dev/core#1324](https://lab.civicrm.org/dev/core/issues/1324): + [15541](https://github.com/civicrm/civicrm-core/pull/15541))** -- **dev/core#1282 Takes care of customfields of type multiselect that were not being rendered ([15375](https://github.com/civicrm/civicrm-core/pull/15375))** +- **Fix bug in SQL queue that can cause tasks to be run twice in a + multiprocess environment + ([15421](https://github.com/civicrm/civicrm-core/pull/15421))** -- **Adds missing join on the customtable of address customfields while exposed as profile ([15541](https://github.com/civicrm/civicrm-core/pull/15541))** +- **Fixes an issue where the two arrays weren't always being merged correctly + ([15482](https://github.com/civicrm/civicrm-core/pull/15482))** -- **Improve metadata support for table civicrm_mailing_job in search ([15634](https://github.com/civicrm/civicrm-core/pull/15634))** +- **Fix error when adding activities from Search Builder + ([15522](https://github.com/civicrm/civicrm-core/pull/15522))** -- **dev/core#561 Convert mailing date search field to using datepicker ([15633](https://github.com/civicrm/civicrm-core/pull/15633))** +- **Do no invoke Hooks via UF unless container has been built or it is a hook + designed to run without container being built + ([15339](https://github.com/civicrm/civicrm-core/pull/15339))** -- **[REF] Further deconstruction of updateFinancialAccounts ([15631](https://github.com/civicrm/civicrm-core/pull/15631))** +- **Ensure front-end hooks are only registered on main query + ([166](https://github.com/civicrm/civicrm-wordpress/pull/166))** -- **Change parent class on mailing_form ([15629](https://github.com/civicrm/civicrm-core/pull/15629))** +- **Fix E_NOTICE for is_required in address form + ([15423](https://github.com/civicrm/civicrm-core/pull/15423))** -- **[NFC] reformat BAO_Case file ([15627](https://github.com/civicrm/civicrm-core/pull/15627))** +- **Customfields of type Multiselect attached to an Address do not render in + profile page (appear empty) + ([dev/core#1282](https://lab.civicrm.org/dev/core/issues/1282): + [15375](https://github.com/civicrm/civicrm-core/pull/15375) and + [15638](https://github.com/civicrm/civicrm-core/pull/15638))** -- **[REF] simplify definition of isARefund ([15601](https://github.com/civicrm/civicrm-core/pull/15601))** +- **Custom Search: Find Contributors by Aggregate Totals does not return results + if 'Choose date range' is selected and end date is empty + ([dev/core#1297](https://lab.civicrm.org/dev/core/issues/1297): + [15415](https://github.com/civicrm/civicrm-core/pull/15415))** -- **[NFC] Add date information to MailingJob Schema ([15628](https://github.com/civicrm/civicrm-core/pull/15628))** +### CiviCase -- **[NFC] Add in debugging to try and resolve E2E Cache intermitant test … ([15625](https://github.com/civicrm/civicrm-core/pull/15625))** +- **Proposal to fix longstanding name vs label problems for case roles + ([dev/core#1046](https://lab.civicrm.org/dev/core/issues/1046): + [15556](https://github.com/civicrm/civicrm-core/pull/15556) and + [15483](https://github.com/civicrm/civicrm-core/pull/15483))** -- **[REF] extract chunk of code that creates the financial items for a given line. ([15613](https://github.com/civicrm/civicrm-core/pull/15613))** + Moves the case roles code to rely on relationship NAMES instead of labels, + this fixes a variety of bugs for CiviCRM instances with case roles that rely + on relationships where the label does not match the name. -- **Fix test setup Function to use order api ([15620](https://github.com/civicrm/civicrm-core/pull/15620))** +- **Saving a case type can give a php warning, but the warning is more hidden + than usual so it seems like everything is ok + ([dev/core#1335](https://lab.civicrm.org/dev/core/issues/1335): + [15554](https://github.com/civicrm/civicrm-core/pull/15554))** -- **dev/core#560 [REF] Throw exceptions for invalid type errors when aborting ([15623](https://github.com/civicrm/civicrm-core/pull/15623))** + Prevents a php warning "htmlspecialchars() expects parameter 1 to be string, + array given" when saving case type. -- **Cast result of getContributionBalance to float to match comment block. ([15621](https://github.com/civicrm/civicrm-core/pull/15621))** +- **Upgrade script to flip autoassignees using bidirectional relationship in + older civicase configs + ([15542](https://github.com/civicrm/civicrm-core/pull/15542))** -- **Change test to use preferred methods, fix revealed money bug ([15622](https://github.com/civicrm/civicrm-core/pull/15622))** + Fixes a visual display issue for sites with configured activity autoassignees + in a CiviCase timeline using "by relationship" with a bidirectional + relationship (e.g. sibling) prior to 5.16 . Specifically, sites with this + setup will see a blank on the case type edit screen. It doesn't affect + operation, and saving the case type doesn't lose any info, but it's a visual + confusion. This upgrade script flips the a's and b's for those settings. -- **Ensure that using case_start_date_high and case_start_date_low etc in… ([15619](https://github.com/civicrm/civicrm-core/pull/15619))** +- **Minor a_b/b_a mixup on case type edit screen + ([15412](https://github.com/civicrm/civicrm-core/pull/15412))** -- **dev/core#1320 Include displayname in subjects to prevent grouping in email clients ([15513](https://github.com/civicrm/civicrm-core/pull/15513))** +- **Print Merge document from case search doesn't file on correct contact. + ([dev/core#893](https://lab.civicrm.org/dev/core/issues/893): + [15626](https://github.com/civicrm/civicrm-core/pull/15626))** -- **Case datepicker field conversion - Follow up cleanup ([15618](https://github.com/civicrm/civicrm-core/pull/15618))** +- **Ensure that using case_start_date_high and case_start_date_low etc in url + variables works in force=1 mode + ([15619](https://github.com/civicrm/civicrm-core/pull/15619))** -- **dev/core#561 Convert Case date fields on search forms from jcalendar … ([15614](https://github.com/civicrm/civicrm-core/pull/15614))** +- **Minimal fix for new enotice on case.subject + ([15616](https://github.com/civicrm/civicrm-core/pull/15616))** -- **Minimal fix for new enotice on case.subject ([15616](https://github.com/civicrm/civicrm-core/pull/15616))** +### CiviContribute -- **Issue 1205: allow custom fields of type file for entities ([15580](https://github.com/civicrm/civicrm-core/pull/15580))** +- **Respect calling code passing in 'null' for creditnote_id. + ([15232](https://github.com/civicrm/civicrm-core/pull/15232))** -- **Api4 explorer: Fix variable leaking to global scope ([15615](https://github.com/civicrm/civicrm-core/pull/15615))** + Fixes an issue where the contribution BAO disregards 'null' when passed in for + 'credit_note_id'. -- **Core/dev#692 : Support search arguments to Case Search form ([15370](https://github.com/civicrm/civicrm-core/pull/15370))** +- **Change test to use preferred methods, fix revealed money bug + ([15622](https://github.com/civicrm/civicrm-core/pull/15622))** -- **[REF] Remove usage of CRM_ACL_BAO_Cache::deleteEntry in favour of usi… ([15611](https://github.com/civicrm/civicrm-core/pull/15611))** + Ensures that Payment.create cleans the `total_amount` field like + Contribution.create. -- **dev/core#560 Convert some more CRM_Core_Error::fatal to exception ([15608](https://github.com/civicrm/civicrm-core/pull/15608))** +- **Fix cancel payment action to reverse financial items related to cancelled + payment ([15630](https://github.com/civicrm/civicrm-core/pull/15630))** -- **[REF] Remove CRM_Exception in favour of CRM_Core_Exception ([15610](https://github.com/civicrm/civicrm-core/pull/15610))** + Fixes a bug where the `financial_entity_trxn` entries associated with a + canceled payment were not being reversed as they should have been. -- **Remove a redundant call to formatParamsForPaymentProcessor in AdditionalPayment form ([15578](https://github.com/civicrm/civicrm-core/pull/15578))** +- **Missing Financial type and Credit Account Code in Bookkeeping Transaction + Report (Work towards + [dev/financial#40](https://lab.civicrm.org/dev/financial/issues/40): + [15740](https://github.com/civicrm/civicrm-core/pull/15740))** -- **dev/core#1093: Fix Issue When Updating Custom Fields With Logging Enabled ([15599](https://github.com/civicrm/civicrm-core/pull/15599))** + Fixes an issue whereby `civicrm_entity_financial_trxn` records for the + `civicrm_financial_item` table were not created when refunding against line + items with a quantity of zero - i.e. where there were selected check boxes & + they were reversed. -- **[NFC] comments tidy up … ([15607](https://github.com/civicrm/civicrm-core/pull/15607))** +- **Deprecate Contribute.transact api + ([dev/financial#79](https://lab.civicrm.org/dev/financial/issues/79): + [15564](https://github.com/civicrm/civicrm-core/pull/15564), + [15591](https://github.com/civicrm/civicrm-core/pull/15591) and + [15504](https://github.com/civicrm/civicrm-core/pull/15504))** -- **Remove CIVICRM_SUPPORT_MULTIPLE_LOCKS and make it always enabled if available ([15604](https://github.com/civicrm/civicrm-core/pull/15604))** + Marks the `Contribute.transact` as deprecated in the API explorer, adds a + noisy deprecation warning to Contribute.transact and moves it to its own file. -- **[REF] minor refactor towards removing complexity. ([15594](https://github.com/civicrm/civicrm-core/pull/15594))** +- **Cleanup date handling on Payment.create + ([15687](https://github.com/civicrm/civicrm-core/pull/15687))** -- **Add help text to payment processor subject field ([15590](https://github.com/civicrm/civicrm-core/pull/15590))** + Ensures that adding a payment on the `AdditionalPaymentForm` does not change + the Contribution `receive_date`. -- **[NFC] dev/core#1336 Update doc blocks for various ACL related functions ([15603](https://github.com/civicrm/civicrm-core/pull/15603))** +- **Ensure contributionRecurID is set on processor + ([15673](https://github.com/civicrm/civicrm-core/pull/15673))** -- **[REF] minor extraction - Extract code to update line items to paid ([15602](https://github.com/civicrm/civicrm-core/pull/15602))** + Ensures that `contributionRecurID` is available to payment processors that + need it in `cancelSubscription`. -- **dev/financial#82 Add getters & setters for contributionID on CRM_Core_Payment. ([15509](https://github.com/civicrm/civicrm-core/pull/15509))** +- **fix 'balance due' on Pledge Detail for non-US installs + ([15543](https://github.com/civicrm/civicrm-core/pull/15543))** -- **Generic Settings Pages: Make getSettingPageFilter() public so we can use it in hooks ([15576](https://github.com/civicrm/civicrm-core/pull/15576))** + Fixes a bug where the Pledge Detail report crashed when "Balance Due" was + selected and the label of either of the pledge statuses "Completed" or + "Canceled" had been modified. -- **dev/core#1316 Update 'Thank You' & other corrections ([15503](https://github.com/civicrm/civicrm-core/pull/15503))** +- **Incorrect allocation of payment on an edited multi-line item event + registration + ([dev/financial#34](https://lab.civicrm.org/dev/financial/issues/34): + [14763](https://github.com/civicrm/civicrm-core/pull/14763))** -- **5.19 ([15600](https://github.com/civicrm/civicrm-core/pull/15600))** +- **Incorrect Allocation of refunded line items on Multi Event Registrations + ([dev/financial#94](https://lab.civicrm.org/dev/financial/issues/94): + [15664](https://github.com/civicrm/civicrm-core/pull/15664))** -- **Update api3 explorer url path for consistency ([15597](https://github.com/civicrm/civicrm-core/pull/15597))** +- **Save & Next button on Contribution Page Widgets tab does not move user to + next step ([dev/core/1266](https://lab.civicrm.org/dev/core/issues/1266): + [15323](https://github.com/civicrm/civicrm-core/pull/15323))** -- **dev/core#1321 [test] add unit test to demonstrate behaviour ([15546](https://github.com/civicrm/civicrm-core/pull/15546))** +- **Fix parameters for statusBounce in AdditionalPayment + ([15579](https://github.com/civicrm/civicrm-core/pull/15579))** -- **dev/financial#79 minimal deprecation of Contribution.transact. ([15564](https://github.com/civicrm/civicrm-core/pull/15564))** +- **RepeatTransaction API incorrectly calculates the total amount when recur + payment has tax amount. + ([dev/core#1317](https://lab.civicrm.org/dev/core/issues/1317): + [15517](https://github.com/civicrm/civicrm-core/pull/15517))** -- **Add noisy deprecation warning to Contribution.transact ([15591](https://github.com/civicrm/civicrm-core/pull/15591))** +- **Incorrect line items recorded with contribution repeattransaction api. + ([dev/core#1367](https://lab.civicrm.org/dev/core/issues/1367): + [15735](https://github.com/civicrm/civicrm-core/pull/15735))** -- **Remove obsolete supportStorageOfAccents() method. ([15589](https://github.com/civicrm/civicrm-core/pull/15589))** +- **Contribution Detail Report gives incorrect results when `force=1` + ([dev/report#20](https://lab.civicrm.org/dev/report/issues/20): + [15315](https://github.com/civicrm/civicrm-core/pull/15315))** -- **Extract deprecated Contribution.transact API into it's own file ([15504](https://github.com/civicrm/civicrm-core/pull/15504))** +- **Fix typo in parameter description for PaymentProcessor.pay + ([15476](https://github.com/civicrm/civicrm-core/pull/15476))** -- **[REF] minor extraction in dedupe code ([15587](https://github.com/civicrm/civicrm-core/pull/15587))** +- **Fix Payment.create with a negative value to create the correct financial + items ([15705](https://github.com/civicrm/civicrm-core/pull/15705))** -- **Support street address sorting for contact detail report ([15581](https://github.com/civicrm/civicrm-core/pull/15581))** +- **Fix Payment.create bug whereby payment_processor_id is not being used for + the to_account_id + ([15640](https://github.com/civicrm/civicrm-core/pull/15640))** -- **5.19 ([15584](https://github.com/civicrm/civicrm-core/pull/15584))** +- **Fix bug whereby cidZero does not prepopulate billing details for selected + contact for pay later. + ([15565](https://github.com/civicrm/civicrm-core/pull/15565))** -- **Fix parameters for statusBounce in AdditionalPayment ([15579](https://github.com/civicrm/civicrm-core/pull/15579))** +- **Contribution Dashboard still uses broken Open Flash Charts + ([dev/core#1309](https://lab.civicrm.org/dev/core/issues/1309): + [15474](https://github.com/civicrm/civicrm-core/pull/15474))** -- **Support chaining Payment.create from Order api ([15548](https://github.com/civicrm/civicrm-core/pull/15548))** +### CiviEvent -- **Translate two string in AdditionalPayment form ([15577](https://github.com/civicrm/civicrm-core/pull/15577))** +- **Fix loading of profile fields on additional participant form + ([15698](https://github.com/civicrm/civicrm-core/pull/15698))** -- **Make sure labels match the actual date input format ([15520](https://github.com/civicrm/civicrm-core/pull/15520))** + Fixes a bug where no profile fields were loaded on the additional participant + form of an Online Registration form configured to accept multiple + participants. -- **5.19 to master ([15572](https://github.com/civicrm/civicrm-core/pull/15572))** +- **Fix logic determining whether (masked) credit card details are displayed in + event online receipts + ([15532](https://github.com/civicrm/civicrm-core/pull/15532))** -- **Combine IF clause for readability. ([15568](https://github.com/civicrm/civicrm-core/pull/15568))** + Fixes Event online receipts to display credit card info if available. -- **Fix bug whereby cidZero does not prepopulate billing details for selected contact for pay later. ([15565](https://github.com/civicrm/civicrm-core/pull/15565))** +### CiviGrant -- **Add freeform relative date for 'This Fiscal Year' ([14894](https://github.com/civicrm/civicrm-core/pull/14894))** +- **Grant in Edit mode doesn't show the associated contact and standardize all + screens accordingly. + ([dev/core#1065](https://lab.civicrm.org/dev/core/issues/1065): + [15362](https://github.com/civicrm/civicrm-core/pull/15362), + [15321](https://github.com/civicrm/civicrm-core/pull/15321) and + [15744](https://github.com/civicrm/civicrm-core/pull/15744))** -- **Filter out is_template contributions by default ([15550](https://github.com/civicrm/civicrm-core/pull/15550))** +### CiviMember -- **5.19 ([15566](https://github.com/civicrm/civicrm-core/pull/15566))** +- **Duplicated inherited membership with multiple relationships when adding a + new relationship + ([dev/core#1361](https://lab.civicrm.org/dev/core/issues/1361): + [15731](https://github.com/civicrm/civicrm-core/pull/15731))** -- **5.19 to master ([15563](https://github.com/civicrm/civicrm-core/pull/15563))** + Fixes a bug where duplicate inherited relationships were being created for the + same membership. -- **dev/core#1252 Attempt to fix paging on contribution summary ([15528](https://github.com/civicrm/civicrm-core/pull/15528))** +- **Agile fixFix inherited membership being deleted when there is still a valid + relationship + ([15062](https://github.com/civicrm/civicrm-core/pull/15062))** -- **dev/core#1335 - Prevent php warning when saving case type ([15554](https://github.com/civicrm/civicrm-core/pull/15554))** + Fixes a bug where contacts with two or more relationships to a member contact + would lose their inherited relationship if one of their other relationships + was deleted. -- **5.19 to master ([15551](https://github.com/civicrm/civicrm-core/pull/15551))** +- **Unable to edit the membership end date for members that have a recurring + payment ([dev/core#1126](https://lab.civicrm.org/dev/core/issues/1126): + [15540](https://github.com/civicrm/civicrm-core/pull/15540))** -- **dev/financial#72 add 'Template' contribution status ([15431](https://github.com/civicrm/civicrm-core/pull/15431))** +### Backdrop Intgration -- **Upgrade script to flip autoassignees using bidirectional relationship in older civicase configs ([15542](https://github.com/civicrm/civicrm-core/pull/15542))** +- **Backdrop support for adding roles and perms + ([infra/ops#906](https://lab.civicrm.org/infra/ops/issues/906): + [15571](https://github.com/civicrm/civicrm-core/pull/15571))** -- **dev/core#1046 - Fix name vs label for case roles - alternate with case type edit screen code cleanup ([15483](https://github.com/civicrm/civicrm-core/pull/15483))** + Ensures that one can build a Backdrop/CiviCRM site with a demo user with + the permissions expected of a demo user. -- **dev/core#781 Additional email greetings in message templates ([15491](https://github.com/civicrm/civicrm-core/pull/15491))** +## Miscellany -- **dev/core#1126 - Don't freeze the end date if the membership is linked to a recurring payment ([15540](https://github.com/civicrm/civicrm-core/pull/15540))** +- **Replace jcalendar instances with datepicker + ([dev/core#561](https://lab.civicrm.org/dev/core/issues/561): + [15661](https://github.com/civicrm/civicrm-core/pull/15661), + [15677](https://github.com/civicrm/civicrm-core/pull/15677), + [15694](https://github.com/civicrm/civicrm-core/pull/15694), + [15671](https://github.com/civicrm/civicrm-core/pull/15671), + [15637](https://github.com/civicrm/civicrm-core/pull/15637), + [15633](https://github.com/civicrm/civicrm-core/pull/15633), + [15614](https://github.com/civicrm/civicrm-core/pull/15614), + [15710](https://github.com/civicrm/civicrm-core/pull/15710), + [15719](https://github.com/civicrm/civicrm-core/pull/15719), + [15618](https://github.com/civicrm/civicrm-core/pull/15618), + [15636](https://github.com/civicrm/civicrm-core/pull/15636), + [15693](https://github.com/civicrm/civicrm-core/pull/15693), + [15711](https://github.com/civicrm/civicrm-core/pull/15711), + [15702](https://github.com/civicrm/civicrm-core/pull/15702) and + [15635](https://github.com/civicrm/civicrm-core/pull/15635))** -- **5.19 to master ([15544](https://github.com/civicrm/civicrm-core/pull/15544))** +- **Api support for deduping (Code cleanup in preparation for + [dev/core#1230](https://lab.civicrm.org/dev/core/issues/1230): + [15184](https://github.com/civicrm/civicrm-core/pull/15184))** -- **fix 'balance due' on Pledge Detail for non-US installs ([15543](https://github.com/civicrm/civicrm-core/pull/15543))** +- **group.get API (v3) fails to find groups of one group_type if group has + multiple types (Test for + [dev/core#1321](https://lab.civicrm.org/dev/core/issues/1321): + [15546](https://github.com/civicrm/civicrm-core/pull/15546))** -- **[REF] Rename balanceTrxnParams variable to paymentTrxnParams ([15535](https://github.com/civicrm/civicrm-core/pull/15535))** +- **composer.{json,lock} - Make the "tplaner/when" exception for old PHP + reproducible ([15732](https://github.com/civicrm/civicrm-core/pull/15732))** -- **Simplify logic for displaying card details for Event online registraion Confirm, Thankyou page ([15533](https://github.com/civicrm/civicrm-core/pull/15533))** +- **Add in xkerman/restricted-unserialize package + ([15730](https://github.com/civicrm/civicrm-core/pull/15730))** -- **Fix logic determining whether (masked) credit card details are displayed in event online receipts ([15532](https://github.com/civicrm/civicrm-core/pull/15532))** +- **INTL_IDNA_VARIANT_2003 deprecated in PHP_7.2 + ([266](https://github.com/civicrm/civicrm-packages/pull/266))** -- **Remove extraneous full stop, line ([15531](https://github.com/civicrm/civicrm-core/pull/15531))** +- **Extract contribution search functions to help with case search improvements + ([15373](https://github.com/civicrm/civicrm-core/pull/15373))** -- **Add test for participant receipts, super minor consistency fix. ([15525](https://github.com/civicrm/civicrm-core/pull/15525))** +- **Further cleanup and clarification on MembershipPayment + ([15407](https://github.com/civicrm/civicrm-core/pull/15407))** -- **5.19 ([15529](https://github.com/civicrm/civicrm-core/pull/15529))** +- **The loop doth process too much, methinks + ([15473](https://github.com/civicrm/civicrm-core/pull/15473))** -- **5.19 to master ([15526](https://github.com/civicrm/civicrm-core/pull/15526))** +- **[Membership-backoffice] Reduce reliance on multiple specific but confusing + class variables + ([14919](https://github.com/civicrm/civicrm-core/pull/14919))** -- **Format details for case custom data activity in a human readable format ([13365](https://github.com/civicrm/civicrm-core/pull/13365))** +- **Simplify logic for displaying card details for Event online registration + Confirm, Thankyou page + ([15533](https://github.com/civicrm/civicrm-core/pull/15533))** -- **Fix error when adding activities from Search Builder ([15522](https://github.com/civicrm/civicrm-core/pull/15522))** +- **Fix typo in Manager.php + ([15518](https://github.com/civicrm/civicrm-core/pull/15518))** -- **[NFC] dev/core#1046 - minor consistency change ([15486](https://github.com/civicrm/civicrm-core/pull/15486))** +- **Update my organisation + ([15469](https://github.com/civicrm/civicrm-core/pull/15469))** -- **Remove references to open flash chart, including uploadchartimage fun… ([15493](https://github.com/civicrm/civicrm-core/pull/15493))** +- **Combine IF clause for readability. + ([15568](https://github.com/civicrm/civicrm-core/pull/15568))** -- **[REF] minor extraction with code to build dedupe arrays ([15519](https://github.com/civicrm/civicrm-core/pull/15519))** +- **Switch creation of ParticipantPayment to use API + ([15500](https://github.com/civicrm/civicrm-core/pull/15500))** -- **[REF] basic extraction of sendMails functionality along with a small test extension ([15516](https://github.com/civicrm/civicrm-core/pull/15516))** +- **Remove when package from packages + ([264](https://github.com/civicrm/civicrm-packages/pull/264))** -- **dev/core#1230 [Ref] Rationalise dedupe code loop. ([15184](https://github.com/civicrm/civicrm-core/pull/15184))** +- **Cast result of getContributionBalance to float to match comment block. + ([15621](https://github.com/civicrm/civicrm-core/pull/15621))** -- **Fix typo in Manager.php ([15518](https://github.com/civicrm/civicrm-core/pull/15518))** +- **Remove obsolete supportStorageOfAccents() method. + ([15589](https://github.com/civicrm/civicrm-core/pull/15589))** -- **[REF] remove obsolete code. ([15515](https://github.com/civicrm/civicrm-core/pull/15515))** +- **Upgrade When package to the lastest version + ([15223](https://github.com/civicrm/civicrm-core/pull/15223))** -- **dev/core#1317 - Fix total_amount on repeattransaction when tax amount is involved. ([15517](https://github.com/civicrm/civicrm-core/pull/15517))** +- **Api4 explorer: Fix variable leaking to global scope + ([15615](https://github.com/civicrm/civicrm-core/pull/15615))** -- **[NFC] dev/core#1046 - more accurate column heading ([15485](https://github.com/civicrm/civicrm-core/pull/15485))** +- **Improve metadata support for table civicrm_mailing_job in search + ([15634](https://github.com/civicrm/civicrm-core/pull/15634))** -- **Order api updates to fix participant handling & deprecate creating 'completed ([15514](https://github.com/civicrm/civicrm-core/pull/15514))** +- **Change parent class on mailing_form + ([15629](https://github.com/civicrm/civicrm-core/pull/15629))** -- **dev/core#1257 Make relationship description searchable ([15358](https://github.com/civicrm/civicrm-core/pull/15358))** +- **Add uniquenames for mailing_name, mailing_job_status + ([15652](https://github.com/civicrm/civicrm-core/pull/15652))** -- **5.19 to master ([15510](https://github.com/civicrm/civicrm-core/pull/15510))** +- **Add getQillValue fn to generalise qill string construct + ([15667](https://github.com/civicrm/civicrm-core/pull/15667))** -- **5.19 ([15507](https://github.com/civicrm/civicrm-core/pull/15507))** +- **Remove scriptFee & scriptArray params + ([dev/event#19](https://lab.civicrm.org/dev/event/issues/19): + [15679](https://github.com/civicrm/civicrm-core/pull/15679))** -- **[REF] Deprecate calls to createCreditNoteId ([15492](https://github.com/civicrm/civicrm-core/pull/15492))** +- **Fix the relationship direction in testSingleMembershipForTwoRelationships + ([15738](https://github.com/civicrm/civicrm-core/pull/15738))** -- **Test calling CRM_Financial_BAO_PaymentProcessor::getPaymentProcessors ([15499](https://github.com/civicrm/civicrm-core/pull/15499))** +- **Remove recordPayment function. + ([15684](https://github.com/civicrm/civicrm-core/pull/15684))** -- **dev/financial#73 Update Order.create so that total_amount is not required. ([15501](https://github.com/civicrm/civicrm-core/pull/15501))** +- **Eliminate silly parameter + ([15723](https://github.com/civicrm/civicrm-core/pull/15723))** -- **Switch creation of ParticipantPayment to use API ([15500](https://github.com/civicrm/civicrm-core/pull/15500))** +- **Use Yes-No radio instead of checkbox on search form. + ([15669](https://github.com/civicrm/civicrm-core/pull/15669))** -- **Ensure that the frontend title is used for contribution page details … ([15497](https://github.com/civicrm/civicrm-core/pull/15497))** +- **Cleanup following smart group conversions and fix the old name of the + relationship date relative fields for conversion and add a unit test + ([15648](https://github.com/civicrm/civicrm-core/pull/15648))** -- **5.19 ([15498](https://github.com/civicrm/civicrm-core/pull/15498))** +- **Remove a redundant call to formatParamsForPaymentProcessor in + AdditionalPayment form + ([15578](https://github.com/civicrm/civicrm-core/pull/15578))** -- **Update tests to simulate labels that are not the same as names ([15399](https://github.com/civicrm/civicrm-core/pull/15399))** +- **Remove extraneous full stop, line + ([15531](https://github.com/civicrm/civicrm-core/pull/15531))** -- **5.19 to master ([15495](https://github.com/civicrm/civicrm-core/pull/15495))** +- **Remove early return on joinTable + ([15721](https://github.com/civicrm/civicrm-core/pull/15721))** -- **dev/core#371 Remove template refs to 'print for your records' ([15467](https://github.com/civicrm/civicrm-core/pull/15467))** +- **Remove unused, hidden subsystem for "persistent DB tpl strings" + ([15660](https://github.com/civicrm/civicrm-core/pull/15660))** -- **Improvements to copying events and contribution pages ([15144](https://github.com/civicrm/civicrm-core/pull/15144))** +- **Fix test setup Function to use order api + ([15620](https://github.com/civicrm/civicrm-core/pull/15620))** -- **reporting-20: don't display soft credits by default when force=1 ([15315](https://github.com/civicrm/civicrm-core/pull/15315))** +- **Delete mkdocs.yml + ([15658](https://github.com/civicrm/civicrm-core/pull/15658))** -- **dev/core/1266 widget header tab next state to pcp tab ([15323](https://github.com/civicrm/civicrm-core/pull/15323))** +- **[NFC] minor simplification + ([15425](https://github.com/civicrm/civicrm-core/pull/15425))** -- **Upgrade When package to the lastest version ([15223](https://github.com/civicrm/civicrm-core/pull/15223))** +- **[NFC] code formatting + ([15424](https://github.com/civicrm/civicrm-core/pull/15424))** -- **dev/financial#72 Filter contribution status lists for batch creation and update ([15472](https://github.com/civicrm/civicrm-core/pull/15472))** +- **[NFC] dev/core#1046 - minor consistency change + ([15486](https://github.com/civicrm/civicrm-core/pull/15486))** -- **dev/financial#72 Filter contribution status dropdowns in search and report ([15470](https://github.com/civicrm/civicrm-core/pull/15470))** +- **[NFC] dev/core#1046 - more accurate column heading + ([15485](https://github.com/civicrm/civicrm-core/pull/15485))** -- **[REF] move definition of important values & retrieval outside payment… ([15458](https://github.com/civicrm/civicrm-core/pull/15458))** +- **[NFC] comments tidy up … + ([15607](https://github.com/civicrm/civicrm-core/pull/15607))** -- **[Membership-backoffice] Reduce reliance on multiple specific but confusing class variables ([14919](https://github.com/civicrm/civicrm-core/pull/14919))** +- **[NFC] dev/core#1336 Update doc blocks for various ACL related functions + ([15603](https://github.com/civicrm/civicrm-core/pull/15603))** -- **dev/core#826 ([15293](https://github.com/civicrm/civicrm-core/pull/15293))** +- **[NFC] Cleanup on exceptions + ([15750](https://github.com/civicrm/civicrm-core/pull/15750))** -- **Fix bug in SQL queue that can cause tasks to be run twice in a multiprocess environment ([15421](https://github.com/civicrm/civicrm-core/pull/15421))** +- **(NFC) Remove windows-specific debugging code from 11 years ago + ([15736](https://github.com/civicrm/civicrm-core/pull/15736))** -- **dev/financial#57 Add order_reference field ([15468](https://github.com/civicrm/civicrm-core/pull/15468))** +- **[NFC] Allow users on backdrop to trigger regen.sh + ([15717](https://github.com/civicrm/civicrm-core/pull/15717))** -- **[REF] Minor cleanup to determine taxterm with a helper function. ([15488](https://github.com/civicrm/civicrm-core/pull/15488))** +- **[NFC] Fix exception thrown to std CRM_Core_Exception + ([15716](https://github.com/civicrm/civicrm-core/pull/15716))** -- **[REF] Replace deprecated function call with a more readable alternative ([15489](https://github.com/civicrm/civicrm-core/pull/15489))** +- **[NFC] various code cleanup on CRM_Contact_BAO_Query + ([15713](https://github.com/civicrm/civicrm-core/pull/15713))** -- **Fix typo in parameter description for PaymentProcessor.pay ([15476](https://github.com/civicrm/civicrm-core/pull/15476))** +- **[NFC] Test class preliminary clean up + ([15685](https://github.com/civicrm/civicrm-core/pull/15685))** -- **Fixes an issue where the two arrays weren't always being merged correctly ([15482](https://github.com/civicrm/civicrm-core/pull/15482))** +- **[NFC] test cleanup + ([15683](https://github.com/civicrm/civicrm-core/pull/15683))** -- **Fix missing/broken contribution charts ([15474](https://github.com/civicrm/civicrm-core/pull/15474))** +- **[NFC] define variable type + ([15681](https://github.com/civicrm/civicrm-core/pull/15681))** -- **Do no invoke Hooks via UF unless container has been built or it is a … ([15339](https://github.com/civicrm/civicrm-core/pull/15339))** +- **[NFC] Remove unreachable lines + ([15672](https://github.com/civicrm/civicrm-core/pull/15672))** -- **The loop doth process too much, methinks ([15473](https://github.com/civicrm/civicrm-core/pull/15473))** +- **[NFC] Test cleanup - switch to OrderApi in test setup, add throws, use sin… + ([15662](https://github.com/civicrm/civicrm-core/pull/15662))** -- **Fix CSS for public select2 elements regardless of parent theme box-si… ([15442](https://github.com/civicrm/civicrm-core/pull/15442))** +- **[NFC] reformat BAO_Case file + ([15627](https://github.com/civicrm/civicrm-core/pull/15627))** -- **Respect calling code passing in 'null' for creditnote_id. ([15232](https://github.com/civicrm/civicrm-core/pull/15232))** +- **[NFC] Add date information to MailingJob Schema + ([15628](https://github.com/civicrm/civicrm-core/pull/15628))** -- **Remove Print Icon ([15322](https://github.com/civicrm/civicrm-core/pull/15322))** +- **[NFC] Add in debugging to try and resolve E2E Cache intermitant test … + ([15625](https://github.com/civicrm/civicrm-core/pull/15625))** -- **Extract contribution search functions to help with case search improvements ([15373](https://github.com/civicrm/civicrm-core/pull/15373))** +- **Fix test to be more valid + ([15743](https://github.com/civicrm/civicrm-core/pull/15743))** -- **Further cleanup and clarification on MembershipPayment ([15407](https://github.com/civicrm/civicrm-core/pull/15407))** +- **Add test to lock in obscure custom join handling + ([15715](https://github.com/civicrm/civicrm-core/pull/15715))** -- **REF Move ipAddress and CC expiry date to prepareParamsForPaymentProcessor ([15291](https://github.com/civicrm/civicrm-core/pull/15291))** +- **Test improvements + ([15720](https://github.com/civicrm/civicrm-core/pull/15720))** -- **Update my organisation ([15469](https://github.com/civicrm/civicrm-core/pull/15469))** +- **Test calling CRM_Financial_BAO_PaymentProcessor::getPaymentProcessors + ([15499](https://github.com/civicrm/civicrm-core/pull/15499))** -- **Restrict inactive Dashlet query to Dashlets in the current domain ([15283](https://github.com/civicrm/civicrm-core/pull/15283))** +- **Update tests to simulate labels that are not the same as names + ([15399](https://github.com/civicrm/civicrm-core/pull/15399))** -- **[REF] remove call to deprecated function ([15465](https://github.com/civicrm/civicrm-core/pull/15465))** +- **Add test for participant receipts, super minor consistency fix. + ([15525](https://github.com/civicrm/civicrm-core/pull/15525))** -- **[REF] Fix typos and remove unused variables ([15462](https://github.com/civicrm/civicrm-core/pull/15462))** +- **[Code-quality] remove references to where_tables, where_clause + ([14891](https://github.com/civicrm/civicrm-core/pull/14891))** -- **dev/financial#72 Modify getTemplateContribution() to use is_template field ([15456](https://github.com/civicrm/civicrm-core/pull/15456))** +- **REF Move ipAddress and CC expiry date to prepareParamsForPaymentProcessor + ([15291](https://github.com/civicrm/civicrm-core/pull/15291))** -- **5.19 ([15461](https://github.com/civicrm/civicrm-core/pull/15461))** +- **REF Use the new prepareParamsForPaymentProcessor function in more places + ([15281](https://github.com/civicrm/civicrm-core/pull/15281))** -- **Replace openflash charts with charts that work ([15448](https://github.com/civicrm/civicrm-core/pull/15448))** +- **[REF] Remove transaction as part of minor code cleanup + ([15460](https://github.com/civicrm/civicrm-core/pull/15460))** -- **[REF] Remove transaction as part of minor code cleanup ([15460](https://github.com/civicrm/civicrm-core/pull/15460))** +- **[ref] Simplify function signature as parameter is not used + ([15459](https://github.com/civicrm/civicrm-core/pull/15459))** -- **[ref] Simplify function signature as parameter is not used ([15459](https://github.com/civicrm/civicrm-core/pull/15459))** +- **[REF] move definition of important values & retrieval outside payment… + ([15458](https://github.com/civicrm/civicrm-core/pull/15458))** -- **5.19 ([15444](https://github.com/civicrm/civicrm-core/pull/15444))** +- **[REF] Minor cleanup to determine taxterm with a helper function. + ([15488](https://github.com/civicrm/civicrm-core/pull/15488))** -- **(dev/core#1065) Pledge in Edit mode needs to be shown consistently ([15321](https://github.com/civicrm/civicrm-core/pull/15321))** +- **[REF] Replace deprecated function call with a more readable alternative + ([15489](https://github.com/civicrm/civicrm-core/pull/15489))** -- **dev/financial#72 Add is_template field to contribution entity ([15433](https://github.com/civicrm/civicrm-core/pull/15433))** +- **[REF] remove call to deprecated function + ([15465](https://github.com/civicrm/civicrm-core/pull/15465))** -- **[Code-quality] remove references to where_tables, where_clause ([14891](https://github.com/civicrm/civicrm-core/pull/14891))** +- **[REF] Fix typos and remove unused variables + ([15462](https://github.com/civicrm/civicrm-core/pull/15462))** -- **dev/core#1270 - fix email processor dropping attachments - ALTERNATE ([15438](https://github.com/civicrm/civicrm-core/pull/15438))** +- **[REF] Rename balanceTrxnParams variable to paymentTrxnParams + ([15535](https://github.com/civicrm/civicrm-core/pull/15535))** -- **REF Use the new prepareParamsForPaymentProcessor function in more places ([15281](https://github.com/civicrm/civicrm-core/pull/15281))** +- **[REF] minor extraction with code to build dedupe arrays + ([15519](https://github.com/civicrm/civicrm-core/pull/15519))** -- **[NFC] minor simplification ([15425](https://github.com/civicrm/civicrm-core/pull/15425))** +- **[REF] basic extraction of sendMails functionality along with a small test + extension ([15516](https://github.com/civicrm/civicrm-core/pull/15516))** -- **Add in frontend_title field for Contribution Pages to allow site mana… ([15418](https://github.com/civicrm/civicrm-core/pull/15418))** +- **[REF] remove obsolete code. + ([15515](https://github.com/civicrm/civicrm-core/pull/15515))** -- **5.19 to master ([15434](https://github.com/civicrm/civicrm-core/pull/15434))** +- **[REF] Deprecate calls to createCreditNoteId + ([15492](https://github.com/civicrm/civicrm-core/pull/15492))** -- **Allow custom ts functions in extensions; defer custom ts calls until booted ([15411](https://github.com/civicrm/civicrm-core/pull/15411))** +- **[REF] minor extraction in dedupe code + ([15587](https://github.com/civicrm/civicrm-core/pull/15587))** -- **5.19 ([15430](https://github.com/civicrm/civicrm-core/pull/15430))** +- **[REF] minor extraction - Extract code to update line items to paid + ([15602](https://github.com/civicrm/civicrm-core/pull/15602))** -- **Minor a_b/b_a mixup on case type edit screen ([15412](https://github.com/civicrm/civicrm-core/pull/15412))** +- **[REF] Remove usage of CRM_ACL_BAO_Cache::deleteEntry in favour of usi… + ([15611](https://github.com/civicrm/civicrm-core/pull/15611))** -- **Improve item order inside Online Contributions section of configuration checklist; see lab issue dev/core#1278 ([15359](https://github.com/civicrm/civicrm-core/pull/15359))** +- **[REF] Remove CRM_Exception in favour of CRM_Core_Exception + ([15610](https://github.com/civicrm/civicrm-core/pull/15610))** -- **[NFC] code formatting ([15424](https://github.com/civicrm/civicrm-core/pull/15424))** +- **[REF] minor refactor towards removing complexity. + ([15594](https://github.com/civicrm/civicrm-core/pull/15594))** -- **Fix E_NOTICE for is_required in address form ([15423](https://github.com/civicrm/civicrm-core/pull/15423))** +- **[REF] minor tidy ups on very nasty function + ([15722](https://github.com/civicrm/civicrm-core/pull/15722))** -- **dev/financial#72 Make is_template=0 the default for api get requests. ([15419](https://github.com/civicrm/civicrm-core/pull/15419))** +- **[REF] Remove early return on joinTable + ([15718](https://github.com/civicrm/civicrm-core/pull/15718))** -- **Ensure front-end hooks are only registered on main query ([166](https://github.com/civicrm/civicrm-wordpress/pull/166))** +- **[REF] remove as a return Param of getHierContactDetails + ([15714](https://github.com/civicrm/civicrm-core/pull/15714))** -- **Redirect to setup page on activation /dev/wordpress/issues/37 ([165](https://github.com/civicrm/civicrm-wordpress/pull/165))** +- **[REF] minor code simplification + ([15728](https://github.com/civicrm/civicrm-core/pull/15728))** -- **Remove when package from packages ([264](https://github.com/civicrm/civicrm-packages/pull/264))** +- **[REF] Move calls to CRM_Core_BAO_FinancialTrxn::createDeferredTrxn back to + the calling functions. + ([15641](https://github.com/civicrm/civicrm-core/pull/15641))** -- **Remove Open Flash charts from Version file ([268](https://github.com/civicrm/civicrm-packages/pull/268))** +- **[REF] Refactor Smart Group Cache population code to be less intensive + ([15588](https://github.com/civicrm/civicrm-core/pull/15588))** -- **Remove open flash chart library now that that we are using d3 for cha… ([267](https://github.com/civicrm/civicrm-packages/pull/267))** +- **[REF] Refactor ACL Contact Cache generation to be more efficient + ([15592](https://github.com/civicrm/civicrm-core/pull/15592))** -- **INTL_IDNA_VARIANT_2003 deprecated in PHP_7.2 ([266](https://github.com/civicrm/civicrm-packages/pull/266))** +- **[REF] extract chunk of code that creates the financial items for a given + line. ([15613](https://github.com/civicrm/civicrm-core/pull/15613))** -## Miscellany +- **[REF] Further deconstruction of updateFinancialAccounts + ([15631](https://github.com/civicrm/civicrm-core/pull/15631))** + +- **[REF] simplify definition of isARefund + ([15601](https://github.com/civicrm/civicrm-core/pull/15601))** ## Credits This release was developed by the following code authors: -a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt, Eli Lisseck; Agileware - Pengyi Zhang; Alexy Mikhailichenko; Australian Greens - Seamus Lee; bjendres; Christian Wach; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Camilo Rodriguez, Davi Alexandre, Omar Abu Hussein; Dave D; Electronic Frontier Foundation - Mark Burdett; Florian Kohrt; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Greenpeace CEE - Patrick Figel; iXiam - César Ramos, Vangelis Pantazis; JMA Consulting - Monish Deb; John Kingsnorth; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; mountev; Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston +a-n The Artists Information Company - William Mortada; AGH Strategies - Alice +Frumin, Andrew Hunt, Eli Lisseck; Agileware - Pengyi Zhang; Alexy +Mikhailichenko; Australian Greens - Seamus Lee; Christian Wach; CiviCoop - Jaap +Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; +CompuCorp- Camilo Rodriguez, Davi Alexandre, Omar Abu Hussein; Dave D; +Electronic Frontier Foundation - Mark Burdett; Florian Kohrt; Freeform +Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Greenpeace CEE - +Patrick Figel; iXiam - César Ramos; JMA Consulting - Monish Deb; John Kingsnorth; +Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW +Consulting - Matthew Wire; Mountev Ltd; Richard van Oosterhout; Squiffle +Consulting - Aidan Saunders; SYSTOPIA Organisationsberatung - Björn Endres; +Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton, +Elliott Eggleston; Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: -a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt, Eli Lisseck; Agileware - Justin Freeman, Pengyi Zhang; Artful Robot - Rich Lott; Australian Greens - Seamus Lee; bjendres; Blackfly Solutions - Alan Dixon; Christian Wach; Circle Interactive - Dave Jenkins, Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Camilo Rodriguez, Davi Alexandre, Jamie Novick; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit, Luke Stewart; Greenpeace CEE - Patrick Figel; HROliver; iXiam - Vangelis Pantazis; JMA Consulting - Joe Murray, Monish Deb; John Kingsnorth; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Ray Wright; Richard van Oosterhout; Skvare - Mark Hanna; Squiffle Consulting - Aidan Saunders; sushantpaste; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston +a-n The Artists Information Company - William Mortada; Agileware - Justin +Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; Circle +Interactive - Dave Jenkins, Pradeep Nayak; CompuCorp - Jamie Novick; Coop +SymbioTIC - Mathieu Lutfy; Fuzion - Luke Stewart; iXiam - Vangelis Pantazis; JMA +Consulting - Joe Murray; Nicol Wistreich; Ray Wright; Red Hot Irons - Heather +Oliver; Skvare - Mark Hanna; OSSeed Technologies LLP- Sushant; ## Feedback -- 2.25.1