| 1 | # CiviCRM 5.11.0 |
| 2 | |
| 3 | Released March 6, 2019 |
| 4 | |
| 5 | - **[Synopsis](#synopsis)** |
| 6 | - **[Features](#features)** |
| 7 | - **[Bugs resolved](#bugs)** |
| 8 | - **[Miscellany](#misc)** |
| 9 | - **[Credits](#credits)** |
| 10 | - **[Feedback](#feedback)** |
| 11 | |
| 12 | ## <a name="synopsis"></a>Synopsis |
| 13 | |
| 14 | | *Does this version...?* | | |
| 15 | |:--------------------------------------------------------------- |:-------:| |
| 16 | | Fix security vulnerabilities? | | |
| 17 | | Change the database schema? | | |
| 18 | | Alter the API? | **yes** | |
| 19 | | Require attention to configuration options? | | |
| 20 | | Fix problems installing or upgrading to a previous version? | **yes** | |
| 21 | | Introduce features? | **yes** | |
| 22 | | Fix bugs? | **yes** | |
| 23 | |
| 24 | ## <a name="features"></a>Features |
| 25 | |
| 26 | ### Core CiviCRM |
| 27 | |
| 28 | - **[dev/core#635](https://lab.civicrm.org/dev/core/issues/635) Implement |
| 29 | reconnect/replay-on-write for database connections |
| 30 | ([13489](https://github.com/civicrm/civicrm-core/pull/13489), |
| 31 | [13514](https://github.com/civicrm/civicrm-core/pull/13514), |
| 32 | [13496](https://github.com/civicrm/civicrm-core/pull/13496) and |
| 33 | [13394](https://github.com/civicrm/civicrm-core/pull/13394)) Continued Work** |
| 34 | |
| 35 | These changes move towards making CiviCRM compatibility with a split DB |
| 36 | architecture in which one routes MySQL requests to (a) read-only slave DBs |
| 37 | and/or (b) read-write master DB. Specifically by implementing a |
| 38 | "reconnect-on-write" or "replay-on-write" (RPOW) mechanism. |
| 39 | |
| 40 | - **[dev/core#561](https://lab.civicrm.org/dev/core/issues/561) Replace |
| 41 | jcalendar instances with datepicker |
| 42 | ([13485](https://github.com/civicrm/civicrm-core/pull/13485), |
| 43 | [13211](https://github.com/civicrm/civicrm-core/pull/13211), |
| 44 | [13422](https://github.com/civicrm/civicrm-core/pull/13422) and |
| 45 | [13423](https://github.com/civicrm/civicrm-core/pull/13423))** |
| 46 | |
| 47 | These changes switch fields that store dates from using jcalendar to use the |
| 48 | datepicker in the following places: the grant task form fields, grant search |
| 49 | fields, campaign date fields and activity followup form fields. |
| 50 | |
| 51 | - **Add routine for updating smartgroups, currently handling datepicker |
| 52 | conversion ([13395](https://github.com/civicrm/civicrm-core/pull/13395))** |
| 53 | |
| 54 | This change converts fields from smart groups using grant date fields to new |
| 55 | datepicker format. |
| 56 | |
| 57 | - **[dev/core#491](https://lab.civicrm.org/dev/core/issues/491) Report results |
| 58 | don't show inactive campaigns |
| 59 | ([13382](https://github.com/civicrm/civicrm-core/pull/13382))** |
| 60 | |
| 61 | This change standardizes the campaign fields offered on the the Activity, |
| 62 | Member, Contribution Detail and Member Lapse reports. |
| 63 | |
| 64 | - **[dev/core#527](https://lab.civicrm.org/dev/core/issues/527) Non translatable |
| 65 | fields in profile schema |
| 66 | ([13185](https://github.com/civicrm/civicrm-core/pull/13185))** |
| 67 | |
| 68 | This change adds the ability to set translated text for the Submit and Cancel |
| 69 | buttons on a profile. |
| 70 | |
| 71 | - **[dev/core#682](https://lab.civicrm.org/dev/core/issues/682) Add basic |
| 72 | contact filters to Summary Contributions Report |
| 73 | ([13498](https://github.com/civicrm/civicrm-core/pull/13498))** |
| 74 | |
| 75 | This change adds the basic contact filters and columns to the Summary |
| 76 | Contributions Report. |
| 77 | |
| 78 | - **[dev/core#686](https://lab.civicrm.org/dev/core/issues/686) Make "Amount |
| 79 | Statistics" columns optional on Membership Summary report |
| 80 | ([13507](https://github.com/civicrm/civicrm-core/pull/13507))** |
| 81 | |
| 82 | This change makes it so users can choose whether or not to include the "Amount |
| 83 | Statistics" columns on the Member Summary report. |
| 84 | |
| 85 | - **Respect pre hook for relationship to alter id in $params |
| 86 | ([12834](https://github.com/civicrm/civicrm-core/pull/12834))** |
| 87 | |
| 88 | This change makes it so developers can use the pre hook to alter the id in |
| 89 | $params for Relationships. |
| 90 | |
| 91 | - **use number widget for weight and other numeric fields in more forms |
| 92 | ([13526](https://github.com/civicrm/civicrm-core/pull/13526))** |
| 93 | |
| 94 | This change works towards a consistent ui by making all forms "weight and |
| 95 | other numeric" fields number input widgets, before this change some were |
| 96 | plain-text inputs and some were number input widgets. |
| 97 | |
| 98 | - **Survey form - use number widget for number fields |
| 99 | ([13503](https://github.com/civicrm/civicrm-core/pull/13503))** |
| 100 | |
| 101 | This change works towards a more consistent user experience by making the |
| 102 | survey form use the number widget for all number fields. |
| 103 | |
| 104 | - **use number widget for weight fields in all forms |
| 105 | ([13520](https://github.com/civicrm/civicrm-core/pull/13520))** |
| 106 | |
| 107 | This change works towards a more consistent user experience by making all |
| 108 | weight fields use the number input widget (before this change some were number |
| 109 | input widget and some were plain text inputs). |
| 110 | |
| 111 | - **Allow help text to be overridden from an .extra.hlp file |
| 112 | ([13488](https://github.com/civicrm/civicrm-core/pull/13488))** |
| 113 | |
| 114 | This change makes it so that .extra.hlp files can be used to override help |
| 115 | text. Before this change .extra.hlp files could be used to append help text |
| 116 | but not override help text. |
| 117 | |
| 118 | - **Add extension compatibility list |
| 119 | ([13298](https://github.com/civicrm/civicrm-core/pull/13298))** |
| 120 | |
| 121 | Extensions whose functionality is now redundant with core may cause problems |
| 122 | if left installed. This change makes it so that: Obsolete extensions are |
| 123 | automatically disabled during core upgrades, obsolete extensions are filtered |
| 124 | out of the list of downloadable extensions, obsolete extensions are ignored |
| 125 | when considering dependencies. |
| 126 | |
| 127 | - **Add selectWhere hook call to the query that generates the 'annual' query - |
| 128 | the 'amount this year' on a contact dash |
| 129 | ([13319](https://github.com/civicrm/civicrm-core/pull/13319))** |
| 130 | |
| 131 | This change adds the selectWhere hook to the getAnnualQuery function so that |
| 132 | extension developers can use the selectWhere hook to alter the the amount & |
| 133 | count values for donations this year on a contact dashboard. |
| 134 | |
| 135 | - **Convert Campaign widgets to entityRef |
| 136 | ([13491](https://github.com/civicrm/civicrm-core/pull/13491) and |
| 137 | [13613](https://github.com/civicrm/civicrm-core/pull/13613))** |
| 138 | |
| 139 | This change cleans up the code and UI for selecting a campaign. Specifically, |
| 140 | instead of a select list with a button to load past campaigns, now the entire |
| 141 | list of campaigns is searchable and filterable. Additionally this makes it so |
| 142 | new campaigns can be created on-the-fly. |
| 143 | |
| 144 | - **geocode job: Provide country_id to geocoders. |
| 145 | ([13456](https://github.com/civicrm/civicrm-core/pull/13456))** |
| 146 | |
| 147 | This change ensures that geocoders receive the country name and id (before |
| 148 | this change they only received the name). This change fixes a compatibility |
| 149 | issue with the org.wikimedia.geocoder extension. |
| 150 | |
| 151 | - **Use icon for timepicker placeholder |
| 152 | ([13438](https://github.com/civicrm/civicrm-core/pull/13438))** |
| 153 | |
| 154 | This change adds a clock icon to all timepicker fields. |
| 155 | |
| 156 | - **Add default for domain_id for report_instance. |
| 157 | ([13426](https://github.com/civicrm/civicrm-core/pull/13426))** |
| 158 | |
| 159 | This change makes it so when using ReportInstance.create the domain_id |
| 160 | defaults to the current domain. |
| 161 | |
| 162 | - **Added support to generic settings form for sorting settings by weight. |
| 163 | ([13345](https://github.com/civicrm/civicrm-core/pull/13345))** |
| 164 | |
| 165 | This change makes it so one can order a generic settings form by weight. |
| 166 | |
| 167 | ### CiviCase |
| 168 | |
| 169 | - **C51-384: Added case tokens on Email Activity Modal |
| 170 | ([13473](https://github.com/civicrm/civicrm-core/pull/13473))** |
| 171 | |
| 172 | This change makes case tokens available in the email activity modal. |
| 173 | |
| 174 | - **Translate untranslated string |
| 175 | ([13466](https://github.com/civicrm/civicrm-core/pull/13466))** |
| 176 | |
| 177 | This change makes it so the case activity subject when sending a copy of a |
| 178 | case activity can be translated. |
| 179 | |
| 180 | ### CiviContribute |
| 181 | |
| 182 | - **Speed up loading of contribution tab on contacts with large number of |
| 183 | contributions in a large database |
| 184 | ([13512](https://github.com/civicrm/civicrm-core/pull/13512))** |
| 185 | |
| 186 | This change enhances performance when loading the contribution tab on a |
| 187 | contact. |
| 188 | |
| 189 | - **CRM/Contribute - Add query optimization for creditnote_id |
| 190 | ([13511](https://github.com/civicrm/civicrm-core/pull/13511))** |
| 191 | |
| 192 | This change improves performance when cancelling or refunding contributions. |
| 193 | |
| 194 | - **Fix order api to support a pseudoConstant for financial_type_id |
| 195 | ([13317](https://github.com/civicrm/civicrm-core/pull/13317))** |
| 196 | |
| 197 | This change makes it so the api Order.create supports both the name or the id |
| 198 | for financial_type_id. This improves consistency with Contribution.create api |
| 199 | and others |
| 200 | |
| 201 | ### Backdrop Integration |
| 202 | |
| 203 | - **Add main nav icon for CiviCRM (Backdrop) |
| 204 | ([13481](https://github.com/civicrm/civicrm-core/pull/13481))** |
| 205 | |
| 206 | This change adds the CiviCRM logo to the Backdrop main navigation item for |
| 207 | CiviCRM. |
| 208 | |
| 209 | ### Wordpress Integration |
| 210 | |
| 211 | - **[dev/wordpress#11](https://lab.civicrm.org/dev/wordpress/issues/11) Code |
| 212 | style ([146](https://github.com/civicrm/civicrm-wordpress/pull/146))** |
| 213 | |
| 214 | This change adds an editor config file, that makes it so Editors that respect |
| 215 | `.editorconfig` settings will default to double-space-indented code as is the |
| 216 | Wordpress code style norm. |
| 217 | |
| 218 | ## <a name="bugs"></a>Bugs resolved |
| 219 | |
| 220 | ### Core CiviCRM |
| 221 | |
| 222 | - **[dev/core#434](https://lab.civicrm.org/dev/core/issues/434) Scheduled |
| 223 | Reminder Error On Using Absolute Date With Repeat |
| 224 | ([12923](https://github.com/civicrm/civicrm-core/pull/12923))** |
| 225 | |
| 226 | This change fixes a SQL error when editing a scheduled reminder with an |
| 227 | 'absolute_date' to 'Repeat'. |
| 228 | |
| 229 | - **[dev/core#506](https://lab.civicrm.org/dev/core/issues/506) Advanced Search: |
| 230 | There is an error when the user tries to display results as Cases |
| 231 | ([13480](https://github.com/civicrm/civicrm-core/pull/13480))** |
| 232 | |
| 233 | This change ensures on the Advanced Search Form the "Display Results As" field |
| 234 | only shows enabled components. |
| 235 | |
| 236 | - **[dev/core#731](https://lab.civicrm.org/dev/core/issues/731) Smart Group DB |
| 237 | Errors post-upgrade, specifically 1292 Truncated incorrect DOUBLE value |
| 238 | (https://github.com/civicrm/civicrm-core/pull/13731)** |
| 239 | |
| 240 | A new feature was introduced recently that allows multiple email addresses on |
| 241 | a contact to receive bulk mailings. This changed the "On Hold" field to be |
| 242 | options besides `1` and `0`, and the search was updated to allow searching |
| 243 | multiple values. Old smart groups had not been updated, though: this adds an |
| 244 | upgrade step to fix them. |
| 245 | |
| 246 | - **[dev/core#745](https://lab.civicrm.org/dev/core/issues/745) Smart groups |
| 247 | broken when "Enable multiple bulk email address for a contact" setting is off |
| 248 | ([13754](https://github.com/civicrm/civicrm-core/pull/13754))** |
| 249 | |
| 250 | - **[dev/core#609](https://lab.civicrm.org/dev/core/issues/609) Can't view |
| 251 | "Advanced Search" links on Mailing Report without "View All Contacts" |
| 252 | permission ([13390](https://github.com/civicrm/civicrm-core/pull/13390))** |
| 253 | |
| 254 | This change makes it so that users without the permission "View All Contacts" |
| 255 | can view the "Advanced Search" links on mailing reports. |
| 256 | |
| 257 | - **[dev/core#636](https://lab.civicrm.org/dev/core/issues/636) Custom field for |
| 258 | Address: The "No" value is not defaulted |
| 259 | ([13397](https://github.com/civicrm/civicrm-core/pull/13397))** |
| 260 | |
| 261 | This change ensures that if a contact has selected "No" for an Address custom |
| 262 | field (of type boolean yes/no), when editing that field it defaults to "No". |
| 263 | Before this change, if a user had an Address custom field with the value set |
| 264 | to 0 or False (like "No" does when using a Yes/No boolean) then when editing |
| 265 | that field it would appear unfilled. |
| 266 | |
| 267 | - **[dev/core#649](https://lab.civicrm.org/dev/core/issues/649) DB error on Find |
| 268 | Activities with follow up criteria |
| 269 | ([13420](https://github.com/civicrm/civicrm-core/pull/13420))** |
| 270 | |
| 271 | This change fixes a DB error when using the Find Activities search with the |
| 272 | "Has a Followup Activity" search field sent to "Yes". |
| 273 | |
| 274 | - **[dev/core#650](https://lab.civicrm.org/dev/core/issues/650) Use popups for |
| 275 | links ([13421](https://github.com/civicrm/civicrm-core/pull/13421))** |
| 276 | |
| 277 | This change makes it so that when viewing a membership, when one clicks the |
| 278 | "View Recurring Contribution" Link it opens as a popup instead of as a new |
| 279 | page. This change also makes it so that when viewing a Recurring Contribution |
| 280 | with a membership, when one clicks on the "Membership" it opens in a popup |
| 281 | instead of a new page. |
| 282 | |
| 283 | - **[dev/core#652](https://lab.civicrm.org/dev/core/issues/652) Copying activity |
| 284 | file custom data doesn't copy mime type |
| 285 | ([13427](https://github.com/civicrm/civicrm-core/pull/13427))** |
| 286 | |
| 287 | - **[dev/core#658](https://lab.civicrm.org/dev/core/issues/658) Consider |
| 288 | specifying the $frontend argument as true in getNotifyUrl() |
| 289 | ([13482](https://github.com/civicrm/civicrm-core/pull/13482))** |
| 290 | |
| 291 | This change specifies that Test-drive contribution pages are front end which |
| 292 | ensures that they display on the front end in Wordpress and that the IPN |
| 293 | notification URLs point to the front end. |
| 294 | |
| 295 | - **[dev/core#676](https://lab.civicrm.org/dev/core/issues/676) |
| 296 | CRM_Utils_GeocodeTest throwing test-negatives everywhere |
| 297 | ([13495](https://github.com/civicrm/civicrm-core/pull/13495))** |
| 298 | |
| 299 | - **[dev/core#677](https://lab.civicrm.org/dev/core/issues/677) Current Employer |
| 300 | 'refine search' dropdown includes criteria irrelevant to organisations |
| 301 | ([13493](https://github.com/civicrm/civicrm-core/pull/13493))** |
| 302 | |
| 303 | - **[dev/core#698](https://lab.civicrm.org/dev/core/issues/698) |
| 304 | Organisation/Individual: image isn't displayed |
| 305 | ([13544](https://github.com/civicrm/civicrm-core/pull/13544))** |
| 306 | |
| 307 | This change fixes a bug where Contact images with the .jpg file extension were |
| 308 | not being displayed in Internet Explorer 11. |
| 309 | |
| 310 | - **[dev/core#715](https://lab.civicrm.org/dev/core/issues/715) Cannot delete |
| 311 | relationship type through UI |
| 312 | ([13581](https://github.com/civicrm/civicrm-core/pull/13581))** |
| 313 | |
| 314 | This change fixes a fatal error that was being thrown when deleting a |
| 315 | relationship type. |
| 316 | |
| 317 | - **[dev/core#639](https://lab.civicrm.org/dev/core/issues/639) Note: No |
| 318 | restriction of the Subject field length |
| 319 | ([13403](https://github.com/civicrm/civicrm-core/pull/13403))** |
| 320 | |
| 321 | This change restricts the subject field input to 255 chars, before this change |
| 322 | there was no restriction on the input field (so no validation) but the |
| 323 | database field is limited to 255 chars so entering more than 255 chars would |
| 324 | result in an error. |
| 325 | |
| 326 | - **Used field name defined in DAO file for Activity Subject |
| 327 | ([13530](https://github.com/civicrm/civicrm-core/pull/13530))** |
| 328 | |
| 329 | This change limits the activity subject field input size (before this change |
| 330 | it was unlimited). |
| 331 | |
| 332 | - **Add html type for civicrm_note.privacy field |
| 333 | ([13532](https://github.com/civicrm/civicrm-core/pull/13532))** |
| 334 | |
| 335 | - **l10n.js - Reload when logging in as new user |
| 336 | ([13518](https://github.com/civicrm/civicrm-core/pull/13518))** |
| 337 | |
| 338 | This change prevents a bug where clientside settings could be served from a |
| 339 | stale browser cache when switching users. |
| 340 | |
| 341 | - **Fix permission checks on contact create popups |
| 342 | ([13506](https://github.com/civicrm/civicrm-core/pull/13506))** |
| 343 | |
| 344 | This change ensures that users can only see the buttons to create a new |
| 345 | contact on a profile form if they have permissions to create a new contact. |
| 346 | |
| 347 | - **Fix undefined throwing error in CRM.checkPerm |
| 348 | ([13513](https://github.com/civicrm/civicrm-core/pull/13513))** |
| 349 | |
| 350 | - **Fix broken date fields in survey response form |
| 351 | ([13490](https://github.com/civicrm/civicrm-core/pull/13490))** |
| 352 | |
| 353 | This change fixes a couple broken date fields (that were displaying as blank) |
| 354 | on the Record Survey Responses screen. |
| 355 | |
| 356 | - **setLocale: precaution for when setLocale is called on an unilingual site |
| 357 | ([13465](https://github.com/civicrm/civicrm-core/pull/13465))** |
| 358 | |
| 359 | This change ensures that calling `setLocale()` on a non-multilingual DB does |
| 360 | not result in SQL queries failing. |
| 361 | |
| 362 | - **Fix undefined index warning |
| 363 | ([13433](https://github.com/civicrm/civicrm-core/pull/13433))** |
| 364 | |
| 365 | Fixes an undefined index warning and the recent items list, when viewing an |
| 366 | activity with no subject. |
| 367 | |
| 368 | - **Fix activity.getcount function to filter out unpermitted activities. |
| 369 | ([13377](https://github.com/civicrm/civicrm-core/pull/13377))** |
| 370 | |
| 371 | This change ensures that the activity.getcount function only returns |
| 372 | activities the user is permitted to access. |
| 373 | |
| 374 | - **Do not show delete task option on create new report |
| 375 | ([13402](https://github.com/civicrm/civicrm-core/pull/13402))** |
| 376 | |
| 377 | - **Fix bug where getsingle calls chained actions twice |
| 378 | ([13406](https://github.com/civicrm/civicrm-core/pull/13406))** |
| 379 | |
| 380 | - **Fix \Civi\Token\TokenRow::customToken() failure if field is not set |
| 381 | ([13280](https://github.com/civicrm/civicrm-core/pull/13280))** |
| 382 | |
| 383 | This change ensures that calling \Civi\Token\TokenRow::customToken() with a |
| 384 | custom field that is not set works. |
| 385 | |
| 386 | - **Prevent \Civi\Token\TokenCompatSubscriber::evaluate() erroring when no |
| 387 | contactId is given. |
| 388 | ([13284](https://github.com/civicrm/civicrm-core/pull/13284))** |
| 389 | |
| 390 | - **Format token custom fields with value of 0 correctly |
| 391 | ([13282](https://github.com/civicrm/civicrm-core/pull/13282))** |
| 392 | |
| 393 | - **PHP 7.1 incompatibility error fix for -> Error: Using $this when not in |
| 394 | object context in civicrm_form_data() |
| 395 | ([541](https://github.com/civicrm/civicrm-drupal/pull/541))** |
| 396 | |
| 397 | - **[dev/core#757](https://lab.civicrm.org/dev/core/issues/757) Viewing Contact |
| 398 | Note comments is broken in 5.10.4 |
| 399 | ([13709](https://github.com/civicrm/civicrm-core/pull/13709))** |
| 400 | |
| 401 | - **Don't break loop if address fields not found while formatting rows in |
| 402 | Reports ([13725](https://github.com/civicrm/civicrm-core/pull/13725))** |
| 403 | |
| 404 | This resolves a bug with state/province, country, and county IDs not being |
| 405 | translated into names on CSV export from reports. |
| 406 | |
| 407 | - **[dev/core#768](https://lab.civicrm.org/dev/core/issues/768) Fatal error on |
| 408 | group search ([13738](https://github.com/civicrm/civicrm-core/pull/13738) and |
| 409 | [13743](https://github.com/civicrm/civicrm-core/pull/13743))** |
| 410 | |
| 411 | The query for groups and tags did not properly handle the case when no group |
| 412 | IDs are specified. This caused a fatal error when using Search Builder to |
| 413 | find contacts where groups or tags `IS NULL`. |
| 414 | |
| 415 | ### CiviCase |
| 416 | |
| 417 | - **Case type management fixes |
| 418 | ([12647](https://github.com/civicrm/civicrm-core/pull/12647))** |
| 419 | |
| 420 | This change ensures that only active relationships are displayed when |
| 421 | selecting case roles for a case type. Additionally this change ensures that |
| 422 | users can edit case types activity types even if the case type uses an |
| 423 | activity type that has been deleted. Before this change trying to edit a case |
| 424 | type that used an activity type that had been deleted resulted in a fatal |
| 425 | error. |
| 426 | |
| 427 | - **[dev/core#500](https://lab.civicrm.org/dev/core/issues/500) CiviCase: |
| 428 | dashboard summary count includes cases from inactive relationships |
| 429 | ([13134](https://github.com/civicrm/civicrm-core/pull/13134))** |
| 430 | |
| 431 | This change ensures that only active relationships are counted in the summary |
| 432 | count on the case dashboard. |
| 433 | |
| 434 | - **[dev/core#670](https://lab.civicrm.org/dev/core/issues/670) Cases: Edit |
| 435 | Activity does not save tags |
| 436 | ([13486](https://github.com/civicrm/civicrm-core/pull/13486))** |
| 437 | |
| 438 | - **[dev/core#681](https://lab.civicrm.org/dev/core/issues/681) - Fatal Error on |
| 439 | submitting "Change Case Status" activity form. |
| 440 | ([13497](https://github.com/civicrm/civicrm-core/pull/13497))** |
| 441 | |
| 442 | - **[dev/core#693](https://lab.civicrm.org/dev/core/issues/693) On contact |
| 443 | summary page, on submitting a 'New Case' form doesn't redirect to 'Manage |
| 444 | Case' screen ([13527](https://github.com/civicrm/civicrm-core/pull/13527))** |
| 445 | |
| 446 | - **Display error instead of fatal error when trying to view a case that you |
| 447 | don't have permission to access |
| 448 | ([13505](https://github.com/civicrm/civicrm-core/pull/13505))** |
| 449 | |
| 450 | ### CiviContribute |
| 451 | |
| 452 | - **[dev/financial#39](https://lab.civicrm.org/dev/financial/issues/39) |
| 453 | Authorize.net doesn't support MD5 hashing at the end of the month |
| 454 | ([13474](https://github.com/civicrm/civicrm-core/pull/13474))** |
| 455 | |
| 456 | Authorize.net is phasing out MD5 based transHash element in favor of the |
| 457 | SHA-512 based transHashSHA2. This change removes the MD5 check in the |
| 458 | Authorize.net payment processor to prevent it from breaking when MD5 based |
| 459 | transHash is phased out. |
| 460 | |
| 461 | - **[dev/financial#46](https://lab.civicrm.org/dev/financial/issues/46) |
| 462 | (Regression) Contribution page amounts change on save when > $1,000 |
| 463 | ([13721](https://github.com/civicrm/civicrm-core/pull/13721) and |
| 464 | [13723](https://github.com/civicrm/civicrm-core/pull/13723))** |
| 465 | |
| 466 | This formats money at the form layer on the contribution page in order to |
| 467 | avoid problems with the comma (in locales using it as a thousands delimiter) |
| 468 | is treated as a decimal delimiter. |
| 469 | |
| 470 | - **Do not check financial permissions on contribution.create if |
| 471 | check_perrmissions is FALSE. |
| 472 | ([13318](https://github.com/civicrm/civicrm-core/pull/13318))** |
| 473 | |
| 474 | - **Simplify billingblock in Contribution/Form/Main template |
| 475 | ([13437](https://github.com/civicrm/civicrm-core/pull/13437))** |
| 476 | |
| 477 | This change ensures the billing block is only loaded once. Before this change |
| 478 | it was being loaded twice once by CRM/Financial/Form/Payment.tpl and once by |
| 479 | CRM/Core/BillingBlock.tpl. |
| 480 | |
| 481 | - **Convert Paypal Standard IPN payment_date to system's time zone |
| 482 | ([13439](https://github.com/civicrm/civicrm-core/pull/13439))** |
| 483 | |
| 484 | This change ensures the Paypal Standard IPN payment_date uses the system's time |
| 485 | zone. Before this change the `payment_date` was set to the local time for Paypal |
| 486 | (a Pacific time zone of `PST` or `PDT` is part of the timestamp). This led to |
| 487 | the wrong time being written to the database. |
| 488 | |
| 489 | - **Remove inappropriate exception handling. |
| 490 | ([13442](https://github.com/civicrm/civicrm-core/pull/13442))** |
| 491 | |
| 492 | This change removes an exception when a payment is recorded through the api |
| 493 | for a contribution that has a status other than "Partially paid" or "Pending |
| 494 | (pay later)". |
| 495 | |
| 496 | - **[dev/core#586](https://lab.civicrm.org/dev/core/issues/586) PCP Report does |
| 497 | not show accurate total amount and total donors |
| 498 | ([13252](https://github.com/civicrm/civicrm-core/pull/13252))** |
| 499 | |
| 500 | This change ensures that the "Personal Campaign Page Report" provides accurate |
| 501 | numbers for the "Committed Amount" and the "Number of Donors" in the report |
| 502 | rows. |
| 503 | |
| 504 | - **[dev/core#756](https://lab.civicrm.org/dev/core/issues/756) Error on |
| 505 | Contributions tab with soft credits in multiple currencies |
| 506 | ([13711](https://github.com/civicrm/civicrm-core/pull/13711))** |
| 507 | |
| 508 | ### CiviEvent |
| 509 | |
| 510 | - **[dev/core#646](https://lab.civicrm.org/dev/core/issues/646) Event date |
| 511 | sorting doesn't work for ical listing |
| 512 | ([13409](https://github.com/civicrm/civicrm-core/pull/13409))** |
| 513 | |
| 514 | This change ensures that on the ical listing of events, when sorting by event |
| 515 | dates, the dates get sorted by ASC/DSC for start date instead of alphabetical |
| 516 | order. |
| 517 | |
| 518 | - **[dev/core#766](https://lab.civicrm.org/dev/core/issues/766) New Event using |
| 519 | a template - clicking "Continue" doesn't save custom data |
| 520 | ([13755](https://github.com/civicrm/civicrm-core/pull/13755))** |
| 521 | |
| 522 | - **Don't require CiviEvent permission to create repeating activity |
| 523 | ([13405](https://github.com/civicrm/civicrm-core/pull/13405))** |
| 524 | |
| 525 | ### CiviMail |
| 526 | |
| 527 | - **[dev/mail#32](https://lab.civicrm.org/dev/mail/issues/32) Deduping test |
| 528 | email is case sensitive |
| 529 | ([13401](https://github.com/civicrm/civicrm-core/pull/13401) and |
| 530 | [13392](https://github.com/civicrm/civicrm-core/pull/13392))** |
| 531 | |
| 532 | When composing a mailing, the email address used in the "send test email to" |
| 533 | field at the bottom is deduped, this change ensures that the deduping is not |
| 534 | case sensitive so that emails that are the same but have different upper/lower |
| 535 | case combinations match appropriately. |
| 536 | |
| 537 | - **[dev/mail#36](https://lab.civicrm.org/dev/mail/issues/36) Bounce processing |
| 538 | fails for invalid unicode characters |
| 539 | ([13396](https://github.com/civicrm/civicrm-core/pull/13396))** |
| 540 | |
| 541 | This change ensures that bounce messages containing invalid unicode characters |
| 542 | are processed. Before this change an exception was thrown and a bounce was not |
| 543 | stored in the datebase, but mail was moved to the processed folder. After this |
| 544 | change: invalid characters are replaced with unicode replacement characters, |
| 545 | No exception is thrown and the bounce is saved. |
| 546 | |
| 547 | - **[dev/mail#37](https://lab.civicrm.org/dev/mail/issues/37) Bounce processing |
| 548 | fails for 4-byte unicode characters |
| 549 | ([13419](https://github.com/civicrm/civicrm-core/pull/13419))** |
| 550 | |
| 551 | This change ensures that bounce messages containing 4-byte unicode characters |
| 552 | are processed appropriately. Before this change when a bounce message |
| 553 | contained a 4-byte unicode character: an exception was thrown, the bounce was |
| 554 | not stored in the database, the mail was moved to the processed folder. After |
| 555 | this change: 4-bytes unicode characters are replaced with unicode replacement |
| 556 | characters, no exception is thrown and the bounce is saved. |
| 557 | |
| 558 | ### CiviMember |
| 559 | |
| 560 | - **[dev/core#644](https://lab.civicrm.org/dev/core/issues/644) "From" address |
| 561 | on membership renewal notices is wrong |
| 562 | ([13408](https://github.com/civicrm/civicrm-core/pull/13408), |
| 563 | [13407](https://github.com/civicrm/civicrm-core/pull/13407), and |
| 564 | [13737](https://github.com/civicrm/civicrm-core/pull/13737))** |
| 565 | |
| 566 | This change ensures Membership renewal notifications and receipts are sent |
| 567 | "From" the logged-in users name and email. Before this change the "From" was |
| 568 | set as the logged in users contact id. |
| 569 | |
| 570 | - **Membership custom fields sometimes don't display |
| 571 | ([13411](https://github.com/civicrm/civicrm-core/pull/13411))** |
| 572 | |
| 573 | There change fixes a bug where some Membership custom field sets would |
| 574 | sometimes not display. |
| 575 | |
| 576 | - **[dev/membership#10](https://lab.civicrm.org/dev/membership/issues/10) "Start |
| 577 | date must be the same or later than Member since" triggered when dates are the |
| 578 | same ([13734](https://github.com/civicrm/civicrm-core/pull/13734))** |
| 579 | |
| 580 | ### Drupal Integration |
| 581 | |
| 582 | - **[dev/drupal#43](https://lab.civicrm.org/dev/drupal/issues/43) Drupal8: |
| 583 | composer requires psr/log ~1.0.0, incompatible with psr/log 1.1.0 |
| 584 | ([13424](https://github.com/civicrm/civicrm-core/pull/13424))** |
| 585 | |
| 586 | This change updates the civicrm-cxn-rpc and psr/log requirements so that they |
| 587 | are a compatible with Drupal8. |
| 588 | |
| 589 | - **[dev/core#381](https://lab.civicrm.org/dev/core/issues/381) |
| 590 | civicrm/file/imagefile serving up wrong images |
| 591 | ([542](https://github.com/civicrm/civicrm-drupal/pull/542))** |
| 592 | |
| 593 | This change fixes a bug where files saved in CiviCRM with ids and event ids |
| 594 | were not loading properly in drupal views. |
| 595 | |
| 596 | - **Email sent from CiviCRM for a new Case and Activity does not evaluate the |
| 597 | $activityTypeName or $manageCaseURL tokens |
| 598 | ([13324](https://github.com/civicrm/civicrm-core/pull/13324))** |
| 599 | |
| 600 | ### Wordpress Integration |
| 601 | |
| 602 | - **Fix shortcode button when popup setting is disabled |
| 603 | ([13502](https://github.com/civicrm/civicrm-core/pull/13502) and |
| 604 | [145](https://github.com/civicrm/civicrm-wordpress/pull/145))** |
| 605 | |
| 606 | This change makes it so that the WP shortcode button works regardless of |
| 607 | whether ajax popups are disabled in CiviCRM settings. |
| 608 | |
| 609 | - **[dev/core#666](https://lab.civicrm.org/dev/core/issues/666) Prevent trailing |
| 610 | ampersand in some URLs in WordPress |
| 611 | ([13461](https://github.com/civicrm/civicrm-core/pull/13461))** |
| 612 | |
| 613 | ## <a name="misc"></a>Miscellany |
| 614 | |
| 615 | - **[dev/core#647](https://lab.civicrm.org/dev/core/issues/647) Not all unit |
| 616 | tests classes are used by jenkins |
| 617 | ([13415](https://github.com/civicrm/civicrm-core/pull/13415) and |
| 618 | [13416](https://github.com/civicrm/civicrm-core/pull/13416))** |
| 619 | |
| 620 | - **Deprecate unused function |
| 621 | ([13452](https://github.com/civicrm/civicrm-core/pull/13452))** |
| 622 | |
| 623 | - **Removed '>' from comment |
| 624 | ([13492](https://github.com/civicrm/civicrm-core/pull/13492))** |
| 625 | |
| 626 | - **Fix regression whereby making receive_date required breaks back offic… |
| 627 | ([13572](https://github.com/civicrm/civicrm-core/pull/13572))** |
| 628 | |
| 629 | - **Update 5.10.0.md |
| 630 | ([13552](https://github.com/civicrm/civicrm-core/pull/13552))** |
| 631 | |
| 632 | - **(NFC) Add 'schema' to \Civi\Token\TokenProcessor() |
| 633 | ([13286](https://github.com/civicrm/civicrm-core/pull/13286))** |
| 634 | |
| 635 | - **(NFC) Add listTokens() function to return formatted list of tokens for forms |
| 636 | ([13279](https://github.com/civicrm/civicrm-core/pull/13279))** |
| 637 | |
| 638 | - **(NFC) Ensure that when loading in the test data it is done with UTF8 … |
| 639 | ([13413](https://github.com/civicrm/civicrm-core/pull/13413))** |
| 640 | |
| 641 | - **(NFC) Add unit test of creating notes from the contact.create API |
| 642 | ([13471](https://github.com/civicrm/civicrm-core/pull/13471))** |
| 643 | |
| 644 | - **[tidy-up] remove a couple of useless bits of code |
| 645 | ([13447](https://github.com/civicrm/civicrm-core/pull/13447))** |
| 646 | |
| 647 | - **Add unit test for emailing receipts from additional payment page |
| 648 | ([13455](https://github.com/civicrm/civicrm-core/pull/13455))** |
| 649 | |
| 650 | - **remove duplicated call to createCreditNoteId() |
| 651 | ([13509](https://github.com/civicrm/civicrm-core/pull/13509))** |
| 652 | |
| 653 | - **[REF] Replace ->assign with CRM_Core_Smarty::singleton()->assign in |
| 654 | preparation for making function shareable |
| 655 | ([13444](https://github.com/civicrm/civicrm-core/pull/13444))** |
| 656 | |
| 657 | - **[REF] Create pseudo bao CRM_Financial_BAO_Payment & move create function to |
| 658 | it ([13443](https://github.com/civicrm/civicrm-core/pull/13443))** |
| 659 | |
| 660 | - **REF Convert forms to standard customData template |
| 661 | ([13412](https://github.com/civicrm/civicrm-core/pull/13412))** |
| 662 | |
| 663 | - **REF Remove redundant function |
| 664 | ([13428](https://github.com/civicrm/civicrm-core/pull/13428))** |
| 665 | |
| 666 | - **(REF) Make activeTokens a class property of |
| 667 | \Civi\Token\AbstractTokenSubscriber |
| 668 | ([13278](https://github.com/civicrm/civicrm-core/pull/13278))** |
| 669 | |
| 670 | - **REF Remove duplicate call to session singleton |
| 671 | ([13458](https://github.com/civicrm/civicrm-core/pull/13458))** |
| 672 | |
| 673 | - **REF Remove undefined variable when creating note |
| 674 | ([13457](https://github.com/civicrm/civicrm-core/pull/13457))** |
| 675 | |
| 676 | - **(REF) Add CRM_Utils_Cache::nack(). Use it for NaiveHasTrait. |
| 677 | ([13500](https://github.com/civicrm/civicrm-core/pull/13500))** |
| 678 | |
| 679 | - **[dev/core#562](https://lab.civicrm.org/dev/core/issues/562) Remove instances |
| 680 | of $dao->free ([13393](https://github.com/civicrm/civicrm-core/pull/13393))** |
| 681 | |
| 682 | - **Re-run gencode for fix on PriceField DAO |
| 683 | ([13547](https://github.com/civicrm/civicrm-core/pull/13547))** |
| 684 | |
| 685 | - **Performance fix for alternate getActivity listing function |
| 686 | ([13522](https://github.com/civicrm/civicrm-core/pull/13522))** |
| 687 | |
| 688 | - **Convert deprecated OptionGroup::getLabel to PseudoConstant::getLabel for |
| 689 | cases ([13460](https://github.com/civicrm/civicrm-core/pull/13460))** |
| 690 | |
| 691 | - **removed unwanted parameter from getLineItems() |
| 692 | ([13479](https://github.com/civicrm/civicrm-core/pull/13479))** |
| 693 | |
| 694 | - **Escape the header title & section title in reports to better support |
| 695 | extensions ([13453](https://github.com/civicrm/civicrm-core/pull/13453))** |
| 696 | |
| 697 | - **Upgrade Jquery contained within KcFinder |
| 698 | ([239](https://github.com/civicrm/civicrm-packages/pull/239))** |
| 699 | |
| 700 | - **Remove tests that no longer work due to dead service |
| 701 | ([13673](https://github.com/civicrm/civicrm-core/pull/13673))** |
| 702 | |
| 703 | ## <a name="credits"></a>Credits |
| 704 | |
| 705 | This release was developed by the following code authors: |
| 706 | |
| 707 | AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Agileware Team, Alok |
| 708 | Patel, Francis Whittle, Justin Freeman; Australian Greens - Seamus Lee; CEDC - |
| 709 | Laryn Kragt Bakker; Christian Wach; Circle Interactive - Dave Jenkins; CiviCRM - |
| 710 | Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Debarshi |
| 711 | Bhaumik, René Olivo, Vinu Varshith Sekar; Coop SymbioTIC - Mathieu Lutfy; |
| 712 | Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Frank |
| 713 | J. Gómez; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - |
| 714 | Patrick Figel; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; Joinery - |
| 715 | Allen Shaw; Ken West; Liquid Web, Inc. - Jason Gillman Jr.; Megaphone Technology |
| 716 | Consulting - Jon Goldberg; MillerTech - Chamil Wijesooriya; MJW Consulting - |
| 717 | Matthew Wire; Oxfam Germany - Thomas Schüttler; PeaceWorks Technology Solutions - |
| 718 | Martin Hansen; Pradeep Nayak; Progressive Technology Project - Jamie |
| 719 | McClelland; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen |
| 720 | McNaughton |
| 721 | |
| 722 | Most authors also reviewed code for this release; in addition, the following |
| 723 | reviewers contributed their comments: |
| 724 | |
| 725 | British Humanist Association - Andrew West; CiviDesk - Nicolas Ganivet; Clare |
| 726 | Marsh; CompuCorp - Shitij Gugnani; Fuzion - Peter Davis; JMA Consulting - Joe |
| 727 | Murray; Lighthouse Design and Consulting - Brian Shaughnessy; Richard van |
| 728 | Oosterhout; QED42 - Swastik Pareek; Tadpole Collective - Kevin Cristiano |
| 729 | |
| 730 | ## <a name="feedback"></a>Feedback |
| 731 | |
| 732 | These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like |
| 733 | to provide feedback on them, please log in to https://chat.civicrm.org/civicrm |
| 734 | and contact `@agh1`. |