# CiviCRM 4.7.24
Released September 6, 2017;
- **[Synopsis](#synopsis)**
- **[Features](#features)**
- **[Bugs resolved](#bugs)**
- **[Miscellany](#misc)**
- **[Credits](#credits)**
- **[Feedback](#feedback)**
## Synopsis
| *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? | |
## Features
### Core CiviCRM
- **[CRM-20321](https://issues.civicrm.org/jira/browse/CRM-20321) Changing
membership type should change related contribution
([10699](https://github.com/civicrm/civicrm-core/pull/10699))**
**NOT CLEAR** NEEDS ATTENTION
- **[CRM-20965](https://issues.civicrm.org/jira/browse/CRM-20965) Add Pull
Request Template ([10784](https://github.com/civicrm/civicrm-core/pull/10784)
and [10758](https://github.com/civicrm/civicrm-core/pull/10758))**
Sets up a PR template in github to help contributers standardize their pull
request documentation
- **[CRM-20960](https://issues.civicrm.org/jira/browse/CRM-20960) Upgrade Dompdf
to 0.8 ([10751](https://github.com/civicrm/civicrm-core/pull/10751))**
- **[CRM-20929](https://issues.civicrm.org/jira/browse/CRM-20929) Allow styling
of page title in Angular
([10711](https://github.com/civicrm/civicrm-core/pull/10711))**
- **[CRM-20941](https://issues.civicrm.org/jira/browse/CRM-20941) Determine &
notify date to end support for PHP5.3 and PHP5.4
([10948](https://github.com/civicrm/civicrm-core/pull/10948) and
[10872](https://github.com/civicrm/civicrm-core/pull/10872))**
Updates messages regarding support for PHP5.3 and PHP5.4
- **[CRM-20563](https://issues.civicrm.org/jira/browse/CRM-20563) Improve
'unable to provide this...' error message
([10340](https://github.com/civicrm/civicrm-core/pull/10340))**
Makes the error message more descriptive.
- **[CRM-20945](https://issues.civicrm.org/jira/browse/CRM-20945) Differentiate
using CSS active selected page in AtoZ Pager
([10723](https://github.com/civicrm/civicrm-core/pull/10723))**
Now when using the A to Z pager (searching alphabetically) the active selected
page is differentiated from the other pages listed.
### CiviContribute
- **[CRM-20610](https://issues.civicrm.org/jira/browse/CRM-20610) Replace
payment details block with editable payment list on 'Edit Contribution' form
([10814](https://github.com/civicrm/civicrm-core/pull/10814),
[10806](https://github.com/civicrm/civicrm-core/pull/10806),
[10777](https://github.com/civicrm/civicrm-core/pull/10777), and
[10774](https://github.com/civicrm/civicrm-core/pull/10774))**
+ Code repetition of the receipt_date construct in the tpl. Once for credit card payments & once not, with no substantive difference. Consolidates them and moves them out of the payment block,
which going forwards will better distinguish between the contribution and
the payments towards it.
+ Modified payment fields like credit-card-type, pan_truncation and check_number as optional fields.
+ Added medium-popup to payment-edit action link to minimize the payment edit form size. But there's a limitation - if you open a popup form inside a popup form, that special class has no effect on the form size. Please check the screencast here.
+ Shifted the action link from left to right.
+ Added payment_instrument_id and trxn_id fields in payment edit form
+ Added formRule validation and added rule for pan_truncation to be numeric
+ Changed the credit_card_type icon field to card_type_id select field.
+ Used addField to render some FinancialTrxn fields.
+ Handle financial accounts if payment instrument is changed via payment edit form
+ Modify Financial.create API to call CRM_Core_BAO_FinancialTrxn::create(...)
+ Added CRM unit test for PaymentEdit
- **[CRM-20890](https://issues.civicrm.org/jira/browse/CRM-20890) Move
recieve_date between Contribution status and Revenue Recognition date in
Contribution backoffice form
([10682](https://github.com/civicrm/civicrm-core/pull/10682))**
Moves the placement of fields on the backoffice contribution form to enhance
user experience.
- **[CRM-20984](https://issues.civicrm.org/jira/browse/CRM-20984) Move placement
of payment processor field on live mode
([10787](https://github.com/civicrm/civicrm-core/pull/10787))**
Moves the placement of the choose payment processor field on live mode closer to
billing block to improve user experience.
- **[CRM-20860](https://issues.civicrm.org/jira/browse/CRM-20860) Add in
password type field availability and apply to payment processor fields
([10660](https://github.com/civicrm/civicrm-core/pull/10660))**
Adds in the ability to add in a password type field as an option for
QuickForm and applies this to Payment Processor Password fields. This is
because passwords are currently in clear text which isn't really suitable
- **[CRM-20876](https://issues.civicrm.org/jira/browse/CRM-20876) in honor of
does not show up on contribution receipt
([10668](https://github.com/civicrm/civicrm-core/pull/10668))**
When making a contribution in honor of someone, the person who is being
honored now shows up on the receipt.
### CiviPledge
- **[CRM-20913](https://issues.civicrm.org/jira/browse/CRM-20913) Separate
pledge statuses from contribution statuses
([10811](https://github.com/civicrm/civicrm-core/pull/10811),
[10803](https://github.com/civicrm/civicrm-core/pull/10803), and
[10737](https://github.com/civicrm/civicrm-core/pull/10737))**
THIS IS A BIG CHANGE COME BACK TO IT
### CiviMail
- **[CRM-20521](https://issues.civicrm.org/jira/browse/CRM-20521) Convert list
of groups and mailings in CiviMail to be loaded dynamically
([10303](https://github.com/civicrm/civicrm-core/pull/10303))**
Converts list of groups and mailings in CiviMail to be loaded dynamically to
improve performance for sites with lots of groups and/or mailings.
### Accounting Integration
- **[CRM-20987](https://issues.civicrm.org/jira/browse/CRM-20987) Add
transaction date field to listings of transactions
([10789](https://github.com/civicrm/civicrm-core/pull/10789))**
Financial batch listing page lists transaction with transaction date derived
from civicrm_financial_trxn table(column name = Received). This PR renames the
column name from Received to Transaction Date and Adding column Received derived
from civicrm_contribution.receive_date
### CiviReport
- **[CRM-20863](https://issues.civicrm.org/jira/browse/CRM-20863) Improve
ordering of report lists
([10653](https://github.com/civicrm/civicrm-core/pull/10653))**
Now if reports have the same weight they will be ordered alphabetically by
title ascending
- **[CRM-20994](https://issues.civicrm.org/jira/browse/CRM-20994)
CurrentEmployer Report contains a hardcoded value for RelationshipType
([10795](https://github.com/civicrm/civicrm-core/pull/10795))**
Changes CurrentEmployer Report to get Employee Relationship type from api
instead of hardcoded value
- **[CRM-20931](https://issues.civicrm.org/jira/browse/CRM-20931) Allow contact
custom fields to be added to Contribution Detail report
([10713](https://github.com/civicrm/civicrm-core/pull/10713))**
Now one can add contact custom fields to the Contribution Detail report.
## Bugs resolved
### Core CiviCRM
- **[CRM-21135](https://issues.civicrm.org/jira/browse/CRM-21135) Activity
filter preference are not remembered when enabled in display preference
([10932](https://github.com/civicrm/civicrm-core/pull/10932))**
- **[CRM-21076](https://issues.civicrm.org/jira/browse/CRM-21076) Fix: Can't
view/edit ACL Role Assignments
([10869](https://github.com/civicrm/civicrm-core/pull/10869))**
- **Suppress error if fakeFile cannot be created.
([10677](https://github.com/civicrm/civicrm-core/pull/10677))**
- **[CRM-21002](https://issues.civicrm.org/jira/browse/CRM-21002) Credit card
type icons are incorrectly populated on backoffice live mode
([10799](https://github.com/civicrm/civicrm-core/pull/10799))**
- **[CRM-20947](https://issues.civicrm.org/jira/browse/CRM-20947) Remove
Deprecation Notice for Option group
([10788](https://github.com/civicrm/civicrm-core/pull/10788),
[10782](https://github.com/civicrm/civicrm-core/pull/10782),
[10768](https://github.com/civicrm/civicrm-core/pull/10768),
[10750](https://github.com/civicrm/civicrm-core/pull/10750),
[10743](https://github.com/civicrm/civicrm-core/pull/10743),
[10732](https://github.com/civicrm/civicrm-core/pull/10732), and
[10727](https://github.com/civicrm/civicrm-core/pull/10727))**
- **[CRM-20944](https://issues.civicrm.org/jira/browse/CRM-20944) Remove
Deprecation Notice caused by ActivityLinks
([10722](https://github.com/civicrm/civicrm-core/pull/10722))**
remove use of CRM_Core_OptionGroup::getKey which is deprecated
- **[CRM-20967](https://issues.civicrm.org/jira/browse/CRM-20967) Event
Participants List shows Total paid and balance incorrect
([10763](https://github.com/civicrm/civicrm-core/pull/10763))**
Participants List shows Total paid and balance incorrect when Deferred revenue
is enabled
- **[CRM-20946](https://issues.civicrm.org/jira/browse/CRM-20946) Wrong entries
in financial table when contribution is cancelled
([10726](https://github.com/civicrm/civicrm-core/pull/10726))**
Wrong entries in financial table when contribution is canceled, now uses line
total of line item to store in financial item table
- **[CRM-20607](https://issues.civicrm.org/jira/browse/CRM-20607) Can't save a
reserved dedupe rule
([10383](https://github.com/civicrm/civicrm-core/pull/10383))**
- **[CRM-20952](https://issues.civicrm.org/jira/browse/CRM-20952) Refresh
membership tab on edits to membership payments
([10741](https://github.com/civicrm/civicrm-core/pull/10741))**
- **[CRM-20910](https://issues.civicrm.org/jira/browse/CRM-20910) API call to
Participant.get ignores check_permissons
([10698](https://github.com/civicrm/civicrm-core/pull/10698))**
- **[CRM-20577](https://issues.civicrm.org/jira/browse/CRM-20577) When creating
an activity per-contact when sending letters, store the version with rendered
tokens ([10348](https://github.com/civicrm/civicrm-core/pull/10348))**
- **[CRM-20970](https://issues.civicrm.org/jira/browse/CRM-20970) long postal
code in db prevents searching by zipcode range
([10769](https://github.com/civicrm/civicrm-core/pull/10769))**
long postal code in db prevents searching by zipcode range on some
configurations.
- **[CRM-20973](https://issues.civicrm.org/jira/browse/CRM-20973) Call to
undefined function Civi\API\civicrm_api3_create_error() in Civi/API/Kernel.php
on line 413 ([10773](https://github.com/civicrm/civicrm-core/pull/10773))**
Civi/API/Kernel.php is in the Civi\API namespace and it's calling
civicrm_api3_create_error() with no namespace so it's assumed (by PHP) to be in
the same namespace, ie. Civi\API\civicrm_api3_create_error(). However, it's
really at the top-level, ie \civicrm_api3_create_error()
- **[CRM-20976](https://issues.civicrm.org/jira/browse/CRM-20976) Improve error
handling when someone tries to make a credit card contribution and no
processor is configured
([10775](https://github.com/civicrm/civicrm-core/pull/10775))**
Now throws an error message instead of spinny wheel of death when someone tries
to make a credit card contribution on a civicrm with no processor configured.
- **(NFC) Fix permissions on CRM/Contribute/BAO/Contribution.php
([10766](https://github.com/civicrm/civicrm-core/pull/10766))**
- **Fix placement of call to simplifyURL() function
([10762](https://github.com/civicrm/civicrm-core/pull/10762))**
- **[CRM-20954](https://issues.civicrm.org/jira/browse/CRM-20954) Fatal SQL
error when completing a partially paid contribution in localized installation
([10747](https://github.com/civicrm/civicrm-core/pull/10747))**
- **CRM_Utils_SQL_Select - Allow fluent query execution
([10686](https://github.com/civicrm/civicrm-core/pull/10686))**
- **[CRM-19575](https://issues.civicrm.org/jira/browse/CRM-19575) Cron jobs on
Joomla triggers "Use of undefined constant JDEBUG"
([10715](https://github.com/civicrm/civicrm-core/pull/10715))**
- **Remove broken symlink from vendor/pear/net_smtp
([10676](https://github.com/civicrm/civicrm-core/pull/10676))**
- **(NFC) gitignore - Remove obsolete entries
([10714](https://github.com/civicrm/civicrm-core/pull/10714))**
- **[CRM-20648](https://issues.civicrm.org/jira/browse/CRM-20648) Allow
registration in event with cancelled registration
([10430](https://github.com/civicrm/civicrm-core/pull/10430))**
If a user has a canceled registration for an event civi now allows them to
register on the front end for that same event.
- **regen.sh - Fix stale function call in sql/GenerateData.php
([10706](https://github.com/civicrm/civicrm-core/pull/10706))**
- **[CRM-20995](https://issues.civicrm.org/jira/browse/CRM-20995) API -
Extension get - Ignores parameter full_name as created by API explorer
([10796](https://github.com/civicrm/civicrm-core/pull/10796))**
- **[CRM-20939](https://issues.civicrm.org/jira/browse/CRM-20939) $_recent
variable initialised as a string in CRM_Utils_Recent when should be an array
([10721](https://github.com/civicrm/civicrm-core/pull/10721))**
- **[CRM-20923](https://issues.civicrm.org/jira/browse/CRM-20923) Refactor tpl
for admin mail so it respects metadata
([10704](https://github.com/civicrm/civicrm-core/pull/10704))**
- **[CRM-20962](https://issues.civicrm.org/jira/browse/CRM-20962) Issue in
api_v3_SettingTest where string being used but needs to be array for php7.1
([10753](https://github.com/civicrm/civicrm-core/pull/10753))**
Code Improvement for php7.1 compatibility
- **[CRM-20972](https://issues.civicrm.org/jira/browse/CRM-20972) PHP7.1 New
Exception generated causing failures in API_v3_SyntaxConformanceTests
([10772](https://github.com/civicrm/civicrm-core/pull/10772))**
Code Improvement for php7.1 compatibility
### CiviMail
- **[CRM-21100](https://issues.civicrm.org/jira/browse/CRM-21100) Empty list
shown in "Send test email to group" dropdown
([10895](https://github.com/civicrm/civicrm-core/pull/10895))**
In the preview section of a mailing, the "Send test email to groups" dropdown
showed an empty list by default. This list is now only populated by the current
list of recipients, if any. It should list existing groups even though these are
not chosen as recipients.
- **[CRM-21070](https://issues.civicrm.org/jira/browse/CRM-21070) Intra-rc
regression:Unable to set Recipients in CiviMail in 4.7.24-rc
([10880](https://github.com/civicrm/civicrm-core/pull/10880))**
### CiviContribute
- **[CRM-21027](https://issues.civicrm.org/jira/browse/CRM-21027) Next recurring
payment not accurately calculated when effective date passed in
([10818](https://github.com/civicrm/civicrm-core/pull/10818))**
This pull request fixes a bug that entered the code base in May, causing payment
processors that rely on CiviCRM updating the next_sched_contribution_date for
recurring to not get it updated.
- **[CRM-20800](https://issues.civicrm.org/jira/browse/CRM-20800) User Cannot
Cancel Recurring Payment With Paypal
([10833](https://github.com/civicrm/civicrm-core/pull/10833))**
From reading the issue it does not seem like this is done!!!
- **[CRM-20821](https://issues.civicrm.org/jira/browse/CRM-20821) Saving an
existing premium product breaks the image URLs
([10761](https://github.com/civicrm/civicrm-core/pull/10761) and
[10720](https://github.com/civicrm/civicrm-core/pull/10720))**
- **[CRM-19941](https://issues.civicrm.org/jira/browse/CRM-19941) PHP 7.1
Compatability ([10724](https://github.com/civicrm/civicrm-core/pull/10724))**
### CiviMember
- **[CRM-20961](https://issues.civicrm.org/jira/browse/CRM-20961) Non numeric
php 7.1 error when running api_v3_MembershipTest
([10752](https://github.com/civicrm/civicrm-core/pull/10752))**
### CiviReport
- **[CRM-20969](https://issues.civicrm.org/jira/browse/CRM-20969) Fix issue in
reports where we try and append a new array key to string
([10765](https://github.com/civicrm/civicrm-core/pull/10765))**
- **[CRM-21029](https://issues.civicrm.org/jira/browse/CRM-21029) Activity
report SQL syntax error
([10820](https://github.com/civicrm/civicrm-core/pull/10820))**
Fixes network error thrown on the Scheduled Activities dashlet "Network Error :
unable to reach the server".
### CiviSMS
- **[CRM-20989](https://issues.civicrm.org/jira/browse/CRM-20989) SMS Provider
check in Scheduled Reminders, breaks for multisite
([10792](https://github.com/civicrm/civicrm-core/pull/10792))**
### Import
- **[CRM-20875](https://issues.civicrm.org/jira/browse/CRM-20875) Import of
membership custom data throws notice errors.
([10664](https://github.com/civicrm/civicrm-core/pull/10664))**
### CiviEvent
- **[CRM-17236](https://issues.civicrm.org/jira/browse/CRM-17236) Custom dates
fields displayed as (01/01/1970) in Events Confirmation Reciept
([10710](https://github.com/civicrm/civicrm-core/pull/10710))**
- **[CRM-20915](https://issues.civicrm.org/jira/browse/CRM-20915) Creating
credit card registration for event stores payment method as check
([10701](https://github.com/civicrm/civicrm-core/pull/10701))**
- **[CRM-20943](https://issues.civicrm.org/jira/browse/CRM-20943) PHP 7.1
Compatability issue with Manage Events
([10748](https://github.com/civicrm/civicrm-core/pull/10748))**
## Miscellany
- **[CRM-21012](https://issues.civicrm.org/jira/browse/CRM-21012) Add link to
release notes in CiviCRM footer
([10807](https://github.com/civicrm/civicrm-core/pull/10807))**
- **Bring 4.7.23 Release notes into 4.7.24
([10875](https://github.com/civicrm/civicrm-core/pull/10875))**
## Credits
This release was developed by the following code authors:
AGH Strategies - Andrew Hunt; Australian Greens - Seamus Lee; CiviCRM - Coleman
Watts, Tim Otten; CompuCorp - Michael Devery; Coop SymbioTIC - Samuel Vanhove;
dsnopek; Electronic Frontier Foundation - Mark Burdett; Fuzion - Chris Burgess,
Eileen McNaughton, Jitendra Purohit; JMA Consulting - Edsel Lopez, Monish Deb,
Pradeep Nayak; John Kingsnorth; Korlon - Stuart Gaston; Left Join Labs - Sean
Madsen; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew
Wire; Oxfam Germany - Thomas Schüttler; Progressive Technology Project - Jamie
McClelland; Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
AGH Strategies - Andrew Hunt; Alcohol Justice - Bruce Wolfe; ASMC; Australian
Greens - Seamus Lee; British Humanist Association - William Gordon; CiviCoop -
Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk -
Nicolas Ganivet; CompuCorp - Guanhuan Chen, Jamie Novick, Michael Devery; Coop
SymbioTIC - Mathieu Lutfy, Samuel Vanhove, Stéphane Lussier; Dave Greenberg;
DevMate - Adam Kwiatkowski; dsnopek; dvalentine@ndi.org; Electronic Frontier
Foundation - Mark Burdett; Francesc Bassas i Bullich; Fuzion - Chris Burgess,
Eileen McNaughton, Jitendra Purohit, Peter Davis; Greenleaf Advancement - Karen
Stevenson; Hunabku; jern; JMA Consulting - Edsel Lopez, Joe Murray, Monish Deb,
Pradeep Nayak; John Kingsnorth; Korlon - Stuart Gaston; Lighthouse Design and
Consulting - Brian Shaughnessy; lsmithgo; Megaphone Technology Consulting - Jon
Goldberg; MJW Consulting - Matthew Wire; Nathan Brettell; Oxfam Germany - Thomas
Schüttler; Progressive Technology Project - Jamie McClelland; Semper IT - Karin
Gerritsen; Skvare - Mark Hanna; Stephen Palmstrom; Tadpole Collective - Kevin
Cristiano; Team Expansion - Greg Harris; Thomas Bacon; Thomas Nilefalk; thoni56;
Torrance Hodgson; Wikimedia Foundation - Eileen McNaughton
## Feedback
These release notes are edited by Andrew Hunt. If you'd like to provide
feedback on them, please login to https://chat.civicrm.org/civicrm and contact
`@agh1`.