3 Released December 4, 2019
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
12 ## <a name="synopsis"></a>Synopsis
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** |
24 ## <a name="security"></a>Security advisories
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**
28 ## <a name="features"></a>Features
32 - **Replace complex logic in email templates with simple logic on billing name
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))**
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.
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))**
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.
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))**
63 Improves grammar and readability of the standard workflow templates.
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))**
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.
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))**
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.
82 - **Add freeform relative date for 'This Fiscal Year'
83 ([14894](https://github.com/civicrm/civicrm-core/pull/14894))**
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.
89 - **Remove the sentence: "Please print this page for your records." from the
91 ([dev/core#371](https://lab.civicrm.org/dev/core/issues/371):
92 [15467](https://github.com/civicrm/civicrm-core/pull/15467))**
94 Removes the text "Print for your records" to discourage people from wasting
98 ([15322](https://github.com/civicrm/civicrm-core/pull/15322))**
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
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))**
110 Works towards throwing exceptions (instead of fatal errors) in
111 several places including if aborting because if a type of a param error.
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))**
117 Exposes the relationship description field to the advanced search form.
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))**
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
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))**
130 This switches the modified date and changed date to appear in the reverse
131 order in order to improve the appearance.
133 - **Schema changes for PaymentProcessor and PaymentProcessorType to support
134 apiv4 entities ([15733](https://github.com/civicrm/civicrm-core/pull/15733))**
136 Begins work to add `PaymentProcesor` and `PaymentProcessorType` entities to
139 - **Remove CIVICRM_SUPPORT_MULTIPLE_LOCKS and make it always enabled if
140 available ([15604](https://github.com/civicrm/civicrm-core/pull/15604))**
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.
145 - **Add help text to payment processor subject field
146 ([15590](https://github.com/civicrm/civicrm-core/pull/15590))**
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).
152 - **Generic Settings Pages: Make getSettingPageFilter() public so we can use it
153 in hooks ([15576](https://github.com/civicrm/civicrm-core/pull/15576))**
155 Makes the `_filter` property available in hooks so extension developers can
158 - **Update api3 explorer url path for consistency
159 ([15597](https://github.com/civicrm/civicrm-core/pull/15597))**
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
165 - **Improvements to copying events and contribution pages
166 ([15144](https://github.com/civicrm/civicrm-core/pull/15144))**
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.
173 - **Allow custom ts functions in extensions; defer custom ts calls until booted
174 ([15411](https://github.com/civicrm/civicrm-core/pull/15411))**
176 Makes it possible for developers to write custom translate functions in
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))**
183 Improves the readability of the "Sending Emails" section of the configuration
186 - **Support street address sorting for contact detail report
187 ([15581](https://github.com/civicrm/civicrm-core/pull/15581))**
189 Improves the "Contact Detail" report template by making it possible to sort by
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))**
198 Improves the "Find Cases" form's ability to accept url arguments.
200 - **Convert case activity links to 'actionLinks'
201 ([14349](https://github.com/civicrm/civicrm-core/pull/14349))**
203 Converts Case activity links to use actionLinks so they can be accessed by
204 extension developers using the hook `hook_civicrm_links`.
206 - **Format details for case custom data activity in a human readable format
207 ([13365](https://github.com/civicrm/civicrm-core/pull/13365))**
209 Improves readability of the activity details saved to case "Change Custom
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))**
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
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))**
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).
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))**
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.
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))**
259 Makes `contribution_id` required when calling the `PaymentProcessor.pay` API.
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))**
265 Updates the Order.create API to require `total_amount` OR `line_items` instead
266 of solely requiring `total_amount`.
268 - **Order api updates to fix participant handling & deprecate creating
269 'completed ([15514](https://github.com/civicrm/civicrm-core/pull/15514))**
271 Improves the Order api by making it so status is no longer required for
272 creating participants and creating completed orders is deprecated.
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))**
279 Begins work to refactor how CRM_Core_Payment works so that `doPayment` accepts
280 a consistent defined set of variables.
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))**
286 Adds support for paging on the Contribution Summary Report.
288 - **Provide precautionary handling for theoretical error scenario.
289 ([15748](https://github.com/civicrm/civicrm-core/pull/15748))**
291 Provides protection against fatal errors when adding payments if
292 `financial_items` have not been created.
294 - **Support chaining Payment.create from Order api
295 ([15548](https://github.com/civicrm/civicrm-core/pull/15548))**
297 Adds support to chain a `Payment.create` call from an `Order.create` api call.
299 - **Translate two string in AdditionalPayment form
300 ([15577](https://github.com/civicrm/civicrm-core/pull/15577))**
302 Translates two strings on the Additional Payment form.
304 ### WordPress Integration
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))**
310 Improves the CiviCRM installation process for WordPress sites by redirecting
311 users to an install screen when the CiviCRM plugin is activated.
313 ## <a name="bugs"></a>Bugs resolved
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))**
321 Fixes a fatal error when updating a custom field with logging enabled.
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))**
327 Fixes a bug where using the Attachment API for a custom file field would fail
328 with a permission denied error.
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))**
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 -
338 - **Fix CSS for public select2 elements regardless of parent theme box-size
339 ([15442](https://github.com/civicrm/civicrm-core/pull/15442))**
341 Fixes the height of select2 boxes (so that they do not appears squished) on
342 front facing forms across CMS's and browsers.
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))**
348 Ongoing fixes for the CiviCRM Dashboard when using multiple Domains.
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))**
355 Fixes a php warning on the advanced search form when opening some accordions.
357 - **Report improvements
358 ([CRM-21677](https://issues.civicrm.org/jira/browse/CRM-21677):
359 [15567](https://github.com/civicrm/civicrm-core/pull/15567))**
361 Removes redundant gender evaluation code from the Case Demographic Report
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))**
368 - **Php 7.3 fix - don't mis-use continue
369 ([15737](https://github.com/civicrm/civicrm-core/pull/15737))**
371 Fixes some php warnings regarding using continue where break would be
372 preferable for sites running PHP 7.3.
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))**
377 Ensures regen.sh works with both Proper and lower case CMS names.
379 - **Make sure labels match the actual date input format
380 ([15520](https://github.com/civicrm/civicrm-core/pull/15520))**
382 Ensures the labels of the date input format dropdown (under
383 `/civicrm/admin/setting/date`) match the actual value of the formats.
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))**
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.
392 - **Fix fatal error when sorting by status in activity search
393 ([15923](https://github.com/civicrm/civicrm-core/pull/15923))**
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))**
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))**
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))**
407 - **Fixing a fatal error when installing extensions with Option Values defined
408 in XML ([15643](https://github.com/civicrm/civicrm-core/pull/15643))**
410 - **Civi\Core\Container - Fix warning about Symfony 3=>4 and boot services
411 ([15704](https://github.com/civicrm/civicrm-core/pull/15704))**
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))**
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))**
421 - **Fixes an issue where the two arrays weren't always being merged correctly
422 ([15482](https://github.com/civicrm/civicrm-core/pull/15482))**
424 - **Fix error when adding activities from Search Builder
425 ([15522](https://github.com/civicrm/civicrm-core/pull/15522))**
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))**
431 - **Ensure front-end hooks are only registered on main query
432 ([166](https://github.com/civicrm/civicrm-wordpress/pull/166))**
434 - **Fix E_NOTICE for is_required in address form
435 ([15423](https://github.com/civicrm/civicrm-core/pull/15423))**
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))**
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))**
447 This change allows the upgrade process to sidestep missing system workflow
448 message templates rather than failing when trying to update them.
450 - **Link to docs.civicrm.org instead of wiki
451 ([15973](https://github.com/civicrm/civicrm-core/pull/15973))**
453 Outdated links to the old CiviCRM wiki that appear in upgrade messages have
454 been replaced with links to the current user documentation.
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))**
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))**
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
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))**
479 Prevents a php warning "htmlspecialchars() expects parameter 1 to be string,
480 array given" when saving case type.
482 - **Reinstate Case ID search field
483 ([15935](https://github.com/civicrm/civicrm-core/pull/15935))**
485 This resolves a regression in 5.20.beta where the case search lacked a case ID
488 - **Upgrade script to flip autoassignees using bidirectional relationship in
489 older civicase configs
490 ([15542](https://github.com/civicrm/civicrm-core/pull/15542))**
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.
499 - **Minor a_b/b_a mixup on case type edit screen
500 ([15412](https://github.com/civicrm/civicrm-core/pull/15412))**
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))**
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))**
510 - **Minimal fix for new enotice on case.subject
511 ([15616](https://github.com/civicrm/civicrm-core/pull/15616))**
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))**
519 - **Respect calling code passing in 'null' for creditnote_id.
520 ([15232](https://github.com/civicrm/civicrm-core/pull/15232))**
522 Fixes an issue where the contribution BAO disregards 'null' when passed in for
525 - **Change test to use preferred methods, fix revealed money bug
526 ([15622](https://github.com/civicrm/civicrm-core/pull/15622))**
528 Ensures that Payment.create cleans the `total_amount` field like
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))**
535 This resolves a regression when viewing a membership or participant record
536 where the related contributions show all contributions, not those related to
539 - **Fix cancel payment action to reverse financial items related to cancelled
540 payment ([15630](https://github.com/civicrm/civicrm-core/pull/15630))**
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.
545 - **Missing Financial type and Credit Account Code in Bookkeeping Transaction
547 [dev/financial#40](https://lab.civicrm.org/dev/financial/issues/40):
548 [15740](https://github.com/civicrm/civicrm-core/pull/15740))**
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 &
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))**
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.
564 - **Cleanup date handling on Payment.create
565 ([15687](https://github.com/civicrm/civicrm-core/pull/15687))**
567 Ensures that adding a payment on the `AdditionalPaymentForm` does not change
568 the Contribution `receive_date`.
570 - **Ensure contributionRecurID is set on processor
571 ([15673](https://github.com/civicrm/civicrm-core/pull/15673))**
573 Ensures that `contributionRecurID` is available to payment processors that
574 need it in `cancelSubscription`.
576 - **fix 'balance due' on Pledge Detail for non-US installs
577 ([15543](https://github.com/civicrm/civicrm-core/pull/15543))**
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.
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))**
587 This bug was sidestepped by removing the Net Amount field on the Record Refund
590 - **Incorrect allocation of payment on an edited multi-line item event
592 ([dev/financial#34](https://lab.civicrm.org/dev/financial/issues/34):
593 [14763](https://github.com/civicrm/civicrm-core/pull/14763))**
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))**
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))**
603 - **Fix ambiguous column in Contribution Search query with ORDER BY
604 ([15899](https://github.com/civicrm/civicrm-core/pull/15899))**
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.
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))**
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))**
618 - **Fix Sybunt to select mark rows as selected
619 ([15872](https://github.com/civicrm/civicrm-core/pull/15872))**
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.
624 - **Remove unhelpful alert from contribution search
625 ([15787](https://github.com/civicrm/civicrm-core/pull/15787))**
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.
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))**
635 - **Fix parameters for statusBounce in AdditionalPayment
636 ([15579](https://github.com/civicrm/civicrm-core/pull/15579))**
638 - **Fix deprecation warning on Price Set report
639 ([15952](https://github.com/civicrm/civicrm-core/pull/15952))**
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))**
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))**
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))**
654 - **Fix typo in parameter description for PaymentProcessor.pay
655 ([15476](https://github.com/civicrm/civicrm-core/pull/15476))**
657 - **Fix Payment.create with a negative value to create the correct financial
658 items ([15705](https://github.com/civicrm/civicrm-core/pull/15705))**
660 - **Fix Payment.create bug whereby payment_processor_id is not being used for
662 ([15640](https://github.com/civicrm/civicrm-core/pull/15640))**
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))**
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))**
672 - **Fix 5.20 regression on retrieving template transaction with no logged in
673 user ([15976](https://github.com/civicrm/civicrm-core/pull/15976))**
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))**
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.
684 - **Fix loading of profile fields on additional participant form
685 ([15698](https://github.com/civicrm/civicrm-core/pull/15698))**
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
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))**
695 Fixes Event online receipts to display credit card info if available.
699 - **Grant in Edit mode doesn't show the associated contact and standardize all
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))**
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))**
716 - **Duplicated inherited membership with multiple relationships when adding a
718 ([dev/core#1361](https://lab.civicrm.org/dev/core/issues/1361):
719 [15731](https://github.com/civicrm/civicrm-core/pull/15731))**
721 Fixes a bug where duplicate inherited relationships were being created for the
724 - **Agile fixFix inherited membership being deleted when there is still a valid
726 ([15062](https://github.com/civicrm/civicrm-core/pull/15062))**
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
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))**
736 ### Backdrop Integration
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))**
742 Ensures that one can build a Backdrop/CiviCRM site with a demo user with
743 the permissions expected of a demo user.
745 ### WordPress Integration
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))**
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
755 ## <a name="misc"></a>Miscellany
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))**
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))**
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))**
784 - **composer.{json,lock} - Make the "tplaner/when" exception for old PHP
785 reproducible ([15732](https://github.com/civicrm/civicrm-core/pull/15732))**
787 - **Add in xkerman/restricted-unserialize package
788 ([15730](https://github.com/civicrm/civicrm-core/pull/15730))**
790 - **INTL_IDNA_VARIANT_2003 deprecated in PHP_7.2
791 ([266](https://github.com/civicrm/civicrm-packages/pull/266))**
793 - **Extract contribution search functions to help with case search improvements
794 ([15373](https://github.com/civicrm/civicrm-core/pull/15373))**
796 - **Further cleanup and clarification on MembershipPayment
797 ([15407](https://github.com/civicrm/civicrm-core/pull/15407))**
799 - **The loop doth process too much, methinks
800 ([15473](https://github.com/civicrm/civicrm-core/pull/15473))**
802 - **[Membership-backoffice] Reduce reliance on multiple specific but confusing
804 ([14919](https://github.com/civicrm/civicrm-core/pull/14919))**
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))**
810 - **Fix typo in Manager.php
811 ([15518](https://github.com/civicrm/civicrm-core/pull/15518))**
813 - **Update my organisation
814 ([15469](https://github.com/civicrm/civicrm-core/pull/15469))**
816 - **Combine IF clause for readability.
817 ([15568](https://github.com/civicrm/civicrm-core/pull/15568))**
819 - **Switch creation of ParticipantPayment to use API
820 ([15500](https://github.com/civicrm/civicrm-core/pull/15500))**
822 - **Remove when package from packages
823 ([264](https://github.com/civicrm/civicrm-packages/pull/264))**
825 - **Cast result of getContributionBalance to float to match comment block.
826 ([15621](https://github.com/civicrm/civicrm-core/pull/15621))**
828 - **Remove obsolete supportStorageOfAccents() method.
829 ([15589](https://github.com/civicrm/civicrm-core/pull/15589))**
831 - **Upgrade When package to the lastest version
832 ([15223](https://github.com/civicrm/civicrm-core/pull/15223))**
834 - **Api4 explorer: Fix variable leaking to global scope
835 ([15615](https://github.com/civicrm/civicrm-core/pull/15615))**
837 - **Improve metadata support for table civicrm_mailing_job in search
838 ([15634](https://github.com/civicrm/civicrm-core/pull/15634))**
840 - **Change parent class on mailing_form
841 ([15629](https://github.com/civicrm/civicrm-core/pull/15629))**
843 - **Add uniquenames for mailing_name, mailing_job_status
844 ([15652](https://github.com/civicrm/civicrm-core/pull/15652))**
846 - **Add getQillValue fn to generalise qill string construct
847 ([15667](https://github.com/civicrm/civicrm-core/pull/15667))**
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))**
853 - **Fix the relationship direction in testSingleMembershipForTwoRelationships
854 ([15738](https://github.com/civicrm/civicrm-core/pull/15738))**
856 - **Remove recordPayment function.
857 ([15684](https://github.com/civicrm/civicrm-core/pull/15684))**
859 - **Eliminate silly parameter
860 ([15723](https://github.com/civicrm/civicrm-core/pull/15723))**
862 - **Use Yes-No radio instead of checkbox on search form.
863 ([15669](https://github.com/civicrm/civicrm-core/pull/15669))**
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))**
869 - **Remove a redundant call to formatParamsForPaymentProcessor in
870 AdditionalPayment form
871 ([15578](https://github.com/civicrm/civicrm-core/pull/15578))**
873 - **Remove extraneous full stop, line
874 ([15531](https://github.com/civicrm/civicrm-core/pull/15531))**
876 - **Remove early return on joinTable
877 ([15721](https://github.com/civicrm/civicrm-core/pull/15721))**
879 - **Remove unused, hidden subsystem for "persistent DB tpl strings"
880 ([15660](https://github.com/civicrm/civicrm-core/pull/15660))**
882 - **Fix test setup Function to use order api
883 ([15620](https://github.com/civicrm/civicrm-core/pull/15620))**
885 - **Delete mkdocs.yml
886 ([15658](https://github.com/civicrm/civicrm-core/pull/15658))**
888 - **[NFC] minor simplification
889 ([15425](https://github.com/civicrm/civicrm-core/pull/15425))**
891 - **[NFC] code formatting
892 ([15424](https://github.com/civicrm/civicrm-core/pull/15424))**
894 - **[NFC] dev/core#1046 - minor consistency change
895 ([15486](https://github.com/civicrm/civicrm-core/pull/15486))**
897 - **[NFC] dev/core#1046 - more accurate column heading
898 ([15485](https://github.com/civicrm/civicrm-core/pull/15485))**
900 - **[NFC] comments tidy up …
901 ([15607](https://github.com/civicrm/civicrm-core/pull/15607))**
903 - **[NFC] dev/core#1336 Update doc blocks for various ACL related functions
904 ([15603](https://github.com/civicrm/civicrm-core/pull/15603))**
906 - **[NFC] Cleanup on exceptions
907 ([15750](https://github.com/civicrm/civicrm-core/pull/15750))**
909 - **(NFC) Remove windows-specific debugging code from 11 years ago
910 ([15736](https://github.com/civicrm/civicrm-core/pull/15736))**
912 - **[NFC] Allow users on backdrop to trigger regen.sh
913 ([15717](https://github.com/civicrm/civicrm-core/pull/15717))**
915 - **[NFC] Fix exception thrown to std CRM_Core_Exception
916 ([15716](https://github.com/civicrm/civicrm-core/pull/15716))**
918 - **[NFC] various code cleanup on CRM_Contact_BAO_Query
919 ([15713](https://github.com/civicrm/civicrm-core/pull/15713))**
921 - **[NFC] Test class preliminary clean up
922 ([15685](https://github.com/civicrm/civicrm-core/pull/15685))**
924 - **[NFC] test cleanup
925 ([15683](https://github.com/civicrm/civicrm-core/pull/15683))**
927 - **[NFC] define variable type
928 ([15681](https://github.com/civicrm/civicrm-core/pull/15681))**
930 - **[NFC] Remove unreachable lines
931 ([15672](https://github.com/civicrm/civicrm-core/pull/15672))**
933 - **[NFC] Test cleanup - switch to OrderApi in test setup, add throws, use sin…
934 ([15662](https://github.com/civicrm/civicrm-core/pull/15662))**
936 - **[NFC] reformat BAO_Case file
937 ([15627](https://github.com/civicrm/civicrm-core/pull/15627))**
939 - **[NFC] Add date information to MailingJob Schema
940 ([15628](https://github.com/civicrm/civicrm-core/pull/15628))**
942 - **[NFC] Add in debugging to try and resolve E2E Cache intermitant test …
943 ([15625](https://github.com/civicrm/civicrm-core/pull/15625))**
945 - **Fix test to be more valid
946 ([15743](https://github.com/civicrm/civicrm-core/pull/15743))**
948 - **Add test to lock in obscure custom join handling
949 ([15715](https://github.com/civicrm/civicrm-core/pull/15715))**
951 - **Test improvements
952 ([15720](https://github.com/civicrm/civicrm-core/pull/15720))**
954 - **Test calling CRM_Financial_BAO_PaymentProcessor::getPaymentProcessors
955 ([15499](https://github.com/civicrm/civicrm-core/pull/15499))**
957 - **Update tests to simulate labels that are not the same as names
958 ([15399](https://github.com/civicrm/civicrm-core/pull/15399))**
960 - **Add test for participant receipts, super minor consistency fix.
961 ([15525](https://github.com/civicrm/civicrm-core/pull/15525))**
963 - **[Code-quality] remove references to where_tables, where_clause
964 ([14891](https://github.com/civicrm/civicrm-core/pull/14891))**
966 - **REF Move ipAddress and CC expiry date to prepareParamsForPaymentProcessor
967 ([15291](https://github.com/civicrm/civicrm-core/pull/15291))**
969 - **REF Use the new prepareParamsForPaymentProcessor function in more places
970 ([15281](https://github.com/civicrm/civicrm-core/pull/15281))**
972 - **[REF] Remove transaction as part of minor code cleanup
973 ([15460](https://github.com/civicrm/civicrm-core/pull/15460))**
975 - **[ref] Simplify function signature as parameter is not used
976 ([15459](https://github.com/civicrm/civicrm-core/pull/15459))**
978 - **[REF] move definition of important values & retrieval outside payment…
979 ([15458](https://github.com/civicrm/civicrm-core/pull/15458))**
981 - **[REF] Minor cleanup to determine taxterm with a helper function.
982 ([15488](https://github.com/civicrm/civicrm-core/pull/15488))**
984 - **[REF] Replace deprecated function call with a more readable alternative
985 ([15489](https://github.com/civicrm/civicrm-core/pull/15489))**
987 - **[REF] remove call to deprecated function
988 ([15465](https://github.com/civicrm/civicrm-core/pull/15465))**
990 - **[REF] Fix typos and remove unused variables
991 ([15462](https://github.com/civicrm/civicrm-core/pull/15462))**
993 - **[REF] Rename balanceTrxnParams variable to paymentTrxnParams
994 ([15535](https://github.com/civicrm/civicrm-core/pull/15535))**
996 - **[REF] minor extraction with code to build dedupe arrays
997 ([15519](https://github.com/civicrm/civicrm-core/pull/15519))**
999 - **[REF] basic extraction of sendMails functionality along with a small test
1000 extension ([15516](https://github.com/civicrm/civicrm-core/pull/15516))**
1002 - **[REF] remove obsolete code.
1003 ([15515](https://github.com/civicrm/civicrm-core/pull/15515))**
1005 - **[REF] Deprecate calls to createCreditNoteId
1006 ([15492](https://github.com/civicrm/civicrm-core/pull/15492))**
1008 - **[REF] minor extraction in dedupe code
1009 ([15587](https://github.com/civicrm/civicrm-core/pull/15587))**
1011 - **[REF] minor extraction - Extract code to update line items to paid
1012 ([15602](https://github.com/civicrm/civicrm-core/pull/15602))**
1014 - **[REF] Remove usage of CRM_ACL_BAO_Cache::deleteEntry in favour of usi…
1015 ([15611](https://github.com/civicrm/civicrm-core/pull/15611))**
1017 - **[REF] Remove CRM_Exception in favour of CRM_Core_Exception
1018 ([15610](https://github.com/civicrm/civicrm-core/pull/15610))**
1020 - **[REF] minor refactor towards removing complexity.
1021 ([15594](https://github.com/civicrm/civicrm-core/pull/15594))**
1023 - **[REF] minor tidy ups on very nasty function
1024 ([15722](https://github.com/civicrm/civicrm-core/pull/15722))**
1026 - **[REF] Remove early return on joinTable
1027 ([15718](https://github.com/civicrm/civicrm-core/pull/15718))**
1029 - **[REF] remove as a return Param of getHierContactDetails
1030 ([15714](https://github.com/civicrm/civicrm-core/pull/15714))**
1032 - **[REF] minor code simplification
1033 ([15728](https://github.com/civicrm/civicrm-core/pull/15728))**
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))**
1039 - **[REF] Refactor Smart Group Cache population code to be less intensive
1040 ([15588](https://github.com/civicrm/civicrm-core/pull/15588))**
1042 - **[REF] Refactor ACL Contact Cache generation to be more efficient
1043 ([15592](https://github.com/civicrm/civicrm-core/pull/15592))**
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))**
1048 - **[REF] Further deconstruction of updateFinancialAccounts
1049 ([15631](https://github.com/civicrm/civicrm-core/pull/15631))**
1051 - **[REF] simplify definition of isARefund
1052 ([15601](https://github.com/civicrm/civicrm-core/pull/15601))**
1054 ## <a name="credits"></a>Credits
1056 This release was developed by the following code authors:
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,
1072 Most authors also reviewed code for this release; in addition, the following
1073 reviewers contributed their comments:
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
1082 ## <a name="feedback"></a>Feedback
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`.