| 1 | # CiviCRM 5.20.0 |
| 2 | |
| 3 | Released December 4, 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?** | **yes** | |
| 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 | ## <a name="security"></a>Security advisories |
| 25 | |
| 26 | - **[CIVI-SA-2019-24](https://civicrm.org/advisory/civi-sa-2019-24-csrf-in-apiv4-ajax-end-point): Cross-site request forgery in APIv4 AJAX endpoint** |
| 27 | |
| 28 | ## <a name="features"></a>Features |
| 29 | |
| 30 | ### Core CiviCRM |
| 31 | |
| 32 | - **Replace complex logic in email templates with simple logic on billing name |
| 33 | and credit card |
| 34 | ([dev/core#1344](https://lab.civicrm.org/dev/core/issues/1344): |
| 35 | [15653](https://github.com/civicrm/civicrm-core/pull/15653), |
| 36 | [15688](https://github.com/civicrm/civicrm-core/pull/15688), |
| 37 | [15646](https://github.com/civicrm/civicrm-core/pull/15646), |
| 38 | [15651](https://github.com/civicrm/civicrm-core/pull/15651), |
| 39 | [15682](https://github.com/civicrm/civicrm-core/pull/15682) and |
| 40 | [15680](https://github.com/civicrm/civicrm-core/pull/15680))** |
| 41 | |
| 42 | The Billing Name and Address and Credit Card Information sections are now |
| 43 | included when the billing name and credit card type fields are available, |
| 44 | respectively. This replaces template-based logic regarding the payment |
| 45 | method, amount, waitlist status, and more with the logic used when collecting |
| 46 | and processing this information. |
| 47 | |
| 48 | - **Contact Display Name vs Email Greeting in Workflow templates |
| 49 | ([dev/core#781](https://lab.civicrm.org/dev/core/issues/781): |
| 50 | [15491](https://github.com/civicrm/civicrm-core/pull/15491))** |
| 51 | |
| 52 | This ensures all standard workflow message templates use the contact's email |
| 53 | greeting. Before this change some standard workflow message templates used a |
| 54 | hard-coded "Dear" followed by the display name. |
| 55 | |
| 56 | - **Workflow templates - Update 'Thank You' & other text corrections |
| 57 | ([dev/core#1316](https://lab.civicrm.org/dev/core/issues/1316): |
| 58 | [15749](https://github.com/civicrm/civicrm-core/pull/15749), |
| 59 | [15745](https://github.com/civicrm/civicrm-core/pull/15745), |
| 60 | [15503](https://github.com/civicrm/civicrm-core/pull/15503) and |
| 61 | [15751](https://github.com/civicrm/civicrm-core/pull/15751))** |
| 62 | |
| 63 | Improves grammar and readability of the standard workflow templates. |
| 64 | |
| 65 | - **Workflow templates - Include displayname in subject |
| 66 | ([dev/core#1320](https://lab.civicrm.org/dev/core/issues/1320): |
| 67 | [15513](https://github.com/civicrm/civicrm-core/pull/15513))** |
| 68 | |
| 69 | This adds a contact's display name to the subject of some workflow templates |
| 70 | to make them more personal, less likely to be grouped together by email |
| 71 | clients, and more likely to be opened. |
| 72 | |
| 73 | - **Replace Open Flash Charts with charts that work |
| 74 | ([15448](https://github.com/civicrm/civicrm-core/pull/15448), |
| 75 | [268](https://github.com/civicrm/civicrm-packages/pull/268), |
| 76 | [267](https://github.com/civicrm/civicrm-packages/pull/267) and |
| 77 | [15493](https://github.com/civicrm/civicrm-core/pull/15493))** |
| 78 | |
| 79 | These changes move CiviCRM charts to use dc.js (which is based upon |
| 80 | Crossfilter and D3.js) instead of the outdated Open Flash Chart library. |
| 81 | |
| 82 | - **Add freeform relative date for 'This Fiscal Year' |
| 83 | ([14894](https://github.com/civicrm/civicrm-core/pull/14894))** |
| 84 | |
| 85 | Adds support for freeform relative dates (this_n.year & this_n.fiscal_year). |
| 86 | To utilize this new functionality administrators must add an option value to |
| 87 | the `relative_date_filters` option group. |
| 88 | |
| 89 | - **Remove the sentence: "Please print this page for your records." from the |
| 90 | various CiviCRM tpls |
| 91 | ([dev/core#371](https://lab.civicrm.org/dev/core/issues/371): |
| 92 | [15467](https://github.com/civicrm/civicrm-core/pull/15467))** |
| 93 | |
| 94 | Removes the text "Print for your records" to discourage people from wasting |
| 95 | paper. |
| 96 | |
| 97 | - **Remove Print Icon |
| 98 | ([15322](https://github.com/civicrm/civicrm-core/pull/15322))** |
| 99 | |
| 100 | This removes the print icon from the upper left hand corner of all pages. The |
| 101 | icon generally linked to a version of the page stripped of styling, but |
| 102 | printing the page through the browser's normal print command nearly always |
| 103 | looks better. |
| 104 | |
| 105 | - **Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception |
| 106 | (Work towards [dev/core#560](https://lab.civicrm.org/dev/core/issues/560): |
| 107 | [15608](https://github.com/civicrm/civicrm-core/pull/15608) and |
| 108 | [15623](https://github.com/civicrm/civicrm-core/pull/15623))** |
| 109 | |
| 110 | Works towards throwing exceptions (instead of fatal errors) in |
| 111 | several places including if aborting because if a type of a param error. |
| 112 | |
| 113 | - **Make relationship description searchable |
| 114 | ([dev/core#1257](https://lab.civicrm.org/dev/core/issues/1257): |
| 115 | [15358](https://github.com/civicrm/civicrm-core/pull/15358))** |
| 116 | |
| 117 | Exposes the relationship description field to the advanced search form. |
| 118 | |
| 119 | - **Add in method to allow extensions to opt out of using temporary table when |
| 120 | building ACL Contact Cache |
| 121 | ([15701](https://github.com/civicrm/civicrm-core/pull/15701))** |
| 122 | |
| 123 | Adds in getter and setter functions and a static class variable to |
| 124 | determine if a temporary table should be used when building the ACL contact |
| 125 | Cache |
| 126 | |
| 127 | - **Re-arrange change log advanced search panel so both modified fields are next |
| 128 | to each other ([15712](https://github.com/civicrm/civicrm-core/pull/15712))** |
| 129 | |
| 130 | This switches the modified date and changed date to appear in the reverse |
| 131 | order in order to improve the appearance. |
| 132 | |
| 133 | - **Schema changes for PaymentProcessor and PaymentProcessorType to support |
| 134 | apiv4 entities ([15733](https://github.com/civicrm/civicrm-core/pull/15733))** |
| 135 | |
| 136 | Begins work to add `PaymentProcesor` and `PaymentProcessorType` entities to |
| 137 | APIv4. |
| 138 | |
| 139 | - **Remove CIVICRM_SUPPORT_MULTIPLE_LOCKS and make it always enabled if |
| 140 | available ([15604](https://github.com/civicrm/civicrm-core/pull/15604))** |
| 141 | |
| 142 | Makes `CIVICRM_SUPPORT_MULTIPLE_LOCKS` turned on by default so that by default |
| 143 | sites can use multiple locks on modern versions of MySQL/MariaDB. |
| 144 | |
| 145 | - **Add help text to payment processor subject field |
| 146 | ([15590](https://github.com/civicrm/civicrm-core/pull/15590))** |
| 147 | |
| 148 | Improves consistency by adding a help icon to the subject field on the |
| 149 | "Settings - Payment Processor" form (CiviCRM Admin bar -> Adminster -> System |
| 150 | Settings -> Payment Processors add or edit a payment processor). |
| 151 | |
| 152 | - **Generic Settings Pages: Make getSettingPageFilter() public so we can use it |
| 153 | in hooks ([15576](https://github.com/civicrm/civicrm-core/pull/15576))** |
| 154 | |
| 155 | Makes the `_filter` property available in hooks so extension developers can |
| 156 | use it. |
| 157 | |
| 158 | - **Update api3 explorer url path for consistency |
| 159 | ([15597](https://github.com/civicrm/civicrm-core/pull/15597))** |
| 160 | |
| 161 | Changes the path to access the Api3 explorer to `civicrm/api3` so that it |
| 162 | is consistent with `civicrm/api4`, `civicrm/api` now redirects to |
| 163 | `civicrm/api3`. |
| 164 | |
| 165 | - **Improvements to copying events and contribution pages |
| 166 | ([15144](https://github.com/civicrm/civicrm-core/pull/15144))** |
| 167 | |
| 168 | Ensures when an admin copies an event or contribution page the current user ID |
| 169 | and time are stored in the `created_date` and `created_id` fields. |
| 170 | Additionally, ensures when copying a contribution page the user is |
| 171 | redirected to the 'edit' screen for the newly copied page. |
| 172 | |
| 173 | - **Allow custom ts functions in extensions; defer custom ts calls until booted |
| 174 | ([15411](https://github.com/civicrm/civicrm-core/pull/15411))** |
| 175 | |
| 176 | Makes it possible for developers to write custom translate functions in |
| 177 | extensions. |
| 178 | |
| 179 | - **Update Sending Emails section of configuration checklist |
| 180 | ([dev/core#1278](https://lab.civicrm.org/dev/core/issues/1278): |
| 181 | [15359](https://github.com/civicrm/civicrm-core/pull/15359))** |
| 182 | |
| 183 | Improves the readability of the "Sending Emails" section of the configuration |
| 184 | checklist. |
| 185 | |
| 186 | - **Support street address sorting for contact detail report |
| 187 | ([15581](https://github.com/civicrm/civicrm-core/pull/15581))** |
| 188 | |
| 189 | Improves the "Contact Detail" report template by making it possible to sort by |
| 190 | "Street Address". |
| 191 | |
| 192 | ### CiviCase |
| 193 | |
| 194 | - **Unable to use url search arguments in 'Advanced Search' using force=1 (Work |
| 195 | Towards [dev/core#692](https://lab.civicrm.org/dev/core/issues/692): |
| 196 | [15370](https://github.com/civicrm/civicrm-core/pull/15370))** |
| 197 | |
| 198 | Improves the "Find Cases" form's ability to accept url arguments. |
| 199 | |
| 200 | - **Convert case activity links to 'actionLinks' |
| 201 | ([14349](https://github.com/civicrm/civicrm-core/pull/14349))** |
| 202 | |
| 203 | Converts Case activity links to use actionLinks so they can be accessed by |
| 204 | extension developers using the hook `hook_civicrm_links`. |
| 205 | |
| 206 | - **Format details for case custom data activity in a human readable format |
| 207 | ([13365](https://github.com/civicrm/civicrm-core/pull/13365))** |
| 208 | |
| 209 | Improves readability of the activity details saved to case "Change Custom |
| 210 | Data" activities. |
| 211 | |
| 212 | ### CiviContribute |
| 213 | |
| 214 | - **Payment processor names: separate internal and external usage |
| 215 | ([dev/financial#2](https://lab.civicrm.org/dev/financial/issues/2): |
| 216 | [15418](https://github.com/civicrm/civicrm-core/pull/15418), |
| 217 | [15497](https://github.com/civicrm/civicrm-core/pull/15497), |
| 218 | [15617](https://github.com/civicrm/civicrm-core/pull/15617) and |
| 219 | [15632](https://github.com/civicrm/civicrm-core/pull/15632))** |
| 220 | |
| 221 | Adds a new field "Payment Processor Title" to the "Edit Payment Processor" |
| 222 | form if configured the title will appear on front end forms. This allows |
| 223 | administrators to configure internal and external names for payment |
| 224 | processors. For example, internally a payment processor may be called "Action |
| 225 | Fund - Stripe" while externally It may use the label "Credit Card". Ensures |
| 226 | that the front end title of the payment processor is used in receipts when |
| 227 | available. |
| 228 | |
| 229 | - **Payments - Where do we store IDs from payment processor? |
| 230 | ([dev/financial#57](https://lab.civicrm.org/dev/financial/issues/57): |
| 231 | [15468](https://github.com/civicrm/civicrm-core/pull/15468))** |
| 232 | |
| 233 | Adds an `order_reference` field to `civicrm_financial_trxn` table. The |
| 234 | `order_reference` field is intended to hold the payment processor provided |
| 235 | external reference to an order / invoice (when applicable/possible). |
| 236 | |
| 237 | - **New methodology for storing template contributions (Work towards |
| 238 | [dev/financial#72](https://lab.civicrm.org/dev/financial/issues/72): |
| 239 | [15472](https://github.com/civicrm/civicrm-core/pull/15472), |
| 240 | [15470](https://github.com/civicrm/civicrm-core/pull/15470), |
| 241 | [15550](https://github.com/civicrm/civicrm-core/pull/15550), |
| 242 | [15431](https://github.com/civicrm/civicrm-core/pull/15431), |
| 243 | [15456](https://github.com/civicrm/civicrm-core/pull/15456), |
| 244 | [15433](https://github.com/civicrm/civicrm-core/pull/15433) and |
| 245 | [15419](https://github.com/civicrm/civicrm-core/pull/15419))** |
| 246 | |
| 247 | Moves towards a new methodology for storing template contributions by: using a |
| 248 | standard function to create contribution status dropdowns for batch |
| 249 | contribution entry and the batch pending contribution status update task, adds |
| 250 | a new contribution status "Template", adds an `is_template` field to |
| 251 | contributions. Adds some logic surrounding pulling Contributions templates |
| 252 | using the new `is_template` field. |
| 253 | |
| 254 | - **PaymentProcessor.pay should handle 'invoice_id' & map it to a getter so |
| 255 | processors can retrieve it |
| 256 | ([dev/financial#77](https://lab.civicrm.org/dev/financial/issues/77): |
| 257 | [15639](https://github.com/civicrm/civicrm-core/pull/15639))** |
| 258 | |
| 259 | Makes `contribution_id` required when calling the `PaymentProcessor.pay` API. |
| 260 | |
| 261 | - **Order.create should not require total amount |
| 262 | ([dev/financial#73](https://lab.civicrm.org/dev/financial/issues/73): |
| 263 | [15501](https://github.com/civicrm/civicrm-core/pull/15501))** |
| 264 | |
| 265 | Updates the Order.create API to require `total_amount` OR `line_items` instead |
| 266 | of solely requiring `total_amount`. |
| 267 | |
| 268 | - **Order api updates to fix participant handling & deprecate creating |
| 269 | 'completed ([15514](https://github.com/civicrm/civicrm-core/pull/15514))** |
| 270 | |
| 271 | Improves the Order api by making it so status is no longer required for |
| 272 | creating participants and creating completed orders is deprecated. |
| 273 | |
| 274 | - **Develop getter & setter structure for Payment classes (Work towards |
| 275 | [dev/financial#82](https://lab.civicrm.org/dev/financial/issues/82): |
| 276 | [15707](https://github.com/civicrm/civicrm-core/pull/15707) and |
| 277 | [15509](https://github.com/civicrm/civicrm-core/pull/15509))** |
| 278 | |
| 279 | Begins work to refactor how CRM_Core_Payment works so that `doPayment` accepts |
| 280 | a consistent defined set of variables. |
| 281 | |
| 282 | - **Contribution Summary report only shows first 50 entries |
| 283 | ([dev/core#1252](https://lab.civicrm.org/dev/core/issues/1252): |
| 284 | [15528](https://github.com/civicrm/civicrm-core/pull/15528))** |
| 285 | |
| 286 | Adds support for paging on the Contribution Summary Report. |
| 287 | |
| 288 | - **Provide precautionary handling for theoretical error scenario. |
| 289 | ([15748](https://github.com/civicrm/civicrm-core/pull/15748))** |
| 290 | |
| 291 | Provides protection against fatal errors when adding payments if |
| 292 | `financial_items` have not been created. |
| 293 | |
| 294 | - **Support chaining Payment.create from Order api |
| 295 | ([15548](https://github.com/civicrm/civicrm-core/pull/15548))** |
| 296 | |
| 297 | Adds support to chain a `Payment.create` call from an `Order.create` api call. |
| 298 | |
| 299 | - **Translate two string in AdditionalPayment form |
| 300 | ([15577](https://github.com/civicrm/civicrm-core/pull/15577))** |
| 301 | |
| 302 | Translates two strings on the Additional Payment form. |
| 303 | |
| 304 | ### WordPress Integration |
| 305 | |
| 306 | - **Switch WP over to new installer |
| 307 | ([dev/wordpress#37](https://lab.civicrm.org/dev/wordpress/issues/37): |
| 308 | [165](https://github.com/civicrm/civicrm-wordpress/pull/165))** |
| 309 | |
| 310 | Improves the CiviCRM installation process for WordPress sites by redirecting |
| 311 | users to an install screen when the CiviCRM plugin is activated. |
| 312 | |
| 313 | ## <a name="bugs"></a>Bugs resolved |
| 314 | |
| 315 | ### Core CiviCRM |
| 316 | |
| 317 | - **Add support for bulkcreates (Work towards |
| 318 | [dev/core#1093](https://lab.civicrm.org/dev/core/issues/1093): |
| 319 | [15599](https://github.com/civicrm/civicrm-core/pull/15599))** |
| 320 | |
| 321 | Fixes a fatal error when updating a custom field with logging enabled. |
| 322 | |
| 323 | - **Attachment API for event custom field gives: Failed to run Permissions |
| 324 | checks ([dev/core#1205](https://lab.civicrm.org/dev/core/issues/1205): |
| 325 | [15580](https://github.com/civicrm/civicrm-core/pull/15580))** |
| 326 | |
| 327 | Fixes a bug where using the Attachment API for a custom file field would fail |
| 328 | with a permission denied error. |
| 329 | |
| 330 | - **Email Processor drops the other attachments if there's more than 3 |
| 331 | ([dev/core#1270](https://lab.civicrm.org/dev/core/issues/1270): |
| 332 | [15438](https://github.com/civicrm/civicrm-core/pull/15438))** |
| 333 | |
| 334 | Fixes a bug where the email processor would drop attachments if there were |
| 335 | more attachments in the incoming email than the limit set at system settings - |
| 336 | misc. |
| 337 | |
| 338 | - **Fix CSS for public select2 elements regardless of parent theme box-size |
| 339 | ([15442](https://github.com/civicrm/civicrm-core/pull/15442))** |
| 340 | |
| 341 | Fixes the height of select2 boxes (so that they do not appears squished) on |
| 342 | front facing forms across CMS's and browsers. |
| 343 | |
| 344 | - **CiviCRM Dashboard does not respect multiple domains |
| 345 | ([dev/core#1200](https://lab.civicrm.org/dev/core/issues/1200): |
| 346 | [15283](https://github.com/civicrm/civicrm-core/pull/15283))** |
| 347 | |
| 348 | Ongoing fixes for the CiviCRM Dashboard when using multiple Domains. |
| 349 | |
| 350 | - **Warning: array_key_exists(): The first argument should be either a string or |
| 351 | an integer in CRM_Contact_Form_Search::getModeValue() |
| 352 | ([dev/core#1347](https://lab.civicrm.org/dev/core/issues/1347): |
| 353 | [15650](https://github.com/civicrm/civicrm-core/pull/15650))** |
| 354 | |
| 355 | Fixes a php warning on the advanced search form when opening some accordions. |
| 356 | |
| 357 | - **Report improvements |
| 358 | ([CRM-21677](https://issues.civicrm.org/jira/browse/CRM-21677): |
| 359 | [15567](https://github.com/civicrm/civicrm-core/pull/15567))** |
| 360 | |
| 361 | Removes redundant gender evaluation code from the Case Demographic Report |
| 362 | template. |
| 363 | |
| 364 | - **Re-installation of Extension With Custom Fields and Logging Enabled Causes |
| 365 | Error ([dev/core#1383](https://lab.civicrm.org/dev/core/issues/1383): |
| 366 | [15816](https://github.com/civicrm/civicrm-core/pull/15816))** |
| 367 | |
| 368 | - **Php 7.3 fix - don't mis-use continue |
| 369 | ([15737](https://github.com/civicrm/civicrm-core/pull/15737))** |
| 370 | |
| 371 | Fixes some php warnings regarding using continue where break would be |
| 372 | preferable for sites running PHP 7.3. |
| 373 | |
| 374 | - **Allow regen.sh to work with either upper/lower case for CMS name to match |
| 375 | elsewhere ([15647](https://github.com/civicrm/civicrm-core/pull/15647))** |
| 376 | |
| 377 | Ensures regen.sh works with both Proper and lower case CMS names. |
| 378 | |
| 379 | - **Make sure labels match the actual date input format |
| 380 | ([15520](https://github.com/civicrm/civicrm-core/pull/15520))** |
| 381 | |
| 382 | Ensures the labels of the date input format dropdown (under |
| 383 | `/civicrm/admin/setting/date`) match the actual value of the formats. |
| 384 | |
| 385 | - **Can't search for activity subjects starting with 1 - and many more caching |
| 386 | issues ([dev/core#1411](https://lab.civicrm.org/dev/core/issues/1411): |
| 387 | [15918](https://github.com/civicrm/civicrm-core/pull/15918))** |
| 388 | |
| 389 | The query to fill the SQL cache would fail in a variety of cases, either |
| 390 | returning no results or running a fresh, uncached set of results. |
| 391 | |
| 392 | - **Fix fatal error when sorting by status in activity search |
| 393 | ([15923](https://github.com/civicrm/civicrm-core/pull/15923))** |
| 394 | |
| 395 | - **E Notice 'info' Extension.php:248 -> When installing via cv |
| 396 | ([dev/core#1371](https://lab.civicrm.org/dev/core/issues/1371): |
| 397 | [15762](https://github.com/civicrm/civicrm-core/pull/15762))** |
| 398 | |
| 399 | - **Reports show " " in filters with child-groups |
| 400 | ([dev/core#826](https://lab.civicrm.org/dev/core/issues/826): |
| 401 | [15293](https://github.com/civicrm/civicrm-core/pull/15293))** |
| 402 | |
| 403 | - **Upgrade failure with 5.19 involving interaction between APIv4 and extensions |
| 404 | ([dev/core#1376](https://lab.civicrm.org/dev/core/issues/1376): |
| 405 | [15765](https://github.com/civicrm/civicrm-core/pull/15765))** |
| 406 | |
| 407 | - **Fixing a fatal error when installing extensions with Option Values defined |
| 408 | in XML ([15643](https://github.com/civicrm/civicrm-core/pull/15643))** |
| 409 | |
| 410 | - **Civi\Core\Container - Fix warning about Symfony 3=>4 and boot services |
| 411 | ([15704](https://github.com/civicrm/civicrm-core/pull/15704))** |
| 412 | |
| 413 | - **Customfields attached to addresses break the profile page |
| 414 | ([dev/core#1324](https://lab.civicrm.org/dev/core/issues/1324): |
| 415 | [15541](https://github.com/civicrm/civicrm-core/pull/15541))** |
| 416 | |
| 417 | - **Fix bug in SQL queue that can cause tasks to be run twice in a |
| 418 | multiprocess environment |
| 419 | ([15421](https://github.com/civicrm/civicrm-core/pull/15421))** |
| 420 | |
| 421 | - **Fixes an issue where the two arrays weren't always being merged correctly |
| 422 | ([15482](https://github.com/civicrm/civicrm-core/pull/15482))** |
| 423 | |
| 424 | - **Fix error when adding activities from Search Builder |
| 425 | ([15522](https://github.com/civicrm/civicrm-core/pull/15522))** |
| 426 | |
| 427 | - **Do no invoke Hooks via UF unless container has been built or it is a hook |
| 428 | designed to run without container being built |
| 429 | ([15339](https://github.com/civicrm/civicrm-core/pull/15339))** |
| 430 | |
| 431 | - **Ensure front-end hooks are only registered on main query |
| 432 | ([166](https://github.com/civicrm/civicrm-wordpress/pull/166))** |
| 433 | |
| 434 | - **Fix E_NOTICE for is_required in address form |
| 435 | ([15423](https://github.com/civicrm/civicrm-core/pull/15423))** |
| 436 | |
| 437 | - **Customfields of type Multiselect attached to an Address do not render in |
| 438 | profile page (appear empty) |
| 439 | ([dev/core#1282](https://lab.civicrm.org/dev/core/issues/1282): |
| 440 | [15375](https://github.com/civicrm/civicrm-core/pull/15375) and |
| 441 | [15638](https://github.com/civicrm/civicrm-core/pull/15638))** |
| 442 | |
| 443 | - **Upgrade to CiviCRM 5.20.beta fails because of MessageTemplate error |
| 444 | ([marketing/civicrm-website#163](https://lab.civicrm.org/marketing/civicrm-website/issues/163): |
| 445 | [15844](https://github.com/civicrm/civicrm-core/pull/15844))** |
| 446 | |
| 447 | This change allows the upgrade process to sidestep missing system workflow |
| 448 | message templates rather than failing when trying to update them. |
| 449 | |
| 450 | - **Link to docs.civicrm.org instead of wiki |
| 451 | ([15973](https://github.com/civicrm/civicrm-core/pull/15973))** |
| 452 | |
| 453 | Outdated links to the old CiviCRM wiki that appear in upgrade messages have |
| 454 | been replaced with links to the current user documentation. |
| 455 | |
| 456 | - **Ensure that Relative key is not added for non Select Date is_search_range |
| 457 | custom fields ([15977](https://github.com/civicrm/civicrm-core/pull/15977) and |
| 458 | [16002](https://github.com/civicrm/civicrm-core/pull/16002))** |
| 459 | |
| 460 | ### CiviCase |
| 461 | |
| 462 | - **Fix longstanding name vs label problems for case roles |
| 463 | ([dev/core#1046](https://lab.civicrm.org/dev/core/issues/1046): |
| 464 | [15556](https://github.com/civicrm/civicrm-core/pull/15556), |
| 465 | [15483](https://github.com/civicrm/civicrm-core/pull/15483), and |
| 466 | [15939](https://github.com/civicrm/civicrm-core/pull/15939))** |
| 467 | |
| 468 | Case roles are now defined in case types as relationship type names instead of |
| 469 | labels. This fixes a variety of bugs for CiviCRM instances with case roles |
| 470 | that rely on relationships where the label does not match the name. A new |
| 471 | system check will alert administrators if case types stored in XML files need |
| 472 | to be edited. |
| 473 | |
| 474 | - **Saving a case type can give a php warning, but the warning is more hidden |
| 475 | than usual so it seems like everything is ok |
| 476 | ([dev/core#1335](https://lab.civicrm.org/dev/core/issues/1335): |
| 477 | [15554](https://github.com/civicrm/civicrm-core/pull/15554))** |
| 478 | |
| 479 | Prevents a php warning "htmlspecialchars() expects parameter 1 to be string, |
| 480 | array given" when saving case type. |
| 481 | |
| 482 | - **Reinstate Case ID search field |
| 483 | ([15935](https://github.com/civicrm/civicrm-core/pull/15935))** |
| 484 | |
| 485 | This resolves a regression in 5.20.beta where the case search lacked a case ID |
| 486 | field. |
| 487 | |
| 488 | - **Upgrade script to flip autoassignees using bidirectional relationship in |
| 489 | older civicase configs |
| 490 | ([15542](https://github.com/civicrm/civicrm-core/pull/15542))** |
| 491 | |
| 492 | Fixes a visual display issue for sites with configured activity autoassignees |
| 493 | in a CiviCase timeline using "by relationship" with a bidirectional |
| 494 | relationship (e.g. sibling) prior to 5.16 . Specifically, sites with this |
| 495 | setup will see a blank on the case type edit screen. It doesn't affect |
| 496 | operation, and saving the case type doesn't lose any info, but it's a visual |
| 497 | confusion. This upgrade script flips the a's and b's for those settings. |
| 498 | |
| 499 | - **Minor a_b/b_a mixup on case type edit screen |
| 500 | ([15412](https://github.com/civicrm/civicrm-core/pull/15412))** |
| 501 | |
| 502 | - **Print Merge document from case search doesn't file on correct contact. |
| 503 | ([dev/core#893](https://lab.civicrm.org/dev/core/issues/893): |
| 504 | [15626](https://github.com/civicrm/civicrm-core/pull/15626))** |
| 505 | |
| 506 | - **Ensure that using case_start_date_high and case_start_date_low etc in url |
| 507 | variables works in force=1 mode |
| 508 | ([15619](https://github.com/civicrm/civicrm-core/pull/15619))** |
| 509 | |
| 510 | - **Minimal fix for new enotice on case.subject |
| 511 | ([15616](https://github.com/civicrm/civicrm-core/pull/15616))** |
| 512 | |
| 513 | - **Clicking on a contact's cases tab gives Network Error Unable to reach the |
| 514 | server ([dev/core#1381](https://lab.civicrm.org/dev/core/issues/1381): |
| 515 | [15804](https://github.com/civicrm/civicrm-core/pull/15804))** |
| 516 | |
| 517 | ### CiviContribute |
| 518 | |
| 519 | - **Respect calling code passing in 'null' for creditnote_id. |
| 520 | ([15232](https://github.com/civicrm/civicrm-core/pull/15232))** |
| 521 | |
| 522 | Fixes an issue where the contribution BAO disregards 'null' when passed in for |
| 523 | 'credit_note_id'. |
| 524 | |
| 525 | - **Change test to use preferred methods, fix revealed money bug |
| 526 | ([15622](https://github.com/civicrm/civicrm-core/pull/15622))** |
| 527 | |
| 528 | Ensures that Payment.create cleans the `total_amount` field like |
| 529 | Contribution.create. |
| 530 | |
| 531 | - **Membership and Event Related Contributions - shows all contributions |
| 532 | ([dev/core#1435](https://lab.civicrm.org/dev/core/issues/1435): |
| 533 | [16013](https://github.com/civicrm/civicrm-core/pull/16013))** |
| 534 | |
| 535 | This resolves a regression when viewing a membership or participant record |
| 536 | where the related contributions show all contributions, not those related to |
| 537 | the record. |
| 538 | |
| 539 | - **Fix cancel payment action to reverse financial items related to cancelled |
| 540 | payment ([15630](https://github.com/civicrm/civicrm-core/pull/15630))** |
| 541 | |
| 542 | Fixes a bug where the `financial_entity_trxn` entries associated with a |
| 543 | canceled payment were not being reversed as they should have been. |
| 544 | |
| 545 | - **Missing Financial type and Credit Account Code in Bookkeeping Transaction |
| 546 | Report (Work towards |
| 547 | [dev/financial#40](https://lab.civicrm.org/dev/financial/issues/40): |
| 548 | [15740](https://github.com/civicrm/civicrm-core/pull/15740))** |
| 549 | |
| 550 | Fixes an issue whereby `civicrm_entity_financial_trxn` records for the |
| 551 | `civicrm_financial_item` table were not created when refunding against line |
| 552 | items with a quantity of zero - i.e. where there were selected check boxes & |
| 553 | they were reversed. |
| 554 | |
| 555 | - **Deprecate Contribute.transact api |
| 556 | ([dev/financial#79](https://lab.civicrm.org/dev/financial/issues/79): |
| 557 | [15564](https://github.com/civicrm/civicrm-core/pull/15564), |
| 558 | [15591](https://github.com/civicrm/civicrm-core/pull/15591) and |
| 559 | [15504](https://github.com/civicrm/civicrm-core/pull/15504))** |
| 560 | |
| 561 | Marks the `Contribute.transact` as deprecated in the API explorer, adds a |
| 562 | noisy deprecation warning to Contribute.transact and moves it to its own file. |
| 563 | |
| 564 | - **Cleanup date handling on Payment.create |
| 565 | ([15687](https://github.com/civicrm/civicrm-core/pull/15687))** |
| 566 | |
| 567 | Ensures that adding a payment on the `AdditionalPaymentForm` does not change |
| 568 | the Contribution `receive_date`. |
| 569 | |
| 570 | - **Ensure contributionRecurID is set on processor |
| 571 | ([15673](https://github.com/civicrm/civicrm-core/pull/15673))** |
| 572 | |
| 573 | Ensures that `contributionRecurID` is available to payment processors that |
| 574 | need it in `cancelSubscription`. |
| 575 | |
| 576 | - **fix 'balance due' on Pledge Detail for non-US installs |
| 577 | ([15543](https://github.com/civicrm/civicrm-core/pull/15543))** |
| 578 | |
| 579 | Fixes a bug where the Pledge Detail report crashed when "Balance Due" was |
| 580 | selected and the label of either of the pledge statuses "Completed" or |
| 581 | "Canceled" had been modified. |
| 582 | |
| 583 | - **Record Refund fails due to thousands separator in amount |
| 584 | ([dev/core#1409](https://lab.civicrm.org/dev/core/issues/1409): |
| 585 | [15889](https://github.com/civicrm/civicrm-core/pull/15889))** |
| 586 | |
| 587 | This bug was sidestepped by removing the Net Amount field on the Record Refund |
| 588 | form. |
| 589 | |
| 590 | - **Incorrect allocation of payment on an edited multi-line item event |
| 591 | registration |
| 592 | ([dev/financial#34](https://lab.civicrm.org/dev/financial/issues/34): |
| 593 | [14763](https://github.com/civicrm/civicrm-core/pull/14763))** |
| 594 | |
| 595 | - **Incorrect Allocation of refunded line items on Multi Event Registrations |
| 596 | ([dev/financial#94](https://lab.civicrm.org/dev/financial/issues/94): |
| 597 | [15664](https://github.com/civicrm/civicrm-core/pull/15664))** |
| 598 | |
| 599 | - **Conditionally add contribution metadata for advanced search only if the user |
| 600 | has access to CiviContribute |
| 601 | ([15966](https://github.com/civicrm/civicrm-core/pull/15966))** |
| 602 | |
| 603 | - **Fix ambiguous column in Contribution Search query with ORDER BY |
| 604 | ([15899](https://github.com/civicrm/civicrm-core/pull/15899))** |
| 605 | |
| 606 | This fixes an issue where columns whose names are not unique in the underlying |
| 607 | query of a search cause a database error when they're used as a sort column. |
| 608 | |
| 609 | - **Custom Search: Find Contributors by Aggregate Totals does not return results |
| 610 | if 'Choose date range' is selected and end date is empty |
| 611 | ([dev/core#1297](https://lab.civicrm.org/dev/core/issues/1297): |
| 612 | [15415](https://github.com/civicrm/civicrm-core/pull/15415))** |
| 613 | |
| 614 | - **Custom Search: Search actions broken on Find Contributors by Aggregate |
| 615 | Totals ([dev/core#1377](https://lab.civicrm.org/dev/core/issues/1377): |
| 616 | [15873](https://github.com/civicrm/civicrm-core/pull/15873))** |
| 617 | |
| 618 | - **Fix Sybunt to select mark rows as selected |
| 619 | ([15872](https://github.com/civicrm/civicrm-core/pull/15872))** |
| 620 | |
| 621 | This resolves a bug where checking result rows on the SYBUNT custom search |
| 622 | would not actually select them or increment the "selected" count of rows. |
| 623 | |
| 624 | - **Remove unhelpful alert from contribution search |
| 625 | ([15787](https://github.com/civicrm/civicrm-core/pull/15787))** |
| 626 | |
| 627 | This removes the "We did not recognize the search field..." warning that would |
| 628 | appear when searching on certain fields even as the search would accurately |
| 629 | filter on the field's value. |
| 630 | |
| 631 | - **Save & Next button on Contribution Page Widgets tab does not move user to |
| 632 | next step ([dev/core/1266](https://lab.civicrm.org/dev/core/issues/1266): |
| 633 | [15323](https://github.com/civicrm/civicrm-core/pull/15323))** |
| 634 | |
| 635 | - **Fix parameters for statusBounce in AdditionalPayment |
| 636 | ([15579](https://github.com/civicrm/civicrm-core/pull/15579))** |
| 637 | |
| 638 | - **Fix deprecation warning on Price Set report |
| 639 | ([15952](https://github.com/civicrm/civicrm-core/pull/15952))** |
| 640 | |
| 641 | - **RepeatTransaction API incorrectly calculates the total amount when recur |
| 642 | payment has tax amount. |
| 643 | ([dev/core#1317](https://lab.civicrm.org/dev/core/issues/1317): |
| 644 | [15517](https://github.com/civicrm/civicrm-core/pull/15517))** |
| 645 | |
| 646 | - **Incorrect line items recorded with contribution repeattransaction api. |
| 647 | ([dev/core#1367](https://lab.civicrm.org/dev/core/issues/1367): |
| 648 | [15735](https://github.com/civicrm/civicrm-core/pull/15735))** |
| 649 | |
| 650 | - **Contribution Detail Report gives incorrect results when `force=1` |
| 651 | ([dev/report#20](https://lab.civicrm.org/dev/report/issues/20): |
| 652 | [15315](https://github.com/civicrm/civicrm-core/pull/15315))** |
| 653 | |
| 654 | - **Fix typo in parameter description for PaymentProcessor.pay |
| 655 | ([15476](https://github.com/civicrm/civicrm-core/pull/15476))** |
| 656 | |
| 657 | - **Fix Payment.create with a negative value to create the correct financial |
| 658 | items ([15705](https://github.com/civicrm/civicrm-core/pull/15705))** |
| 659 | |
| 660 | - **Fix Payment.create bug whereby payment_processor_id is not being used for |
| 661 | the to_account_id |
| 662 | ([15640](https://github.com/civicrm/civicrm-core/pull/15640))** |
| 663 | |
| 664 | - **Fix bug whereby cidZero does not prepopulate billing details for selected |
| 665 | contact for pay later. |
| 666 | ([15565](https://github.com/civicrm/civicrm-core/pull/15565))** |
| 667 | |
| 668 | - **Contribution Dashboard still uses broken Open Flash Charts |
| 669 | ([dev/core#1309](https://lab.civicrm.org/dev/core/issues/1309): |
| 670 | [15474](https://github.com/civicrm/civicrm-core/pull/15474))** |
| 671 | |
| 672 | - **Fix 5.20 regression on retrieving template transaction with no logged in |
| 673 | user ([15976](https://github.com/civicrm/civicrm-core/pull/15976))** |
| 674 | |
| 675 | ### CiviEvent |
| 676 | |
| 677 | - **Event Participants actions (Print Name Badges, Export...) ignores search |
| 678 | criteria ([dev/core#1422](https://lab.civicrm.org/dev/core/issues/1422): |
| 679 | [15962](https://github.com/civicrm/civicrm-core/pull/15962))** |
| 680 | |
| 681 | This resolves an issue where the action would be based upon all participants |
| 682 | of all events rather than all of the results of the current search. |
| 683 | |
| 684 | - **Fix loading of profile fields on additional participant form |
| 685 | ([15698](https://github.com/civicrm/civicrm-core/pull/15698))** |
| 686 | |
| 687 | Fixes a bug where no profile fields were loaded on the additional participant |
| 688 | form of an Online Registration form configured to accept multiple |
| 689 | participants. |
| 690 | |
| 691 | - **Fix logic determining whether (masked) credit card details are displayed in |
| 692 | event online receipts |
| 693 | ([15532](https://github.com/civicrm/civicrm-core/pull/15532))** |
| 694 | |
| 695 | Fixes Event online receipts to display credit card info if available. |
| 696 | |
| 697 | ### CiviGrant |
| 698 | |
| 699 | - **Grant in Edit mode doesn't show the associated contact and standardize all |
| 700 | screens accordingly. |
| 701 | ([dev/core#1065](https://lab.civicrm.org/dev/core/issues/1065): |
| 702 | [15362](https://github.com/civicrm/civicrm-core/pull/15362), |
| 703 | [15321](https://github.com/civicrm/civicrm-core/pull/15321) and |
| 704 | [15744](https://github.com/civicrm/civicrm-core/pull/15744))** |
| 705 | |
| 706 | ### CiviMail |
| 707 | |
| 708 | - **Add in unit test for namespaced fields in mailing reports and also fix issue |
| 709 | where by mailing_name has been namespaced also in 5.20 (Follow-up to |
| 710 | [dev/mail#56](https://lab.civicrm.org/dev/mail/issues/56) and |
| 711 | [dev/mail#57](https://lab.civicrm.org/dev/mail/issues/57): |
| 712 | [15782](https://github.com/civicrm/civicrm-core/pull/15782))** |
| 713 | |
| 714 | ### CiviMember |
| 715 | |
| 716 | - **Duplicated inherited membership with multiple relationships when adding a |
| 717 | new relationship |
| 718 | ([dev/core#1361](https://lab.civicrm.org/dev/core/issues/1361): |
| 719 | [15731](https://github.com/civicrm/civicrm-core/pull/15731))** |
| 720 | |
| 721 | Fixes a bug where duplicate inherited relationships were being created for the |
| 722 | same membership. |
| 723 | |
| 724 | - **Agile fixFix inherited membership being deleted when there is still a valid |
| 725 | relationship |
| 726 | ([15062](https://github.com/civicrm/civicrm-core/pull/15062))** |
| 727 | |
| 728 | Fixes a bug where contacts with two or more relationships to a member contact |
| 729 | would lose their inherited relationship if one of their other relationships |
| 730 | was deleted. |
| 731 | |
| 732 | - **Unable to edit the membership end date for members that have a recurring |
| 733 | payment ([dev/core#1126](https://lab.civicrm.org/dev/core/issues/1126): |
| 734 | [15540](https://github.com/civicrm/civicrm-core/pull/15540))** |
| 735 | |
| 736 | ### Backdrop Integration |
| 737 | |
| 738 | - **Backdrop support for adding roles and perms |
| 739 | ([infra/ops#906](https://lab.civicrm.org/infra/ops/issues/906): |
| 740 | [15571](https://github.com/civicrm/civicrm-core/pull/15571))** |
| 741 | |
| 742 | Ensures that one can build a Backdrop/CiviCRM site with a demo user with |
| 743 | the permissions expected of a demo user. |
| 744 | |
| 745 | ### WordPress Integration |
| 746 | |
| 747 | - **Reinstate traversal as "method of last resort" to find WordPress (Follow-up |
| 748 | from [dev/core#1412](https://lab.civicrm.org/dev/core/issues/1412): |
| 749 | [15929](https://github.com/civicrm/civicrm-core/pull/15929))** |
| 750 | |
| 751 | This restores code removed in 5.19.3 to resolve the location of the CiviCRM |
| 752 | code in WordPress, only executing it as a fallback method if the new method |
| 753 | fails. |
| 754 | |
| 755 | ## <a name="misc"></a>Miscellany |
| 756 | |
| 757 | - **Replace jcalendar instances with datepicker |
| 758 | ([dev/core#561](https://lab.civicrm.org/dev/core/issues/561): |
| 759 | [15661](https://github.com/civicrm/civicrm-core/pull/15661), |
| 760 | [15677](https://github.com/civicrm/civicrm-core/pull/15677), |
| 761 | [15694](https://github.com/civicrm/civicrm-core/pull/15694), |
| 762 | [15671](https://github.com/civicrm/civicrm-core/pull/15671), |
| 763 | [15637](https://github.com/civicrm/civicrm-core/pull/15637), |
| 764 | [15633](https://github.com/civicrm/civicrm-core/pull/15633), |
| 765 | [15614](https://github.com/civicrm/civicrm-core/pull/15614), |
| 766 | [15710](https://github.com/civicrm/civicrm-core/pull/15710), |
| 767 | [15719](https://github.com/civicrm/civicrm-core/pull/15719), |
| 768 | [15618](https://github.com/civicrm/civicrm-core/pull/15618), |
| 769 | [15636](https://github.com/civicrm/civicrm-core/pull/15636), |
| 770 | [15693](https://github.com/civicrm/civicrm-core/pull/15693), |
| 771 | [15711](https://github.com/civicrm/civicrm-core/pull/15711), |
| 772 | [15702](https://github.com/civicrm/civicrm-core/pull/15702) and |
| 773 | [15635](https://github.com/civicrm/civicrm-core/pull/15635))** |
| 774 | |
| 775 | - **Api support for deduping (Code cleanup in preparation for |
| 776 | [dev/core#1230](https://lab.civicrm.org/dev/core/issues/1230): |
| 777 | [15184](https://github.com/civicrm/civicrm-core/pull/15184))** |
| 778 | |
| 779 | - **group.get API (v3) fails to find groups of one group_type if group has |
| 780 | multiple types (Test for |
| 781 | [dev/core#1321](https://lab.civicrm.org/dev/core/issues/1321): |
| 782 | [15546](https://github.com/civicrm/civicrm-core/pull/15546))** |
| 783 | |
| 784 | - **composer.{json,lock} - Make the "tplaner/when" exception for old PHP |
| 785 | reproducible ([15732](https://github.com/civicrm/civicrm-core/pull/15732))** |
| 786 | |
| 787 | - **Add in xkerman/restricted-unserialize package |
| 788 | ([15730](https://github.com/civicrm/civicrm-core/pull/15730))** |
| 789 | |
| 790 | - **INTL_IDNA_VARIANT_2003 deprecated in PHP_7.2 |
| 791 | ([266](https://github.com/civicrm/civicrm-packages/pull/266))** |
| 792 | |
| 793 | - **Extract contribution search functions to help with case search improvements |
| 794 | ([15373](https://github.com/civicrm/civicrm-core/pull/15373))** |
| 795 | |
| 796 | - **Further cleanup and clarification on MembershipPayment |
| 797 | ([15407](https://github.com/civicrm/civicrm-core/pull/15407))** |
| 798 | |
| 799 | - **The loop doth process too much, methinks |
| 800 | ([15473](https://github.com/civicrm/civicrm-core/pull/15473))** |
| 801 | |
| 802 | - **[Membership-backoffice] Reduce reliance on multiple specific but confusing |
| 803 | class variables |
| 804 | ([14919](https://github.com/civicrm/civicrm-core/pull/14919))** |
| 805 | |
| 806 | - **Simplify logic for displaying card details for Event online registration |
| 807 | Confirm, Thankyou page |
| 808 | ([15533](https://github.com/civicrm/civicrm-core/pull/15533))** |
| 809 | |
| 810 | - **Fix typo in Manager.php |
| 811 | ([15518](https://github.com/civicrm/civicrm-core/pull/15518))** |
| 812 | |
| 813 | - **Update my organisation |
| 814 | ([15469](https://github.com/civicrm/civicrm-core/pull/15469))** |
| 815 | |
| 816 | - **Combine IF clause for readability. |
| 817 | ([15568](https://github.com/civicrm/civicrm-core/pull/15568))** |
| 818 | |
| 819 | - **Switch creation of ParticipantPayment to use API |
| 820 | ([15500](https://github.com/civicrm/civicrm-core/pull/15500))** |
| 821 | |
| 822 | - **Remove when package from packages |
| 823 | ([264](https://github.com/civicrm/civicrm-packages/pull/264))** |
| 824 | |
| 825 | - **Cast result of getContributionBalance to float to match comment block. |
| 826 | ([15621](https://github.com/civicrm/civicrm-core/pull/15621))** |
| 827 | |
| 828 | - **Remove obsolete supportStorageOfAccents() method. |
| 829 | ([15589](https://github.com/civicrm/civicrm-core/pull/15589))** |
| 830 | |
| 831 | - **Upgrade When package to the lastest version |
| 832 | ([15223](https://github.com/civicrm/civicrm-core/pull/15223))** |
| 833 | |
| 834 | - **Api4 explorer: Fix variable leaking to global scope |
| 835 | ([15615](https://github.com/civicrm/civicrm-core/pull/15615))** |
| 836 | |
| 837 | - **Improve metadata support for table civicrm_mailing_job in search |
| 838 | ([15634](https://github.com/civicrm/civicrm-core/pull/15634))** |
| 839 | |
| 840 | - **Change parent class on mailing_form |
| 841 | ([15629](https://github.com/civicrm/civicrm-core/pull/15629))** |
| 842 | |
| 843 | - **Add uniquenames for mailing_name, mailing_job_status |
| 844 | ([15652](https://github.com/civicrm/civicrm-core/pull/15652))** |
| 845 | |
| 846 | - **Add getQillValue fn to generalise qill string construct |
| 847 | ([15667](https://github.com/civicrm/civicrm-core/pull/15667))** |
| 848 | |
| 849 | - **Remove scriptFee & scriptArray params |
| 850 | ([dev/event#19](https://lab.civicrm.org/dev/event/issues/19): |
| 851 | [15679](https://github.com/civicrm/civicrm-core/pull/15679))** |
| 852 | |
| 853 | - **Fix the relationship direction in testSingleMembershipForTwoRelationships |
| 854 | ([15738](https://github.com/civicrm/civicrm-core/pull/15738))** |
| 855 | |
| 856 | - **Remove recordPayment function. |
| 857 | ([15684](https://github.com/civicrm/civicrm-core/pull/15684))** |
| 858 | |
| 859 | - **Eliminate silly parameter |
| 860 | ([15723](https://github.com/civicrm/civicrm-core/pull/15723))** |
| 861 | |
| 862 | - **Use Yes-No radio instead of checkbox on search form. |
| 863 | ([15669](https://github.com/civicrm/civicrm-core/pull/15669))** |
| 864 | |
| 865 | - **Cleanup following smart group conversions and fix the old name of the |
| 866 | relationship date relative fields for conversion and add a unit test |
| 867 | ([15648](https://github.com/civicrm/civicrm-core/pull/15648))** |
| 868 | |
| 869 | - **Remove a redundant call to formatParamsForPaymentProcessor in |
| 870 | AdditionalPayment form |
| 871 | ([15578](https://github.com/civicrm/civicrm-core/pull/15578))** |
| 872 | |
| 873 | - **Remove extraneous full stop, line |
| 874 | ([15531](https://github.com/civicrm/civicrm-core/pull/15531))** |
| 875 | |
| 876 | - **Remove early return on joinTable |
| 877 | ([15721](https://github.com/civicrm/civicrm-core/pull/15721))** |
| 878 | |
| 879 | - **Remove unused, hidden subsystem for "persistent DB tpl strings" |
| 880 | ([15660](https://github.com/civicrm/civicrm-core/pull/15660))** |
| 881 | |
| 882 | - **Fix test setup Function to use order api |
| 883 | ([15620](https://github.com/civicrm/civicrm-core/pull/15620))** |
| 884 | |
| 885 | - **Delete mkdocs.yml |
| 886 | ([15658](https://github.com/civicrm/civicrm-core/pull/15658))** |
| 887 | |
| 888 | - **[NFC] minor simplification |
| 889 | ([15425](https://github.com/civicrm/civicrm-core/pull/15425))** |
| 890 | |
| 891 | - **[NFC] code formatting |
| 892 | ([15424](https://github.com/civicrm/civicrm-core/pull/15424))** |
| 893 | |
| 894 | - **[NFC] dev/core#1046 - minor consistency change |
| 895 | ([15486](https://github.com/civicrm/civicrm-core/pull/15486))** |
| 896 | |
| 897 | - **[NFC] dev/core#1046 - more accurate column heading |
| 898 | ([15485](https://github.com/civicrm/civicrm-core/pull/15485))** |
| 899 | |
| 900 | - **[NFC] comments tidy up … |
| 901 | ([15607](https://github.com/civicrm/civicrm-core/pull/15607))** |
| 902 | |
| 903 | - **[NFC] dev/core#1336 Update doc blocks for various ACL related functions |
| 904 | ([15603](https://github.com/civicrm/civicrm-core/pull/15603))** |
| 905 | |
| 906 | - **[NFC] Cleanup on exceptions |
| 907 | ([15750](https://github.com/civicrm/civicrm-core/pull/15750))** |
| 908 | |
| 909 | - **(NFC) Remove windows-specific debugging code from 11 years ago |
| 910 | ([15736](https://github.com/civicrm/civicrm-core/pull/15736))** |
| 911 | |
| 912 | - **[NFC] Allow users on backdrop to trigger regen.sh |
| 913 | ([15717](https://github.com/civicrm/civicrm-core/pull/15717))** |
| 914 | |
| 915 | - **[NFC] Fix exception thrown to std CRM_Core_Exception |
| 916 | ([15716](https://github.com/civicrm/civicrm-core/pull/15716))** |
| 917 | |
| 918 | - **[NFC] various code cleanup on CRM_Contact_BAO_Query |
| 919 | ([15713](https://github.com/civicrm/civicrm-core/pull/15713))** |
| 920 | |
| 921 | - **[NFC] Test class preliminary clean up |
| 922 | ([15685](https://github.com/civicrm/civicrm-core/pull/15685))** |
| 923 | |
| 924 | - **[NFC] test cleanup |
| 925 | ([15683](https://github.com/civicrm/civicrm-core/pull/15683))** |
| 926 | |
| 927 | - **[NFC] define variable type |
| 928 | ([15681](https://github.com/civicrm/civicrm-core/pull/15681))** |
| 929 | |
| 930 | - **[NFC] Remove unreachable lines |
| 931 | ([15672](https://github.com/civicrm/civicrm-core/pull/15672))** |
| 932 | |
| 933 | - **[NFC] Test cleanup - switch to OrderApi in test setup, add throws, use sin… |
| 934 | ([15662](https://github.com/civicrm/civicrm-core/pull/15662))** |
| 935 | |
| 936 | - **[NFC] reformat BAO_Case file |
| 937 | ([15627](https://github.com/civicrm/civicrm-core/pull/15627))** |
| 938 | |
| 939 | - **[NFC] Add date information to MailingJob Schema |
| 940 | ([15628](https://github.com/civicrm/civicrm-core/pull/15628))** |
| 941 | |
| 942 | - **[NFC] Add in debugging to try and resolve E2E Cache intermitant test … |
| 943 | ([15625](https://github.com/civicrm/civicrm-core/pull/15625))** |
| 944 | |
| 945 | - **Fix test to be more valid |
| 946 | ([15743](https://github.com/civicrm/civicrm-core/pull/15743))** |
| 947 | |
| 948 | - **Add test to lock in obscure custom join handling |
| 949 | ([15715](https://github.com/civicrm/civicrm-core/pull/15715))** |
| 950 | |
| 951 | - **Test improvements |
| 952 | ([15720](https://github.com/civicrm/civicrm-core/pull/15720))** |
| 953 | |
| 954 | - **Test calling CRM_Financial_BAO_PaymentProcessor::getPaymentProcessors |
| 955 | ([15499](https://github.com/civicrm/civicrm-core/pull/15499))** |
| 956 | |
| 957 | - **Update tests to simulate labels that are not the same as names |
| 958 | ([15399](https://github.com/civicrm/civicrm-core/pull/15399))** |
| 959 | |
| 960 | - **Add test for participant receipts, super minor consistency fix. |
| 961 | ([15525](https://github.com/civicrm/civicrm-core/pull/15525))** |
| 962 | |
| 963 | - **[Code-quality] remove references to where_tables, where_clause |
| 964 | ([14891](https://github.com/civicrm/civicrm-core/pull/14891))** |
| 965 | |
| 966 | - **REF Move ipAddress and CC expiry date to prepareParamsForPaymentProcessor |
| 967 | ([15291](https://github.com/civicrm/civicrm-core/pull/15291))** |
| 968 | |
| 969 | - **REF Use the new prepareParamsForPaymentProcessor function in more places |
| 970 | ([15281](https://github.com/civicrm/civicrm-core/pull/15281))** |
| 971 | |
| 972 | - **[REF] Remove transaction as part of minor code cleanup |
| 973 | ([15460](https://github.com/civicrm/civicrm-core/pull/15460))** |
| 974 | |
| 975 | - **[ref] Simplify function signature as parameter is not used |
| 976 | ([15459](https://github.com/civicrm/civicrm-core/pull/15459))** |
| 977 | |
| 978 | - **[REF] move definition of important values & retrieval outside payment… |
| 979 | ([15458](https://github.com/civicrm/civicrm-core/pull/15458))** |
| 980 | |
| 981 | - **[REF] Minor cleanup to determine taxterm with a helper function. |
| 982 | ([15488](https://github.com/civicrm/civicrm-core/pull/15488))** |
| 983 | |
| 984 | - **[REF] Replace deprecated function call with a more readable alternative |
| 985 | ([15489](https://github.com/civicrm/civicrm-core/pull/15489))** |
| 986 | |
| 987 | - **[REF] remove call to deprecated function |
| 988 | ([15465](https://github.com/civicrm/civicrm-core/pull/15465))** |
| 989 | |
| 990 | - **[REF] Fix typos and remove unused variables |
| 991 | ([15462](https://github.com/civicrm/civicrm-core/pull/15462))** |
| 992 | |
| 993 | - **[REF] Rename balanceTrxnParams variable to paymentTrxnParams |
| 994 | ([15535](https://github.com/civicrm/civicrm-core/pull/15535))** |
| 995 | |
| 996 | - **[REF] minor extraction with code to build dedupe arrays |
| 997 | ([15519](https://github.com/civicrm/civicrm-core/pull/15519))** |
| 998 | |
| 999 | - **[REF] basic extraction of sendMails functionality along with a small test |
| 1000 | extension ([15516](https://github.com/civicrm/civicrm-core/pull/15516))** |
| 1001 | |
| 1002 | - **[REF] remove obsolete code. |
| 1003 | ([15515](https://github.com/civicrm/civicrm-core/pull/15515))** |
| 1004 | |
| 1005 | - **[REF] Deprecate calls to createCreditNoteId |
| 1006 | ([15492](https://github.com/civicrm/civicrm-core/pull/15492))** |
| 1007 | |
| 1008 | - **[REF] minor extraction in dedupe code |
| 1009 | ([15587](https://github.com/civicrm/civicrm-core/pull/15587))** |
| 1010 | |
| 1011 | - **[REF] minor extraction - Extract code to update line items to paid |
| 1012 | ([15602](https://github.com/civicrm/civicrm-core/pull/15602))** |
| 1013 | |
| 1014 | - **[REF] Remove usage of CRM_ACL_BAO_Cache::deleteEntry in favour of usi… |
| 1015 | ([15611](https://github.com/civicrm/civicrm-core/pull/15611))** |
| 1016 | |
| 1017 | - **[REF] Remove CRM_Exception in favour of CRM_Core_Exception |
| 1018 | ([15610](https://github.com/civicrm/civicrm-core/pull/15610))** |
| 1019 | |
| 1020 | - **[REF] minor refactor towards removing complexity. |
| 1021 | ([15594](https://github.com/civicrm/civicrm-core/pull/15594))** |
| 1022 | |
| 1023 | - **[REF] minor tidy ups on very nasty function |
| 1024 | ([15722](https://github.com/civicrm/civicrm-core/pull/15722))** |
| 1025 | |
| 1026 | - **[REF] Remove early return on joinTable |
| 1027 | ([15718](https://github.com/civicrm/civicrm-core/pull/15718))** |
| 1028 | |
| 1029 | - **[REF] remove as a return Param of getHierContactDetails |
| 1030 | ([15714](https://github.com/civicrm/civicrm-core/pull/15714))** |
| 1031 | |
| 1032 | - **[REF] minor code simplification |
| 1033 | ([15728](https://github.com/civicrm/civicrm-core/pull/15728))** |
| 1034 | |
| 1035 | - **[REF] Move calls to CRM_Core_BAO_FinancialTrxn::createDeferredTrxn back to |
| 1036 | the calling functions. |
| 1037 | ([15641](https://github.com/civicrm/civicrm-core/pull/15641))** |
| 1038 | |
| 1039 | - **[REF] Refactor Smart Group Cache population code to be less intensive |
| 1040 | ([15588](https://github.com/civicrm/civicrm-core/pull/15588))** |
| 1041 | |
| 1042 | - **[REF] Refactor ACL Contact Cache generation to be more efficient |
| 1043 | ([15592](https://github.com/civicrm/civicrm-core/pull/15592))** |
| 1044 | |
| 1045 | - **[REF] extract chunk of code that creates the financial items for a given |
| 1046 | line. ([15613](https://github.com/civicrm/civicrm-core/pull/15613))** |
| 1047 | |
| 1048 | - **[REF] Further deconstruction of updateFinancialAccounts |
| 1049 | ([15631](https://github.com/civicrm/civicrm-core/pull/15631))** |
| 1050 | |
| 1051 | - **[REF] simplify definition of isARefund |
| 1052 | ([15601](https://github.com/civicrm/civicrm-core/pull/15601))** |
| 1053 | |
| 1054 | ## <a name="credits"></a>Credits |
| 1055 | |
| 1056 | This release was developed by the following code authors: |
| 1057 | |
| 1058 | a-n The Artists Information Company - William Mortada; AGH Strategies - Alice |
| 1059 | Frumin, Andrew Hunt, Eli Lisseck; Agileware - Pengyi Zhang; Alexy |
| 1060 | Mikhailichenko; Australian Greens - Seamus Lee; Christian Wach; CiviCoop - Jaap |
| 1061 | Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; |
| 1062 | CompuCorp- Camilo Rodriguez, Davi Alexandre, Omar Abu Hussein; Dave D; |
| 1063 | Electronic Frontier Foundation - Mark Burdett; Florian Kohrt; Freeform |
| 1064 | Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Greenpeace CEE - |
| 1065 | Patrick Figel; iXiam - César Ramos; JMA Consulting - Monish Deb; John Kingsnorth; |
| 1066 | Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW |
| 1067 | Consulting - Matthew Wire; Mountev Ltd; Richard van Oosterhout; Squiffle |
| 1068 | Consulting - Aidan Saunders; SYSTOPIA Organisationsberatung - Björn Endres; |
| 1069 | Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton, |
| 1070 | Elliott Eggleston |
| 1071 | |
| 1072 | Most authors also reviewed code for this release; in addition, the following |
| 1073 | reviewers contributed their comments: |
| 1074 | |
| 1075 | a-n The Artists Information Company - William Mortada; Agileware - Justin |
| 1076 | Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; Circle |
| 1077 | Interactive - Dave Jenkins, Pradeep Nayak; CompuCorp - Jamie Novick; Coop |
| 1078 | SymbioTIC - Mathieu Lutfy; Fuzion - Luke Stewart; iXiam - Vangelis Pantazis; JMA |
| 1079 | Consulting - Joe Murray; Nicol Wistreich; Ray Wright; Red Hot Irons - Heather |
| 1080 | Oliver; Skvare - Mark Hanna; OSSeed Technologies LLP - Sushant Paste |
| 1081 | |
| 1082 | ## <a name="feedback"></a>Feedback |
| 1083 | |
| 1084 | These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like |
| 1085 | to provide feedback on them, please log in to https://chat.civicrm.org/civicrm |
| 1086 | and contact `@agh1`. |