| 1 | # CiviCRM 5.26.0 |
| 2 | |
| 3 | Released June 3, 2020 |
| 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? | no | |
| 17 | | Change the database schema? | **yes** | |
| 18 | | Alter the API? | **yes** | |
| 19 | | Require attention to configuration options? | **yes** | |
| 20 | | Fix problems installing or upgrading to a previous version? | **yes** | |
| 21 | | Introduce features? | **yes** | |
| 22 | | Fix bugs? | **yes** | |
| 23 | |
| 24 | ## NOTICE: WordPress Service URLs |
| 25 | |
| 26 | The upcoming release of WordPress 5.5 ([ETA August 2020](https://make.wordpress.org/core/5-5/)) requires changes to several CiviCRM URLs. CiviCRM 5.26+ adopts a new URL convention. For old URLs, there is transitional support that will work for most web-based visitors. However, this may not be sufficient for *external service integrations* (e.g. certain payment processors or email relays which send notifications to CiviCRM). |
| 27 | |
| 28 | Administrators should promptly assess and update any external services which submit notifications to their CiviCRM-WordPress sites. For more information, see the blog post [CiviCRM 5.26 and WordPress: Important notice](https://civicrm.org/blog/kcristiano/civicrm-526-and-wordpress-important-notice). |
| 29 | |
| 30 | ## <a name="features"></a>Features |
| 31 | |
| 32 | ### Core CiviCRM |
| 33 | |
| 34 | - **Create nl_BE translation |
| 35 | ([dev/translation#4](https://lab.civicrm.org/dev/translation/issues/4): |
| 36 | [17048](https://github.com/civicrm/civicrm-core/pull/17048), |
| 37 | [17027](https://github.com/civicrm/civicrm-core/pull/17027) and |
| 38 | [16966](https://github.com/civicrm/civicrm-core/pull/16966))** |
| 39 | |
| 40 | Adds a "Dutch (Belgium)" (shorthand: nl_BE) translation of CiviCRM which |
| 41 | heavily borrows from the existing "Dutch (Netherlands)" (nl_NL) translation |
| 42 | with a few changes. |
| 43 | |
| 44 | - **APIv4 - Allow field options to be returned in multiple formats |
| 45 | ([17167](https://github.com/civicrm/civicrm-core/pull/17167))** |
| 46 | |
| 47 | Gives more flexibility about how options are returned from APIv4 and adds |
| 48 | visibility in the API explorer. |
| 49 | |
| 50 | - **APIv4 - How do I interact with option values? |
| 51 | ([dev/core#1705](https://lab.civicrm.org/dev/core/issues/1705): |
| 52 | [17158](https://github.com/civicrm/civicrm-core/pull/17158), |
| 53 | [17138](https://github.com/civicrm/civicrm-core/pull/17138) and |
| 54 | [17219](https://github.com/civicrm/civicrm-core/pull/17219))** |
| 55 | |
| 56 | Adds support for pseudoconstants to APIv4. |
| 57 | |
| 58 | - **APIv4 - Add MessageTemplate API |
| 59 | ([17073](https://github.com/civicrm/civicrm-core/pull/17073))** |
| 60 | |
| 61 | Adds new "MessageTemplate" entity to APIv4. |
| 62 | |
| 63 | - **APIv4 - Add support for HAVING clause |
| 64 | ([17015](https://github.com/civicrm/civicrm-core/pull/17015))** |
| 65 | |
| 66 | Adds support for using `HAVING` clauses in APIv4. |
| 67 | |
| 68 | - **APIv4 - Query Improvements (Work Towards |
| 69 | [dev/report#31](https://lab.civicrm.org/dev/report/issues/31): |
| 70 | [17113](https://github.com/civicrm/civicrm-core/pull/17113) and |
| 71 | [17047](https://github.com/civicrm/civicrm-core/pull/17047))** |
| 72 | |
| 73 | This adds UI support for new APIv4 features. Specifically, SQL functions and |
| 74 | aliases are now available in the API explorer, as is the `HAVING` clause and |
| 75 | `GROUP BY` clause. |
| 76 | |
| 77 | - **End of life planning for MySQL server 5.0 - 5.6 (Work Towards |
| 78 | [dev/core#1681](https://lab.civicrm.org/dev/core/issues/1681): |
| 79 | [17261](https://github.com/civicrm/civicrm-core/pull/17261))** |
| 80 | |
| 81 | Adds a deprecation notice for systems using MySQL versions before 5.7 and |
| 82 | requires 5.5 to install. |
| 83 | |
| 84 | - **Allow inline help text title to be overriden |
| 85 | ([dev/core#1693](https://lab.civicrm.org/dev/core/issues/1693): |
| 86 | [16998](https://github.com/civicrm/civicrm-core/pull/16998))** |
| 87 | |
| 88 | This change makes it possible to override inline help text titles in a |
| 89 | `.hlp.extra` file. |
| 90 | |
| 91 | - **Update attachment message on mailing form. |
| 92 | ([dev/core#1696](https://lab.civicrm.org/dev/core/issues/1696): |
| 93 | [17024](https://github.com/civicrm/civicrm-core/pull/17024))** |
| 94 | |
| 95 | This updates the help text on CiviMail attachments to specify the maximum size |
| 96 | of each attachment. |
| 97 | |
| 98 | - **Convert CC and BCC fields to use an entity reference. |
| 99 | ([17064](https://github.com/civicrm/civicrm-core/pull/17064) and [17129](https://github.com/civicrm/civicrm-core/pull/17129))** |
| 100 | |
| 101 | The CC and BCC fields on all email forms are now entity references to the |
| 102 | email ID. This simplifies the code and extends filtering on the field. |
| 103 | |
| 104 | - **Introduce "civi.dao.preUpdate" and "civi.dao.preInsert" events |
| 105 | ([dev/core#1638](https://lab.civicrm.org/dev/core/issues/1638): |
| 106 | [16714](https://github.com/civicrm/civicrm-core/pull/16714))** |
| 107 | |
| 108 | Makes it possible to use a hook to inspect the data of an Option Value prior |
| 109 | to it being created or updated. |
| 110 | |
| 111 | - **Add ID to custom group/field admin forms |
| 112 | ([17055](https://github.com/civicrm/civicrm-core/pull/17055))** |
| 113 | |
| 114 | The ID numbers are displayed in the tables of custom fields and groups. |
| 115 | |
| 116 | - **Improve AngularJS performance with one-time binding for static strings |
| 117 | ([17050](https://github.com/civicrm/civicrm-core/pull/17050))** |
| 118 | |
| 119 | This improves performance of AngularJS pages and forms by having the |
| 120 | translation function only execute once when the translated string is static. |
| 121 | |
| 122 | - **Allow setting metadata to use the `table` option. Update example setting |
| 123 | `default_invoice_page`. |
| 124 | ([16903](https://github.com/civicrm/civicrm-core/pull/16903))** |
| 125 | |
| 126 | Setting metadata that refers to an entity can now be defined with reference to |
| 127 | a database table, specifying the key and label columns, rather than requiring |
| 128 | a pseudoconstant function to populate the options. |
| 129 | |
| 130 | - **Add / make fit for purpose email.getlist api call |
| 131 | ([16993](https://github.com/civicrm/civicrm-core/pull/16993))** |
| 132 | |
| 133 | Improves the `Email.getlist` API so that it is usable for entity reference |
| 134 | fields. |
| 135 | |
| 136 | ### CiviCase |
| 137 | |
| 138 | - **Add email link in case summary |
| 139 | ([16959](https://github.com/civicrm/civicrm-core/pull/16959))** |
| 140 | |
| 141 | Adds an "Email" icon to the Case Summary page that when clicked opens a pop up |
| 142 | window to email the client. |
| 143 | |
| 144 | ### CiviContribute |
| 145 | |
| 146 | - **Add contribution source to recurring contribution report |
| 147 | ([17187](https://github.com/civicrm/civicrm-core/pull/17187))** |
| 148 | |
| 149 | Adds "Contribution Source" as a column on the Recurring Contribution Report. |
| 150 | |
| 151 | - **Show email receipt status on view recurring contribution |
| 152 | ([17177](https://github.com/civicrm/civicrm-core/pull/17177))** |
| 153 | |
| 154 | When viewing a contribution this change exposes the value of |
| 155 | `is_email_receipt`. |
| 156 | |
| 157 | - **Add contributor email address to cancelSubscription form so it is clear who |
| 158 | will be notified |
| 159 | ([16716](https://github.com/civicrm/civicrm-core/pull/16716))** |
| 160 | |
| 161 | Adds the contributor email to the Cancel Recurring Contribution form so it is |
| 162 | clear who will be notified. |
| 163 | |
| 164 | - **Add filter and sorting for receipt date in contribution report |
| 165 | ([17044](https://github.com/civicrm/civicrm-core/pull/17044) and |
| 166 | [16994](https://github.com/civicrm/civicrm-core/pull/16994))** |
| 167 | |
| 168 | Adds a filter and sorting for "receipt date" to Contribution Reports. |
| 169 | |
| 170 | - **Capitalise "PAN Truncation" |
| 171 | ([16973](https://github.com/civicrm/civicrm-core/pull/16973) and |
| 172 | [16964](https://github.com/civicrm/civicrm-core/pull/16964))** |
| 173 | |
| 174 | Capitilizes the "PAN" in "Pan Truncation" to improve user experience. PAN is |
| 175 | an acronym for Primary Account Number (credit card number). |
| 176 | |
| 177 | ### CiviMail |
| 178 | |
| 179 | - **Mailing Report: hide the HTML preview |
| 180 | ([16899](https://github.com/civicrm/civicrm-core/pull/16899))** |
| 181 | |
| 182 | Improves the Mailing report by hiding the HTML preview because it was too |
| 183 | short to be helpful to begin with. |
| 184 | |
| 185 | ## <a name="bugs"></a>Bugs resolved |
| 186 | |
| 187 | ### Core CiviCRM |
| 188 | |
| 189 | - **How best to handle Event Dispatchers during upgrade (Work Towards |
| 190 | [dev/core#1460](https://lab.civicrm.org/dev/core/issues/1460): |
| 191 | [17127](https://github.com/civicrm/civicrm-core/pull/17127) and |
| 192 | [17216](https://github.com/civicrm/civicrm-core/pull/17216))** |
| 193 | |
| 194 | This updates the `CiviEventDispatcher` with a method `setDispatchPolicy()` |
| 195 | that can be used to dynamically toggle support for specific events/hooks and |
| 196 | updates a related test. |
| 197 | |
| 198 | - **After core upgrade, extensions are not fully active |
| 199 | ([dev/core#1460](https://lab.civicrm.org/dev/core/issues/1460) and |
| 200 | [dev/core#1713](https://lab.civicrm.org/dev/core/issues/1713): |
| 201 | [17126](https://github.com/civicrm/civicrm-core/pull/17126))** |
| 202 | |
| 203 | After performing a core upgrade, some extension functionality (e.g. routing) was |
| 204 | temporariliy unavailable - and required a flush. This fix changes the way in which |
| 205 | hooks and caches are managed during the upgrade. |
| 206 | |
| 207 | - **Report Dev tab display SQL multiple times |
| 208 | ([dev/core#1673](https://lab.civicrm.org/dev/core/issues/1673): |
| 209 | [17001](https://github.com/civicrm/civicrm-core/pull/17001))** |
| 210 | |
| 211 | - **Namespaced classes cannot contain an underscore |
| 212 | ([dev/core#1684](https://lab.civicrm.org/dev/core/issues/1684): |
| 213 | [17105](https://github.com/civicrm/civicrm-core/pull/17105))** |
| 214 | |
| 215 | Allows underscores in class names. |
| 216 | |
| 217 | - **Search builder returns DB error on Group => Empty filter |
| 218 | ([dev/core#1685](https://lab.civicrm.org/dev/core/issues/1685): |
| 219 | [16953](https://github.com/civicrm/civicrm-core/pull/16953))** |
| 220 | |
| 221 | - **Allow override of inherited CMS language when in CiviCRM |
| 222 | ([17006](https://github.com/civicrm/civicrm-core/pull/17006))** |
| 223 | |
| 224 | This ensures that the language switcher can be used in CiviCRM even when the |
| 225 | default language is set to inherit from the user's CMS session. |
| 226 | |
| 227 | - **Longitude not checked out of box |
| 228 | ([dev/core#1739](https://lab.civicrm.org/dev/core/issues/1739): |
| 229 | [17238](https://github.com/civicrm/civicrm-core/pull/17238))** |
| 230 | |
| 231 | Enables the Longitude field on Address Editing by default for new installs. |
| 232 | |
| 233 | - **Export selected fields doesn't export related contacts if related info is |
| 234 | present in mapping |
| 235 | ([dev/core#1780](https://lab.civicrm.org/dev/core/issues/1780): |
| 236 | [17462](https://github.com/civicrm/civicrm-core/pull/17462))** |
| 237 | |
| 238 | This fixes a bug where exporting a child and their parent was only resulting |
| 239 | in one row being exported when the related contact id was selected. |
| 240 | |
| 241 | - **Regression: Fails to create smartgroup or refresh count of group |
| 242 | ([dev/core#1747](https://lab.civicrm.org/dev/core/issues/1747): |
| 243 | [17438](https://github.com/civicrm/civicrm-core/pull/17438))** |
| 244 | |
| 245 | The temporary table created for smart groups involving the Date Added custom |
| 246 | search was removed too aggressively, resulting in database errors when |
| 247 | searching or refreshing the smart group count. |
| 248 | |
| 249 | - **Contact restore from trash not working |
| 250 | ([dev/core#1784](https://lab.civicrm.org/dev/core/issues/1784): |
| 251 | [17418](https://github.com/civicrm/civicrm-core/pull/17418))** |
| 252 | |
| 253 | - **[regression] Fix error on no MIME type |
| 254 | ([17265](https://github.com/civicrm/civicrm-core/pull/17265))** |
| 255 | |
| 256 | Fixes `TypeError: Argument 1 passed to |
| 257 | MimeTyper\Repository\AbstractRepository::setFromMap() must be of the type |
| 258 | array, null given` error. |
| 259 | |
| 260 | - **SyntaxConformanceTest::testSqlOperators - Fix failure on MySQL 8 |
| 261 | ([17262](https://github.com/civicrm/civicrm-core/pull/17262))** |
| 262 | |
| 263 | - **API explorer fatal joining to contribution from contact |
| 264 | ([dev/core#1563](https://lab.civicrm.org/dev/core/issues/1563): |
| 265 | [17239](https://github.com/civicrm/civicrm-core/pull/17239))** |
| 266 | |
| 267 | - **APIv4 - Prevent field alias conflicts. |
| 268 | ([17109](https://github.com/civicrm/civicrm-core/pull/17109))** |
| 269 | |
| 270 | - **APIv4 - Fix setting offset with no limit |
| 271 | ([17063](https://github.com/civicrm/civicrm-core/pull/17063))** |
| 272 | |
| 273 | - **Fix admin page url for "conference slots" option values |
| 274 | ([17223](https://github.com/civicrm/civicrm-core/pull/17223))** |
| 275 | |
| 276 | - **Fix Dedupe entity_tag mangling bug |
| 277 | ([17125](https://github.com/civicrm/civicrm-core/pull/17125))** |
| 278 | |
| 279 | Fixes a bug whereby the merge script alters non-contact entity tags, changing |
| 280 | the entity they are related to. |
| 281 | |
| 282 | - **Show title on status message instead of machine name |
| 283 | ([17174](https://github.com/civicrm/civicrm-core/pull/17174))** |
| 284 | |
| 285 | - **Do not create smarty cached templates for processed greetings |
| 286 | ([16733](https://github.com/civicrm/civicrm-core/pull/16733))** |
| 287 | |
| 288 | - **Add contribution ID as activity source record when downloading or emailing |
| 289 | invoice ([17165](https://github.com/civicrm/civicrm-core/pull/17165))** |
| 290 | |
| 291 | Ensures that the Activity Source ID field is populated correctly for |
| 292 | Activities of the type "Emailed Invoice" and "Downloaded Invoice". |
| 293 | |
| 294 | - **Correct option_group pseudoconstant and regenerate DAO |
| 295 | ([17166](https://github.com/civicrm/civicrm-core/pull/17166))** |
| 296 | |
| 297 | Fixes metadata for option_group pseudoconstant list so that labels are visible |
| 298 | in the list. |
| 299 | |
| 300 | - **Update "Colmbra" state/province to "Coimbra" |
| 301 | ([17106](https://github.com/civicrm/civicrm-core/pull/17106) and |
| 302 | [17136](https://github.com/civicrm/civicrm-core/pull/17136))** |
| 303 | |
| 304 | Fixes up some Portugal Province labels. |
| 305 | |
| 306 | - **Fix 'selectedChild' parameter for pages with tabs |
| 307 | ([17066](https://github.com/civicrm/civicrm-core/pull/17066))** |
| 308 | |
| 309 | Ensures that the tab set using the `selectedChild` URL parameter is respected. |
| 310 | |
| 311 | - **Export: use X icon `fa-times` for closing things |
| 312 | ([17076](https://github.com/civicrm/civicrm-core/pull/17076))** |
| 313 | |
| 314 | Ensures that the X icon is always used for closing things. |
| 315 | |
| 316 | - **Dupe improve custom data handling |
| 317 | ([17060](https://github.com/civicrm/civicrm-core/pull/17060) and |
| 318 | [17077](https://github.com/civicrm/civicrm-core/pull/17077))** |
| 319 | |
| 320 | Reduces code complexity & locking queries when merging contacts. |
| 321 | |
| 322 | - **Fixed mapping when using custom field for contact sub type |
| 323 | ([16957](https://github.com/civicrm/civicrm-core/pull/16957))** |
| 324 | |
| 325 | Ensures import mappings populate contact sub-type custom fields. |
| 326 | |
| 327 | - **Set is_deceased to not null in schema and upgrade script |
| 328 | ([dev/core#1697](https://lab.civicrm.org/dev/core/issues/1697): |
| 329 | [17025](https://github.com/civicrm/civicrm-core/pull/17025))** |
| 330 | |
| 331 | This removes the possibility of having undead contacts. |
| 332 | |
| 333 | - **Allow adding variables to CRM.vars in any region |
| 334 | ([16888](https://github.com/civicrm/civicrm-core/pull/16888))** |
| 335 | |
| 336 | - **Fix setting custom field TextArea attributes |
| 337 | ([16997](https://github.com/civicrm/civicrm-core/pull/16997))** |
| 338 | |
| 339 | Ensures attributes for existing text area custom fields are not overwritten |
| 340 | during update operations. |
| 341 | |
| 342 | - **Fix bug on handling 'is_required' |
| 343 | ([16901](https://github.com/civicrm/civicrm-core/pull/16901))** |
| 344 | |
| 345 | Ensures that there is a "none" option for select fields that are not |
| 346 | required and are created extensions using the generic form. |
| 347 | |
| 348 | - **Fix values passed to tokenValues hook |
| 349 | ([16623](https://github.com/civicrm/civicrm-core/pull/16623))** |
| 350 | |
| 351 | Ensures that the `hook_civicrm_tokenValues` is passed the proper values. |
| 352 | |
| 353 | - **Fix slowness in opening the select fields for export screen after an advanced search |
| 354 | ([dev/core#1725](ttps://lab.civicrm.org/dev/core/-/issues/1725): |
| 355 | [17444](https://github.com/civicrm/civicrm-core/pull/17444))** |
| 356 | Fixes a recent regression following the updating of the select fields export UI which on certain |
| 357 | sites slowed down the loading of the select fields screen significantly |
| 358 | |
| 359 | ### CiviCase |
| 360 | |
| 361 | - **Invalid and patchy XML encoding causes Case crash if status is not valid XML |
| 362 | ([dev/core#1719](https://lab.civicrm.org/dev/core/issues/1719): |
| 363 | [17100](https://github.com/civicrm/civicrm-core/pull/17100))** |
| 364 | |
| 365 | Fixes a bug where CiviCase would fail to fully create a CaseType if a Case |
| 366 | Status' name was invalid in an XML context. |
| 367 | |
| 368 | - **Case.get API returning Case Clients As Part of Related Contacts |
| 369 | ([dev/core#1659](https://lab.civicrm.org/dev/core/issues/1659): |
| 370 | [16837](https://github.com/civicrm/civicrm-core/pull/16837))** |
| 371 | |
| 372 | - **Convert fatals to statusBounces in case forms |
| 373 | ([17212](https://github.com/civicrm/civicrm-core/pull/17212))** |
| 374 | |
| 375 | - **Add missing translations to case activity revisions |
| 376 | ([16987](https://github.com/civicrm/civicrm-core/pull/16987))** |
| 377 | |
| 378 | - **Case Details field is empty |
| 379 | ([16995](https://github.com/civicrm/civicrm-core/pull/16995))** |
| 380 | |
| 381 | Ensures that the details field value is saved when creating a new case from |
| 382 | the core form. |
| 383 | |
| 384 | ### CiviContribute |
| 385 | |
| 386 | - **Contribution Detail Report gives incorrect results when `force=1` |
| 387 | ([dev/report#20](https://lab.civicrm.org/dev/report/issues/20): |
| 388 | [17234](https://github.com/civicrm/civicrm-core/pull/17234))** |
| 389 | |
| 390 | - **Financial ACL Report check always fails |
| 391 | ([dev/core#1700](https://lab.civicrm.org/dev/core/issues/1700): |
| 392 | [17046](https://github.com/civicrm/civicrm-core/pull/17046))** |
| 393 | |
| 394 | Ensures that if Finacial Type ACL's are enabled and the extension |
| 395 | `biz.jmaconsulting.financialaclreport` is installed the warning that you need |
| 396 | to install the extension is not displayed. |
| 397 | |
| 398 | - **On Behalf Of fails to populate in Email Receipt |
| 399 | ([dev/core#57](https://lab.civicrm.org/dev/core/issues/57): |
| 400 | [17026](https://github.com/civicrm/civicrm-core/pull/17026))** |
| 401 | |
| 402 | Fixes a bug where the On Behalf Of section was not being included in email |
| 403 | receipts. |
| 404 | |
| 405 | - **Fixes a regression when cancelling a recurring with no processor_id |
| 406 | ([17292](https://github.com/civicrm/civicrm-core/pull/17292))** |
| 407 | |
| 408 | - **Fix multiselect/checkbox custom field defaults on contribution online form |
| 409 | ([16991](https://github.com/civicrm/civicrm-core/pull/16991))** |
| 410 | |
| 411 | ### CiviEvent |
| 412 | |
| 413 | - **Fix multiselect/checkbox custom field defaults on registration profile |
| 414 | ([16981](https://github.com/civicrm/civicrm-core/pull/16981))** |
| 415 | |
| 416 | ### CiviMail |
| 417 | |
| 418 | - **Mailing Error when civicrm_mailing_group has duplicate entries of recipient |
| 419 | groups([dev/mail#62](https://lab.civicrm.org/dev/mail/issues/62): |
| 420 | [17130](https://github.com/civicrm/civicrm-core/pull/17130))** |
| 421 | |
| 422 | ### CiviMember |
| 423 | |
| 424 | - **Membership batch entry: Fix join date population |
| 425 | ([dev/core#1718](https://lab.civicrm.org/dev/core/issues/1718): |
| 426 | [17099](https://github.com/civicrm/civicrm-core/pull/17099))** |
| 427 | |
| 428 | Ensures that when using the membership batch entry tool the "join date" is |
| 429 | populated with existing data. |
| 430 | |
| 431 | - **Fix bug where tax_amount is miscalculated on membership renewals |
| 432 | ([16772](https://github.com/civicrm/civicrm-core/pull/16772))** |
| 433 | |
| 434 | ### Drupal Integration |
| 435 | |
| 436 | - **UF Settings page doesn't show CiviCRM database details for Drupal 8 Views |
| 437 | ([dev/core#1742](https://lab.civicrm.org/dev/core/issues/1742): |
| 438 | [17232](https://github.com/civicrm/civicrm-core/pull/17232))** |
| 439 | |
| 440 | ### WordPress Integration |
| 441 | |
| 442 | - **Support Clean URLs when using Polylang |
| 443 | ([191](https://github.com/civicrm/civicrm-wordpress/pull/191), |
| 444 | [189](https://github.com/civicrm/civicrm-wordpress/pull/189) and |
| 445 | [176](https://github.com/civicrm/civicrm-wordpress/pull/176))** |
| 446 | |
| 447 | Ensures clean URLs work in WordPress with Polylang. |
| 448 | |
| 449 | - **Fix WordPress support for Get UF Locale |
| 450 | ([dev/core#1635](https://lab.civicrm.org/dev/core/issues/1635): |
| 451 | [16700](https://github.com/civicrm/civicrm-core/pull/16700))** |
| 452 | |
| 453 | Ensures WordPress front end pages follow the CMS language set in CiviCRM |
| 454 | instead of using the default CiviCRM language. |
| 455 | |
| 456 | - **Styling issues after upgrade to WordPress 5.3 |
| 457 | ([dev/wordpress#46](https://lab.civicrm.org/dev/wordpress/issues/46): |
| 458 | [16882](https://github.com/civicrm/civicrm-core/pull/16882))** |
| 459 | |
| 460 | Ensures Select fields look like Select2 fields for WordPress users. |
| 461 | |
| 462 | - **CiviCRM front end pages broken on WP Latest (master) |
| 463 | ([dev/wordpress#49](https://lab.civicrm.org/dev/wordpress/issues/49): |
| 464 | [17352](https://github.com/civicrm/civicrm-core/pull/17352), |
| 465 | [17424](https://github.com/civicrm/civicrm-core/pull/17424), |
| 466 | [199](https://github.com/civicrm/civicrm-wordpress/pull/199), and |
| 467 | [194](https://github.com/civicrm/civicrm-wordpress/pull/194))** |
| 468 | |
| 469 | `canonical_redirect()` will strip "page=CiviCRM" from front end pages. These |
| 470 | changes ensures that CiviCRM plays nicely with this WordPress change. |
| 471 | |
| 472 | - **Public mailing URL links are broken after merge of REST API wrapper code |
| 473 | ([dev/wordpress#52](https://lab.civicrm.org/dev/wordpress/issues/52): |
| 474 | [195](https://github.com/civicrm/civicrm-wordpress/pull/195))** |
| 475 | |
| 476 | - **CiviMail doesn't send to full recipient list with merge of REST API wrapper |
| 477 | code ([dev/wordpress#53](https://lab.civicrm.org/dev/wordpress/issues/53): |
| 478 | [196](https://github.com/civicrm/civicrm-wordpress/pull/196))** |
| 479 | |
| 480 | ## <a name="misc"></a>Miscellany |
| 481 | |
| 482 | - **CONTRIBUTORS.txt - Explain deprecation/archival ([17074](https://github.com/civicrm/civicrm-core/pull/17074))** |
| 483 | |
| 484 | Contributors are now recognized in release notes. To ensure a full history, |
| 485 | the older `CONTRIBUTORS.txt` has been preserved, but it will not be updated for future releases. |
| 486 | |
| 487 | - **Use isSerialized function rather guessing from html_type |
| 488 | ([16979](https://github.com/civicrm/civicrm-core/pull/16979))** |
| 489 | |
| 490 | - **Mitigate flaky test failure about |
| 491 | "CRM_Utils_Check_Component_Env->checkVersion()" |
| 492 | ([17038](https://github.com/civicrm/civicrm-core/pull/17038))** |
| 493 | |
| 494 | - **Simplify groupContactCache - remove redundant query |
| 495 | ([17011](https://github.com/civicrm/civicrm-core/pull/17011))** |
| 496 | |
| 497 | - **Duplicate EmailCommon::buildQuickForm onto the trait |
| 498 | ([17052](https://github.com/civicrm/civicrm-core/pull/17052))** |
| 499 | |
| 500 | - **Make transaction param optional in completeOrder |
| 501 | ([17053](https://github.com/civicrm/civicrm-core/pull/17053))** |
| 502 | |
| 503 | - **Don't pass empty ids parameter, fix fatal |
| 504 | ([17086](https://github.com/civicrm/civicrm-core/pull/17086))** |
| 505 | |
| 506 | - **Less svn ([17159](https://github.com/civicrm/civicrm-core/pull/17159))** |
| 507 | |
| 508 | - **OptionValue - Use DB defaults instead of setting them in BAO::add |
| 509 | ([17170](https://github.com/civicrm/civicrm-core/pull/17170))** |
| 510 | |
| 511 | - **Move batch-form support code back to the form |
| 512 | ([17176](https://github.com/civicrm/civicrm-core/pull/17176))** |
| 513 | |
| 514 | - **Start using apiv4 in test setup |
| 515 | ([17020](https://github.com/civicrm/civicrm-core/pull/17020))** |
| 516 | |
| 517 | - **Further removal of long-deprecated skipCleanMoney |
| 518 | ([17175](https://github.com/civicrm/civicrm-core/pull/17175))** |
| 519 | |
| 520 | - **Add workflow_name column to civicrm_msg_template, deprecate workflow_id |
| 521 | ([17227](https://github.com/civicrm/civicrm-core/pull/17227))** |
| 522 | |
| 523 | - **Misplaced text in the Additional Details section on New Contribution |
| 524 | ([dev/user-interface#19](https://lab.civicrm.org/dev/user-interface/issues/19): |
| 525 | [17135](https://github.com/civicrm/civicrm-core/pull/17135))** |
| 526 | |
| 527 | - **Cleanup and throw exceptions in OpenCase form |
| 528 | ([17184](https://github.com/civicrm/civicrm-core/pull/17184))** |
| 529 | |
| 530 | - **Cleanup core pseudoconstant buildOptions |
| 531 | ([17122](https://github.com/civicrm/civicrm-core/pull/17122))** |
| 532 | |
| 533 | - **Gitlab issue template - Ask for link to stackexchange or chat conversations |
| 534 | ([17186](https://github.com/civicrm/civicrm-core/pull/17186))** |
| 535 | |
| 536 | - **Remove deprecated calls to optionValueQuery and no-longer-need param |
| 537 | ([17182](https://github.com/civicrm/civicrm-core/pull/17182))** |
| 538 | |
| 539 | - **Refactor api3 Payment.Get API to support options + most fields in |
| 540 | civicrm_financial_trxn |
| 541 | ([17071](https://github.com/civicrm/civicrm-core/pull/17071))** |
| 542 | |
| 543 | - **Remove unused parameter, immediately overwritten parameter |
| 544 | ([17131](https://github.com/civicrm/civicrm-core/pull/17131))** |
| 545 | |
| 546 | - **Remove unused parameter from function |
| 547 | ([17098](https://github.com/civicrm/civicrm-core/pull/17098))** |
| 548 | |
| 549 | - **Remove outputHeader as a param for writeCSVFile as it is always true |
| 550 | ([17051](https://github.com/civicrm/civicrm-core/pull/17051))** |
| 551 | |
| 552 | - **Remove var that is defined on parent |
| 553 | ([17102](https://github.com/civicrm/civicrm-core/pull/17102))** |
| 554 | |
| 555 | - **Convert test to use APIV4 in setup for cleaner code |
| 556 | ([17153](https://github.com/civicrm/civicrm-core/pull/17153))** |
| 557 | |
| 558 | - **[Test] Extend custom field test trait & some related tests |
| 559 | ([17037](https://github.com/civicrm/civicrm-core/pull/17037))** |
| 560 | |
| 561 | - **E2E_Core_HookTest - Fix test failure due to leak |
| 562 | ([17251](https://github.com/civicrm/civicrm-core/pull/17251))** |
| 563 | |
| 564 | - **[NFC][Test] cleanup on customDataTrait for tests |
| 565 | ([17022](https://github.com/civicrm/civicrm-core/pull/17022))** |
| 566 | |
| 567 | - **[NFC][Test] Minor cleanup in test class |
| 568 | ([17002](https://github.com/civicrm/civicrm-core/pull/17002))** |
| 569 | |
| 570 | - **[NFC][Test] Preliminary cleanup |
| 571 | ([17213](https://github.com/civicrm/civicrm-core/pull/17213))** |
| 572 | |
| 573 | - **[NFC] [Test] minor code cleanup |
| 574 | ([17152](https://github.com/civicrm/civicrm-core/pull/17152))** |
| 575 | |
| 576 | - **[NFC] Minor code cleanups |
| 577 | ([17019](https://github.com/civicrm/civicrm-core/pull/17019))** |
| 578 | |
| 579 | - **[NFC] Superficial code clean up |
| 580 | ([17155](https://github.com/civicrm/civicrm-core/pull/17155))** |
| 581 | |
| 582 | - **(NFC) Remove $Id$ artifacts from old SCM |
| 583 | ([17211](https://github.com/civicrm/civicrm-core/pull/17211))** |
| 584 | |
| 585 | - **[NFC] A bit less svn in our code |
| 586 | ([17157](https://github.com/civicrm/civicrm-core/pull/17157))** |
| 587 | |
| 588 | - **[NFC] Fix use of pattern-hated-by-Coleman |
| 589 | ([17049](https://github.com/civicrm/civicrm-core/pull/17049))** |
| 590 | |
| 591 | - **[NFC] Cleanup CRM_Report_Form |
| 592 | ([17141](https://github.com/civicrm/civicrm-core/pull/17141))** |
| 593 | |
| 594 | - **(NFC) Comment clarification in test class |
| 595 | ([17133](https://github.com/civicrm/civicrm-core/pull/17133))** |
| 596 | |
| 597 | - **[NFC] Improve cleanup on membershipStatus to cope with undeleted memberships |
| 598 | ([16756](https://github.com/civicrm/civicrm-core/pull/16756))** |
| 599 | |
| 600 | - **[NFC] Remove calculation of unused parameter |
| 601 | ([17093](https://github.com/civicrm/civicrm-core/pull/17093))** |
| 602 | |
| 603 | - **(NFC) Gitlab Template - Request more detail about upgrade problems |
| 604 | ([17101](https://github.com/civicrm/civicrm-core/pull/17101))** |
| 605 | |
| 606 | - **[NFC] Remove a handful of legacy svn notations |
| 607 | ([17070](https://github.com/civicrm/civicrm-core/pull/17070))** |
| 608 | |
| 609 | - **[NFC/Test] - Fix typo in `if` statement that seems intended as a workaround |
| 610 | ([17258](https://github.com/civicrm/civicrm-core/pull/17258))** |
| 611 | |
| 612 | - **[NFC] Add Comment to avoid someone removing field only used in CiviCase |
| 613 | extension ([17000](https://github.com/civicrm/civicrm-core/pull/17000))** |
| 614 | |
| 615 | - **[NFC] Test cleanup |
| 616 | ([17224](https://github.com/civicrm/civicrm-core/pull/17224))** |
| 617 | |
| 618 | - **[NFC] Code cleanup around comments, strict comparison, formatting |
| 619 | ([17058](https://github.com/civicrm/civicrm-core/pull/17058))** |
| 620 | |
| 621 | - **[NFC] Remove all the places where tests unnecessarily pass to |
| 622 | Membership::create |
| 623 | ([17088](https://github.com/civicrm/civicrm-core/pull/17088))** |
| 624 | |
| 625 | - **[REF] SavedSearch - additional cleanup & bugfixes |
| 626 | ([17090](https://github.com/civicrm/civicrm-core/pull/17090))** |
| 627 | |
| 628 | - **(REF) dev/core#1744 - Cleanup event naming |
| 629 | ([17240](https://github.com/civicrm/civicrm-core/pull/17240))** |
| 630 | |
| 631 | - **[REF] [Test] IDE cleanup on ReportTemplateTest |
| 632 | ([17197](https://github.com/civicrm/civicrm-core/pull/17197))** |
| 633 | |
| 634 | - **[REF] Simplify non-creditcard participant.create |
| 635 | ([16584](https://github.com/civicrm/civicrm-core/pull/16584))** |
| 636 | |
| 637 | - **[REF] Fix install on Drupal 8 using new setup code |
| 638 | ([17334](https://github.com/civicrm/civicrm-core/pull/17334))** |
| 639 | |
| 640 | - **[REF] Minor var simplification |
| 641 | ([17121](https://github.com/civicrm/civicrm-core/pull/17121))** |
| 642 | |
| 643 | - **[REF] Consistently lookup dispatcher via `Civi::dispatcher()` |
| 644 | ([17154](https://github.com/civicrm/civicrm-core/pull/17154))** |
| 645 | |
| 646 | - **(REF,NFC) TokenProcessor - Minor DX improvements |
| 647 | ([17231](https://github.com/civicrm/civicrm-core/pull/17231))** |
| 648 | |
| 649 | - **[REF] Permit domain tokens being used within Thank You letters |
| 650 | ([17230](https://github.com/civicrm/civicrm-core/pull/17230))** |
| 651 | |
| 652 | - **(REF) CRM_Utils_Hook - Remove deprecated formulations of `invoke(int,…)` |
| 653 | ([17124](https://github.com/civicrm/civicrm-core/pull/17124))** |
| 654 | |
| 655 | - **[REF] Switch CRM_Utils_Array::value to empty in conditionals |
| 656 | ([17091](https://github.com/civicrm/civicrm-core/pull/17091))** |
| 657 | |
| 658 | - **[REF] Minor code cleanup |
| 659 | ([17225](https://github.com/civicrm/civicrm-core/pull/17225))** |
| 660 | |
| 661 | - **[REF] Minor code cleanup. |
| 662 | ([17222](https://github.com/civicrm/civicrm-core/pull/17222))** |
| 663 | |
| 664 | - **[REF] Reduce boilerplate code in BAO add/create functions |
| 665 | ([17172](https://github.com/civicrm/civicrm-core/pull/17172))** |
| 666 | |
| 667 | - **[REF] Minor cleanup around action schedule code. |
| 668 | ([17151](https://github.com/civicrm/civicrm-core/pull/17151))** |
| 669 | |
| 670 | - **[REF] get rid of variable variable structure |
| 671 | ([17089](https://github.com/civicrm/civicrm-core/pull/17089))** |
| 672 | |
| 673 | - **[REF] Remove duplicate checks for an array key existing |
| 674 | ([17069](https://github.com/civicrm/civicrm-core/pull/17069))** |
| 675 | |
| 676 | - **[REF] Import - extract duplicate code to function |
| 677 | ([17080](https://github.com/civicrm/civicrm-core/pull/17080))** |
| 678 | |
| 679 | - **[REF] Cleanup a few instances where we use old call to get loggedInUserID |
| 680 | ([17196](https://github.com/civicrm/civicrm-core/pull/17196))** |
| 681 | |
| 682 | - **[REF] Simplify determination of enabled components |
| 683 | ([17195](https://github.com/civicrm/civicrm-core/pull/17195))** |
| 684 | |
| 685 | - **[REF] stop overriding postProcess function in activity report detail |
| 686 | ([17194](https://github.com/civicrm/civicrm-core/pull/17194))** |
| 687 | |
| 688 | - **[REF] Reconcile CRM_Utils_System::getUrlPath and |
| 689 | CRM_Utils_System::currentPath |
| 690 | ([17068](https://github.com/civicrm/civicrm-core/pull/17068))** |
| 691 | |
| 692 | - **[REF] Stop passing ids to membership::create from createRelatedMemberships |
| 693 | ([17087](https://github.com/civicrm/civicrm-core/pull/17087))** |
| 694 | |
| 695 | - **[REF] move all functions associated with the submit function onto the Trait |
| 696 | ([17057](https://github.com/civicrm/civicrm-core/pull/17057))** |
| 697 | |
| 698 | - **[REF] APIv4 Explorer - improve performance |
| 699 | ([17062](https://github.com/civicrm/civicrm-core/pull/17062))** |
| 700 | |
| 701 | - **[REF] Clarify variable & tighten use. |
| 702 | ([17016](https://github.com/civicrm/civicrm-core/pull/17016))** |
| 703 | |
| 704 | - **[REF] Use bool instead of boolean |
| 705 | ([17013](https://github.com/civicrm/civicrm-core/pull/17013))** |
| 706 | |
| 707 | - **[REF] Formatting and use bool instead of boolean |
| 708 | ([17012](https://github.com/civicrm/civicrm-core/pull/17012))** |
| 709 | |
| 710 | - **[REF] Move generic preProcess function to the trait |
| 711 | ([16954](https://github.com/civicrm/civicrm-core/pull/16954))** |
| 712 | |
| 713 | - **[REF] Extract transferParticipantRegistration function |
| 714 | ([16976](https://github.com/civicrm/civicrm-core/pull/16976))** |
| 715 | |
| 716 | - **REF Remove redundant param from completeOrder |
| 717 | ([17034](https://github.com/civicrm/civicrm-core/pull/17034))** |
| 718 | |
| 719 | - **[REF] Update Contact email form to use the trait for EmailCommon functions |
| 720 | ([17031](https://github.com/civicrm/civicrm-core/pull/17031))** |
| 721 | |
| 722 | - **[REF] Move generic instances of listTokens to trait |
| 723 | ([17029](https://github.com/civicrm/civicrm-core/pull/17029))** |
| 724 | |
| 725 | - **[REF] CustomField code cleanup to use isSerialized method |
| 726 | ([17009](https://github.com/civicrm/civicrm-core/pull/17009))** |
| 727 | |
| 728 | - **[REF] CustomField code cleanup |
| 729 | ([16968](https://github.com/civicrm/civicrm-core/pull/16968))** |
| 730 | |
| 731 | - **[REF] Cleanup customField prepareCreate function |
| 732 | ([16996](https://github.com/civicrm/civicrm-core/pull/16996))** |
| 733 | |
| 734 | - **[REF] Update custom data handing in contact import |
| 735 | ([16986](https://github.com/civicrm/civicrm-core/pull/16986))** |
| 736 | |
| 737 | - **[REF] CustomGroup - cleanup handling of serialized fields in old function |
| 738 | ([16970](https://github.com/civicrm/civicrm-core/pull/16970))** |
| 739 | |
| 740 | - **[REF] APIv4 - Enforce contact field permissions via metadata |
| 741 | ([17168](https://github.com/civicrm/civicrm-core/pull/17168))** |
| 742 | |
| 743 | - **[REF] Code readability changes on activity tokens. |
| 744 | ([17161](https://github.com/civicrm/civicrm-core/pull/17161))** |
| 745 | |
| 746 | - **[REF] Minor extraction |
| 747 | ([17160](https://github.com/civicrm/civicrm-core/pull/17160))** |
| 748 | |
| 749 | - **[REF] CustomField - Remove pointless caching and move form variable to form |
| 750 | class ([16975](https://github.com/civicrm/civicrm-core/pull/16975))** |
| 751 | |
| 752 | - **[REF] Call makeCSVTable function directly from writeRows |
| 753 | ([16980](https://github.com/civicrm/civicrm-core/pull/16980))** |
| 754 | |
| 755 | - **[REF] CRM_Utils_Array::value -> empty |
| 756 | ([288](https://github.com/civicrm/civicrm-packages/pull/288))** |
| 757 | |
| 758 | - **[REF] Update XML file to match updated title in DAO File |
| 759 | ([16969](https://github.com/civicrm/civicrm-core/pull/16969))** |
| 760 | |
| 761 | - **[REF] Cleanup custom field handling... twice |
| 762 | ([16989](https://github.com/civicrm/civicrm-core/pull/16989))** |
| 763 | |
| 764 | - **[REF] Cleanup CustomField BAO to use its own isSerialized function |
| 765 | ([16990](https://github.com/civicrm/civicrm-core/pull/16990))** |
| 766 | |
| 767 | - **Cleanup custom field handling in ufGroup BAO |
| 768 | ([16984](https://github.com/civicrm/civicrm-core/pull/16984))** |
| 769 | |
| 770 | - **Code cleanup - replace overcomplicated test for null with isset |
| 771 | ([16965](https://github.com/civicrm/civicrm-core/pull/16965))** |
| 772 | |
| 773 | - **Update 5.24.2.md - Fix version number in title. |
| 774 | ([17043](https://github.com/civicrm/civicrm-core/pull/17043))** |
| 775 | |
| 776 | ## <a name="credits"></a>Credits |
| 777 | |
| 778 | This release was developed by the following code authors: |
| 779 | |
| 780 | a-n The Artists Information Company - William Mortada; AGH Strategies - Alice |
| 781 | Frumin, Andie Hunt; Andrei Mondoc; Christian Wach; Circle Interactive - Dave |
| 782 | Jenkins, Pradeep Nayak; CiviCRM - Coleman Watts, Josh Gowans, Tim Otten; |
| 783 | CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - |
| 784 | Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; All In |
| 785 | Appli.com - Guillaume Sorel; CompuCorp - Ivan; JMA Consulting - Seamus Lee; |
| 786 | Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology |
| 787 | Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Ray Wright; Third |
| 788 | Sector Design - Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; |
| 789 | Wikimedia Foundation - Eileen McNaughton |
| 790 | |
| 791 | Most authors also reviewed code for this release; in addition, the following |
| 792 | reviewers contributed their comments: |
| 793 | |
| 794 | Andrew Cormick-Dockery; Andy Burns; Artful Robot - Rich Lott; Blackfly |
| 795 | Solutions - Alan Dixon; CiviCoop - Jaap Jansma; Fuzion - Peter Davis; GMCVO |
| 796 | Databases - Jade Gaunt; JMA Consulting - Monish Deb; MJCO - Mikey O'Toole; |
| 797 | Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; |
| 798 | Tadpole Collective - Kevin Cristiano; Team Expansion - Greg Harris |
| 799 | |
| 800 | ## <a name="feedback"></a>Feedback |
| 801 | |
| 802 | These release notes are edited by Alice Frumin and Andie Hunt. If you'd like |
| 803 | to provide feedback on them, please log in to https://chat.civicrm.org/civicrm |
| 804 | and contact `@agh1`. |