| 1 | # CiviCRM 4.7.19 |
| 2 | |
| 3 | Released May 3, 2017 |
| 4 | |
| 5 | - **[Features](#features)** |
| 6 | - **[Bugs resolved](#bugs)** |
| 7 | - **[Miscellany](#misc)** |
| 8 | - **[Credits](#credits)** |
| 9 | |
| 10 | ## <a name="features"></a>Features |
| 11 | |
| 12 | ### Backdrop Integration |
| 13 | |
| 14 | - **[CRM-17711](https://issues.civicrm.org/jira/browse/CRM-17711) Add Support |
| 15 | for Backdrop ([10184](https://github.com/civicrm/civicrm-core/pull/10184)) |
| 16 | (completes previous work)** |
| 17 | |
| 18 | Backdrop is a fork of the Drupal project designed to offer a smooth upgrade |
| 19 | from Drupal 7. This is now the fourth content management system supported by |
| 20 | CiviCRM. |
| 21 | |
| 22 | ### Core CiviCRM |
| 23 | |
| 24 | - **[CRM-20420](https://issues.civicrm.org/jira/browse/CRM-20420) Allow |
| 25 | retention of generated PDFs/Docs |
| 26 | ([10155](https://github.com/civicrm/civicrm-core/pull/10155))** |
| 27 | |
| 28 | A new option allows for generated PDF and other document files to be |
| 29 | automatically attached to their corresponding activities. |
| 30 | |
| 31 | - **[CRM-19813](https://issues.civicrm.org/jira/browse/CRM-19813) Hook |
| 32 | priorities and core hooks to support LExIM |
| 33 | ([10138](https://github.com/civicrm/civicrm-core/pull/10138) and |
| 34 | [9949](https://github.com/civicrm/civicrm-core/pull/9949))** |
| 35 | |
| 36 | CiviCRM has increasingly relied upon the Symfony framework for providing new |
| 37 | areas of functionality. Symfony offers an [EventDispatcher](http://symfony.com/doc/current/components/event_dispatcher.html) |
| 38 | component that allows for extensions to respond to events and modify values. |
| 39 | Meanwhile, CiviCRM has long offered a Drupal-style hook system for those |
| 40 | purposes. |
| 41 | |
| 42 | This change runs hook invocations through the EventDispatcher system to allow |
| 43 | for a richer feature set for extensions. This will let core functionality |
| 44 | become more modular. [Read the introduction to the pull request for more |
| 45 | background](https://github.com/civicrm/civicrm-core/pull/9949#issue-212649186) |
| 46 | |
| 47 | - **[CRM-20361](https://issues.civicrm.org/jira/browse/CRM-20361) Populate |
| 48 | tokens when Scheduled Reminders are set to Record Activity for Automated Email |
| 49 | ([10081](https://github.com/civicrm/civicrm-core/pull/10081))** |
| 50 | |
| 51 | Activities generated by scheduled reminders now have the token values |
| 52 | populated. This is valuable for referring to fields that have changed since |
| 53 | the message was generated. |
| 54 | |
| 55 | - **[CRM-20318](https://issues.civicrm.org/jira/browse/CRM-20318) Add is_public |
| 56 | setting on Custom Groups. |
| 57 | ([10028](https://github.com/civicrm/civicrm-core/pull/10028))** |
| 58 | |
| 59 | Custom data sets now have an additional setting determining whether the fields |
| 60 | should be displayed in "public" contexts. The only current application is for |
| 61 | events: event custom fields will only display if they are marked as "public". |
| 62 | |
| 63 | - **[CRM-20207](https://issues.civicrm.org/jira/browse/CRM-20207) Introduce |
| 64 | selectWhereClause hook for activity results on activity tab contact summary |
| 65 | page ([9916](https://github.com/civicrm/civicrm-core/pull/9916))** |
| 66 | |
| 67 | This change increases the coverage of `hook_civicrm_selectWhereClause` to |
| 68 | include the activity listing on a contact record. |
| 69 | |
| 70 | - **[CRM-20312](https://issues.civicrm.org/jira/browse/CRM-20312) Identify and |
| 71 | fix missing indexes |
| 72 | ([10109](https://github.com/civicrm/civicrm-core/pull/10109), |
| 73 | [10106](https://github.com/civicrm/civicrm-core/pull/10106), and |
| 74 | [10108](https://github.com/civicrm/civicrm-core/pull/10108))** |
| 75 | |
| 76 | A new system check compares the indices on a site's database with those that |
| 77 | would be expected from the CiviCRM configuration. (A mismatch can cause |
| 78 | performance problems.) A utility now offers to clean up the database's |
| 79 | indices. |
| 80 | |
| 81 | - **[CRM-20313](https://issues.civicrm.org/jira/browse/CRM-20313) Add index to |
| 82 | civicrm_activity.status_id |
| 83 | ([10169](https://github.com/civicrm/civicrm-core/pull/10169) and |
| 84 | [10025](https://github.com/civicrm/civicrm-core/pull/10025))** |
| 85 | |
| 86 | This adds database indices to several commonly-filtered columns in |
| 87 | `civicrm_activity`, `civicrm_entity_financial_account`, and |
| 88 | `civicrm_mailing_event_queue`. |
| 89 | |
| 90 | - **[CRM-20332](https://issues.civicrm.org/jira/browse/CRM-20332) Refactor |
| 91 | summaryActions hook to allow user-defined actions in third column |
| 92 | ([10046](https://github.com/civicrm/civicrm-core/pull/10046))** |
| 93 | |
| 94 | Extension developers can now modify all items in the "Actions" list on a |
| 95 | contact record using `hook_civicrm_summaryActions`. |
| 96 | |
| 97 | - **[CRM-18251](https://issues.civicrm.org/jira/browse/CRM-18251) Pingback |
| 98 | improvements ([8525](https://github.com/civicrm/civicrm-core/pull/8525))** |
| 99 | |
| 100 | By default, CiviCRM sends basic usage statistics to civicrm.org. This adds |
| 101 | the country of the domain's address and the count of delivered mailings to |
| 102 | those statistics. |
| 103 | |
| 104 | - **[CRM-20330](https://issues.civicrm.org/jira/browse/CRM-20330) Generate a |
| 105 | table with composite primary key |
| 106 | ([10038](https://github.com/civicrm/civicrm-core/pull/10038))** |
| 107 | |
| 108 | The database schema generation system of CiviCRM now supports the creation of |
| 109 | tables with composite primary keys: two or more fields in tandem serving as |
| 110 | the primary key. |
| 111 | |
| 112 | - **[CRM-20368](https://issues.civicrm.org/jira/browse/CRM-20368) report |
| 113 | templates: don't hard-code order bys |
| 114 | ([10087](https://github.com/civicrm/civicrm-core/pull/10087))** |
| 115 | |
| 116 | Several report templates that had the "order by" clause directly specified in |
| 117 | code now use the standard sorting options. |
| 118 | |
| 119 | - **[CRM-20308](https://issues.civicrm.org/jira/browse/CRM-20308) Activity copy |
| 120 | is always sent FROM logged in user's email ID |
| 121 | ([10158](https://github.com/civicrm/civicrm-core/pull/10158), |
| 122 | [10122](https://github.com/civicrm/civicrm-core/pull/10122), |
| 123 | and [10163](https://github.com/civicrm/civicrm-core/pull/10163))** |
| 124 | |
| 125 | The from email address for an activity assignment notification will now be |
| 126 | determined in the following order of preference: |
| 127 | |
| 128 | 1. The email address of the source contact of the activity |
| 129 | |
| 130 | 2. If that can not be found, the default `from` email address for the domain |
| 131 | |
| 132 | 3. If the default `from` email address for the domain can not be found the |
| 133 | email address of the logged-in user will be used. This was the prior |
| 134 | behavior. |
| 135 | |
| 136 | - **[CRM-19464](https://issues.civicrm.org/jira/browse/CRM-19464) |
| 137 | supplemental_address_3 only exists in API |
| 138 | ([10166](https://github.com/civicrm/civicrm-core/pull/10166) and |
| 139 | [9857](https://github.com/civicrm/civicrm-core/pull/9857))** |
| 140 | |
| 141 | The Supplemental Address 3 field is now available to view and edit in the UI. |
| 142 | |
| 143 | - **Icons for attachments |
| 144 | ([10078](https://github.com/civicrm/civicrm-core/pull/10078))** |
| 145 | |
| 146 | File attachments now have an icon corresponding to their MIME type. |
| 147 | |
| 148 | ### CiviCase |
| 149 | |
| 150 | - **[CRM-16633](https://issues.civicrm.org/jira/browse/CRM-16633) Case Subject |
| 151 | not Editable ([10123](https://github.com/civicrm/civicrm-core/pull/10123))** |
| 152 | |
| 153 | Case subjects can now be edited, generating a "Change Case Subject" activity. |
| 154 | |
| 155 | - **[CRM-20345](https://issues.civicrm.org/jira/browse/CRM-20345) Sortable |
| 156 | columns ([10058](https://github.com/civicrm/civicrm-core/pull/10058)) (partial |
| 157 | work)** |
| 158 | |
| 159 | Cases can now be sorted according to client. |
| 160 | |
| 161 | - **[CRM-20105](https://issues.civicrm.org/jira/browse/CRM-20105) Search actions |
| 162 | ([10188](https://github.com/civicrm/civicrm-core/pull/10188))** |
| 163 | |
| 164 | Cases can now be merged with each other or restored from the trash using the |
| 165 | API. |
| 166 | |
| 167 | - **[CRM-19778](https://issues.civicrm.org/jira/browse/CRM-19778) Allowed |
| 168 | statuses per case-type |
| 169 | ([10065](https://github.com/civicrm/civicrm-core/pull/10065)) (completes |
| 170 | previous work)** |
| 171 | |
| 172 | UI improvements to the case type management screen. |
| 173 | |
| 174 | ### CiviContribute |
| 175 | |
| 176 | - **[CRM-20384](https://issues.civicrm.org/jira/browse/CRM-20384) Bookkeeping |
| 177 | report add contrib ID, filter by financial account owner (IIDA-85) |
| 178 | ([10112](https://github.com/civicrm/civicrm-core/pull/10112))** |
| 179 | |
| 180 | Two fields are added as columns and filters on the Bookkeeping Report: |
| 181 | contribution ID and financial account owner. |
| 182 | |
| 183 | - **[CRM-20400](https://issues.civicrm.org/jira/browse/CRM-20400) Update the |
| 184 | Payment Receipt to use for Contribution payment |
| 185 | ([10128](https://github.com/civicrm/civicrm-core/pull/10128))** |
| 186 | |
| 187 | The receipt for partial payments has updated language appropriate for use |
| 188 | besides merely for participant partial payments. |
| 189 | |
| 190 | - **[CRM-20264](https://issues.civicrm.org/jira/browse/CRM-20264) Store CC type |
| 191 | and last 4 digits from Contribution form |
| 192 | ([10234](https://github.com/civicrm/civicrm-core/pull/10234), |
| 193 | [10228](https://github.com/civicrm/civicrm-core/pull/10228), |
| 194 | [10157](https://github.com/civicrm/civicrm-core/pull/10157), |
| 195 | [10193](https://github.com/civicrm/civicrm-core/pull/10193), |
| 196 | [10194](https://github.com/civicrm/civicrm-core/pull/10194), and |
| 197 | [10189](https://github.com/civicrm/civicrm-core/pull/10189))** |
| 198 | |
| 199 | When processing a credit card from the front or back end, the last four digits |
| 200 | of the card number along with the card type are now stored on the financial |
| 201 | transaction. |
| 202 | |
| 203 | - **[CRM-20158](https://issues.civicrm.org/jira/browse/CRM-20158) Store card |
| 204 | type and last 4 digits of credit card |
| 205 | ([9880](https://github.com/civicrm/civicrm-core/pull/9880)) (partially |
| 206 | complete)** |
| 207 | |
| 208 | This is the parent issue for tracking and retrieving card type and the last |
| 209 | four digits of the card number on financial transactions. |
| 210 | |
| 211 | - **[CRM-20391](https://issues.civicrm.org/jira/browse/CRM-20391) Add |
| 212 | pan_truncation to search form |
| 213 | ([10139](https://github.com/civicrm/civicrm-core/pull/10139))** |
| 214 | |
| 215 | The last four digits of a card number are now searchable in the Find |
| 216 | Contributions search and Advanced Search pane. |
| 217 | |
| 218 | - **[CRM-20273](https://issues.civicrm.org/jira/browse/CRM-20273) Add credit |
| 219 | card type field for Contribution Details Report |
| 220 | ([9987](https://github.com/civicrm/civicrm-core/pull/9987))** |
| 221 | |
| 222 | - **[CRM-20278](https://issues.civicrm.org/jira/browse/CRM-20278) Add credit |
| 223 | card type field for Top Donor Report |
| 224 | ([9991](https://github.com/civicrm/civicrm-core/pull/9991))** |
| 225 | |
| 226 | - **[CRM-20275](https://issues.civicrm.org/jira/browse/CRM-20275) Add credit |
| 227 | card type field for Contributions by Organization Report |
| 228 | ([9989](https://github.com/civicrm/civicrm-core/pull/9989))** |
| 229 | |
| 230 | - **[CRM-20277](https://issues.civicrm.org/jira/browse/CRM-20277) Add credit |
| 231 | card type field for Contributions by Household Report |
| 232 | ([9990](https://github.com/civicrm/civicrm-core/pull/9990))** |
| 233 | |
| 234 | - **[CRM-20279](https://issues.civicrm.org/jira/browse/CRM-20279) Add credit |
| 235 | card type field for SYBUNT report |
| 236 | ([9992](https://github.com/civicrm/civicrm-core/pull/9992))** |
| 237 | |
| 238 | - **[CRM-20280](https://issues.civicrm.org/jira/browse/CRM-20280) Add credit |
| 239 | card type field for LYBUNT report |
| 240 | ([9993](https://github.com/civicrm/civicrm-core/pull/9993))** |
| 241 | |
| 242 | - **[CRM-20281](https://issues.civicrm.org/jira/browse/CRM-20281) Add credit |
| 243 | card type field for Soft Credit Report |
| 244 | ([9994](https://github.com/civicrm/civicrm-core/pull/9994))** |
| 245 | |
| 246 | - **[CRM-20284](https://issues.civicrm.org/jira/browse/CRM-20284) Add credit |
| 247 | card type field for Contribution Aggregate by Relationship report |
| 248 | ([9997](https://github.com/civicrm/civicrm-core/pull/9997))** |
| 249 | |
| 250 | - **[CRM-20285](https://issues.civicrm.org/jira/browse/CRM-20285) Add credit |
| 251 | card type field for Recurring Contributions report |
| 252 | ([10001](https://github.com/civicrm/civicrm-core/pull/10001))** |
| 253 | |
| 254 | - **[CRM-20331](https://issues.civicrm.org/jira/browse/CRM-20331) Add card type |
| 255 | and pan truncation besides payment method |
| 256 | ([10037](https://github.com/civicrm/civicrm-core/pull/10037))** |
| 257 | |
| 258 | When viewing payment details on a credit card contribution, the credit card |
| 259 | type and last four digits are displayed if available. |
| 260 | |
| 261 | - **[CRM-8526](https://issues.civicrm.org/jira/browse/CRM-8526) Support |
| 262 | [contribution.custom_nn] tokens in templates |
| 263 | ([9848](https://github.com/civicrm/civicrm-core/pull/9848)) (completes |
| 264 | previous work)** |
| 265 | |
| 266 | CiviCRM can now process tokens for contribution custom fields (most lately in |
| 267 | emails sent from search results). |
| 268 | |
| 269 | - **[CRM-20379](https://issues.civicrm.org/jira/browse/CRM-20379) Move payment |
| 270 | details above less important sections on backoffice form |
| 271 | ([10101](https://github.com/civicrm/civicrm-core/pull/10101))** |
| 272 | |
| 273 | Payment details now appear before soft credits when recording or editing |
| 274 | contributions in the backend. |
| 275 | |
| 276 | - **[CRM-19892](https://issues.civicrm.org/jira/browse/CRM-19892) Improve |
| 277 | financial transaction pager for batch assignment |
| 278 | ([9694](https://github.com/civicrm/civicrm-core/pull/9694))** |
| 279 | |
| 280 | The listing of financial transactions for batches now allows for viewing more |
| 281 | lines per page. |
| 282 | |
| 283 | - **[CRM-20022](https://issues.civicrm.org/jira/browse/CRM-20022) Add Batch |
| 284 | Title to Columns, Grouping tabs on Contribution Summary report |
| 285 | ([10142](https://github.com/civicrm/civicrm-core/pull/10142) and |
| 286 | [10006](https://github.com/civicrm/civicrm-core/pull/10006))** |
| 287 | |
| 288 | The batch title is now available to view and group in the Contribution |
| 289 | Summary report. |
| 290 | |
| 291 | ### CiviEvent |
| 292 | |
| 293 | - **[CRM-19773](https://issues.civicrm.org/jira/browse/CRM-19773) Call |
| 294 | hook_civicrm_selectWhereClause from the BAOs |
| 295 | ([10125](https://github.com/civicrm/civicrm-core/pull/10125) and |
| 296 | [9544](https://github.com/civicrm/civicrm-core/pull/9544))** |
| 297 | |
| 298 | This change increases the coverage of `hook_civicrm_selectWhereClause` to |
| 299 | include selecting events. |
| 300 | |
| 301 | ### CiviMail |
| 302 | |
| 303 | - **[CRM-20369](https://issues.civicrm.org/jira/browse/CRM-20369) include |
| 304 | subject field in mailing reports |
| 305 | ([10088](https://github.com/civicrm/civicrm-core/pull/10088))** |
| 306 | |
| 307 | Mailing reports now can display the subject line in addition to the internal |
| 308 | mailing name. |
| 309 | |
| 310 | ### CiviMember |
| 311 | |
| 312 | - **[CRM-20344](https://issues.civicrm.org/jira/browse/CRM-20344) Make 'Member |
| 313 | Since' displayed on membership tabs for Inactive Memberships. |
| 314 | ([10055](https://github.com/civicrm/civicrm-core/pull/10055))** |
| 315 | |
| 316 | The membership join date is now displayed even on the table of a contact's |
| 317 | inactive memberships. |
| 318 | |
| 319 | - **[CRM-20375](https://issues.civicrm.org/jira/browse/CRM-20375) Respect |
| 320 | membership auto-renew status for contribution pages |
| 321 | ([10095](https://github.com/civicrm/civicrm-core/pull/10095))** |
| 322 | |
| 323 | Auto-renew options on contribution pages now appear or freeze according to the |
| 324 | selected membership type's settings for auto-renew. |
| 325 | |
| 326 | ### Drupal Integration Modules |
| 327 | |
| 328 | - **[CRM-20319](https://issues.civicrm.org/jira/browse/CRM-20319) Expose |
| 329 | relationship permission to views |
| 330 | ([437](https://github.com/civicrm/civicrm-drupal/pull/437))** |
| 331 | |
| 332 | Views can now display, filter by, and sort by whether a relationship grants |
| 333 | permission for one contact to view or edit the other. |
| 334 | |
| 335 | ### WordPress Integration |
| 336 | |
| 337 | - **[CRM-20148](https://issues.civicrm.org/jira/browse/CRM-20148) WP-CLI |
| 338 | installer won't run if it can be run |
| 339 | ([110](https://github.com/civicrm/civicrm-wordpress/pull/110))** |
| 340 | |
| 341 | CiviCRM can now be installed using WP-CLI, either by first downloading and |
| 342 | enabling the CiviCRM plugin or manually including the `wp-cli/civicrm.php` |
| 343 | file as part of the command. |
| 344 | |
| 345 | ## <a name="bugs"></a>Bugs resolved |
| 346 | |
| 347 | ### Core CiviCRM |
| 348 | |
| 349 | - **[CRM-20417](https://issues.civicrm.org/jira/browse/CRM-20417) Translate |
| 350 | strings ([10179](https://github.com/civicrm/civicrm-core/pull/10179) and |
| 351 | [10148](https://github.com/civicrm/civicrm-core/pull/10148))** |
| 352 | |
| 353 | A number of untranslated phrases are now sent through translation. |
| 354 | |
| 355 | - **[CRM-20246](https://issues.civicrm.org/jira/browse/CRM-20246) maxfilesize on |
| 356 | import should respect 0 as meaning "no limit" |
| 357 | ([10021](https://github.com/civicrm/civicrm-core/pull/10021))** |
| 358 | |
| 359 | A zero value had been interpreted as disallowing any size file. |
| 360 | |
| 361 | - **[CRM-20333](https://issues.civicrm.org/jira/browse/CRM-20333) Search menu |
| 362 | visible even when a user has not access to any contacts. |
| 363 | ([10040](https://github.com/civicrm/civicrm-core/pull/10040))** |
| 364 | |
| 365 | - **[CRM-20451](https://issues.civicrm.org/jira/browse/CRM-20451) Do no assume |
| 366 | all BAOs have exportableFields method in Core_report |
| 367 | ([10191](https://github.com/civicrm/civicrm-core/pull/10191))** |
| 368 | |
| 369 | - **[CRM-20481](https://issues.civicrm.org/jira/browse/CRM-20481) Refactor |
| 370 | Activity api to more efficient query |
| 371 | ([10280](https://github.com/civicrm/civicrm-core/pull/10280)) (preliminary |
| 372 | work)** |
| 373 | |
| 374 | - **[CRM-20467](https://issues.civicrm.org/jira/browse/CRM-20467) PHP notices on |
| 375 | contact search for ACL'd user |
| 376 | ([10243](https://github.com/civicrm/civicrm-core/pull/10243))** |
| 377 | |
| 378 | Notices appeared when the user has access to contacts via ACLs rather than the |
| 379 | "View all contacts" permission. |
| 380 | |
| 381 | - **[CRM-20441](https://issues.civicrm.org/jira/browse/CRM-20441) Fatal error on |
| 382 | contact summary for ACL'd user (from activity tab count) |
| 383 | ([10237](https://github.com/civicrm/civicrm-core/pull/10237), |
| 384 | [10232](https://github.com/civicrm/civicrm-core/pull/10232), |
| 385 | [10231](https://github.com/civicrm/civicrm-core/pull/10231), and |
| 386 | [10212](https://github.com/civicrm/civicrm-core/pull/10212))** |
| 387 | |
| 388 | The fatal error occurred when the user has access to contacts via ACLs rather |
| 389 | than the "View all contacts" permission. |
| 390 | |
| 391 | - **Added object type selector to panel rule |
| 392 | ([10175](https://github.com/civicrm/civicrm-core/pull/10175))** |
| 393 | |
| 394 | This fixes a bug where all elements with the `panel` class were hidden. |
| 395 | |
| 396 | - **[CRM-20436](https://issues.civicrm.org/jira/browse/CRM-20436) Non Static |
| 397 | method CRM_Upgrade_Incremental_php_FourSeven::updateKenyanProvinces should be |
| 398 | static ([10170](https://github.com/civicrm/civicrm-core/pull/10170))** |
| 399 | |
| 400 | - **[CRM-20429](https://issues.civicrm.org/jira/browse/CRM-20429) Deleting an |
| 401 | activity with target contacts > 50 results in error |
| 402 | ([10162](https://github.com/civicrm/civicrm-core/pull/10162))** |
| 403 | |
| 404 | - **[CRM-20339](https://issues.civicrm.org/jira/browse/CRM-20339) Custom field |
| 405 | data on relationships only saved when creating a new relationship, not on edit |
| 406 | ([10092](https://github.com/civicrm/civicrm-core/pull/10092))** |
| 407 | |
| 408 | - **[CRM-20390](https://issues.civicrm.org/jira/browse/CRM-20390) Data type |
| 409 | mismatch in angular select2 bindings |
| 410 | ([10116](https://github.com/civicrm/civicrm-core/pull/10116))** |
| 411 | |
| 412 | Select2 widgets had been expected to accept comma-delimited data and produce |
| 413 | arrays. This change makes input and output consistent. |
| 414 | |
| 415 | - **[CRM-19921](https://issues.civicrm.org/jira/browse/CRM-19921) CustomGroup |
| 416 | $params['extends'] should only be required on create, not on update |
| 417 | ([9724](https://github.com/civicrm/civicrm-core/pull/9724))** |
| 418 | |
| 419 | - **[CRM-19400](https://issues.civicrm.org/jira/browse/CRM-19400) open street |
| 420 | map no longer works |
| 421 | ([10049](https://github.com/civicrm/civicrm-core/pull/10049))** |
| 422 | |
| 423 | Mapping with OpenStreetMap now uses the Carto tile server. |
| 424 | |
| 425 | - **[CRM-20350](https://issues.civicrm.org/jira/browse/CRM-20350) Incorrect |
| 426 | escaping of double-quotes in iCalendar text values |
| 427 | ([10067](https://github.com/civicrm/civicrm-core/pull/10067))** |
| 428 | |
| 429 | - **[CRM-20011](https://issues.civicrm.org/jira/browse/CRM-20011) Profile date |
| 430 | fields using YYYY-MM or MM YY don't work |
| 431 | ([10003](https://github.com/civicrm/civicrm-core/pull/10003))** |
| 432 | |
| 433 | - **[CRM-20327](https://issues.civicrm.org/jira/browse/CRM-20327) API chaining - |
| 434 | replace $value when using operators. |
| 435 | ([10033](https://github.com/civicrm/civicrm-core/pull/10033))** |
| 436 | |
| 437 | API Chaining is a CiviCRM feature introduced in May 2011 by Eileen McNaughton |
| 438 | ([CRM-8148](https://issues.civicrm.org/jira/browse/CRM-8148)) allowing for a |
| 439 | single API call to both retrieve entities and perform actions on those |
| 440 | entities. The value of the parent link in a chain is denoted by `$value`, but |
| 441 | this was not handled properly with operators like `IF` or `<`. |
| 442 | |
| 443 | - **[CRM-20178](https://issues.civicrm.org/jira/browse/CRM-20178) Writes to |
| 444 | timestamp fields are silently ignored by $dao->save() |
| 445 | ([178](https://github.com/civicrm/civicrm-packages/pull/178))** |
| 446 | |
| 447 | - **[CRM-20427](https://issues.civicrm.org/jira/browse/CRM-20427) Many pages |
| 448 | break on multilingual on 4.7.18 |
| 449 | ([10171](https://github.com/civicrm/civicrm-core/pull/10171))** |
| 450 | |
| 451 | - **[CRM-19663](https://issues.civicrm.org/jira/browse/CRM-19663) A scheduled |
| 452 | reminder set to use an absolute date does not allow repeats |
| 453 | ([9773](https://github.com/civicrm/civicrm-core/pull/9773))** |
| 454 | |
| 455 | - **[CRM-19612](https://issues.civicrm.org/jira/browse/CRM-19612) Dedupe_copy DB |
| 456 | error ([10035](https://github.com/civicrm/civicrm-core/pull/10035)) |
| 457 | (preliminary work)** |
| 458 | |
| 459 | Deduping according to a matching rule with more than one field can result in a |
| 460 | database error. Users still report facing this bug. |
| 461 | |
| 462 | ### CiviCampaign |
| 463 | |
| 464 | - **[CRM-20376](https://issues.civicrm.org/jira/browse/CRM-20376) SurveyDetails |
| 465 | Report should not repeat field names when printing |
| 466 | ([10096](https://github.com/civicrm/civicrm-core/pull/10096))** |
| 467 | |
| 468 | - **Crm 20378 - simplify SurveyDetail report - improve line breaks in PDF, etc. |
| 469 | ([10097](https://github.com/civicrm/civicrm-core/pull/10097))** |
| 470 | |
| 471 | ### CiviMember |
| 472 | |
| 473 | - **[CRM-20343](https://issues.civicrm.org/jira/browse/CRM-20343) Wrong Activity |
| 474 | creation when Membership status is changed from membership form. |
| 475 | ([10093](https://github.com/civicrm/civicrm-core/pull/10093))** |
| 476 | |
| 477 | Editing a cancelled membership may result in a new membership activity being |
| 478 | created. |
| 479 | |
| 480 | - **[CRM-20371](https://issues.civicrm.org/jira/browse/CRM-20371) Set |
| 481 | is_transactional when trying to create membership_payments in recur |
| 482 | transaciton ([10091](https://github.com/civicrm/civicrm-core/pull/10091))** |
| 483 | |
| 484 | If creating a membership payment fails on a recurring payment, the entire |
| 485 | transaction should not roll back. |
| 486 | |
| 487 | - **[CRM-20311](https://issues.civicrm.org/jira/browse/CRM-20311) Membership |
| 488 | cancelation via contribution doesn't create membership status change activity |
| 489 | ([10054](https://github.com/civicrm/civicrm-core/pull/10054) and |
| 490 | [10024](https://github.com/civicrm/civicrm-core/pull/10024))** |
| 491 | |
| 492 | - **[CRM-20008](https://issues.civicrm.org/jira/browse/CRM-20008) |
| 493 | repeattrasaction should create pending membership when |
| 494 | contribtuion_status_id is pending |
| 495 | ([10030](https://github.com/civicrm/civicrm-core/pull/10030))** |
| 496 | |
| 497 | - **[CRM-20413](https://issues.civicrm.org/jira/browse/CRM-20413) Wrong |
| 498 | payment_instrument used for civicrm_contribution for membership office |
| 499 | contributions ([10144](https://github.com/civicrm/civicrm-core/pull/10144))** |
| 500 | |
| 501 | This fixes a bug where contributions created by memberships created in the |
| 502 | backend have the payment instrument incorrectly recorded as "Check". |
| 503 | |
| 504 | - **[CRM-19243](https://issues.civicrm.org/jira/browse/CRM-19243) Free |
| 505 | membership results in two activities and email receipts |
| 506 | ([10084](https://github.com/civicrm/civicrm-core/pull/10084))** |
| 507 | |
| 508 | - **[CRM-20329](https://issues.civicrm.org/jira/browse/CRM-20329) Backend |
| 509 | Membership with Payment set to Failed results in Membership being set to New |
| 510 | ([10036](https://github.com/civicrm/civicrm-core/pull/10036))** |
| 511 | |
| 512 | ### CiviMail |
| 513 | |
| 514 | - **[CRM-20340](https://issues.civicrm.org/jira/browse/CRM-20340) Translate |
| 515 | unsubscribe string |
| 516 | ([10047](https://github.com/civicrm/civicrm-core/pull/10047))** |
| 517 | |
| 518 | The unsubscribe button on the unsubscribe form was not translated. |
| 519 | |
| 520 | - **[CRM-20316](https://issues.civicrm.org/jira/browse/CRM-20316) Api mailing |
| 521 | create should work without logged in user (eg. drush) |
| 522 | ([10186](https://github.com/civicrm/civicrm-core/pull/10186))** |
| 523 | |
| 524 | - **[CRM-20389](https://issues.civicrm.org/jira/browse/CRM-20389) Cloned |
| 525 | experiment or winner mailing should have type standalone |
| 526 | ([10127](https://github.com/civicrm/civicrm-core/pull/10127))** |
| 527 | |
| 528 | Reusing a mailing from an A/B test should not carry the type from the test; |
| 529 | it should look like other "normal" mailings. |
| 530 | |
| 531 | - **[CRM-20402](https://issues.civicrm.org/jira/browse/CRM-20402) improve "spam" |
| 532 | pattern match for bounces |
| 533 | ([10132](https://github.com/civicrm/civicrm-core/pull/10132))** |
| 534 | |
| 535 | Some spam notifications were being treated as syntax bounces. |
| 536 | |
| 537 | - **[CRM-20140](https://issues.civicrm.org/jira/browse/CRM-20140) CiviCRM |
| 538 | alterMailParams hook does not work on subject |
| 539 | ([9869](https://github.com/civicrm/civicrm-core/pull/9869))** |
| 540 | |
| 541 | ### CiviContribute |
| 542 | |
| 543 | - **[CRM-20374](https://issues.civicrm.org/jira/browse/CRM-20374) Don't crash |
| 544 | when we can't UpdateSubscription for recurring contributions |
| 545 | ([10094](https://github.com/civicrm/civicrm-core/pull/10094))** |
| 546 | |
| 547 | - **[CRM-20450](https://issues.civicrm.org/jira/browse/CRM-20450) Fix invoice |
| 548 | math for partial payments |
| 549 | ([10223](https://github.com/civicrm/civicrm-core/pull/10223) and |
| 550 | [10222](https://github.com/civicrm/civicrm-core/pull/10222))** |
| 551 | |
| 552 | - **[CRM-20465](https://issues.civicrm.org/jira/browse/CRM-20465) pan truncation |
| 553 | doesn't respect values preceding with 0 |
| 554 | ([10218](https://github.com/civicrm/civicrm-core/pull/10218))** |
| 555 | |
| 556 | The last four digits of a credit card number were being stored as an integer |
| 557 | rather than a four-character string. |
| 558 | |
| 559 | - **[CRM-20464](https://issues.civicrm.org/jira/browse/CRM-20464) Smarty error |
| 560 | when receipt is send for recording payment |
| 561 | ([10210](https://github.com/civicrm/civicrm-core/pull/10210))** |
| 562 | |
| 563 | - **[CRM-19597](https://issues.civicrm.org/jira/browse/CRM-19597) Allow the |
| 564 | receive_date to be passed in when replaying Authorize.net transactions |
| 565 | ([10099](https://github.com/civicrm/civicrm-core/pull/10099))** |
| 566 | |
| 567 | The `receive_date` had been populated by the current date. |
| 568 | |
| 569 | - **[CRM-20392](https://issues.civicrm.org/jira/browse/CRM-20392) Credit card |
| 570 | payment not recorded when contribution is partially paid |
| 571 | ([10187](https://github.com/civicrm/civicrm-core/pull/10187), |
| 572 | [10143](https://github.com/civicrm/civicrm-core/pull/10143), |
| 573 | [10129](https://github.com/civicrm/civicrm-core/pull/10129), |
| 574 | [10137](https://github.com/civicrm/civicrm-core/pull/10137), and |
| 575 | [10136](https://github.com/civicrm/civicrm-core/pull/10136))** |
| 576 | |
| 577 | - **[CRM-20388](https://issues.civicrm.org/jira/browse/CRM-20388) Payflow Pro |
| 578 | payment processor codes rejected payments as completed |
| 579 | ([10115](https://github.com/civicrm/civicrm-core/pull/10115))** |
| 580 | |
| 581 | - **[CRM-20385](https://issues.civicrm.org/jira/browse/CRM-20385) oversensitive |
| 582 | deferred revenue account validation |
| 583 | ([10114](https://github.com/civicrm/civicrm-core/pull/10114))** |
| 584 | |
| 585 | - **Refactored Deferred Revenue report to follow more standardized approach. |
| 586 | ([10113](https://github.com/civicrm/civicrm-core/pull/10113))** |
| 587 | |
| 588 | - **[CRM-19633](https://issues.civicrm.org/jira/browse/CRM-19633) Contribution |
| 589 | page shows error on multisite when viewed from a domain that the payment |
| 590 | processor isn't linked to |
| 591 | ([9371](https://github.com/civicrm/civicrm-core/pull/9371))** |
| 592 | |
| 593 | - **[CRM-20336](https://issues.civicrm.org/jira/browse/CRM-20336) Failed iATS |
| 594 | contribution should be set to failed, not pending |
| 595 | ([10041](https://github.com/civicrm/civicrm-core/pull/10041))** |
| 596 | |
| 597 | - **[CRM-20012](https://issues.civicrm.org/jira/browse/CRM-20012) contribution |
| 598 | batch update: can't unset thank you date value |
| 599 | ([9729](https://github.com/civicrm/civicrm-core/pull/9729))** |
| 600 | |
| 601 | Date handling in profiles is simplified and standardized. |
| 602 | |
| 603 | - **[CRM-20334](https://issues.civicrm.org/jira/browse/CRM-20334) Regression |
| 604 | within release cycle - Fatal Error on Submit Credit Card Form |
| 605 | ([10039](https://github.com/civicrm/civicrm-core/pull/10039))** |
| 606 | |
| 607 | - **[CRM-20449](https://issues.civicrm.org/jira/browse/CRM-20449) Possible |
| 608 | regression - enotices from 'send thankyou letter' on contribution search |
| 609 | actions ([10219](https://github.com/civicrm/civicrm-core/pull/10219))** |
| 610 | |
| 611 | - **[CRM-20393](https://issues.civicrm.org/jira/browse/CRM-20393) Authorize.net: |
| 612 | fix for the "check if the user already submitted this transaction" |
| 613 | ([10147](https://github.com/civicrm/civicrm-core/pull/10147))** |
| 614 | |
| 615 | - **[CRM-19517](https://issues.civicrm.org/jira/browse/CRM-19517) Show price |
| 616 | field Options that use disabled Financial Types so they can be edited. |
| 617 | ([9276](https://github.com/civicrm/civicrm-core/pull/9276))** |
| 618 | |
| 619 | - **[CRM-20360](https://issues.civicrm.org/jira/browse/CRM-20360) Payment |
| 620 | Options heading is incorrectly shown when default amount is 0 |
| 621 | ([10080](https://github.com/civicrm/civicrm-core/pull/10080))** |
| 622 | |
| 623 | - **[CRM-19741](https://issues.civicrm.org/jira/browse/CRM-19741) Price set and |
| 624 | price set value "label" fields are inconsistant to users |
| 625 | ([10120](https://github.com/civicrm/civicrm-core/pull/10120))** |
| 626 | |
| 627 | ### CiviSMS |
| 628 | |
| 629 | - **[CRM-20410](https://issues.civicrm.org/jira/browse/CRM-20410) Refactor SMS |
| 630 | provider BAO to have proper create function |
| 631 | ([10135](https://github.com/civicrm/civicrm-core/pull/10135))** |
| 632 | |
| 633 | - **[CRM-19961](https://issues.civicrm.org/jira/browse/CRM-19961) Make CiviCRM |
| 634 | SMS Providers multisite aware |
| 635 | ([9796](https://github.com/civicrm/civicrm-core/pull/9796) and |
| 636 | [10100](https://github.com/civicrm/civicrm-core/pull/10100))** |
| 637 | |
| 638 | ### CiviEvent |
| 639 | |
| 640 | - **[CRM-20029](https://issues.civicrm.org/jira/browse/CRM-20029) Events with |
| 641 | file custom fields don't copy the files |
| 642 | ([9960](https://github.com/civicrm/civicrm-core/pull/9960))** |
| 643 | |
| 644 | Copying an event with files uploaded to custom fields should result in copies |
| 645 | of the files attached to the copy of the event. |
| 646 | |
| 647 | ### Drupal Integration |
| 648 | |
| 649 | - **[CRM-20502](https://issues.civicrm.org/jira/browse/CRM-20502) Drush upgrade |
| 650 | crashes on loading "is_public" field |
| 651 | ([444](https://github.com/civicrm/civicrm-drupal/pull/444))** |
| 652 | |
| 653 | The cache of custom fields will no longer be populated when a site is being |
| 654 | upgraded. |
| 655 | |
| 656 | - **Drupal bootstrap failures should throw debuggable exception |
| 657 | ([9616](https://github.com/civicrm/civicrm-core/pull/9616))** |
| 658 | |
| 659 | ## <a name="misc"></a>Miscellany |
| 660 | |
| 661 | - **[CRM-20439](https://issues.civicrm.org/jira/browse/CRM-20439) Rename |
| 662 | card_type to card_type_id of civicrm_financial_trxn table (IIDA-126) |
| 663 | ([10178](https://github.com/civicrm/civicrm-core/pull/10178))** |
| 664 | |
| 665 | - **[CRM-20367](https://issues.civicrm.org/jira/browse/CRM-20367) Add wrapper |
| 666 | function for adding and dropping Index in Upgrader |
| 667 | ([10131](https://github.com/civicrm/civicrm-core/pull/10131) and |
| 668 | [10086](https://github.com/civicrm/civicrm-core/pull/10086))** |
| 669 | |
| 670 | - **[CRM-19967](https://issues.civicrm.org/jira/browse/CRM-19967) Contact query |
| 671 | inline docs improvements from CRM-4287 |
| 672 | ([10090](https://github.com/civicrm/civicrm-core/pull/10090))** |
| 673 | |
| 674 | - **[CRM-19715](https://issues.civicrm.org/jira/browse/CRM-19715) Remove Close |
| 675 | Accounting Period code |
| 676 | ([10083](https://github.com/civicrm/civicrm-core/pull/10083), |
| 677 | [9974](https://github.com/civicrm/civicrm-core/pull/9974), |
| 678 | [9985](https://github.com/civicrm/civicrm-core/pull/9985), and |
| 679 | [10077](https://github.com/civicrm/civicrm-core/pull/10077))** |
| 680 | |
| 681 | An unadvertised set of features allowed for closing the books at the end of an |
| 682 | accounting period and producing a trial balance. This feature set is more |
| 683 | appropriate in an extension. |
| 684 | |
| 685 | - **[CRM-20328](https://issues.civicrm.org/jira/browse/CRM-20328) Remove code |
| 686 | duplication when calling Dedupe functions |
| 687 | ([10053](https://github.com/civicrm/civicrm-core/pull/10053), |
| 688 | [10034](https://github.com/civicrm/civicrm-core/pull/10034), |
| 689 | [10150](https://github.com/civicrm/civicrm-core/pull/10150), |
| 690 | [10069](https://github.com/civicrm/civicrm-core/pull/10069), |
| 691 | [10070](https://github.com/civicrm/civicrm-core/pull/10070), and |
| 692 | [10064](https://github.com/civicrm/civicrm-core/pull/10064)) (towards |
| 693 | [CRM-20155](https://issues.civicrm.org/jira/browse/CRM-20155))** |
| 694 | |
| 695 | This refactors and standardizes code for matching contacts and preparing to |
| 696 | merge duplicates. |
| 697 | |
| 698 | - **[CRM-20357](https://issues.civicrm.org/jira/browse/CRM-20357) Remove |
| 699 | CRM_Dedupe_Finder::dupesOfContact function |
| 700 | ([10071](https://github.com/civicrm/civicrm-core/pull/10071))** |
| 701 | |
| 702 | The function was obsolete and unused. |
| 703 | |
| 704 | - **Fix spelling. ([10282](https://github.com/civicrm/civicrm-core/pull/10282))** |
| 705 | |
| 706 | - **[NFC] Remove comment as this has been fixed |
| 707 | ([10199](https://github.com/civicrm/civicrm-core/pull/10199))** |
| 708 | |
| 709 | - **[NFC] Further test improvement |
| 710 | ([10198](https://github.com/civicrm/civicrm-core/pull/10198))** |
| 711 | |
| 712 | - **CiviEventInspector - Add util for displaying hook metadata |
| 713 | ([10161](https://github.com/civicrm/civicrm-core/pull/10161))** |
| 714 | |
| 715 | This utility makes use of the fact that hooks are now handled by Symfony |
| 716 | events, providing the ability to view information about implementations of a |
| 717 | hook/event. |
| 718 | |
| 719 | - **Code cleanup ([10176](https://github.com/civicrm/civicrm-core/pull/10176))** |
| 720 | |
| 721 | This removes redundant code relating to financial accounts. |
| 722 | |
| 723 | - **Used Api to get financial account for an entity defined in |
| 724 | civicrm_entity_financial_account table |
| 725 | ([10130](https://github.com/civicrm/civicrm-core/pull/10130))** |
| 726 | |
| 727 | - **GenCode - Reduce merge-conflicts on AllCoreTables |
| 728 | ([10182](https://github.com/civicrm/civicrm-core/pull/10182))** |
| 729 | |
| 730 | - **[NFC] Fix invalid php in test-generated example |
| 731 | ([10185](https://github.com/civicrm/civicrm-core/pull/10185))** |
| 732 | |
| 733 | - **Fix visibility typo |
| 734 | ([10177](https://github.com/civicrm/civicrm-core/pull/10177))** |
| 735 | |
| 736 | - **Document PR scope & size |
| 737 | ([10174](https://github.com/civicrm/civicrm-core/pull/10174))** |
| 738 | |
| 739 | - **Make sourceSQLFile throw an error when it can't find a file. |
| 740 | ([10160](https://github.com/civicrm/civicrm-core/pull/10160))** |
| 741 | |
| 742 | - **Fix test regression by correctly setting timestamp in test method |
| 743 | ([10145](https://github.com/civicrm/civicrm-core/pull/10145))** |
| 744 | |
| 745 | - **[CRM-19987](https://issues.civicrm.org/jira/browse/CRM-19987) Disabled |
| 746 | activities are shown in search results |
| 747 | ([10119](https://github.com/civicrm/civicrm-core/pull/10119))** |
| 748 | |
| 749 | Only comments are added. |
| 750 | |
| 751 | - **Add my details ([10110](https://github.com/civicrm/civicrm-core/pull/10110))** |
| 752 | |
| 753 | - **Minor spelling & casing tidy ups |
| 754 | ([10107](https://github.com/civicrm/civicrm-core/pull/10107))** |
| 755 | |
| 756 | - **[CRM-20346](https://issues.civicrm.org/jira/browse/CRM-20346) Remove |
| 757 | encryptDB.php from codebase |
| 758 | ([10059](https://github.com/civicrm/civicrm-core/pull/10059))** |
| 759 | |
| 760 | - **(NFC) Update stale GenCode checksums |
| 761 | ([10048](https://github.com/civicrm/civicrm-core/pull/10048))** |
| 762 | |
| 763 | - **Remove CRM_Core_Form::generateID(). |
| 764 | ([9968](https://github.com/civicrm/civicrm-core/pull/9968))** |
| 765 | |
| 766 | ## <a name="credits"></a>Credits |
| 767 | |
| 768 | This release was developed by the following code authors: |
| 769 | |
| 770 | AGH Strategies - Andrew Hunt; Agileware - Agileware Team; Australian Greens - |
| 771 | Seamus Lee; CiviCoop - Erik Hommel, Jaap Jansma; CiviCRM - Coleman Watts, Tim |
| 772 | Otten; CiviFirst - John Kirk; CompuCorp - Omar Abu Hussein; Coop SymbioTIC - |
| 773 | Mathieu Lutfy; Erich Schulz; Fuzion - Chris Burgess, Eileen McNaughton, Jitendra |
| 774 | Purohit; JMA Consulting - Edsel Lopez, Joe Murray, Monish Deb, Pradeep Nayak; |
| 775 | Joinery - Allen Shaw; Lighthouse Design and Consulting - Brian Shaughnessy; MJW |
| 776 | Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; |
| 777 | Romain Thouvenin; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan |
| 778 | Saunders; Stan Dragnev; Systopia - Björn Endres; Third Sector Design - Michael |
| 779 | McAndrew; Tobias Lounsbury; Wikimedia Foundation - Eileen McNaughton |
| 780 | |
| 781 | Most authors also reviewed code for this release; in addition, the following |
| 782 | reviewers contributed their comments: |
| 783 | |
| 784 | AGH Strategies - Mika Weinstein; Annertech - Anthony Lindsay; Barbara Miller; |
| 785 | Blackfly Solutions - Alan Dixon; British Humanist Association - William Gordon; |
| 786 | Canine Companions for Independence - Angela Cacciola; Christian Wach; Circle |
| 787 | Interactive - Dave Jenkins, Martin Castle; CiviCRM - Josh Gowans; CiviDesk - |
| 788 | Nicolas Ganivet, Steve Kessler, Sunil Pawar, Yashodha Chaku; Comunica2 - René |
| 789 | Nieuwburg; CompuCorp - Guanhuan Chen, Mirela Stanila; Coop SymbioTIC - Mathieu |
| 790 | Lutfy; Donald Lobo; Freeform Solutions - Herb van den Dool; Fuzion - Gemma |
| 791 | Potaka, Peter Davis; Ginkgo Street Labs - Frank Gómez; Glick Software - David |
| 792 | Glick; GMCVO Databases - Jon-man Cheung; Greenleaf Advancement - Guy Iaccarino; |
| 793 | Hartmann Computer Consulting - Peter Hartmann; JMA Consulting - Jon Goldberg; |
| 794 | John Kingsnorth; Korlon - Stuart Gaston; Lullabot - Nate Lampton; Marc Brazeau; |
| 795 | MC3 - Graham Mitchell; Michal Mach; Richard van Oosterhout; Romain Thouvenin; |
| 796 | Samuel Haskell; Sean Madsen; Semper IT - Karin Gerritsen; Spry Digital - Ellen |
| 797 | Hendricks, Sheila Burkett; Tadpole Collective - Kevin Cristiano; Team Expansion - |
| 798 | Greg Harris; Timbsoft Technologies - Tunbola Ogunwande |