| 1 | # CiviCRM 4.7.20 |
| 2 | |
| 3 | Released June 7, 2017 |
| 4 | |
| 5 | - **[Features](#features)** |
| 6 | - **[Bugs resolved](#bugs)** |
| 7 | - **[Miscellany](#misc)** |
| 8 | - **[Credits](#credits)** |
| 9 | |
| 10 | ## <a name="features"></a>Features |
| 11 | |
| 12 | ### Core CiviCRM |
| 13 | |
| 14 | - **[CRM-20552](https://issues.civicrm.org/jira/browse/CRM-20552) Task for "Add |
| 15 | Relationship - to individual" is missing |
| 16 | ([10332](https://github.com/civicrm/civicrm-core/pull/10332))** |
| 17 | |
| 18 | You can now add a relationship to an individual for contacts in search results. |
| 19 | |
| 20 | - **[CRM-19977](https://issues.civicrm.org/jira/browse/CRM-19977) Update all |
| 21 | fields manipulated by hook_civicrm_geocoderFormat when geocoding |
| 22 | ([9864](https://github.com/civicrm/civicrm-core/pull/9864))** |
| 23 | |
| 24 | Extensions implementing `hook_civicrm_geocoderFormat` will now modify all |
| 25 | address fields instead of just the latitude, longitude, and postal code |
| 26 | fields. |
| 27 | |
| 28 | - **[CRM-20458](https://issues.civicrm.org/jira/browse/CRM-20458) Add |
| 29 | `civi.dao.preDelete event` |
| 30 | ([10197](https://github.com/civicrm/civicrm-core/pull/10197))** |
| 31 | |
| 32 | This triggers a Symfony event prior to deleting a record in the database. |
| 33 | |
| 34 | - **[CRM-20425](https://issues.civicrm.org/jira/browse/CRM-20425) Activity |
| 35 | status per mail account |
| 36 | ([10159](https://github.com/civicrm/civicrm-core/pull/10159))** |
| 37 | |
| 38 | Administrators can now designate the status for activities created by inbound |
| 39 | emails to accounts. Each account may have a different activity status. |
| 40 | |
| 41 | - **[CRM-20540](https://issues.civicrm.org/jira/browse/CRM-20540) entityRef |
| 42 | field: create option to set wildcard preference |
| 43 | ([10330](https://github.com/civicrm/civicrm-core/pull/10330))** |
| 44 | |
| 45 | Entity reference fields can now be configured to automatically include a |
| 46 | wildcard. |
| 47 | |
| 48 | - **APIExplorer - Add cv and hyperlinks |
| 49 | ([10309](https://github.com/civicrm/civicrm-core/pull/10309))** |
| 50 | |
| 51 | Examples for an API call using the `cv` command-line tool are now provided |
| 52 | alongside Drush or WP-CLI. |
| 53 | |
| 54 | ### CiviCampaign |
| 55 | |
| 56 | - **[CRM-15984](https://issues.civicrm.org/jira/browse/CRM-15984) Add campaign |
| 57 | field on Email activity form |
| 58 | ([10317](https://github.com/civicrm/civicrm-core/pull/10317))** |
| 59 | |
| 60 | When sending an email to a contact, you can now set the campaign that the |
| 61 | email belongs to. |
| 62 | |
| 63 | - **[CRM-20510](https://issues.civicrm.org/jira/browse/CRM-20510) Petition |
| 64 | signature doesn't show as an activity type for scheduled reminder |
| 65 | ([10301](https://github.com/civicrm/civicrm-core/pull/10301))** |
| 66 | |
| 67 | Petition signature activities are now available as the basis for scheduled |
| 68 | reminders. |
| 69 | |
| 70 | ### CiviContribute |
| 71 | |
| 72 | - **[CRM-20591](https://issues.civicrm.org/jira/browse/CRM-20591) Disabling a |
| 73 | payment processor via UI (other than Payment_PayPalImpl) will break live mode |
| 74 | ([10402](https://github.com/civicrm/civicrm-core/pull/10402))** |
| 75 | |
| 76 | - **[CRM-20037](https://issues.civicrm.org/jira/browse/CRM-20037) Change |
| 77 | Contribution tab to show balance due |
| 78 | ([10334]([10204](https://github.com/civicrm/civicrm-core/pull/10204), |
| 79 | https://github.com/civicrm/civicrm-core/pull/10334) and |
| 80 | [10295](https://github.com/civicrm/civicrm-core/pull/10295))** |
| 81 | |
| 82 | Partially paid and pending refund contributions now display the positive or |
| 83 | negative amount due on a contact's contributions tab. |
| 84 | |
| 85 | - **[CRM-15067](https://issues.civicrm.org/jira/browse/CRM-15067) Email should |
| 86 | appear in the profile in which it is included, rather than always at the top |
| 87 | of contribution page |
| 88 | ([10349](https://github.com/civicrm/civicrm-core/pull/10349))** |
| 89 | |
| 90 | Contribution pages automatically contain the email address field. In the |
| 91 | past, the email address would appear ahead of any profiles, removing a site |
| 92 | administrator's control over the field's placement. Now, if the field is in |
| 93 | one of the profiles included on the page, it appears there. Otherwise, it |
| 94 | appears before the profiles. |
| 95 | |
| 96 | ### CiviMail |
| 97 | |
| 98 | - **[CRM-9683](https://issues.civicrm.org/jira/browse/CRM-9683) Implement |
| 99 | timezone support for CiviMail |
| 100 | ([10154](https://github.com/civicrm/civicrm-core/pull/10154))** |
| 101 | |
| 102 | The database schema *for new installations only* is altered to record the Unix |
| 103 | timestamp for the times when CiviMail messages are created, scheduled, sent, |
| 104 | and canceled. This sidesteps problems that can arise from users with |
| 105 | different local times creating mailings to send immediately. |
| 106 | |
| 107 | ### Drupal Integration |
| 108 | |
| 109 | - **[CRM-20462](https://issues.civicrm.org/jira/browse/CRM-20462) Add filter for |
| 110 | current employer in views |
| 111 | ([440](https://github.com/civicrm/civicrm-drupal/pull/440))** |
| 112 | |
| 113 | Views can now filter contacts by the name of an individual's current employer. |
| 114 | |
| 115 | ## <a name="bugs"></a>Bugs resolved |
| 116 | |
| 117 | ### Core CiviCRM |
| 118 | |
| 119 | - **[CRM-20498](https://issues.civicrm.org/jira/browse/CRM-20498) buildform hook |
| 120 | invoked twice ([10278](https://github.com/civicrm/civicrm-core/pull/10278))** |
| 121 | |
| 122 | This fixes some of the cases where `hook_civicrm_buildForm` is invoked twice |
| 123 | on CiviCRM forms. |
| 124 | |
| 125 | - **[CRM-20539](https://issues.civicrm.org/jira/browse/CRM-20539) Do not heed |
| 126 | dao default for field when setting defaults on reports |
| 127 | ([10319](https://github.com/civicrm/civicrm-core/pull/10319))** |
| 128 | |
| 129 | The default value of a field as defined in the database schema should not |
| 130 | automatically be the default for report settings. |
| 131 | |
| 132 | - **[CRM-20541](https://issues.civicrm.org/jira/browse/CRM-20541) Edge case |
| 133 | where DB connection is not available |
| 134 | ([10320](https://github.com/civicrm/civicrm-core/pull/10320))** |
| 135 | |
| 136 | This resolves a bug in test cases where the database connection is not |
| 137 | available from the cache. |
| 138 | |
| 139 | - **[CRM-20418](https://issues.civicrm.org/jira/browse/CRM-20418) Not able to |
| 140 | select Tokens from dropdown on Message Template |
| 141 | ([10336](https://github.com/civicrm/civicrm-core/pull/10336))** |
| 142 | |
| 143 | - **[CRM-20508](https://issues.civicrm.org/jira/browse/CRM-20508) Unable to use |
| 144 | non-roman characters in Custom fields |
| 145 | ([10335](https://github.com/civicrm/civicrm-core/pull/10335) and |
| 146 | [10328](https://github.com/civicrm/civicrm-core/pull/10328))** |
| 147 | |
| 148 | This fixes a bug where a field named entirely with non-ASCII characters caused |
| 149 | CiviCRM to assert that it already exists. |
| 150 | |
| 151 | - **[CRM-20662](https://issues.civicrm.org/jira/browse/CRM-20662) SMS Domain ID |
| 152 | upgrade step breaks on multisite |
| 153 | ([10444](https://github.com/civicrm/civicrm-core/pull/10444))** |
| 154 | |
| 155 | This fixes an upgrade step to add `domain_id` on `civicrm_sms_provider` that |
| 156 | breaks in 4.7.19 when running on multisite. There was a problem with the |
| 157 | check to ensure that it only runs a part of the script when a site has a |
| 158 | single domain. |
| 159 | |
| 160 | - **[CRM-20550](https://issues.civicrm.org/jira/browse/CRM-20550) navigation |
| 161 | menu added by extension never appears |
| 162 | ([10326](https://github.com/civicrm/civicrm-core/pull/10326))** |
| 163 | |
| 164 | When adding a navigation menu item via an extension that omits the navID and |
| 165 | parentID, the menu item would never show up. |
| 166 | |
| 167 | - **[CRM-20517](https://issues.civicrm.org/jira/browse/CRM-20517) Submitting a |
| 168 | Profile results in a "Contact Sub Type does not match" error when the contact |
| 169 | subtype of an existing contact does not match the Profile subtype |
| 170 | ([10302](https://github.com/civicrm/civicrm-core/pull/10302))** |
| 171 | |
| 172 | - **[CRM-20494](https://issues.civicrm.org/jira/browse/CRM-20494) Import contact |
| 173 | with two similar external ids results into fatal error, should be skipped. |
| 174 | ([10276](https://github.com/civicrm/civicrm-core/pull/10276))** |
| 175 | |
| 176 | If an import file has two rows with the same value for External Identifier, |
| 177 | the affected rows are now skipped. This fixes the previous behavior which |
| 178 | would present a fatal error interrupting the whole import process. |
| 179 | |
| 180 | - **NFC Add in function to check if Foreign key is there to make upgrade … |
| 181 | ([10312](https://github.com/civicrm/civicrm-core/pull/10312))** |
| 182 | |
| 183 | Upgrades now have the ability to check if a foreign key exists before |
| 184 | attempting to alter it. Some upgrade steps now check this first. |
| 185 | |
| 186 | - **[CRM-20452](https://issues.civicrm.org/jira/browse/CRM-20452) Fatal Error on |
| 187 | saving Organisation Info when geocoding is enabled |
| 188 | ([10192](https://github.com/civicrm/civicrm-core/pull/10192))** |
| 189 | |
| 190 | This resolves a bug where contacts without a State/Province have the value |
| 191 | "null" passed to the geocoder, resulting in an error. |
| 192 | |
| 193 | - **[CRM-20308](https://issues.civicrm.org/jira/browse/CRM-20308) Activity copy |
| 194 | is always sent FROM logged in user's email ID |
| 195 | ([10257](https://github.com/civicrm/civicrm-core/pull/10257) and |
| 196 | [10213](https://github.com/civicrm/civicrm-core/pull/10213))** |
| 197 | |
| 198 | When sending an activity assignee notification, the From email address will be |
| 199 | determined with the following priority order: |
| 200 | |
| 201 | 1. the email address of the source contact of the activity |
| 202 | 2. the default from email address for the domain |
| 203 | 3. the email address of the logged-in user |
| 204 | |
| 205 | Previously, the email address of the logged-in user was always used. |
| 206 | |
| 207 | - **[CRM-20441](https://issues.civicrm.org/jira/browse/CRM-20441) Fatal error on |
| 208 | contact summary for ACL'd user (from activity tab count) |
| 209 | ([10251](https://github.com/civicrm/civicrm-core/pull/10251))** |
| 210 | |
| 211 | This resolves a fatal error that would occur for users lacking the "View all |
| 212 | contacts" permission when they would view the contact summary of a contact |
| 213 | they had permission to view. |
| 214 | |
| 215 | - **[CRM-19986](https://issues.civicrm.org/jira/browse/CRM-19986) Schema has |
| 216 | differences when upgraded to when install in civicrm_action_schedule |
| 217 | ([9809](https://github.com/civicrm/civicrm-core/pull/9809))** |
| 218 | |
| 219 | - **[CRM-20450](https://issues.civicrm.org/jira/browse/CRM-20450) Fix invoice |
| 220 | math for partial payments |
| 221 | ([10224](https://github.com/civicrm/civicrm-core/pull/10224)) (adds test for |
| 222 | previously completed work)** |
| 223 | |
| 224 | - **Fixed minor template errors. |
| 225 | ([10221](https://github.com/civicrm/civicrm-core/pull/10221))** |
| 226 | |
| 227 | Two templates had invalid HTML. |
| 228 | |
| 229 | - **Address fatal errors on PHP7.1 - only vars can be passed by reference. |
| 230 | ([10217](https://github.com/civicrm/civicrm-core/pull/10217))** |
| 231 | |
| 232 | - **[CRM-20463](https://issues.civicrm.org/jira/browse/CRM-20463) Documentation |
| 233 | links with "current" in them are broken |
| 234 | ([10209](https://github.com/civicrm/civicrm-core/pull/10209))** |
| 235 | |
| 236 | - **[CRM-20532](https://issues.civicrm.org/jira/browse/CRM-20532) Extension.Get |
| 237 | API action filtering is broken |
| 238 | ([10322](https://github.com/civicrm/civicrm-core/pull/10322))** |
| 239 | |
| 240 | The Extension.get API no longer ignores filters and result limits. |
| 241 | |
| 242 | - **[CRM-19876](https://issues.civicrm.org/jira/browse/CRM-19876) Civi won't |
| 243 | send simple mails to all email recpients if some hold multiple addresses |
| 244 | ([10321](https://github.com/civicrm/civicrm-core/pull/10321)) (preliminary |
| 245 | work)** |
| 246 | |
| 247 | - **[CRM-19821](https://issues.civicrm.org/jira/browse/CRM-19821) Remove |
| 248 | performance degrading joins from activity search (& api calls) |
| 249 | ([10273](https://github.com/civicrm/civicrm-core/pull/10273)) (preliminary |
| 250 | work)** |
| 251 | |
| 252 | - **[CRM-20623](https://issues.civicrm.org/jira/browse/CRM-20623) Add Column |
| 253 | function in Upgrade Base does not properly rebuild multilingual views |
| 254 | ([10399](https://github.com/civicrm/civicrm-core/pull/10399))** |
| 255 | |
| 256 | ### CiviCase |
| 257 | |
| 258 | - **[CRM-20478](Case Type "Reference" Field Not Working) Case Type "Reference" |
| 259 | Field Not Working |
| 260 | ([10281](https://github.com/civicrm/civicrm-core/pull/10281))** |
| 261 | |
| 262 | This resolves a bug where the reference activity drop-downs were empty when |
| 263 | editing a timeline for a case type. It also fixes the screen to use localized |
| 264 | activity type labels rather than the fixed-value names. |
| 265 | |
| 266 | - **[CRM-20171](https://issues.civicrm.org/jira/browse/CRM-20171) Problem with |
| 267 | xml file not loaded |
| 268 | ([10264](https://github.com/civicrm/civicrm-core/pull/10264))** |
| 269 | |
| 270 | This resolves PHP warnings that would display if CiviCase failed to load an |
| 271 | XML file. |
| 272 | |
| 273 | ### CiviContribute |
| 274 | |
| 275 | - **[CRM-20576](https://issues.civicrm.org/jira/browse/CRM-20576) Increase |
| 276 | length of civicrm_batch.title |
| 277 | ([10359](https://github.com/civicrm/civicrm-core/pull/10359))** |
| 278 | |
| 279 | The `title` field on the `civicrm_batch` table now supports 255 characters, |
| 280 | resolving a bug where the system throws a fatal error when the batch name is |
| 281 | more than 64 characters. |
| 282 | |
| 283 | - **[CRM-20560](https://issues.civicrm.org/jira/browse/CRM-20560) Deferred |
| 284 | Revenue report bug |
| 285 | ([10338](https://github.com/civicrm/civicrm-core/pull/10338))** |
| 286 | |
| 287 | The deferred revenue report would behave inconsistently when line items' |
| 288 | financial types differed from the contribution's financial type. |
| 289 | |
| 290 | - **[CRM-20555](https://issues.civicrm.org/jira/browse/CRM-20555) Incorrect |
| 291 | balance amount is shown on participant view page if 'Deferred Revenue' is |
| 292 | enabled ([10204](https://github.com/civicrm/civicrm-core/pull/10204))** |
| 293 | |
| 294 | Fixes this bug and implements CRM-20037 above. |
| 295 | |
| 296 | - **[CRM-20260](https://issues.civicrm.org/jira/browse/CRM-20260) Incorrect |
| 297 | information is stored in civicrm_financial_item table |
| 298 | ([9984](https://github.com/civicrm/civicrm-core/pull/9984))** |
| 299 | |
| 300 | This fixes an error in line item data caused when sales tax is enabled. |
| 301 | |
| 302 | - **[CRM-20276](https://issues.civicrm.org/jira/browse/CRM-20276) When editing a |
| 303 | contribution the value in civicrm_financial_item_amount is not updated |
| 304 | ([10235](https://github.com/civicrm/civicrm-core/pull/10235))** |
| 305 | |
| 306 | - **[CRM-20564](https://issues.civicrm.org/jira/browse/CRM-20564) custom date |
| 307 | fields in on-behalf-of forms broken |
| 308 | ([10372](https://github.com/civicrm/civicrm-core/pull/10372))** |
| 309 | |
| 310 | - **[CRM-20566](https://issues.civicrm.org/jira/browse/CRM-20566) Fatal error on |
| 311 | submit of 'Edit Contribution' |
| 312 | ([10343](https://github.com/civicrm/civicrm-core/pull/10343))** |
| 313 | |
| 314 | - **[CRM-20392](https://issues.civicrm.org/jira/browse/CRM-20392) Credit card |
| 315 | payment not recorded when contribution is partially paid |
| 316 | ([10285](https://github.com/civicrm/civicrm-core/pull/10285) and |
| 317 | [10271](https://github.com/civicrm/civicrm-core/pull/10271))** |
| 318 | |
| 319 | - **[CRM-20558](https://issues.civicrm.org/jira/browse/CRM-20558) CiviReport: |
| 320 | Contribution Summary - groupBy split personality issue |
| 321 | ([10339](https://github.com/civicrm/civicrm-core/pull/10339))** |
| 322 | |
| 323 | This resolves inconsistent treatment of the variable listing the `GROUP BY` |
| 324 | columns on the Contribution Summary report. |
| 325 | |
| 326 | - **[CRM-20036](https://issues.civicrm.org/jira/browse/CRM-20036) Memory problem |
| 327 | when updating a contribution without soft contributions |
| 328 | ([10260](https://github.com/civicrm/civicrm-core/pull/10260))** |
| 329 | |
| 330 | Sites with many soft credits would run out of memory after a user edited a |
| 331 | contribution without any soft credits. |
| 332 | |
| 333 | - **[CRM-20526](https://issues.civicrm.org/jira/browse/CRM-20526) recent item |
| 334 | generated from contribution view doesn't include currency |
| 335 | ([10307](https://github.com/civicrm/civicrm-core/pull/10307))** |
| 336 | |
| 337 | Contribution amounts displayed in the recent items now display the appropriate |
| 338 | currency rather than the site's default. |
| 339 | |
| 340 | - **[CRM-20527](https://issues.civicrm.org/jira/browse/CRM-20527) batch data |
| 341 | entry does not retain currency |
| 342 | ([10310](https://github.com/civicrm/civicrm-core/pull/10310))** |
| 343 | |
| 344 | When batch editing contributions with a profile including the currency field, |
| 345 | the currency value now displays the existing value for the contribution's |
| 346 | currency rather than the site's default currency. |
| 347 | |
| 348 | - **[CRM-20513](https://issues.civicrm.org/jira/browse/CRM-20513) Fix bugs on |
| 349 | updating recurring contribution from CRM-17655 |
| 350 | ([10294](https://github.com/civicrm/civicrm-core/pull/10294))** |
| 351 | |
| 352 | When updating a recurring contribution, the next scheduled contribution date |
| 353 | is now updated according to the contribution's receive date rather than the |
| 354 | current date. This also resolves a bug in selecting the Completed status on |
| 355 | the recurring contribution record if all payments are received. |
| 356 | |
| 357 | - **[CRM-20297](https://issues.civicrm.org/jira/browse/CRM-20297) Fatal error |
| 358 | viewing a contribution having a line item with no price field |
| 359 | ([10012](https://github.com/civicrm/civicrm-core/pull/10012))** |
| 360 | |
| 361 | - **[CRM-20472](https://issues.civicrm.org/jira/browse/CRM-20472) Soft credit |
| 362 | "contact" field validation errors do not display |
| 363 | ([10233](https://github.com/civicrm/civicrm-core/pull/10233))** |
| 364 | |
| 365 | This fixes a bug where validation errors on soft credit fields would not |
| 366 | highlight the offending field or display the validation problem message. |
| 367 | |
| 368 | - **[CRM-19697](https://issues.civicrm.org/jira/browse/CRM-19697) Incorrect |
| 369 | update billing details link |
| 370 | ([9471](https://github.com/civicrm/civicrm-core/pull/9471))** |
| 371 | |
| 372 | This resolves a problem in listings of recurring contributions where some |
| 373 | recurring contributions would display a link to edit the billing details if |
| 374 | another recurring contribution's payment processor allowed it, even if the |
| 375 | contributions' processors did not allow it. |
| 376 | |
| 377 | ### CiviEvent |
| 378 | |
| 379 | - **[CRM-20604](https://issues.civicrm.org/jira/browse/CRM-20604) Registering |
| 380 | additional event participants causes fatal error |
| 381 | ([10468](https://github.com/civicrm/civicrm-core/pull/10468))** |
| 382 | |
| 383 | - **[CRM-20581](https://issues.civicrm.org/jira/browse/CRM-20581) Civi event |
| 384 | users do not have access to StateProvince entity via the API |
| 385 | ([10459](https://github.com/civicrm/civicrm-core/pull/10459))** |
| 386 | |
| 387 | - **[CRM-20559](https://issues.civicrm.org/jira/browse/CRM-20559) Revenue |
| 388 | account is Deferred revenue rather than Revenue. |
| 389 | ([10337](https://github.com/civicrm/civicrm-core/pull/10337))** |
| 390 | |
| 391 | This resolves a bug where event registrations recorded after the event would |
| 392 | have deferred revenue recorded nonetheless. |
| 393 | |
| 394 | - **[CRM-20518](https://issues.civicrm.org/jira/browse/CRM-20518) Default |
| 395 | participant status not set when status name not matches localized string |
| 396 | 'Registered' ([10297](https://github.com/civicrm/civicrm-core/pull/10297))** |
| 397 | |
| 398 | If using CiviCRM in a language other than English, the participant status |
| 399 | would fail to find the default value, looking a status with the translated |
| 400 | value of "Registered" rather than "Registered" itself. |
| 401 | |
| 402 | - **[CRM-20549](https://issues.civicrm.org/jira/browse/CRM-20549) manage events |
| 403 | does not list all events |
| 404 | ([10325](https://github.com/civicrm/civicrm-core/pull/10325))** |
| 405 | |
| 406 | The default API limit of 25 results was artificially limiting the number of |
| 407 | visible events on the Manage Events page. |
| 408 | |
| 409 | - **[CRM-20461](https://issues.civicrm.org/jira/browse/CRM-20461) post hook not |
| 410 | invoked after updating status for additional participants |
| 411 | ([10208](https://github.com/civicrm/civicrm-core/pull/10208))** |
| 412 | |
| 413 | - **[CRM-20419](https://issues.civicrm.org/jira/browse/CRM-20419) Profile |
| 414 | selector broken on event registration (some version/CMS/browser combos) |
| 415 | ([10331](https://github.com/civicrm/civicrm-core/pull/10331) and |
| 416 | [10152](https://github.com/civicrm/civicrm-core/pull/10152))** |
| 417 | |
| 418 | This avoids the use of the `jQuery.isEmptyObject()` method on anything but a |
| 419 | plain Javascript object. Inconsistent behavior among CMSes led many Joomla |
| 420 | users to be unable to select profiles to include in event registration forms. |
| 421 | |
| 422 | - **[CRM-20469](https://issues.civicrm.org/jira/browse/CRM-20469) Currency not |
| 423 | set correctly in ajax call from event form |
| 424 | ([10230](https://github.com/civicrm/civicrm-core/pull/10230))** |
| 425 | |
| 426 | - **[CRM-20396](https://issues.civicrm.org/jira/browse/CRM-20396) Event |
| 427 | participation payments not correctly recorded in financial_trxn table |
| 428 | (frontend) ([10124](https://github.com/civicrm/civicrm-core/pull/10124))** |
| 429 | |
| 430 | This corrects an error in recording the payment processor for event |
| 431 | participant contributions. |
| 432 | |
| 433 | ### CiviMail |
| 434 | |
| 435 | - **[CRM-20431](https://issues.civicrm.org/jira/browse/CRM-20431) Unsubscribe |
| 436 | Page shows wrong group names |
| 437 | ([10165](https://github.com/civicrm/civicrm-core/pull/10165))** |
| 438 | |
| 439 | When using a past mailing's recipients, the recipient group(s) displayed |
| 440 | should match those of the past mailing. |
| 441 | |
| 442 | - **[CRM-17754](https://issues.civicrm.org/jira/browse/CRM-17754) Include resent |
| 443 | headers into civi bulk mail reply function |
| 444 | ([7499](https://github.com/civicrm/civicrm-core/pull/7499))** |
| 445 | |
| 446 | Forwarded reply messages now have the appropriate headers to indicate that the |
| 447 | server is resending a message from another sender. |
| 448 | |
| 449 | ### CiviMember |
| 450 | |
| 451 | - **[CRM-20546](https://issues.civicrm.org/jira/browse/CRM-20546) Purchasing a |
| 452 | Membership online results in 5 Activities, 2 x Contribution ones, plus Renewal |
| 453 | and Signup and Status change |
| 454 | ([10324](https://github.com/civicrm/civicrm-core/pull/10324))** |
| 455 | |
| 456 | - **[CRM-18177](https://issues.civicrm.org/jira/browse/CRM-18177) When Renewing |
| 457 | an existing membership, if CC details are incorrect, Membership is set to |
| 458 | Cancelled preventing contact from trying again |
| 459 | ([10173](https://github.com/civicrm/civicrm-core/pull/10173))** |
| 460 | |
| 461 | - **[CRM-20172](https://issues.civicrm.org/jira/browse/CRM-20172) "Separate |
| 462 | Membership Payment" with Memberships enabled and additional contribution |
| 463 | causes incorrect authorize.net transactions |
| 464 | ([10167](https://github.com/civicrm/civicrm-core/pull/10167))** |
| 465 | |
| 466 | - **[CRM-20530](https://issues.civicrm.org/jira/browse/CRM-20530) Bookkeeping |
| 467 | transaction report fails at acct credit filter |
| 468 | ([10313](https://github.com/civicrm/civicrm-core/pull/10313) and |
| 469 | [10311](https://github.com/civicrm/civicrm-core/pull/10311))** |
| 470 | |
| 471 | ### WordPress Integration |
| 472 | |
| 473 | - **[CRM-18799](https://issues.civicrm.org/jira/browse/CRM-18799) WordPress |
| 474 | requires exec() command not be disabled |
| 475 | ([108](https://github.com/civicrm/civicrm-wordpress/pull/108))** |
| 476 | |
| 477 | Code to find the present working directory used the `exec()` command, which is |
| 478 | sometimes blocked for security reasons. |
| 479 | |
| 480 | ## <a name="misc"></a>Miscellany |
| 481 | |
| 482 | - **[CRM-20238](https://issues.civicrm.org/jira/browse/CRM-20238) Hook for |
| 483 | inbound SMS messages |
| 484 | ([10353](https://github.com/civicrm/civicrm-core/pull/10353)) (preliminary |
| 485 | work)** |
| 486 | |
| 487 | Inbound SMS processing now has unit test coverage. |
| 488 | |
| 489 | - **[CRM-20570](https://issues.civicrm.org/jira/browse/CRM-20570) Add unit test |
| 490 | for disabling of PCP |
| 491 | ([10350](https://github.com/civicrm/civicrm-core/pull/10350))** |
| 492 | |
| 493 | Disabling personal campaign pages now has unit test coverage. |
| 494 | |
| 495 | - **[CRM-20474](https://issues.civicrm.org/jira/browse/CRM-20474) Refactor |
| 496 | UFField api to follow standard api / BAO format |
| 497 | ([10269](https://github.com/civicrm/civicrm-core/pull/10269), |
| 498 | [10236](https://github.com/civicrm/civicrm-core/pull/10236), and |
| 499 | [10244](https://github.com/civicrm/civicrm-core/pull/10244))** |
| 500 | |
| 501 | The formerly non-standard API for connecting fields to CiviCRM profiles now |
| 502 | works in a more standard way. |
| 503 | |
| 504 | - **[CRM-20424](https://issues.civicrm.org/jira/browse/CRM-20424) Set up method |
| 505 | for marking code as deprecated |
| 506 | ([10259](https://github.com/civicrm/civicrm-core/pull/10259) and |
| 507 | [10202](https://github.com/civicrm/civicrm-core/pull/10202))** |
| 508 | |
| 509 | Tests will now fail if a deprecated functions are called. |
| 510 | |
| 511 | - **[CRM-20312](https://issues.civicrm.org/jira/browse/CRM-20312) Identify and |
| 512 | fix missing indexes |
| 513 | ([10241](https://github.com/civicrm/civicrm-core/pull/10241)) (follow-up)** |
| 514 | |
| 515 | A typographic error is fixed. |
| 516 | |
| 517 | - **[CRM-20428](https://issues.civicrm.org/jira/browse/CRM-20428) Refactor |
| 518 | CRM_Utils_File sourceSQLFile |
| 519 | ([10216](https://github.com/civicrm/civicrm-core/pull/10216))** |
| 520 | |
| 521 | - **[CRM-20435](https://issues.civicrm.org/jira/browse/CRM-20435) Don't use SQL |
| 522 | in CRM_Activity_BAO_Activity::create() where DAO will suffice |
| 523 | ([10168](https://github.com/civicrm/civicrm-core/pull/10168))** |
| 524 | |
| 525 | - **[CRM-20459](https://issues.civicrm.org/jira/browse/CRM-20459) Actively |
| 526 | deprecate CRM_Core_OptionGroup::getValue |
| 527 | ([10200](https://github.com/civicrm/civicrm-core/pull/10200), |
| 528 | [10201](https://github.com/civicrm/civicrm-core/pull/10201), and |
| 529 | [10203](https://github.com/civicrm/civicrm-core/pull/10203))** |
| 530 | |
| 531 | - **[CRM-20537](https://issues.civicrm.org/jira/browse/CRM-20537) Case Contact |
| 532 | Index should be unique |
| 533 | ([10318](https://github.com/civicrm/civicrm-core/pull/10318))** |
| 534 | |
| 535 | - **[CRM-19246](https://issues.civicrm.org/jira/browse/CRM-19246) Add testing |
| 536 | for use of ACLs in group |
| 537 | ([10284](https://github.com/civicrm/civicrm-core/pull/10284))** |
| 538 | |
| 539 | - **[CRM-20573](https://issues.civicrm.org/jira/browse/CRM-20573) User |
| 540 | deprecated function: Deprecated function on View Participant form |
| 541 | ([10356](https://github.com/civicrm/civicrm-core/pull/10356))** |
| 542 | |
| 543 | Removes use of deprecated `CRM_Core_OptionGroup::getValue()` method on View |
| 544 | Participant form. |
| 545 | |
| 546 | - **Add me to contributor-key.yml |
| 547 | ([10342](https://github.com/civicrm/civicrm-core/pull/10342))** |
| 548 | |
| 549 | - **Add Karen Stevenson to contributor-key.yml |
| 550 | ([10345](https://github.com/civicrm/civicrm-core/pull/10345))** |
| 551 | |
| 552 | - **NFC remove some unused variables. |
| 553 | ([10314](https://github.com/civicrm/civicrm-core/pull/10314))** |
| 554 | |
| 555 | - **[CRM-20515](https://issues.civicrm.org/jira/browse/CRM-20515) notice errors |
| 556 | on dmaster for add petition |
| 557 | ([10296](https://github.com/civicrm/civicrm-core/pull/10296))** |
| 558 | |
| 559 | Removes use of deprecated `CRM_Core_OptionGroup::getValue()` method on the |
| 560 | Petition creation and editing form. |
| 561 | |
| 562 | - **Up the deprecation on old hook |
| 563 | ([10292](https://github.com/civicrm/civicrm-core/pull/10292))** |
| 564 | |
| 565 | If extensions invoke the deprecated `CRM_Utils_Hook::alterMail()` hook, a log |
| 566 | entry is created explaining that it is deprecated. |
| 567 | |
| 568 | - **Fix test cleanup to turn tax & invoicing off after the test. |
| 569 | ([10286](https://github.com/civicrm/civicrm-core/pull/10286))** |
| 570 | |
| 571 | - **Fix merge conflict |
| 572 | ([10268](https://github.com/civicrm/civicrm-core/pull/10268))** |
| 573 | |
| 574 | - **Remove unused var. emailActivityTypeIDs is retrieved twice, statusTitle |
| 575 | never used ([10263](https://github.com/civicrm/civicrm-core/pull/10263))** |
| 576 | |
| 577 | - **Minor code tidy ups. |
| 578 | ([10226](https://github.com/civicrm/civicrm-core/pull/10226))** |
| 579 | |
| 580 | - **[CRM-20453](https://issues.civicrm.org/jira/browse/CRM-20453) Fix |
| 581 | inconsistencies in XML schema definitions |
| 582 | ([10195](https://github.com/civicrm/civicrm-core/pull/10195))** |
| 583 | |
| 584 | - **typo in error message |
| 585 | ([181](https://github.com/civicrm/civicrm-packages/pull/181))** |
| 586 | |
| 587 | - **[CRM-19643](https://issues.civicrm.org/jira/browse/CRM-19643) Remove unused |
| 588 | reference to "selectedSearchContactIds" |
| 589 | ([10272](https://github.com/civicrm/civicrm-core/pull/10272))** |
| 590 | |
| 591 | - **[CRM-16460](https://issues.civicrm.org/jira/browse/CRM-16460) PayPal |
| 592 | Standard needs two digits of cents |
| 593 | ([10287](https://github.com/civicrm/civicrm-core/pull/10287)) (non-functional |
| 594 | comments only)** |
| 595 | |
| 596 | ## <a name="credits"></a>Credits |
| 597 | |
| 598 | This release was developed by the following code authors: |
| 599 | |
| 600 | AGH Strategies - Andrew Hunt; Australian Greens - Seamus Lee; Blackfly Solutions - |
| 601 | Alan Dixon; British Humanist Association - Andrew West; CiviCRM - Coleman Watts, |
| 602 | Tim Otten; CiviDesk - Yashodha Chaku; CiviFirst - John Kirk; Coop SymbioTIC - |
| 603 | Mathieu Lutfy; Francesc Bassas i Bullich; Fuzion - Chris Burgess, Eileen |
| 604 | McNaughton, Jitendra Purohit; Ginkgo Street Labs - Frank Gómez; Greenleaf |
| 605 | Advancement - Karen Stevenson; JMA Consulting - Monish Deb, Pradeep Nayak; |
| 606 | Joinery - Allen Shaw; Jon Goldberg; Lemniscus - Noah Miller; Lighthouse Design |
| 607 | and Consulting - Brian Shaughnessy; Michael Hurwicz; Neuwald Tecnologia da |
| 608 | Informação - Arthur Almeida; Progressive Technology Project - Jamie McClelland; |
| 609 | Saurabh Batra; Sean Madsen; Squiffle Consulting - Aidan Saunders; Tadpole |
| 610 | Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton |
| 611 | |
| 612 | Most authors also reviewed code for this release; in addition, the following |
| 613 | reviewers contributed their comments: |
| 614 | |
| 615 | Agileware - Agileware Team; Alcohol Justice - Bruce Wolfe; Andrew |
| 616 | Cormick-Dockery; Anthony Borrow; BackOffice Thinking - Dave Schafer; Botanical |
| 617 | Society of America - Rob Brandt; Cath O'Connell; Circle Interactive - Dave |
| 618 | Jenkins; CivicActions - Fen Labalme; CiviCoop - Erik Hommel; CompuCorp - |
| 619 | Guanhuan Chen; Coop SymbioTIC - Samuel Vanhove; Dave Greenberg; Debre-Genet Holy |
| 620 | Trinity Ethiopian Orthodox Tewahedo Church - Milli Aje; DevMate - Adam |
| 621 | Kwiatkowski; DignityUSA - Logan Bear; Effy Elden; Electronic Frontier Foundation - |
| 622 | Mark Burdett; Ergon Logic Enterprises - Christopher Gervais; Emanuele Santanchè; |
| 623 | Fuzion - Peter Davis; JMA Consulting - Edsel Lopez, Joe Murray; Joanne Chester; |
| 624 | Johan Vervloet; John Kingsnorth; Kevin Reynen; Kompetenzzentrum |
| 625 | Technik-Diversity-Chancengleichheit - Niels Heinemann; Korlon - Stuart Gaston; |
| 626 | Marc Brazeau; Mathieu; MC3 - Graham Mitchell; MJW Consulting - Matthew Wire; |
| 627 | Nathan Brettell; Rareș Pamfil; Redfin Solutions - Chris Wells, Patrick Corbett; |
| 628 | Registered Nurses' Association of Ontario - Thomas Mannell; Richard van |
| 629 | Oosterhout; Semper IT - Karin Gerritsen; Serge Lachapelle; Third Sector Design - |
| 630 | Michael McAndrew; Third Sun - Troy Mumm; Thomas Bacon; Web Access - Kurund Jalmi |