| 1 | # CiviCRM 5.12.0 |
| 2 | |
| 3 | Released April 3, 2019 |
| 4 | |
| 5 | - **[Synopsis](#synopsis)** |
| 6 | - **[Features](#features)** |
| 7 | - **[Bugs resolved](#bugs)** |
| 8 | - **[Miscellany](#misc)** |
| 9 | - **[Credits](#credits)** |
| 10 | - **[Feedback](#feedback)** |
| 11 | |
| 12 | |
| 13 | ## <a name="synopsis"></a>Synopsis |
| 14 | |
| 15 | | *Does this version...?* | | |
| 16 | |:--------------------------------------------------------------- |:-------:| |
| 17 | | Fix security vulnerabilities? | no | |
| 18 | | **Change the database schema?** | **yes** | |
| 19 | | **Alter the API?** | **yes** | |
| 20 | | **Require attention to configuration options?** | **yes** | |
| 21 | | **Fix problems installing or upgrading to a previous version?** | **yes** | |
| 22 | | **Introduce features?** | **yes** | |
| 23 | | **Fix bugs?** | **yes** | |
| 24 | |
| 25 | ## <a name="features"></a>Features |
| 26 | |
| 27 | ### Core CiviCRM |
| 28 | |
| 29 | - **Migrate KAM smartmenus to core |
| 30 | ([13582](https://github.com/civicrm/civicrm-core/pull/13582), |
| 31 | [240](https://github.com/civicrm/civicrm-packages/pull/240), |
| 32 | [13612](https://github.com/civicrm/civicrm-core/pull/13612), |
| 33 | [13729](https://github.com/civicrm/civicrm-core/pull/13729), |
| 34 | [13820](https://github.com/civicrm/civicrm-core/pull/13820), and |
| 35 | [13876](https://github.com/civicrm/civicrm-core/pull/13876))** |
| 36 | |
| 37 | The Keyboard Accessible Menus extension is now moved to core, replacing the |
| 38 | CiviCRM navigation menu with a grey one provided by the SmartMenus jQuery |
| 39 | plugin. The new menu is mobile-responsive and more accessible. |
| 40 | |
| 41 | - **[dev/core#657](https://lab.civicrm.org/dev/core/issues/657) Add filter for |
| 42 | country on Repeat Contributions Report |
| 43 | ([13432](https://github.com/civicrm/civicrm-core/pull/13432))** |
| 44 | |
| 45 | This change adds a filter for Country to the Repeat Contributions Report. |
| 46 | |
| 47 | - **[dev/core#690](https://lab.civicrm.org/dev/core/issues/690) Support more |
| 48 | entities in Attachment API by short-circuiting permission check |
| 49 | ([13529](https://github.com/civicrm/civicrm-core/pull/13529))** |
| 50 | |
| 51 | You can now use the Attachment API to update attachment custom fields on |
| 52 | Memberships and several other entities. |
| 53 | |
| 54 | - **[dev/core#561](https://lab.civicrm.org/dev/core/issues/561) Replace |
| 55 | jcalendar instances with datepicker |
| 56 | ([13704](https://github.com/civicrm/civicrm-core/pull/13704), |
| 57 | [13701](https://github.com/civicrm/civicrm-core/pull/13701) and |
| 58 | [13746](https://github.com/civicrm/civicrm-core/pull/13746)) Continued Work** |
| 59 | |
| 60 | These changes update the following places to use the datepicker instead of the |
| 61 | jcalendar widget: the age field on the Advanced Search form in the |
| 62 | Demographics section, the activity date time field on the find activites form, |
| 63 | and the date field on the Change Case Type Form. Additionally on the Find |
| 64 | Activities form these changes make it possible to pass the activity_date_time |
| 65 | criteria in the url. |
| 66 | |
| 67 | - **Add install and runtime status warnings if MySQL utf8mb4 is not supported |
| 68 | ([13425](https://github.com/civicrm/civicrm-core/pull/13425) and |
| 69 | [13682](https://github.com/civicrm/civicrm-core/pull/13682))** |
| 70 | |
| 71 | This change adds a warning to the system status page, as well as at install |
| 72 | time, if a site's MySQL server does not support the utf8mb4 character set. See |
| 73 | also [dev/core#749](https://lab.civicrm.org/dev/core/issues/749) for an |
| 74 | intra-release regression related to this. |
| 75 | |
| 76 | - **Record change log entry when contact is moved to or restored from trash |
| 77 | ([13276](https://github.com/civicrm/civicrm-core/pull/13276))** |
| 78 | |
| 79 | This change makes it so that a change log entry is created when a contact is |
| 80 | moved to the trash or restored from the trash. |
| 81 | |
| 82 | - **Towards supporting EntityForm for 'View Action' |
| 83 | ([13578](https://github.com/civicrm/civicrm-core/pull/13578))** |
| 84 | |
| 85 | This change enhances support for viewing entities in the abstracted |
| 86 | "EntityForm" code. This may be used in the future to standardize viewing and |
| 87 | editing CiviCRM entities. |
| 88 | |
| 89 | - **Standardize format for entityRef create links |
| 90 | ([13628](https://github.com/civicrm/civicrm-core/pull/13628))** |
| 91 | |
| 92 | This change standardizes the creation links in entity reference fields so that |
| 93 | they are pre-loaded for the client and so that they work equally well with all |
| 94 | entities. |
| 95 | |
| 96 | - **Add in Exception API to support the refactor of Dedupe Exception Page |
| 97 | ([13611](https://github.com/civicrm/civicrm-core/pull/13611))** |
| 98 | |
| 99 | This change adds an API to create, get, and delete dedupe exceptions. |
| 100 | |
| 101 | - **CRM.loadScript improvements |
| 102 | ([13555](https://github.com/civicrm/civicrm-core/pull/13555))** |
| 103 | |
| 104 | This change makes it so that dynamically loaded scripts are not served from |
| 105 | stale browser caches and allows angular apps to dynamically load scripts. |
| 106 | |
| 107 | - **Make submitOnce() button js into a button parameter |
| 108 | ([13333](https://github.com/civicrm/civicrm-core/pull/13333))** |
| 109 | |
| 110 | This change makes it so that developers can set a button as submit only once |
| 111 | using the parameter `submitOnce = TRUE`. |
| 112 | |
| 113 | - **[dev/core#562](https://lab.civicrm.org/dev/core/issues/562) Remove instances |
| 114 | of $dao->free ([13560](https://github.com/civicrm/civicrm-core/pull/13560) and |
| 115 | [13564](https://github.com/civicrm/civicrm-core/pull/13564)) Continued Work** |
| 116 | |
| 117 | These changes improve performance by removing instances of $dao->free. |
| 118 | |
| 119 | - **Upgrade PHPWord |
| 120 | ([13686](https://github.com/civicrm/civicrm-core/pull/13686))** |
| 121 | |
| 122 | CiviCRM now contains an updated version of the code library for generating |
| 123 | Word documents. |
| 124 | |
| 125 | ### CiviContribute |
| 126 | |
| 127 | - **Add pseudoconstant for payment_processor_id to contributionrecur |
| 128 | ([13702](https://github.com/civicrm/civicrm-core/pull/13702)) Continued Work** |
| 129 | |
| 130 | This change alters the schema to add support for payment_processor_id as a |
| 131 | pseudoconstant for recurring contributions. |
| 132 | |
| 133 | - **[dev/core#767](https://lab.civicrm.org/dev/core/issues/767) Add 'Cancelled / |
| 134 | Refunded Date' and 'Cancellation / Refund Reason' in the Detail Contributions |
| 135 | Report ([13726](https://github.com/civicrm/civicrm-core/pull/13726))** |
| 136 | |
| 137 | This change adds the fields and filters 'Cancelled / Refunded Date' and |
| 138 | 'Cancellation / Refund Reason' to the Contribution Detail report. |
| 139 | |
| 140 | - **[dev/report#8](https://lab.civicrm.org/dev/report/issues/8) Contribution |
| 141 | reports don't include thank-you date |
| 142 | ([13653](https://github.com/civicrm/civicrm-core/pull/13653))** |
| 143 | |
| 144 | This change adds the "thank you date" field to the Contribution Summary and |
| 145 | Detail reports. |
| 146 | |
| 147 | - **[dev/core#735](https://lab.civicrm.org/dev/core/issues/735) Query |
| 148 | performance - suppress 'product' and related fields where products are not in |
| 149 | the database ([13638](https://github.com/civicrm/civicrm-core/pull/13638))** |
| 150 | |
| 151 | This change removes the "Premium" column from the Contribution tab for sites |
| 152 | that do not use products and improves performance on those sites by not |
| 153 | searching for product related fields. |
| 154 | |
| 155 | - **Speed up contribution results by removing join on civicrm_financial_type |
| 156 | table when rendering search results. |
| 157 | ([13720](https://github.com/civicrm/civicrm-core/pull/13720))** |
| 158 | |
| 159 | This change improves performance when searching contributions. |
| 160 | |
| 161 | - **Allow viewing of cancelled recurring contributions |
| 162 | ([13745](https://github.com/civicrm/civicrm-core/pull/13745))** |
| 163 | |
| 164 | It is now possible to view canceled recurring contributions through the user |
| 165 | interface. |
| 166 | |
| 167 | - **Add new Payment.sendconfirmation api |
| 168 | ([13610](https://github.com/civicrm/civicrm-core/pull/13610), |
| 169 | [13561](https://github.com/civicrm/civicrm-core/pull/13561) and |
| 170 | [13609](https://github.com/civicrm/civicrm-core/pull/13609))** |
| 171 | |
| 172 | A new Payment.sendconfirmation API method is available for generating payment |
| 173 | confirmation emails. |
| 174 | |
| 175 | - **Switch additional payment form to use Payment.sendconfirmation api |
| 176 | ([13649](https://github.com/civicrm/civicrm-core/pull/13649))** |
| 177 | |
| 178 | The additional payment form now generates confirmation emails using the new |
| 179 | Payment.sendconfirmation API. |
| 180 | |
| 181 | - **Payment notification formatting, move greeting into table |
| 182 | ([13669](https://github.com/civicrm/civicrm-core/pull/13669))** |
| 183 | |
| 184 | The greeting in the payment notification email is now aligned with the table |
| 185 | of payment information. |
| 186 | |
| 187 | - **Update Payment Notification to use greeting, remove text to 'Please print |
| 188 | this confirmation for your records. |
| 189 | ([13655](https://github.com/civicrm/civicrm-core/pull/13655))** |
| 190 | |
| 191 | The Payment Notification email no longer asks recipients to "Please print this |
| 192 | confirmation for your records." It also is updated to use the email_greeting |
| 193 | instead of the display_name for the greeting. |
| 194 | |
| 195 | - **Contribution/ContributionRecur metadata updates for EntityForm |
| 196 | ([13579](https://github.com/civicrm/civicrm-core/pull/13579))** |
| 197 | |
| 198 | These changes update the metadata for Contribution and ContributionRecur so |
| 199 | that they can be used to autogenerate forms with EntityForm. |
| 200 | |
| 201 | ### CiviMember |
| 202 | |
| 203 | - **CiviCRM Membership Detail report, add column to display if membership is |
| 204 | Primary or Inherited |
| 205 | ([13736](https://github.com/civicrm/civicrm-core/pull/13736))** |
| 206 | |
| 207 | This change adds a column "Primary/Inherited?" to the Membership Detail |
| 208 | report. |
| 209 | |
| 210 | ### Drupal Integration |
| 211 | |
| 212 | - **Make address Supplemental line 3 available to views |
| 213 | ([551](https://github.com/civicrm/civicrm-drupal/pull/551))** |
| 214 | |
| 215 | This change makes it so that one can use the address field "Supplemental |
| 216 | Address 3" in a view. |
| 217 | |
| 218 | ### Joomla Integration |
| 219 | |
| 220 | - **Improves styling on Joomla! upgrade screen |
| 221 | ([13557](https://github.com/civicrm/civicrm-core/pull/13557))** |
| 222 | |
| 223 | This change improves the styling of the Joomla upgrade screen. |
| 224 | |
| 225 | ## <a name="bugs"></a>Bugs resolved |
| 226 | |
| 227 | ### Core CiviCRM |
| 228 | |
| 229 | - **[dev/core#842](https://lab.civicrm.org/dev/core/issues/842) Regression?? |
| 230 | Inline editing of website field deletes it |
| 231 | ([13939](https://github.com/civicrm/civicrm-core/pull/13939))** |
| 232 | |
| 233 | This resolves a bug where editing a website field inline on the contact |
| 234 | summary tab sometimes would delete the field entirely. |
| 235 | |
| 236 | - **[dev/core#190](https://lab.civicrm.org/dev/core/issues/190) custom data with |
| 237 | multiple records profile: after submission, profile view shows first record |
| 238 | instead of most recent |
| 239 | ([12337](https://github.com/civicrm/civicrm-core/pull/12337))** |
| 240 | |
| 241 | When submitting a profile with files that allow multiple records, the most |
| 242 | recently created record is now retrieved on the confirmation page. Before |
| 243 | this change, the first record was retrieved. |
| 244 | |
| 245 | - **Fix (sometimes serious) performance problem on submitting profiles for |
| 246 | specified contacts |
| 247 | ([13606](https://github.com/civicrm/civicrm-core/pull/13606))** |
| 248 | |
| 249 | - **[dev/core#748](https://lab.civicrm.org/dev/core/issues/748) Deadlocks and |
| 250 | performance issues when using smartgroups / ACLs extensively |
| 251 | ([13732](https://github.com/civicrm/civicrm-core/pull/13732))** |
| 252 | |
| 253 | This change improves performance of many queries by no longer using the |
| 254 | `UPPER()` and `LOWER()` MySQL functions. |
| 255 | |
| 256 | - **[dev/core#397](https://lab.civicrm.org/dev/core/issues/397) Dedupe for |
| 257 | Individual Birth Date Results in Error |
| 258 | ([13538](https://github.com/civicrm/civicrm-core/pull/13538))** |
| 259 | |
| 260 | This change fixes a fatal error when using a dedupe rule with the birth date |
| 261 | field. |
| 262 | |
| 263 | - **[dev/core#821](https://lab.civicrm.org/dev/core/issues/821) Activity: |
| 264 | Assigned to: It is not possible to search by the "refine search" drop-down |
| 265 | ([13893](https://github.com/civicrm/civicrm-core/pull/13893))** |
| 266 | |
| 267 | When setting an activity assignee, a bug prevented using the filters in the |
| 268 | contact reference field. |
| 269 | |
| 270 | - **[dev/core#580](https://lab.civicrm.org/dev/core/issues/580) No groups |
| 271 | displayed on Manage Groups when "All Groups" is selected |
| 272 | ([13373](https://github.com/civicrm/civicrm-core/pull/13373))** |
| 273 | |
| 274 | This resolves a bug where if a user had an ACL that gave them permission to |
| 275 | Edit "All Groups" but did not have the permission "View All Contacts", on the |
| 276 | "Manage Groups" screen no groups would appear. |
| 277 | |
| 278 | - **[dev/core#642](https://lab.civicrm.org/dev/core/issues/642) New Contact |
| 279 | Report: New report isn't created automatically when the user selects the |
| 280 | "Create Report" action |
| 281 | ([13404](https://github.com/civicrm/civicrm-core/pull/13404))** |
| 282 | |
| 283 | This resolves a Javascript error when attempting to create a new report from |
| 284 | the Constituent Report (Summary) template. |
| 285 | |
| 286 | - **[dev/core#683](https://lab.civicrm.org/dev/core/issues/683) Incorrectly |
| 287 | encoded state and country names |
| 288 | ([13591](https://github.com/civicrm/civicrm-core/pull/13591))** |
| 289 | |
| 290 | This change ensures that when countries and state/provinces are added they use |
| 291 | proper character encoding. |
| 292 | |
| 293 | - **[dev/core#691](https://lab.civicrm.org/dev/core/issues/691) It is no longer |
| 294 | possible to have the default country not set |
| 295 | ([13523](https://github.com/civicrm/civicrm-core/pull/13523))** |
| 296 | |
| 297 | This change makes the default country field on the settings form optional, |
| 298 | before this change it was required. |
| 299 | |
| 300 | - **[dev/core#700](https://lab.civicrm.org/dev/core/issues/700) Advanced Search: |
| 301 | The reason of failed search result is not displayed, when a contact with the |
| 302 | matching Contact ID was not found |
| 303 | ([13549](https://github.com/civicrm/civicrm-core/pull/13549))** |
| 304 | |
| 305 | When using the Advanced Search form to search by contact ID, this change |
| 306 | ensures that if there is no matching contact the message states the search |
| 307 | criteria. |
| 308 | |
| 309 | - **[dev/core#708](https://lab.civicrm.org/dev/core/issues/708) Advanced Search: |
| 310 | The "Modified By" option was set instead of "Added by" |
| 311 | ([13566](https://github.com/civicrm/civicrm-core/pull/13566))** |
| 312 | |
| 313 | In Advanced Search, the listing of search criteria for searches yielding no |
| 314 | results would display "modified by" when "added by" was a criterion. |
| 315 | |
| 316 | - **[dev/core#705](https://lab.civicrm.org/dev/core/issues/705) Disabling |
| 317 | Alphabetical Pager is not respected for events and contribution pages. |
| 318 | ([13592](https://github.com/civicrm/civicrm-core/pull/13592))** |
| 319 | |
| 320 | - **[dev/core#714](https://lab.civicrm.org/dev/core/issues/714) Manage groups: |
| 321 | Error: "API permission check failed for Group/create call; insufficient |
| 322 | permission" when the user tries to edit some group's details |
| 323 | ([13573](https://github.com/civicrm/civicrm-core/pull/13573))** |
| 324 | |
| 325 | On the Manage Groups form, if a user does not have permissions to edit a |
| 326 | group, the edit link is disabled. |
| 327 | |
| 328 | - **[dev/core#742](https://lab.civicrm.org/dev/core/issues/742) Repeated |
| 329 | warning: "simplexml_load_file(): I/O warning : failed to load external entity |
| 330 | ".../xml/Menu/Activity.xml" |
| 331 | ([13654](https://github.com/civicrm/civicrm-core/pull/13654))** |
| 332 | |
| 333 | This change fixes warnings regarding failing to parse the XML file when |
| 334 | clearing the CiviCRM caches. |
| 335 | |
| 336 | - **[dev/report#11](https://lab.civicrm.org/dev/report/issues/11) Soft Credit |
| 337 | report fails when Only Full Group By is enabled |
| 338 | ([13671](https://github.com/civicrm/civicrm-core/pull/13671))** |
| 339 | |
| 340 | - **Remove mcrypt system status check |
| 341 | ([13770](https://github.com/civicrm/civicrm-core/pull/13770))** |
| 342 | |
| 343 | PHP 7.2 does not support mcrypt, which is being deprecated. This removes the |
| 344 | status check that would notify administrators if mcrypt is not installed. |
| 345 | |
| 346 | - **Fix api bug whereby 0 & '0' are not accepted as range parameters for BETWEEN |
| 347 | ([13766](https://github.com/civicrm/civicrm-core/pull/13766))** |
| 348 | |
| 349 | - **Render Note field tokens correctly - they are already HTML. |
| 350 | ([13283](https://github.com/civicrm/civicrm-core/pull/13283))** |
| 351 | |
| 352 | - **Rationalise Activity api ACLs for consistency, to respect the hook & improve |
| 353 | performance ([13664](https://github.com/civicrm/civicrm-core/pull/13664))** |
| 354 | |
| 355 | This change alters the way permissions are handled on sites that use ACLs when |
| 356 | the activity.get api is called with the 'check_permissions' flag set to TRUE. |
| 357 | This would usually be the case for Javascript calls. |
| 358 | |
| 359 | - **Upgrader: Don't abort if state_province already exists |
| 360 | ([13744](https://github.com/civicrm/civicrm-core/pull/13744))** |
| 361 | |
| 362 | This change fixes a fatal error when upgrading from 4.7.30 and 4.7.32 if |
| 363 | state_province values already exists so that sites with state_province values |
| 364 | can safely upgrade from 4.7.30 t0 4.7.32. |
| 365 | |
| 366 | - **Do not attempt to store out-of-range street number |
| 367 | ([13340](https://github.com/civicrm/civicrm-core/pull/13340))** |
| 368 | |
| 369 | Before this change attempting to geocode an address with a long street number |
| 370 | would result in a fatal error "DB Error Out of range value for column |
| 371 | 'street_number'". This change aborts parsing for addresses with long street |
| 372 | numbers. |
| 373 | |
| 374 | - **geocode job: Do not return more messages than can fit in the log data column |
| 375 | ([13346](https://github.com/civicrm/civicrm-core/pull/13346))** |
| 376 | |
| 377 | This change fixes an error: "DB Error: Data too long for column 'data' at row |
| 378 | 1" when running the geocoder job on a site with over 500 unparseable |
| 379 | addresses. This error was being thrown because the message in the job log was |
| 380 | too big to be saved, and this change makes it so that the message is shortened to |
| 381 | fit in the database. |
| 382 | |
| 383 | - **only set custom field to null if it is really null, not string 'null' |
| 384 | ([13042](https://github.com/civicrm/civicrm-core/pull/13042))** |
| 385 | |
| 386 | Custom fields saved with `NULL`, `Null`, or any value other than `null` will |
| 387 | be saved as-is. A value of `null`, however, still saves a null value. |
| 388 | |
| 389 | - **CRM/Logging - Fix various bugs in schema parsing |
| 390 | ([13441](https://github.com/civicrm/civicrm-core/pull/13441))** |
| 391 | |
| 392 | This change improves logging so that logs return constraints as well as |
| 393 | indexes (before this change indexes were not returned), and returns column |
| 394 | lengths without surrounding parenthesis and returns arrays using ['index1', |
| 395 | 'index2'] syntax instead of [0 => ['constraint_name' => 'foo']] syntax. |
| 396 | |
| 397 | - **CRM/Logging - Fix log table exceptions |
| 398 | ([13675](https://github.com/civicrm/civicrm-core/pull/13675))** |
| 399 | |
| 400 | This change ensures that log table exceptions are applied for columns |
| 401 | regardless of whether or not they have backticks. |
| 402 | |
| 403 | - **Fix html2pdf default PDF format when multiple pdf_format are available. |
| 404 | ([13543](https://github.com/civicrm/civicrm-core/pull/13543))** |
| 405 | |
| 406 | This change ensures that the correct default PDF format is selected when |
| 407 | multiple pdf format options are available. |
| 408 | |
| 409 | - **Always load recaptcha JS over HTTPS |
| 410 | ([13601](https://github.com/civicrm/civicrm-core/pull/13601))** |
| 411 | |
| 412 | This change ensures that reCAPTCHA is loaded regardless of whether the site is |
| 413 | being served over HTTP or HTTPS. |
| 414 | |
| 415 | - **If a profile is used to create a contact with a subtype the contact will not |
| 416 | have any existing subtypes |
| 417 | ([13499](https://github.com/civicrm/civicrm-core/pull/13499))** |
| 418 | |
| 419 | This change fixes PHP notices being thrown when creating a contact with a |
| 420 | subtype via a profile. |
| 421 | |
| 422 | - **Remove activitystatus js. Add submitOnce handler for activity create |
| 423 | ([13342](https://github.com/civicrm/civicrm-core/pull/13342))** |
| 424 | |
| 425 | This change makes it so users can only click "save" once when creating an |
| 426 | activity to prevent users from accidentally creating multiple activities by |
| 427 | clicking save multiple times. |
| 428 | |
| 429 | - **Fix contact ID help on advanced search |
| 430 | ([13569](https://github.com/civicrm/civicrm-core/pull/13569))** |
| 431 | |
| 432 | This change ensures the help text appears when one clicks the help icon next |
| 433 | to Contact ID on the Advanced Search form. |
| 434 | |
| 435 | - **Used buildoptions function to get all groups |
| 436 | ([13327](https://github.com/civicrm/civicrm-core/pull/13327))** |
| 437 | |
| 438 | This change fixes a "DB Error: no such field" message when using the Contact |
| 439 | API to get contacts from a group where the group name and group title are |
| 440 | different so that no error is thrown. |
| 441 | |
| 442 | ### CiviCase |
| 443 | |
| 444 | - **[dev/core#684](https://lab.civicrm.org/dev/core/issues/684) Case Manager not |
| 445 | updating correctly (CiviCRM 5.8.2) |
| 446 | ([13528](https://github.com/civicrm/civicrm-core/pull/13528))** |
| 447 | |
| 448 | This change ensures that if the Case Manager is changed on the Manage Case |
| 449 | screen the "(Case Manager)" tag appears correctly. |
| 450 | |
| 451 | - **[dev/core#739](https://lab.civicrm.org/dev/core/issues/739) Field not found |
| 452 | when sorting report by Case Type as a section header |
| 453 | ([13666](https://github.com/civicrm/civicrm-core/pull/13666))** |
| 454 | |
| 455 | This change fixes the "Unknown column 'case_civireport.case_type_name' in |
| 456 | 'field list'" error thrown on a Case Detail report sorted by the field Case |
| 457 | Type with the option "Section Header" checked. |
| 458 | |
| 459 | - **[dev/core#770](https://lab.civicrm.org/dev/core/issues/770) View Case |
| 460 | Activity page displays disabled custom fields |
| 461 | ([13741](https://github.com/civicrm/civicrm-core/pull/13741))** |
| 462 | |
| 463 | ### CiviContribute |
| 464 | |
| 465 | - **[dev/core#644](https://lab.civicrm.org/dev/core/issues/644) "From" address |
| 466 | on membership renewal notices is wrong |
| 467 | ([13776](https://github.com/civicrm/civicrm-core/pull/13776))** |
| 468 | |
| 469 | In some configurations, contribution receipts would be sent with a contact ID |
| 470 | as the "From" address rather than an actual address. |
| 471 | |
| 472 | - **[dev/core#659](https://lab.civicrm.org/dev/core/issues/659) Civi returning |
| 473 | 500 errors to Paypal Pro request to civicrm/extern/ipn.php |
| 474 | ([13796](https://github.com/civicrm/civicrm-core/pull/13796))** |
| 475 | |
| 476 | When CiviCRM encounters an error in processing an instant payment |
| 477 | notification, it no longer returns HTTP status of 500. PayPal would disable |
| 478 | IPN after too many 500 errors, assuming the site is broken. |
| 479 | |
| 480 | - **[dev/core#716](https://lab.civicrm.org/dev/core/issues/716) Add decimals in |
| 481 | Contribution Amount on Repeat Contributions Report |
| 482 | ([13659](https://github.com/civicrm/civicrm-core/pull/13659))** |
| 483 | |
| 484 | This change ensures that the Repeat Contributions Report does not truncate the |
| 485 | decimals of contributions. |
| 486 | |
| 487 | - **[dev/core#801](https://lab.civicrm.org/dev/core/issues/801) Thank You |
| 488 | letters have an invalid 'from' when sending from the contact's email address |
| 489 | ([13825](https://github.com/civicrm/civicrm-core/pull/13825))** |
| 490 | |
| 491 | - **[dev/core#720](https://lab.civicrm.org/dev/core/issues/720) Performance |
| 492 | change approved - remove mode & median slow queries |
| 493 | ([13607](https://github.com/civicrm/civicrm-core/pull/13607), |
| 494 | [13630](https://github.com/civicrm/civicrm-core/pull/13630) and |
| 495 | [13605](https://github.com/civicrm/civicrm-core/pull/13605))** |
| 496 | |
| 497 | This change removes the mode and median stats on the contribution search |
| 498 | summary and contribution tab on contacts to improve performance. |
| 499 | |
| 500 | - **Remove another instance of 'lower' |
| 501 | ([13636](https://github.com/civicrm/civicrm-core/pull/13636))** |
| 502 | |
| 503 | This change improves performance when searching notes fields on a |
| 504 | contribution. |
| 505 | |
| 506 | - **[dev/core#769](https://lab.civicrm.org/dev/core/issues/769) ZIP Archive for |
| 507 | multiple batch exports fail |
| 508 | ([13728](https://github.com/civicrm/civicrm-core/pull/13728))** |
| 509 | |
| 510 | This change fixes ZIP Archives for multiple batch exports for instances with |
| 511 | any PHP version greater than 5.6. |
| 512 | |
| 513 | - **[dev/report#7](https://lab.civicrm.org/dev/report/issues/7) Transaction Date |
| 514 | filter in Bookkeeping Transactions report |
| 515 | ([13571](https://github.com/civicrm/civicrm-core/pull/13571))** |
| 516 | |
| 517 | This change ensures that the trxn_date field on the Bookkeeping Report filter |
| 518 | respects the times designated in the filter. Before this change it would only |
| 519 | return transactions that occurred at midnight. |
| 520 | |
| 521 | - **[dev/core#812](https://lab.civicrm.org/dev/core/issues/812) Contribution row |
| 522 | displayed even if contact has 0 contributions. |
| 523 | ([13881](https://github.com/civicrm/civicrm-core/pull/13881))** |
| 524 | |
| 525 | - **Status of test contribution is not fetched on ThankYou page. |
| 526 | ([13724](https://github.com/civicrm/civicrm-core/pull/13724))** |
| 527 | |
| 528 | This change ensures that on a Contribution page with a payment processor that |
| 529 | captures payment instantly and does not use the confirmation page, the |
| 530 | confirmation message on the Thank You page states the status of the |
| 531 | transaction instead of "Your contribution has been submitted...". |
| 532 | |
| 533 | - **Move assign of currency for entityForm outside of foreach so order of fields |
| 534 | don't matter ([13696](https://github.com/civicrm/civicrm-core/pull/13696))** |
| 535 | |
| 536 | This change ensures assign currency works regardless of whether currency is |
| 537 | before or after the money fields. |
| 538 | |
| 539 | - **Find Contributions columns/headers not aligned when "Contributions OR Soft |
| 540 | Credits?" filter set to "Soft Credits Only" |
| 541 | ([13517](https://github.com/civicrm/civicrm-core/pull/13517))** |
| 542 | |
| 543 | This change ensures that when running a Find Contributions search with the |
| 544 | "Contributions OR Soft Credits?" filter set to "Soft Credits Only" the headers |
| 545 | line up with the correct columns. |
| 546 | |
| 547 | ### CiviEvent |
| 548 | |
| 549 | - **[dev/core#696](https://lab.civicrm.org/dev/core/issues/696) Changes to |
| 550 | copied event phone and email reflects in original event phone and email |
| 551 | ([13534](https://github.com/civicrm/civicrm-core/pull/13534))** |
| 552 | |
| 553 | This change fixes a bug where if a user copied an event and then edited the |
| 554 | email and or phone number on the copy, the changes would be applied to the |
| 555 | original event. |
| 556 | |
| 557 | - **Fix Custom post outer div class on event registration form |
| 558 | ([13753](https://github.com/civicrm/civicrm-core/pull/13753))** |
| 559 | |
| 560 | This change updates the class applied to the outer div around a custom profile |
| 561 | in the post section of the form to use 1 custom_pre-section and 1 |
| 562 | custom_post-section instead of two custom_pre-sections. |
| 563 | |
| 564 | - **Fix the invocation of post hook for ParticipantPayment ensuring that an id |
| 565 | is passed in post hook |
| 566 | ([13739](https://github.com/civicrm/civicrm-core/pull/13739))** |
| 567 | |
| 568 | ### CiviMail |
| 569 | |
| 570 | - **[dev/core#469](https://lab.civicrm.org/dev/core/issues/469) Error on action |
| 571 | "Email - schedule/send via CiviMail" with multiple event names filter |
| 572 | ([13539](https://github.com/civicrm/civicrm-core/pull/13539))** |
| 573 | |
| 574 | - **CiviMail: Fix reply forwarding for mailers with From: and Return-path: |
| 575 | limitations ([12641](https://github.com/civicrm/civicrm-core/pull/12641))** |
| 576 | |
| 577 | - **"Only variable references should be returned by reference" notice in |
| 578 | Mail_smtp ([220](https://github.com/civicrm/civicrm-packages/pull/220))** |
| 579 | |
| 580 | This change fixes a "Only variable references should be returned by reference" |
| 581 | PHP notice under various SMTP error conditions. |
| 582 | |
| 583 | ### CiviMember |
| 584 | |
| 585 | - **[dev/core#631](https://lab.civicrm.org/dev/core/issues/631) Problem when |
| 586 | merging contacts which have membership records |
| 587 | ([13588](https://github.com/civicrm/civicrm-core/pull/13588))** |
| 588 | |
| 589 | When merging contacts with memberships, the default is now that the "add new" |
| 590 | box is checked. This brings memberships over from the left-hand contact |
| 591 | without attempting to merge memberships. Merging memberships from the contact |
| 592 | merge interface can result in data loss. |
| 593 | |
| 594 | ### Drupal Integration |
| 595 | |
| 596 | - **fix broken logic in CRM_Utils_System_DrupalBase::formatResourceUrl() |
| 597 | ([13400](https://github.com/civicrm/civicrm-core/pull/13400))** |
| 598 | |
| 599 | This change fixes a bug where Drupal sites were not processing absolute URLs |
| 600 | containing the $base_url passed in from extensions (like Shoreditch) |
| 601 | correctly. |
| 602 | |
| 603 | - **[dev/core#381](https://lab.civicrm.org/dev/core/issues/381) |
| 604 | civicrm/file/imagefile serving up wrong images |
| 605 | ([564](https://github.com/civicrm/civicrm-drupal/pull/564)) Extends work** |
| 606 | |
| 607 | This change fixes a problem with the Views file field handler displaying |
| 608 | incorrect uploaded images. |
| 609 | |
| 610 | ### Wordpress Integration |
| 611 | |
| 612 | - **[dev/wordpress#18](https://lab.civicrm.org/dev/wordpress/issues/18) wp-cli |
| 613 | sometimes fails to find cms path |
| 614 | ([147](https://github.com/civicrm/civicrm-wordpress/pull/147))** |
| 615 | |
| 616 | This change ensures that the path specified to wp-cli as `--path` is passed to |
| 617 | CiviCRM which fixes some URL errors specifically but not limited to when |
| 618 | sending bulk mailings with trackable URLs. |
| 619 | |
| 620 | ## <a name="misc"></a>Miscellany |
| 621 | |
| 622 | - **Upgrade Karma version to latest version |
| 623 | ([13751](https://github.com/civicrm/civicrm-core/pull/13751))** |
| 624 | |
| 625 | - **[infra/ops#878](https://lab.civicrm.org/infra/ops/issues/878) Add a test |
| 626 | matrix for E2E tests on each CMS |
| 627 | ([13808](https://github.com/civicrm/civicrm-core/pull/13808))** |
| 628 | |
| 629 | This change improves reliability by increasing test coverage. |
| 630 | |
| 631 | - **Try and add data set example where email_on_hold / on_hold is NULL in the |
| 632 | formValues ([13765](https://github.com/civicrm/civicrm-core/pull/13765))** |
| 633 | |
| 634 | This change adds test coverage for certain smart group criteria. |
| 635 | |
| 636 | - **[dev/core#746](https://lab.civicrm.org/dev/core/issues/746) Search Builder |
| 637 | searches using > 1 smart group where operator is equals is broken from 5.10.0 |
| 638 | ([13685](https://github.com/civicrm/civicrm-core/pull/13685)) Continued work** |
| 639 | |
| 640 | This change adds test coverage for Search Builder searches using > 1 smart |
| 641 | group. |
| 642 | |
| 643 | - **[dev/report#10](https://lab.civicrm.org/dev/report/issues/10) No pagination |
| 644 | on Contribution Detail report |
| 645 | ([13678](https://github.com/civicrm/civicrm-core/pull/13678)) Continued Work** |
| 646 | |
| 647 | This change adds a unit test for pagination on the Contribution Detail report. |
| 648 | |
| 649 | - **Optimize CRM_Core_BAO_FinancialTrxn::getTotalPayment |
| 650 | ([13187](https://github.com/civicrm/civicrm-core/pull/13187))** |
| 651 | |
| 652 | - **Bump minimum upgradable ver to 4.2.9 |
| 653 | ([13580](https://github.com/civicrm/civicrm-core/pull/13580))** |
| 654 | |
| 655 | - **Use CRM_Utils_SQL_TempTable to drop and create table. |
| 656 | ([13688](https://github.com/civicrm/civicrm-core/pull/13688))** |
| 657 | |
| 658 | - **Clean up Payment.create function |
| 659 | ([13690](https://github.com/civicrm/civicrm-core/pull/13690))** |
| 660 | |
| 661 | - **[dev/report#9](https://lab.civicrm.org/dev/report/issues/9) Deprecate |
| 662 | `getBasicContactFields` in favor of `getColumns('Contact')` |
| 663 | ([13657](https://github.com/civicrm/civicrm-core/pull/13657))** |
| 664 | |
| 665 | - **Extract getSearchSQLParts function |
| 666 | ([13735](https://github.com/civicrm/civicrm-core/pull/13735))** |
| 667 | |
| 668 | - **[Test changes] Mailing job test use |
| 669 | ([13629](https://github.com/civicrm/civicrm-core/pull/13629))** |
| 670 | |
| 671 | - **Code cleanup - remove extraneous permissions clause |
| 672 | ([13645](https://github.com/civicrm/civicrm-core/pull/13645))** |
| 673 | |
| 674 | - **Fix typo in comments |
| 675 | ([13771](https://github.com/civicrm/civicrm-core/pull/13771))** |
| 676 | |
| 677 | - **Removes redundant IF |
| 678 | ([13769](https://github.com/civicrm/civicrm-core/pull/13769))** |
| 679 | |
| 680 | - **(NFC) formatting changes |
| 681 | ([148](https://github.com/civicrm/civicrm-wordpress/pull/148))** |
| 682 | |
| 683 | - **report clean up - remove redundant code |
| 684 | ([13761](https://github.com/civicrm/civicrm-core/pull/13761))** |
| 685 | |
| 686 | - **Fix typo and space |
| 687 | ([13577](https://github.com/civicrm/civicrm-core/pull/13577))** |
| 688 | |
| 689 | - **[minor cleanup] reduce params passed to searchQuery |
| 690 | ([13715](https://github.com/civicrm/civicrm-core/pull/13715))** |
| 691 | |
| 692 | - **[TEST FIX] Increase uniqueness in testSingleNowDates |
| 693 | ([13705](https://github.com/civicrm/civicrm-core/pull/13705))** |
| 694 | |
| 695 | - **Revert "[REF] Extract record refund function" |
| 696 | ([13693](https://github.com/civicrm/civicrm-core/pull/13693))** |
| 697 | |
| 698 | - **Minor code cleanup |
| 699 | ([13687](https://github.com/civicrm/civicrm-core/pull/13687))** |
| 700 | |
| 701 | - **[NFC, test class] formatting, remove unused variables |
| 702 | ([13634](https://github.com/civicrm/civicrm-core/pull/13634))** |
| 703 | |
| 704 | - **Authorizenet test - reduce chance of intermittent fails |
| 705 | ([13642](https://github.com/civicrm/civicrm-core/pull/13642))** |
| 706 | |
| 707 | - **[unused code cleanup] Remove unused 'signupType' url support |
| 708 | ([13620](https://github.com/civicrm/civicrm-core/pull/13620))** |
| 709 | |
| 710 | - **[Test support] Add extra output info when getsingle fails as this seems to |
| 711 | be common in intermittant fails |
| 712 | ([13618](https://github.com/civicrm/civicrm-core/pull/13618))** |
| 713 | |
| 714 | - **Remove tests that no longer work due to dead service |
| 715 | ([13617](https://github.com/civicrm/civicrm-core/pull/13617))** |
| 716 | |
| 717 | - **Refactor CRM_Utils_SQL_TempTable::build()->createWithQuery($sql) interface |
| 718 | to support MEMORY tabls |
| 719 | ([13644](https://github.com/civicrm/civicrm-core/pull/13644))** |
| 720 | |
| 721 | - **REF Convert deprecated functions to buildOptions for case |
| 722 | ([13364](https://github.com/civicrm/civicrm-core/pull/13364))** |
| 723 | |
| 724 | - **[REF] Extract record refund function |
| 725 | ([13691](https://github.com/civicrm/civicrm-core/pull/13691))** |
| 726 | |
| 727 | - **[REF] Extract getSearchSQL from getSearchQuery. |
| 728 | ([13668](https://github.com/civicrm/civicrm-core/pull/13668))** |
| 729 | |
| 730 | - **[REF] minor code cleanup - do not build order var just to hurt brains |
| 731 | ([13650](https://github.com/civicrm/civicrm-core/pull/13650))** |
| 732 | |
| 733 | - **[REF] minor cleanup of groupBy definition. |
| 734 | ([13656](https://github.com/civicrm/civicrm-core/pull/13656))** |
| 735 | |
| 736 | - **[REF] extract add median to stats |
| 737 | ([13616](https://github.com/civicrm/civicrm-core/pull/13616))** |
| 738 | |
| 739 | - **[REF] extract cancelled stats to own function |
| 740 | ([13626](https://github.com/civicrm/civicrm-core/pull/13626))** |
| 741 | |
| 742 | - **[REF] Move entityRef filters into their respective BAOs |
| 743 | ([13625](https://github.com/civicrm/civicrm-core/pull/13625))** |
| 744 | |
| 745 | - **[REF] extract basic soft credit stats to separate function |
| 746 | ([13622](https://github.com/civicrm/civicrm-core/pull/13622))** |
| 747 | |
| 748 | - **[REF] Remove unused function parameter |
| 749 | ([13619](https://github.com/civicrm/civicrm-core/pull/13619))** |
| 750 | |
| 751 | - **[REF] Extract lines to add the pseudoconstant to the select |
| 752 | ([13717](https://github.com/civicrm/civicrm-core/pull/13717))** |
| 753 | |
| 754 | - **[REF] extract calculation of mode stat |
| 755 | ([13614](https://github.com/civicrm/civicrm-core/pull/13614))** |
| 756 | |
| 757 | - **[REF] extract calculation of basic stats |
| 758 | ([13608](https://github.com/civicrm/civicrm-core/pull/13608))** |
| 759 | |
| 760 | - **[REF] Move addSelectWhere-like function to be located on BAO_Contribution |
| 761 | ([13587](https://github.com/civicrm/civicrm-core/pull/13587))** |
| 762 | |
| 763 | - **[REF] Fix silly function to do less handling of non-existent scenarios |
| 764 | ([13563](https://github.com/civicrm/civicrm-core/pull/13563))** |
| 765 | |
| 766 | - **[REF] extract chunk of code to a separate function |
| 767 | ([13600](https://github.com/civicrm/civicrm-core/pull/13600))** |
| 768 | |
| 769 | - **[REF] Use api rather than selector for rendering contributions on user |
| 770 | dashboard ([13584](https://github.com/civicrm/civicrm-core/pull/13584) and |
| 771 | [13903](https://github.com/civicrm/civicrm-core/pull/13903))** |
| 772 | |
| 773 | - **[REF] switch from (undeclared) class property to local variable. |
| 774 | ([13583](https://github.com/civicrm/civicrm-core/pull/13583))** |
| 775 | |
| 776 | - **[REF] Minor readability cleanup |
| 777 | ([13562](https://github.com/civicrm/civicrm-core/pull/13562))** |
| 778 | |
| 779 | - **[REF] Remove useless class CRM_Report_Form_Event |
| 780 | ([13632](https://github.com/civicrm/civicrm-core/pull/13632))** |
| 781 | |
| 782 | - **[REF] extract getToFinancialAccount from |
| 783 | CRM_Contribute_PseudoConstantt::contributionStatus |
| 784 | ([13757](https://github.com/civicrm/civicrm-core/pull/13757))** |
| 785 | |
| 786 | - **[ref] Extract activity payment creation |
| 787 | ([13695](https://github.com/civicrm/civicrm-core/pull/13695))** |
| 788 | |
| 789 | - **[REF] separate financial handling & component transitioning in |
| 790 | Payment.create ([13756](https://github.com/civicrm/civicrm-core/pull/13756))** |
| 791 | |
| 792 | - **[REF] towards cleanup of update membership code |
| 793 | ([13759](https://github.com/civicrm/civicrm-core/pull/13759))** |
| 794 | |
| 795 | - **(REF) Rename variables and adjust variable definitions for Event Register |
| 796 | form ([13287](https://github.com/civicrm/civicrm-core/pull/13287))** |
| 797 | |
| 798 | - **[REF] Extract recordPayment portion |
| 799 | ([13692](https://github.com/civicrm/civicrm-core/pull/13692))** |
| 800 | |
| 801 | - **[REF] minor refactor around retrieving processor id for recur |
| 802 | ([13643](https://github.com/civicrm/civicrm-core/pull/13643))** |
| 803 | |
| 804 | - **[code cleanup] Default wrong declared |
| 805 | ([13621](https://github.com/civicrm/civicrm-core/pull/13621))** |
| 806 | |
| 807 | - **[Code cleanup] Remove unused $stationery_path parameter |
| 808 | ([13624](https://github.com/civicrm/civicrm-core/pull/13624))** |
| 809 | |
| 810 | - **Remove long block of commented out code from 4 years ago |
| 811 | ([13623](https://github.com/civicrm/civicrm-core/pull/13623))** |
| 812 | |
| 813 | - **Add unit test on getContributionBalance fn (#13187) |
| 814 | ([13558](https://github.com/civicrm/civicrm-core/pull/13558))** |
| 815 | |
| 816 | - **Phase out CIVICRM_TEMP_FORCE_UTF8 |
| 817 | ([13658](https://github.com/civicrm/civicrm-core/pull/13658))** |
| 818 | |
| 819 | - **Extract record refund function |
| 820 | ([13694](https://github.com/civicrm/civicrm-core/pull/13694))** |
| 821 | |
| 822 | - **Move pear/mail from packages to composer.json |
| 823 | ([13289](https://github.com/civicrm/civicrm-core/pull/13289))** |
| 824 | |
| 825 | - **Decommision getPartialPaymentTrxn function |
| 826 | ([13718](https://github.com/civicrm/civicrm-core/pull/13718))** |
| 827 | |
| 828 | - **Fix & test searchQuery order by to be less dependent on what is selected for |
| 829 | search ([13680](https://github.com/civicrm/civicrm-core/pull/13680))** |
| 830 | |
| 831 | - **EntityRef - Standardize on PascalCase for entity name and fix minor bug |
| 832 | ([13631](https://github.com/civicrm/civicrm-core/pull/13631))** |
| 833 | |
| 834 | ## <a name="credits"></a>Credits |
| 835 | |
| 836 | This release was developed by the following code authors: |
| 837 | |
| 838 | AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Alok Patel; Alexy |
| 839 | Mikhailichenko; Australian Greens - Seamus Lee; avall-llovera; CiviCRM - Coleman |
| 840 | Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; |
| 841 | Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Fuzion - |
| 842 | Jitendra Purohit; GreenPeace Central and Eastern Europe - Patrick Figel; JMA |
| 843 | Consulting - Edsel Lopez, Monish Deb; Ken West; Lighthouse Design and Consulting - |
| 844 | Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW |
| 845 | Consulting - Matthew Wire; Nicol Wistreich; Pradeep Nayak; Skvare - Mark Hanna; |
| 846 | Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen McNaughton |
| 847 | |
| 848 | Most authors also reviewed code for this release; in addition, the following |
| 849 | reviewers contributed their comments: |
| 850 | |
| 851 | Agileware - Justin Freeman; Circle Interactive - Dave Jenkins, Reece Benson; |
| 852 | CiviDesk - Sunil Pawar; Dave D; Fuzion - Peter Davis; JMA Consulting - Joe |
| 853 | Murray; Luna Design - Andrew Wasson; Mark Westergaard; MJCO - Mikey O'Toole; |
| 854 | Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; |
| 855 | Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew |
| 856 | |
| 857 | ## <a name="feedback"></a>Feedback |
| 858 | |
| 859 | These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like |
| 860 | to provide feedback on them, please log in to https://chat.civicrm.org/civicrm |
| 861 | and contact `@agh1`. |