# CiviCRM 4.7.15 Released January 4, 2017 - **[Features](#features)** - **[Bugs resolved](#bugs)** - **[Credits](#credits)** ## Features ### Core CiviCRM - **[CRM-17410](https://issues.civicrm.org/jira/browse/CRM-17410) Using xml on upgrade (not installation) of extension to create/append new optionvalues ([9480](https://github.com/civicrm/civicrm-core/pull/9480))** Extensions that specify option values in XML for installation can now add options during an upgrade using XML. - **[CRM-19688](https://issues.civicrm.org/jira/browse/CRM-19688) State/province API ([9454](https://github.com/civicrm/civicrm-core/pull/9454))** An API for creating, modifying, and deleting states/provinces is now available. - **[CRM-19755](https://issues.civicrm.org/jira/browse/CRM-19755) reverse order of html and text on CRM/Mailing/Page/Component.php ([9531](https://github.com/civicrm/civicrm-core/pull/9531))** The mail template interface is now more consistent in placing the HTML version before the plain-text version. - **[CRM-19686](https://issues.civicrm.org/jira/browse/CRM-19686) Dedupe Exceptions Should Link to Contacts ([9455](https://github.com/civicrm/civicrm-core/pull/9455))** The list of dedupe exceptions now links to the contacts. ### CiviContribute - **[CRM-19325](https://issues.civicrm.org/jira/browse/CRM-19325) Search contributions that are not in any batch ([9492](https://github.com/civicrm/civicrm-core/pull/9492))** Contribution search now allows filtering by contributions that are not in any batch of financial transactions. - **[CRM-18460](https://issues.civicrm.org/jira/browse/CRM-18460) Add relative date filters for Aggregate Contribution custom search ([9493](https://github.com/civicrm/civicrm-core/pull/9493))** The Aggregate Contribution custom search now uses the standard relative date filters. ### CiviEvent - **[CRM-19626](https://issues.civicrm.org/jira/browse/CRM-19626) Event Registration page allows registration even if no number (or the number 0) has been entered in any ticket quantity boxes ([9517](https://github.com/civicrm/civicrm-core/pull/9517))** Price sets now have a "Minimum Amount" field to accommodate situations where any one of several fields may be filled but a certain price threshold must be reached. ## Bugs resolved ### Core CiviCRM - **[CRM-19591](https://issues.civicrm.org/jira/browse/CRM-19591) Creating a pledge with only one installment will cause pledge payment to have a null status (and cannot record a payment) ([9557](https://github.com/civicrm/civicrm-core/pull/9557))** - **[CRM-19772](https://issues.civicrm.org/jira/browse/CRM-19772) Add $entity,$action to "possibly mandatory" exception message ([9543](https://github.com/civicrm/civicrm-core/pull/9543))** The API exception message is clearer in some cases with a database constraint violation. - **[CRM-19333](https://issues.civicrm.org/jira/browse/CRM-19333) Advanced Search issue when searching using Group Type(s) ([9534](https://github.com/civicrm/civicrm-core/pull/9534))** Searching for contacts in groups of a specific group type no longer results in a database syntax error. - **[CRM-19764](https://issues.civicrm.org/jira/browse/CRM-19764) Context ignored when fetching custom field options ([9540](https://github.com/civicrm/civicrm-core/pull/9540))** The getoptions API method now accurately returns or suppresses disabled options for custom fields when the `context` parameter is set. - **[CRM-19662](https://issues.civicrm.org/jira/browse/CRM-19662) Send test mailing failing because of "only_full_group_by" setting ([9428](https://github.com/civicrm/civicrm-core/pull/9428))** Various queries having `GROUP BY` set, but with non-aggregated columns besides those that are grouped, have been resolved to be compatible with MySQL installations where the `sql_mode` contains `only_full_group_by`. Some have removed columns from the `SELECT`, while others have added to the `GROUP BY` clause. - **[CRM-19698](https://issues.civicrm.org/jira/browse/CRM-19698) Wrong search results when combining smart and non-smart groups in a single search ([9506](https://github.com/civicrm/civicrm-core/pull/9506))** Searching for a smart group alongside other groups now accurately displays contacts who are in any of the groups, rather than just the smart group. - **[CRM-19743](https://issues.civicrm.org/jira/browse/CRM-19743) API Utils _civicrm_api3_get_options_from_params doesn't handle sort as an array properly ([9525](https://github.com/civicrm/civicrm-core/pull/9525))** - **[CRM-19226](https://issues.civicrm.org/jira/browse/CRM-19226) $loginUrl token not populating in Drupal 7 ([9479](https://github.com/civicrm/civicrm-core/pull/9479))** This fixes a broken or missing login URL link token on Drupal sites. - **[CRM-19490](https://issues.civicrm.org/jira/browse/CRM-19490) Profile date fields don't respect localization on the Contribution Page confirmation screen ([9529](https://github.com/civicrm/civicrm-core/pull/9529) and [9530](https://github.com/civicrm/civicrm-core/pull/9530)) [completes previous work]** Short date form fields now have the proper labeling and display for internationalization. - **Correct code docs for CRM_Core_Menu::get() ([9514](https://github.com/civicrm/civicrm-core/pull/9514))** - **[CRM-18248](https://issues.civicrm.org/jira/browse/CRM-18248) Performance - select2 based contact autocomplete spams the DB server with potentially long running queries ([9502](https://github.com/civicrm/civicrm-core/pull/9502))** Entity reference autocomplete fields now wait 300 milliseconds (up from 100) before sending queries as users type. - **JS Optimizations ([9505](https://github.com/civicrm/civicrm-core/pull/9505))** Improves the loading of WYSIWYG Javascript and only loads table headers for users with "Access CiviCRM" permission. - **[CRM-19656](https://issues.civicrm.org/jira/browse/CRM-19656) Link for users to update their subscription billing info generates error ([9401](https://github.com/civicrm/civicrm-core/pull/9401))** - **[CRM-19721](https://issues.civicrm.org/jira/browse/CRM-19721) CiviCRM-cxn-rpc needs to be updated to work with PHP 7 ([9500](https://github.com/civicrm/civicrm-core/pull/9500))** - **[CRM-19720](https://issues.civicrm.org/jira/browse/CRM-19720) Typographic fixes ([9501](https://github.com/civicrm/civicrm-core/pull/9501))** - **[CRM-19711](https://issues.civicrm.org/jira/browse/CRM-19711) Bookkeeping report displays pay later items twice ([9490](https://github.com/civicrm/civicrm-core/pull/9490))** The bookkeeping report no longer shows duplicate row for pay-later items: once for the pending payment, and once for the completion. - **CRM_Utils_HttpClientTest - Use special purpose hostnames ([9485](https://github.com/civicrm/civicrm-core/pull/9485))** Improves testing of HTTP and HTTPS connections by using hosts that have been prepared specifically for this purpose. - **[CRM-19699](https://issues.civicrm.org/jira/browse/CRM-19699) PHP7: cannot install using Drush ([9472](https://github.com/civicrm/civicrm-core/pull/9472))** `DB_DSN_MODE` is set on installation for PHP 7 compatibility. - **[CRM-19679](https://issues.civicrm.org/jira/browse/CRM-19679) multi custom data: file field errors on new record save ([9436](https://github.com/civicrm/civicrm-core/pull/9436))** Saving data in a file custom field in a multi-record custom data group no longer results in a database error. - **[CRM-19681](https://issues.civicrm.org/jira/browse/CRM-19681) date fields not respected when passed through url for report ([9437](https://github.com/civicrm/civicrm-core/pull/9437))** Reports now accurately accept fixed date filter parameters in the URL. - **js cleanup ([175](https://github.com/civicrm/civicrm-packages/pull/175))** This removes some unnecessary Javascript files and shortens or minifies others. - **[CRM-19048](https://issues.civicrm.org/jira/browse/CRM-19048) FullText - Search by email, blank ([9537](https://github.com/civicrm/civicrm-core/pull/9537) and [9374](https://github.com/civicrm/civicrm-core/pull/9374)) [completes previous work]** Searches with unnecessary wildcard operators no longer result in empty results. - **[CRM-19534](https://issues.civicrm.org/jira/browse/CRM-19534) Saving report with dashlet enabled for non admin users can cause a backtrace ([9456](https://github.com/civicrm/civicrm-core/pull/9456))** When saving a report with a dashlet, the system now prevents the dashlet from being added a second time for contacts who already have it enabled. - **[CRM-19683](https://issues.civicrm.org/jira/browse/CRM-19683) Changing word replacement strings does not work if you have more than one set in civicrm_domain ([9446](https://github.com/civicrm/civicrm-core/pull/9446))** Saving word replacements now applies to the currently-used language. - **[CRM-19685](https://issues.civicrm.org/jira/browse/CRM-19685) Contacts preferred_mail_format can't be NULL ([9463](https://github.com/civicrm/civicrm-core/pull/9463))** Upgrading sites will have all contacts with a null value for `preferred_mail_format` set to `Both`. ### CiviContribute - **[CRM-19263](https://issues.civicrm.org/jira/browse/CRM-19263) Online Pay Now functionality ([9532](https://github.com/civicrm/civicrm-core/pull/9532)) [completes previous work]** Payments made retain the original financial type instead of picking up the contribution page's financial type. - **[CRM-19722](https://issues.civicrm.org/jira/browse/CRM-19722) Fatal Error: Unknown column 'contribution_source' in 'order clause' ([9516](https://github.com/civicrm/civicrm-core/pull/9516))** Tasks from the Actions drop-down on contribution searches no longer cause database errors if the search results are sorted by certain columns. - **[CRM-19549](https://issues.civicrm.org/jira/browse/CRM-19549) New pledge data entry page shows hard coded $ for installments ([9475](https://github.com/civicrm/civicrm-core/pull/9475))** The currency symbol for pledges now changes dynamically according to the currency of the contribution amount. - **[CRM-19660](https://issues.civicrm.org/jira/browse/CRM-19660) Financial Transaction stores wrong transaction date if the contribution is cancelled ([9405](https://github.com/civicrm/civicrm-core/pull/9405))** - **[CRM-19294](https://issues.civicrm.org/jira/browse/CRM-19294) Unable to upload files via a contribution page ([9518](https://github.com/civicrm/civicrm-core/pull/9518))** If a file custom field is required in a profile on a contribution page, a regression caused the confirmation page to fail validation and prevent completing the contribution. This has been resolved. ### CiviEvent - **[CRM-19717](https://issues.civicrm.org/jira/browse/CRM-19717) Event registration impossible with "Pending from pay later" status being "positive" ([9523](https://github.com/civicrm/civicrm-core/pull/9523))** The Class attribute of reserved participant statuses can no longer be edited. - **[CRM-19680](https://issues.civicrm.org/jira/browse/CRM-19680) Participant.get API generates invalid query when searching for role_id IS NULL. ([9453](https://github.com/civicrm/civicrm-core/pull/9453))** ### CiviMember - **[CRM-19736](https://issues.civicrm.org/jira/browse/CRM-19736) Error thrown when printing labels for members ([9538](https://github.com/civicrm/civicrm-core/pull/9538))** - **[CRM-19298](https://issues.civicrm.org/jira/browse/CRM-19298) Membership fee amount doubled in receipt when 'separate membership payment' is configured ([9438](https://github.com/civicrm/civicrm-core/pull/9438)) [completes previous work]** Test coverage was added for this issue. - **[CRM-19600](https://issues.civicrm.org/jira/browse/CRM-19600) Membership Renewal activity not created through online contribution page ([9357](https://github.com/civicrm/civicrm-core/pull/9357))** - **[CRM-19678](https://issues.civicrm.org/jira/browse/CRM-19678) No Membership Renewal Activity is created when a Pay Later is set to Completed ([9447](https://github.com/civicrm/civicrm-core/pull/9447))** ### CiviMail - **[CRM-19649](https://issues.civicrm.org/jira/browse/CRM-19649) ckeditor includes html/head/body tags ([9425](https://github.com/civicrm/civicrm-core/pull/9425)) [completes previous work]** CKEditor configuration defaults are improved. ### Drupal integration - **[CRM-19303](https://issues.civicrm.org/jira/browse/CRM-19303) CKEditor configuration can't be edited on a Drupal multisite installation ([9424](https://github.com/civicrm/civicrm-core/pull/9424)) [continues previous work]** The check for the proper Drupal multisite folder is improved. ## Credits This release was developed by the following code authors: Australian Greens - Seamus Lee; CiviCRM - Jitendra Purohit, Monish Deb, Coleman Watts, Tim Otten, Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Denver DataMan - Steve Kessler; Fuzion - Chris Burgess, Eileen McNaughton; JMA Consulting - Joe Murray, Pradeep Nayak; Johan Vervloet; John Kingsnorth; Jon Goldberg; Progressive Technology Project - Jamie McClelland; Sharique Ahmed Farooqui Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: Agileware - Agileware Team; Andrew Cormick-Dockery; Australian Greens - Seamus Lee; Barbara Miller; Blackfly Solutions - Alan Dixon; Bob Silvern; British Humanist Association - William Gordon, Andrew West; Circle Interactive - Dave Jenkins; CiviCRM - Monish Deb, Jitendra Purohit, Yashodha Chaku, Tim Otten, Coleman Watts, Josh Gowans, Dave Greenberg; CiviDesk - Nicolas Ganivet, Sunil Pawar; Coop SymbioTIC - Mathieu Lutfy; Daniel Martinez; Dennis Gray; Denver DataMan - Steve Kessler; E-Dynamics - Franky Van Liedekerke; Francesc Bassas i Bullich; Freeform Solutions - Lola Slade; Fuzion - Eileen McNaughton, Peter Davis, Chris Burgess; Gareth Small; GMCVO Databases - Jon-man Cheung; iXiam - Vangelis Pantazis; JMA Consulting - Pradeep Nayak; joemurray; johanv; John Kingsnorth; Joinery - Allen Shaw; Kacper Warda; Korlon - Stuart Gaston; Lighthouse Design and Consulting - Brian Shaughnessy; Lutz Frommberger; Milton Zurita; Nubay Services - David Tarrant; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Sharique Ahmed Farooqui; Thomas Nilefalk; Vakees K; Veda Consulting - Kajakaran Balakrishnan