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