Merge pull request #19421 from eileenmcnaughton/act2
[civicrm-core.git] / release-notes / 5.27.0.md
CommitLineData
25ad6a14
AH
1# CiviCRM 5.27.0
2
f60808ca 3Released July 1, 2020
25ad6a14 4
f60808ca 5- **[Synopsis](#synopsis)**
25ad6a14
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
f60808ca
AH
10- **[Feedback](#feedback)**
11
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
cbea2ca8
AF
16| Fix security vulnerabilities? | no |
17| **Change the database schema?** | **yes** |
18| **Alter the API?** | **yes** |
39774643 19| **Require attention to configuration options?** | **yes** |
cbea2ca8
AF
20| **Fix problems installing or upgrading to a previous version?** | **yes** |
21| **Introduce features?** | **yes** |
22| **Fix bugs?** | **yes** |
25ad6a14
AH
23
24## <a name="features"></a>Features
25
25ad6a14
AH
26### Core CiviCRM
27
39774643
AH
28- **Warn users who lack PHP-Intl extension (Work Towards
29 [dev/translation#48](https://lab.civicrm.org/dev/translation/-/issues/48):
67b1fdbb 30 [17668](https://github.com/civicrm/civicrm-core/pull/17668), [17728](https://github.com/civicrm/civicrm-core/pull/17728))**
39774643
AH
31
32 A system check warning will now appear on sites that lack the PHP
33 Internationalization extension. This is in preparation for changes that will
34 appear in CiviCRM 5.28 and require the extension.
35
67b1fdbb 36- **Advanced Search - Allow searching by first/last name; pass values from
cbea2ca8
AF
37 quicksearch ([dev/core#1722](https://lab.civicrm.org/dev/core/-/issues/1722):
38 [17118](https://github.com/civicrm/civicrm-core/pull/17118))**
39
39774643
AH
40 This makes separate First Name and Last Name fields available on the Advanced
41 Search form, and it ensures quick search filters are passed to the appropriate
42 field.
25ad6a14 43
cbea2ca8
AF
44- **Add more search options
45 ([17372](https://github.com/civicrm/civicrm-core/pull/17372))**
25ad6a14 46
39774643
AH
47 Improves the search form for individuals in contact reference fields by adding
48 fields for Employer Name, First Name, Last Name, and Nick Name.
25ad6a14 49
cbea2ca8
AF
50- **End of life planning for MySQL server 5.0 - 5.6
51 ([dev/core#1681](https://lab.civicrm.org/dev/core/-/issues/1681):
52 [17518](https://github.com/civicrm/civicrm-core/pull/17518) and
53 [17496](https://github.com/civicrm/civicrm-core/pull/17496))**
25ad6a14 54
39774643
AH
55 Sites running MySQL 5.5 and below will have a pre-upgrade message and a system
56 check warning to say that CiviCRM 5.28 will require MySQL 5.6 or MariaDB 10.1.
25ad6a14 57
cbea2ca8
AF
58- **APIv4 - Improve pseudoconstant suffix support
59 ([17368](https://github.com/civicrm/civicrm-core/pull/17368) and
60 [17482](https://github.com/civicrm/civicrm-core/pull/17482))**
25ad6a14 61
39774643
AH
62 APIv4 allows pseudoconstant fields to be specified with the pseudoconstant
63 name followed by a suffix, such as `activity_type_id:label`. This now works
64 for retrieval and sort.
25ad6a14 65
67b1fdbb 66- **APIv4 - Support custom entity joins
cbea2ca8 67 ([17394](https://github.com/civicrm/civicrm-core/pull/17394))**
25ad6a14 68
cbea2ca8
AF
69 Improves APIv4 so that it supports implicit and explicit joins onto custom
70 entities.
25ad6a14 71
cbea2ca8
AF
72- **Make reCAPTCHA settings clearer
73 ([17426](https://github.com/civicrm/civicrm-core/pull/17426))**
25ad6a14 74
39774643
AH
75 The help text for reCAPTCHA settings now specifies the type of reCAPTCHA
76 supported.
25ad6a14 77
cbea2ca8
AF
78- **Configurable logfile size and hashing
79 ([17192](https://github.com/civicrm/civicrm-core/pull/17192))**
25ad6a14 80
cbea2ca8
AF
81 Allows a system administrator to give logs a predictable name, allowing them
82 to be more easily ingested into other tools, and be handled by external log
83 rotation tools.
25ad6a14 84
cbea2ca8
AF
85- **Allow for installation on Symfony 4.4
86 ([17380](https://github.com/civicrm/civicrm-core/pull/17380))**
25ad6a14 87
cbea2ca8 88 Makes it so CiviCRM plays nicely with Symfony 4.4.
25ad6a14 89
67b1fdbb 90- **Add domain tokens to the Message Template admin interface
cbea2ca8 91 ([17388](https://github.com/civicrm/civicrm-core/pull/17388))**
25ad6a14 92
39774643
AH
93 This adds the domain tokens (the domain organization name, address, email, and
94 phone) to the available listed tokens for editing message templates.
25ad6a14 95
39774643
AH
96- **Hide icon elements from screen readers and add handling for
97 screen-reader-only text
98 ([17318](https://github.com/civicrm/civicrm-core/pull/17318),
99 [17293](https://github.com/civicrm/civicrm-core/pull/17293),
100 [17294](https://github.com/civicrm/civicrm-core/pull/17294), and
101 [17310](https://github.com/civicrm/civicrm-core/pull/17310))**
25ad6a14 102
39774643
AH
103 CiviCRM uses empty `<i>` elements to provide most icons. Screen readers,
104 which won't render the visual icon anyway, will either skip over an empty
105 element or announce it in a way that would be confusing. This makes it
106 explicit that screen readers and other ARIA devices should skip them.
25ad6a14 107
39774643
AH
108 Meanwhile, if the icon is the only way a piece of information is displayed, a
109 screen reader user won't get that information. This adds a `sr-only` class
110 that makes the element invisible on screen without being ignored by a screen
111 reader.
25ad6a14 112
39774643
AH
113 Screen reader text is added for the field option wrench icons, relationship
114 permissions, and membership auto-renew status.
25ad6a14 115
39774643
AH
116- **Add icon helper functions and remove most uses of check.gif
117 ([17279](https://github.com/civicrm/civicrm-core/pull/17279) and
118 [17289](https://github.com/civicrm/civicrm-core/pull/17289))**
25ad6a14 119
39774643
AH
120 This adds helper functions in PHP and Smarty to render consistent icons with a
121 minimum of code. It also replaces most instances of the green checkmark image
122 with a checkmark icon.
25ad6a14 123
39774643
AH
124- **Separate icon markup from labels and add JS icon helper
125 ([17319](https://github.com/civicrm/civicrm-core/pull/17319) and
126 [17285](https://github.com/civicrm/civicrm-core/pull/17285))**
25ad6a14 127
39774643
AH
128 These changes improve `CRM_Core_Action::formLink()`, `hook_civicrm_links`, and
129 certain listing pages so that HTML icon markup is added at the point of
130 display rather than during the processing of values.
131
132 It also adds a helper function in Javascript similar to those in PHP and
133 Smarty to render icons.
25ad6a14 134
67b1fdbb 135- **crmButton: Support icon=0 for no icon
cbea2ca8 136 ([17303](https://github.com/civicrm/civicrm-core/pull/17303))**
25ad6a14 137
39774643
AH
138 Makes it possible to create a button without an icon using {crmButton}.
139
140- **Replace stop-icon.png with fa-ban over a relevant icon for privacy
141 ([17283](https://github.com/civicrm/civicrm-core/pull/17283) and
142 [17307](https://github.com/civicrm/civicrm-core/pull/17307))**
143
144 The communication preference icons are standardized and more specific than the
145 old stop sign.
146
147- **Replace image icons with Font Awesome icons
148 ([17296]([17280](https://github.com/civicrm/civicrm-core/pull/17280),
149 [17281](https://github.com/civicrm/civicrm-core/pull/17281),
150 [17282](https://github.com/civicrm/civicrm-core/pull/17282),
151 [17295](https://github.com/civicrm/civicrm-core/pull/17295),
152 https://github.com/civicrm/civicrm-core/pull/17296),
153 [17297](https://github.com/civicrm/civicrm-core/pull/17297))**
154
155 Nearly all image icons have been replaced with the corresponding icons from
156 the Font Awesome library.
157
158- **Simplify admin console and remove superfluous icons
159 ([17284](https://github.com/civicrm/civicrm-core/pull/17284))**
160
161 The Administration console has been redesigned to have a simpler layout,
162 display more information, dynamically include all enabled components, display
163 responsively on small screens, and remove a slew of 15-year-old image icons.
25ad6a14 164
cbea2ca8
AF
165- **Dedupe performance - hard-remove financial_item from list of dymnamic refs
166 to contact table
167 ([17567](https://github.com/civicrm/civicrm-core/pull/17567))**
25ad6a14 168
39774643
AH
169 This improves performance when deduping by no longer querying the financial
170 item table.
171
172- **Trigger fatalErrorHandler for PEAR errors and for logs with severity ERROR
173 or higher ([17277](https://github.com/civicrm/civicrm-core/pull/17277))**
174
175 This allows extensions that implement `$config->fatalErrorHandler` to react to
176 a wider variety of errors that CiviCRM may generate.
25ad6a14 177
cbea2ca8 178### CiviContribute
25ad6a14 179
67b1fdbb
TO
180- **Wrap separators in price field in spans with classes
181 ([dev/user-interface#18](https://lab.civicrm.org/dev/user-interface/-/issues/18):
182 [17078](https://github.com/civicrm/civicrm-core/pull/17078))**
183
184 Colons separating pre- and post-field help text from price fields are now
185 wrapped in `<span>` elements.
186
187- **Allow to search on contribution ID
cbea2ca8
AF
188 ([dev/core#1580](https://lab.civicrm.org/dev/core/-/issues/1580):
189 [16484](https://github.com/civicrm/civicrm-core/pull/16484))**
25ad6a14 190
39774643
AH
191 This improves the "Find Contributions" search form by adding a field to search
192 by Contribution ID.
25ad6a14 193
67b1fdbb 194- **APIv4 - Add "Price"-related entities
39774643 195 ([17363](https://github.com/civicrm/civicrm-core/pull/17363))**
25ad6a14 196
39774643 197 Priceset, PriceField, and PriceOption entities are added to APIv4.
25ad6a14 198
67b1fdbb 199- **APIv4 - Add ContributionRecur entity
39774643
AH
200 ([17299](https://github.com/civicrm/civicrm-core/pull/17299))**
201
202 Adds Contribution Recur to APIv4.
25ad6a14 203
cbea2ca8 204### CiviMail
25ad6a14 205
39774643
AH
206- **Allow click-through and open tracking to be enabled/disabled by default
207 ([17291](https://github.com/civicrm/civicrm-core/pull/17291))**
208
209 Adds a setting to CiviMail which allows for setting the click-through and open
210 tracking defaults.
211
cbea2ca8
AF
212- **Extend content array of hook_civicrm_alterMailContent
213 ([dev/core#1620](https://lab.civicrm.org/dev/core/-/issues/1620):
214 [16629](https://github.com/civicrm/civicrm-core/pull/16629))**
25ad6a14 215
cbea2ca8 216 Adds campaign_id to template for `alterMailContent` hook.
25ad6a14 217
cbea2ca8
AF
218- **Migrate CiviMail "extern" scripts to conventional routes
219 ([17312](https://github.com/civicrm/civicrm-core/pull/17312))**
25ad6a14 220
cbea2ca8
AF
221 Updates CiviMail's default behavior to replace `extern/open.php` and
222 `extern/url.php` with `civicrm/mailing/open` and `civicrm/mailing/url`.
25ad6a14 223
67b1fdbb 224- **Make `is_archived` work as a url-search parameter
39774643 225 ([17328](https://github.com/civicrm/civicrm-core/pull/17328))**
25ad6a14 226
39774643
AH
227 The Find Mailings URL can now have `is_archived` as a parameter to only find
228 archived mailings.
229
230### CiviMember
231
232- **Add MembershipType to Api4
233 ([17448](https://github.com/civicrm/civicrm-core/pull/17448))**
234
235 Adds a Membership Type entity to APIv4.
25ad6a14 236
cbea2ca8 237### Drupal Integration
25ad6a14 238
cbea2ca8
AF
239- **CiviCRM menu toggle "adjust menu position" customisable
240 ([dev/core#1757](https://lab.civicrm.org/dev/core/-/issues/1757):
241 [17362](https://github.com/civicrm/civicrm-core/pull/17362))**
25ad6a14 242
39774643
AH
243 This hides the "adjust menu position" icon in the CiviCRM Menu for non admin
244 users to avoid confusion for users who do not have access to the Drupal admin
245 menu.
25ad6a14 246
67b1fdbb 247- **Provide "Calendar" module with an end-date when a duration is provided
cbea2ca8 248 ([601](https://github.com/civicrm/civicrm-drupal/pull/601))**
25ad6a14 249
cbea2ca8 250 Improves display of activities in calendar views.
25ad6a14 251
cbea2ca8 252## <a name="bugs"></a>Bugs resolved
25ad6a14 253
cbea2ca8 254### Core CiviCRM
25ad6a14 255
cbea2ca8
AF
256- **CRM_Utils_Time::setTime and getTime() and their use in unit tests
257 ([dev/core#1781](https://lab.civicrm.org/dev/core/-/issues/1781):
258 [17414](https://github.com/civicrm/civicrm-core/pull/17414))**
25ad6a14 259
39774643
AH
260 This allows the CRM_Utils_Time functions used in unit tests to use TIME_FUNC
261 to better isolate timing bugs.
25ad6a14 262
cbea2ca8
AF
263- **Confusing popups when importing activities
264 ([dev/user-interface#17](https://lab.civicrm.org/dev/user-interface/-/issues/17):
265 [17067](https://github.com/civicrm/civicrm-core/pull/17067))**
25ad6a14 266
39774643 267 This fixes a bug where the confirmation popup would appear when hitting the
cbea2ca8 268 back/cancel buttons, not just the import button, on most import forms.
25ad6a14 269
cbea2ca8
AF
270- **Installing CiviCRM in another language, with civicrm-setup
271 ([dev/translation#39](https://lab.civicrm.org/dev/translation/-/issues/39):
272 [17244](https://github.com/civicrm/civicrm-core/pull/17244))**
25ad6a14 273
cbea2ca8 274 Fixes a bug when installing CiviCRM in another language with civicrm-setup.
25ad6a14 275
cbea2ca8
AF
276- **Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception
277 ([dev/core#560](https://lab.civicrm.org/dev/core/-/issues/560):
278 [17421](https://github.com/civicrm/civicrm-core/pull/17421),
279 [17343](https://github.com/civicrm/civicrm-core/pull/17343),
280 [17336](https://github.com/civicrm/civicrm-core/pull/17336) and
281 [17341](https://github.com/civicrm/civicrm-core/pull/17341))**
25ad6a14 282
cbea2ca8
AF
283- **CiviCRM 5.13.4 - smart groups with contact subtypes: subtype is not in
284 Contact Type field on edit criteria mode
285 ([dev/core#991](https://lab.civicrm.org/dev/core/-/issues/991):
286 [16541](https://github.com/civicrm/civicrm-core/pull/16541))**
25ad6a14 287
cbea2ca8
AF
288 Fixes contact subtypes not being carried over when editing a smart group
289 created in Advanced Search.
25ad6a14 290
cbea2ca8
AF
291- **Unable to import relationship
292 ([dev/core#1731](https://lab.civicrm.org/dev/core/-/issues/1731):
293 [17163](https://github.com/civicrm/civicrm-core/pull/17163))**
25ad6a14 294
39774643
AH
295 Ensures that importing relationships works as expected when the same field is
296 to be imported for the main imported contact and a related contact.
25ad6a14 297
cbea2ca8
AF
298- **Apostrophes in richtext fields don't get exported properly in CiviReport
299 ([dev/core#1743](https://lab.civicrm.org/dev/core/-/issues/1743):
300 [17260](https://github.com/civicrm/civicrm-core/pull/17260))**
25ad6a14 301
67b1fdbb 302- **Statically added members of a smart group are not found
cbea2ca8
AF
303 ([dev/core#1745](https://lab.civicrm.org/dev/core/-/issues/1745):
304 [17419](https://github.com/civicrm/civicrm-core/pull/17419))**
25ad6a14 305
cbea2ca8
AF
306- **Deleting an activity with attachments doesn't delete the file or entries in
307 civicrm_file/civicrm_entity_file
308 ([dev/core#1753](https://lab.civicrm.org/dev/core/-/issues/1753):
309 [17298](https://github.com/civicrm/civicrm-core/pull/17298))**
25ad6a14 310
cbea2ca8
AF
311- **Deselected checkbox settings are not saved
312 ([dev/core#1794](https://lab.civicrm.org/dev/core/-/issues/1794):
313 [17493](https://github.com/civicrm/civicrm-core/pull/17493))**
25ad6a14 314
39774643 315 Ensures deselected values are saved on custom field settings forms.
25ad6a14 316
cbea2ca8
AF
317- **Added activity types don't appear in the type dropdown on New Activity
318 ([dev/core#1822](https://lab.civicrm.org/dev/core/-/issues/1822):
319 [17625](https://github.com/civicrm/civicrm-core/pull/17625))**
25ad6a14 320
39774643
AH
321- **API doesn't allow passing option values by label
322 ([dev/core#1816](https://lab.civicrm.org/dev/core/-/issues/1816):
cbea2ca8 323 [17628](https://github.com/civicrm/civicrm-core/pull/17628))**
25ad6a14 324
cbea2ca8 325 Updates APIv4 so that it matches based on label if name is not found.
25ad6a14 326
cbea2ca8
AF
327- **APIv4 - Improve custom field spec gathering
328 ([17471](https://github.com/civicrm/civicrm-core/pull/17471))**
25ad6a14 329
cbea2ca8
AF
330- **APIv4 - Remove implicit multi joins & add explicit joins
331 ([17332](https://github.com/civicrm/civicrm-core/pull/17332))**
25ad6a14 332
cbea2ca8
AF
333- **APIv4 - Fix entity name on custom groups in schemaMapper
334 ([17425](https://github.com/civicrm/civicrm-core/pull/17425))**
25ad6a14 335
cbea2ca8
AF
336- **APIv4 - fix returning custom field values with API4
337 ([17399](https://github.com/civicrm/civicrm-core/pull/17399))**
25ad6a14 338
39774643 339- **Attempting to access Multi-Record Custom Field import results
cbea2ca8
AF
340 in crash
341 ([dev/core#1841](https://lab.civicrm.org/dev/core/-/issues/1841):
342 [17713](https://github.com/civicrm/civicrm-core/pull/17713))**
25ad6a14 343
cbea2ca8
AF
344- **Fix issue with building smart groups when $contactQueries is empty
345 ([17622](https://github.com/civicrm/civicrm-core/pull/17622))**
25ad6a14 346
39774643
AH
347 If a clause of a contact query used to build a smart group is empty, it would
348 result in a database error.
349
67b1fdbb 350- **Replace deprecated `money_format()` fn to support PHP 7.4
cbea2ca8 351 (Work Towards [dev/core#1494](https://lab.civicrm.org/dev/core/-/issues/1494):
67b1fdbb 352 [17577](https://github.com/civicrm/civicrm-core/pull/17577), [17730](https://github.com/civicrm/civicrm-core/pull/17730))**
25ad6a14 353
cbea2ca8
AF
354 Adds a deprecation notice and a status check for a money value format
355 configuration other than the default.
25ad6a14 356
cbea2ca8
AF
357- **QueueTest - Be more forgiving about slow execution
358 ([17532](https://github.com/civicrm/civicrm-core/pull/17532))**
25ad6a14 359
cbea2ca8
AF
360- **CommunityMessages - Define more consistent behavior in the face of slow
361 execution ([17529](https://github.com/civicrm/civicrm-core/pull/17529))**
25ad6a14 362
39774643
AH
363 This helps avoid test failures on broadcast messages when the system is
364 running slowly.
365
67b1fdbb 366- **Scheduled Reminders - Set boolean fields to false if not set.
cbea2ca8 367 ([17494](https://github.com/civicrm/civicrm-core/pull/17494))**
25ad6a14 368
cbea2ca8
AF
369- **Allow bidirectional assignment of relationships from search results
370 ([17413](https://github.com/civicrm/civicrm-core/pull/17413))**
25ad6a14 371
39774643
AH
372 Previously relationships could only be created from search results where the
373 contacts would be valid in the "A" side of the relationship type.
374
67b1fdbb 375- **Navigation menu - Fix translation of new-subtype entries
cbea2ca8 376 ([17451](https://github.com/civicrm/civicrm-core/pull/17451))**
25ad6a14 377
39774643
AH
378 The "New" in menu items for creating a new contact of a subtype was not
379 translated.
380
cbea2ca8
AF
381- **utf8mb4 - If strict mode enabled query will fail if KEY_BLOCK_SIZE is not 0
382 ([17253](https://github.com/civicrm/civicrm-core/pull/17253))**
25ad6a14 383
67b1fdbb 384- **Update DAO and l10n schema file
cbea2ca8 385 ([17395](https://github.com/civicrm/civicrm-core/pull/17395))**
25ad6a14 386
39774643
AH
387 Price option name and value are now required in the database.
388
cbea2ca8
AF
389- **Fix adding languages in multilingual
390 ([17228](https://github.com/civicrm/civicrm-core/pull/17228))**
25ad6a14 391
39774643
AH
392 This resolves a database error when adding or removing a language on a
393 multilingual site.
394
cbea2ca8
AF
395- **Don't exclude deleted contacts from ACL cache when user has permission
396 ([17379](https://github.com/civicrm/civicrm-core/pull/17379))**
25ad6a14 397
cbea2ca8
AF
398- **SMTP page appears broken when language is French (JS issue)
399 ([dev/core#1760](https://lab.civicrm.org/dev/core/-/issues/1760):
400 [17317](https://github.com/civicrm/civicrm-core/pull/17317))**
25ad6a14 401
39774643
AH
402 Javascript strings that appear in Smarty are now escaped more thoroughly to
403 avoid markup problems.
25ad6a14 404
cbea2ca8 405- **Add serialize column to civicrm_custom_field, remove "Multi-Select" html
0a4c6c94 406 type ([16992](https://github.com/civicrm/civicrm-core/pull/16992), [17722](https://github.com/civicrm/civicrm-core/pull/17722))**
25ad6a14 407
cbea2ca8
AF
408 Work towards making custom select and multi-select fields more similar to
409 core select/multi-select fields.
25ad6a14 410
67b1fdbb 411- **Respect file fields that have been configured as view only in profiles
cbea2ca8 412 ([17079](https://github.com/civicrm/civicrm-core/pull/17079))**
25ad6a14 413
67b1fdbb 414- **Tag create - Respect created_date and created_id params
cbea2ca8 415 ([17257](https://github.com/civicrm/civicrm-core/pull/17257))**
25ad6a14 416
cbea2ca8
AF
417- **Public status messages should show correct class/icon like error
418 ([17376](https://github.com/civicrm/civicrm-core/pull/17376))**
25ad6a14 419
cbea2ca8
AF
420- **Decorative chevrons should be icons not angle quotes
421 ([17245](https://github.com/civicrm/civicrm-core/pull/17245))**
25ad6a14 422
67b1fdbb 423- **A/B Test - Icon should be Erlenmeyer flask, not bar chart
cbea2ca8 424 ([17316](https://github.com/civicrm/civicrm-core/pull/17316))**
25ad6a14 425
cbea2ca8
AF
426- **Proceeding to confirmation page should be a "next" button not a check
427 ([17246](https://github.com/civicrm/civicrm-core/pull/17246))**
25ad6a14 428
cbea2ca8 429### CiviCase
25ad6a14 430
67b1fdbb 431- **Case Activity: Follow-up activity assignee does not receive email
cbea2ca8
AF
432 ([dev/core#1721](https://lab.civicrm.org/dev/core/-/issues/1721):
433 [17116](https://github.com/civicrm/civicrm-core/pull/17116))**
25ad6a14 434
cbea2ca8
AF
435 Ensures when a follow up case activity is created the assignee is sent an
436 email.
25ad6a14 437
cbea2ca8 438### CiviContribute
25ad6a14 439
cbea2ca8
AF
440- **Custom fields disappear on page refresh
441 ([dev/core#1728](https://lab.civicrm.org/dev/core/-/issues/1728):
442 [17301](https://github.com/civicrm/civicrm-core/pull/17301))**
25ad6a14 443
39774643
AH
444 This ensures that financial type specific custom fields are displayed on the
445 backend contribution form when it is refreshed.
25ad6a14 446
cbea2ca8
AF
447- **Fix pricefield pseudoconstant.
448 ([17364](https://github.com/civicrm/civicrm-core/pull/17364))**
25ad6a14 449
cbea2ca8
AF
450 Fixes `PriceField` entity to build options for the `price_set_id`
451 pseudoconstant field.
25ad6a14 452
cbea2ca8
AF
453- **Nuance cancel options for processors
454 ([17430](https://github.com/civicrm/civicrm-core/pull/17430))**
25ad6a14 455
39774643
AH
456 This allows payment processors to specify the way they allow cancellation of
457 recurring contributions.
458
cbea2ca8
AF
459- **[regression] Contribution amount choices don't appear for anonymous users
460 ([dev/core#1823](https://lab.civicrm.org/dev/core/-/issues/1823):
461 [17619](https://github.com/civicrm/civicrm-core/pull/17619))**
25ad6a14 462
cbea2ca8
AF
463- **Import Contribution of custom fields only accepts "Numeric Value" rather
464 than "Label" ([dev/core#1806](https://lab.civicrm.org/dev/core/-/issues/1806):
465 [17632](https://github.com/civicrm/civicrm-core/pull/17632))**
25ad6a14 466
cbea2ca8
AF
467- **"Financial Type" listed twice in contribution export
468 ([dev/core#1650](https://lab.civicrm.org/dev/core/-/issues/1650):
469 [17147](https://github.com/civicrm/civicrm-core/pull/17147))**
25ad6a14 470
cbea2ca8
AF
471- **Record Payment does not update check_number & trxn id on main contribution.
472 ([dev/core#1758](https://lab.civicrm.org/dev/core/-/issues/1758):
473 [17314](https://github.com/civicrm/civicrm-core/pull/17314))**
25ad6a14 474
cbea2ca8
AF
475- **civicrm_financial_trxn.fee_amount reversals mixed up
476 ([dev/core#1775](https://lab.civicrm.org/dev/core/-/issues/1775):
477 [17386](https://github.com/civicrm/civicrm-core/pull/17386))**
25ad6a14 478
cbea2ca8
AF
479- **jquery validation type error on the credit card field
480 ([dev/core#1797](https://lab.civicrm.org/dev/core/-/issues/1797):
481 [17497](https://github.com/civicrm/civicrm-core/pull/17497))**
25ad6a14 482
cbea2ca8
AF
483 Fixes a jQuery error when submitting a front end contribution form with a
484 credit card field.
25ad6a14 485
cbea2ca8
AF
486- **Fix payment instrument bug by using correct payment instrument
487 ([17607](https://github.com/civicrm/civicrm-core/pull/17607))**
25ad6a14 488
39774643
AH
489 When a backend payment form records a payment it now will use a
490 processor-specific default payment instrument rather than the site-wide
491 default if it is set.
492
cbea2ca8
AF
493- **Payment PropertyBag - Fix setAmount
494 ([17505](https://github.com/civicrm/civicrm-core/pull/17505))**
25ad6a14 495
cbea2ca8 496 Ensures "Amount" is set correctly on PropertyBag.
25ad6a14 497
cbea2ca8
AF
498- **Fixed hide show of start date
499 ([17446](https://github.com/civicrm/civicrm-core/pull/17446))**
25ad6a14 500
cbea2ca8 501 Fix hide/show of receive date for recurring contributions.
25ad6a14 502
cbea2ca8
AF
503- **Don't allow Contribution.repeattransaction to be used without a recurring
504 contribution ([17447](https://github.com/civicrm/civicrm-core/pull/17447))**
25ad6a14 505
cbea2ca8
AF
506- **Add actual field name for processor_id to getSubscriptionDetails
507 ([17466](https://github.com/civicrm/civicrm-core/pull/17466))**
25ad6a14 508
cbea2ca8
AF
509- **Make 'Pending' the default status for Contribution.repeattransaction
510 ([17432](https://github.com/civicrm/civicrm-core/pull/17432))**
25ad6a14 511
cbea2ca8
AF
512- **Fetch line items from correct contribution when repeating a contribution
513 ([17220](https://github.com/civicrm/civicrm-core/pull/17220))**
25ad6a14 514
cbea2ca8
AF
515- **Support order_reference param in API3 Payment.create
516 ([17278](https://github.com/civicrm/civicrm-core/pull/17278))**
25ad6a14 517
39774643
AH
518- **E_WARNINGS when viewing list of pledge payments
519 ([dev/core#1791](https://lab.civicrm.org/dev/core/-/issues/1791):
520 [17434](https://github.com/civicrm/civicrm-core/pull/17434))**
521
522- **Add propertyBag handling for getEmail when incoming uses email-5
523 ([17267](https://github.com/civicrm/civicrm-core/pull/17267))**
524
525 Payment processors can now retrieve billing email using the `propertyBag`
526 class methods.
527
cbea2ca8 528### CiviMail
25ad6a14 529
cbea2ca8
AF
530- **Don't log subscription_history
531 ([dev/core#1762](https://lab.civicrm.org/dev/core/-/issues/1762):
532 [17323](https://github.com/civicrm/civicrm-core/pull/17323))**
25ad6a14 533
39774643
AH
534 The `civicrm_subscription_history` table is effectively a log of contacts
535 being added to and removed from groups. Rows do not change value; each change
536 in group subscription results in a new row. Consequently, there is no reason
537 to attach detailed logging to this table.
538
cbea2ca8
AF
539- **Unsubscribe generates 500 server error responses, logs say "missing
540 parameters" ([dev/core#1773](https://lab.civicrm.org/dev/core/-/issues/1773):
541 [17402](https://github.com/civicrm/civicrm-core/pull/17402))**
25ad6a14 542
cbea2ca8 543 Ensures the unsubscribe form can only be submitted once.
25ad6a14 544
cbea2ca8 545### CiviMember
25ad6a14 546
cbea2ca8
AF
547- **Recurring contribution fails with "ipn_payment_callback_exception", for
548 membership auto-renewal via PayPalPro.
549 ([dev/core#1608](https://lab.civicrm.org/dev/core/-/issues/1608):
550 [17355](https://github.com/civicrm/civicrm-core/pull/17355))**
25ad6a14 551
39774643 552- **Don't hide disabled memberships from the contact membership tab
cbea2ca8
AF
553 ([dev/membership#24](https://lab.civicrm.org/dev/membership/-/issues/24):
554 [17143](https://github.com/civicrm/civicrm-core/pull/17143) and
555 [17435](https://github.com/civicrm/civicrm-core/pull/17435))**
25ad6a14 556
39774643
AH
557 This resolves a problem where memberships of disabled membership types would
558 not appear on the membership tab but would throw a duplicate membership
559 warning when creating a new membership with the same membership organization.
560 This also adds a unit test to lock in the correct behavior.
25ad6a14 561
cbea2ca8
AF
562- **Update MembershipType.name to be a required field
563 ([17463](https://github.com/civicrm/civicrm-core/pull/17463))**
25ad6a14 564
39774643
AH
565- **Fix PHP notice when is_override is not set
566 ([17273](https://github.com/civicrm/civicrm-core/pull/17273))**
567
cbea2ca8 568### Joomla Integration
25ad6a14 569
cbea2ca8
AF
570- **Upgrade from 5.26.2 to 5.27 RC Fails
571 ([dev/joomla/#28](https://lab.civicrm.org/dev/joomla/-/issues/28):
572 [17710](https://github.com/civicrm/civicrm-core/pull/17710))**
25ad6a14 573
cbea2ca8 574### WordPress Integration
25ad6a14 575
cbea2ca8
AF
576- **Styling issues after upgrade to WordPress 5.3
577 ([dev/wordpress#46](https://lab.civicrm.org/dev/wordpress/-/issues/46):
578 [16967](https://github.com/civicrm/civicrm-core/pull/16967))**
25ad6a14 579
cbea2ca8
AF
580- **WP - Change definitions of `cms.root`, `civicrm.root`
581 ([17360](https://github.com/civicrm/civicrm-core/pull/17360))**
25ad6a14 582
cbea2ca8 583 The base logic for computing path/URL defaults is in Civi/Core/Paths.php.
25ad6a14 584
39774643
AH
585 For CiviCRM on WordPress, certain variables (which are easier to compute via
586 WordPress APIs) are overridden in `CRM_Utils_System_WordPress`.
25ad6a14 587
39774643
AH
588 On WordPress, the path/URL logic for has been split: there is one code path
589 for normal CiviCRM pages which is based on WordPress APIs, and there is
590 another for older, standalone scripts in the `extern` folder which is based on
591 the same logic as before.
25ad6a14 592
67b1fdbb 593- **Declare minimum WP and PHP versions required for installation
cbea2ca8 594 ([201](https://github.com/civicrm/civicrm-wordpress/pull/201))**
25ad6a14 595
cbea2ca8
AF
596- **wp-rest - Adjust extern URL. Be more defensive about 'query' part.
597 ([192](https://github.com/civicrm/civicrm-wordpress/pull/192))**
25ad6a14 598
39774643
AH
599 This resolves issues with tracking URLs via the `wp-rest` endpoint that are
600 then modified with `hook_civicrm_alterExternUrl`.
601
cbea2ca8 602## <a name="misc"></a>Miscellany
25ad6a14 603
67b1fdbb 604- **Handle less common dynamic reference cases
cbea2ca8 605 ([17653](https://github.com/civicrm/civicrm-core/pull/17653))**
25ad6a14 606
cbea2ca8
AF
607- **Use apiv4, cache infra for basicTypes
608 ([17387](https://github.com/civicrm/civicrm-core/pull/17387))**
25ad6a14 609
cbea2ca8
AF
610- **Cleanup PriceFieldValue BAO
611 ([17306](https://github.com/civicrm/civicrm-core/pull/17306))**
25ad6a14 612
cbea2ca8
AF
613- **Clarify definition of amount field in civicrm_contribution_recur table.
614 ([17311](https://github.com/civicrm/civicrm-core/pull/17311))**
25ad6a14 615
cbea2ca8
AF
616- **Call completeOrder directly from contribute status update form
617 ([17347](https://github.com/civicrm/civicrm-core/pull/17347))**
25ad6a14 618
cbea2ca8
AF
619- **Switch docblock code to use markdown syntax.
620 ([17304](https://github.com/civicrm/civicrm-core/pull/17304))**
25ad6a14 621
cbea2ca8
AF
622- **Preliminary cleanup on form
623 ([17345](https://github.com/civicrm/civicrm-core/pull/17345))**
25ad6a14 624
cbea2ca8
AF
625- **Add getBAOClassName utiltiy function
626 ([17268](https://github.com/civicrm/civicrm-core/pull/17268))**
25ad6a14 627
cbea2ca8
AF
628- **CRM/Logging - Remove obsolete cache static clear in test
629 ([17269](https://github.com/civicrm/civicrm-core/pull/17269))**
25ad6a14 630
cbea2ca8
AF
631- **Remove incorrect retrievals of tax-term setting
632 ([17183](https://github.com/civicrm/civicrm-core/pull/17183))**
25ad6a14 633
cbea2ca8
AF
634- **CiviEvent Dashboard and Manage Events: clean up disused url template vars
635 ([17378](https://github.com/civicrm/civicrm-core/pull/17378))**
25ad6a14 636
cbea2ca8
AF
637- **Set default using spec for activity_date_time
638 ([17390](https://github.com/civicrm/civicrm-core/pull/17390))**
25ad6a14 639
cbea2ca8
AF
640- **Convert remaining Authorize.net test to use guzzle
641 ([17473](https://github.com/civicrm/civicrm-core/pull/17473))**
25ad6a14 642
cbea2ca8
AF
643- **Various BAO create/add cleanups to use writeRecord()
644 ([17308](https://github.com/civicrm/civicrm-core/pull/17308))**
25ad6a14 645
cbea2ca8
AF
646- **Remove instantiation of transaction from payment express ipn class
647 ([17348](https://github.com/civicrm/civicrm-core/pull/17348))**
25ad6a14 648
cbea2ca8
AF
649- **Remove null code
650 ([17381](https://github.com/civicrm/civicrm-core/pull/17381))**
25ad6a14 651
cbea2ca8
AF
652- **Remove validation bypass
653 ([17384](https://github.com/civicrm/civicrm-core/pull/17384))**
25ad6a14 654
cbea2ca8
AF
655- **Simplify recurring contribution template inheritance
656 ([17178](https://github.com/civicrm/civicrm-core/pull/17178))**
25ad6a14 657
cbea2ca8
AF
658- **Remove $_REQUEST passed into CRM_Utils_Request::retrieve NFC
659 ([17377](https://github.com/civicrm/civicrm-core/pull/17377))**
25ad6a14 660
cbea2ca8
AF
661- **Use now instead of date for activity API3 spec
662 ([17411](https://github.com/civicrm/civicrm-core/pull/17411))**
25ad6a14 663
cbea2ca8 664- **Typo Fix ([17409](https://github.com/civicrm/civicrm-core/pull/17409))**
25ad6a14 665
cbea2ca8
AF
666- **Fix logic for job log cleanup and make SQL safer
667 ([17203](https://github.com/civicrm/civicrm-core/pull/17203))**
25ad6a14 668
cbea2ca8
AF
669- **Remove always-true if block.
670 ([17415](https://github.com/civicrm/civicrm-core/pull/17415))**
25ad6a14 671
cbea2ca8
AF
672- **Remove No longer required HTTP_Request Package
673 ([293](https://github.com/civicrm/civicrm-packages/pull/293))**
25ad6a14 674
cbea2ca8
AF
675- **Remove code that still seems unnecessary.
676 ([17342](https://github.com/civicrm/civicrm-core/pull/17342))**
25ad6a14 677
cbea2ca8
AF
678- **Undo variable variable.
679 ([17371](https://github.com/civicrm/civicrm-core/pull/17371))**
25ad6a14 680
cbea2ca8
AF
681- **Use non-deprecated method
682 ([17370](https://github.com/civicrm/civicrm-core/pull/17370))**
25ad6a14 683
cbea2ca8
AF
684- **Remove last reference to Payment->_processorName in core & remove from
685 processors ([17474](https://github.com/civicrm/civicrm-core/pull/17474))**
25ad6a14 686
cbea2ca8
AF
687- **Remove unused singleton from core payment processors
688 ([17468](https://github.com/civicrm/civicrm-core/pull/17468))**
25ad6a14 689
cbea2ca8
AF
690- **Test fixes to support apiv4 add of MembershipType
691 ([17488](https://github.com/civicrm/civicrm-core/pull/17488))**
25ad6a14 692
cbea2ca8
AF
693- **Merge code - remove UPDATE IGNORE+Delete & just use reliable update
694 ([17072](https://github.com/civicrm/civicrm-core/pull/17072))**
25ad6a14 695
cbea2ca8
AF
696- **Remove unneeded parameters in {ts} on membership form
697 ([17326](https://github.com/civicrm/civicrm-core/pull/17326))**
25ad6a14 698
cbea2ca8
AF
699- **Remove unused 'reset' param, other NFC tidy up:
700 ([17392](https://github.com/civicrm/civicrm-core/pull/17392))**
25ad6a14 701
cbea2ca8
AF
702- **Fix setLanguage docblock, other nfc changes
703 ([17356](https://github.com/civicrm/civicrm-core/pull/17356))**
25ad6a14 704
cbea2ca8
AF
705- **[REF] Simplify contributionIDs code
706 ([17441](https://github.com/civicrm/civicrm-core/pull/17441))**
25ad6a14 707
cbea2ca8
AF
708- **[REF] Extract getAttachments
709 ([17405](https://github.com/civicrm/civicrm-core/pull/17405))**
25ad6a14 710
cbea2ca8
AF
711- **[REF] Preliminary cleanup for #17339
712 ([17417](https://github.com/civicrm/civicrm-core/pull/17417))**
25ad6a14 713
cbea2ca8
AF
714- **[REF] Remove unreachable block.
715 ([17407](https://github.com/civicrm/civicrm-core/pull/17407))**
25ad6a14 716
cbea2ca8
AF
717- **[REF] Pass an array of correct params to the function to create a recurring
718 contribution. ([17398](https://github.com/civicrm/civicrm-core/pull/17398))**
25ad6a14 719
cbea2ca8
AF
720- **[REF] Code simplification & unit test on suppressed emails in task
721 ([17393](https://github.com/civicrm/civicrm-core/pull/17393))**
25ad6a14 722
cbea2ca8
AF
723- **[REF] duplicate function.
724 ([17400](https://github.com/civicrm/civicrm-core/pull/17400))**
25ad6a14 725
cbea2ca8
AF
726- **[REF] Pass params not-by-reference
727 ([17406](https://github.com/civicrm/civicrm-core/pull/17406))**
25ad6a14 728
cbea2ca8
AF
729- **[REF] Refactor to switch from pear HTTP Request class to using Guzzle
730 ([17420](https://github.com/civicrm/civicrm-core/pull/17420))**
25ad6a14 731
cbea2ca8
AF
732- **[REF] [Reports] Ensure that all contribution pages including disabled ones
733 are return… ([17357](https://github.com/civicrm/civicrm-core/pull/17357))**
734
735- **[REF] Cleanup and extract string functions specific to entity names.
736 ([17330](https://github.com/civicrm/civicrm-core/pull/17330))**
737
738- **[REF] Stop passing by reference.
739 ([17349](https://github.com/civicrm/civicrm-core/pull/17349))**
740
741- **[REF] Simplify subject code.
742 ([17436](https://github.com/civicrm/civicrm-core/pull/17436))**
743
744- **[REF] Implement required fields database changes that have occured du…
0a4c6c94 745 ([17465](https://github.com/civicrm/civicrm-core/pull/17465), [17725](https://github.com/civicrm/civicrm-core/pull/17725))**
cbea2ca8
AF
746
747- **[REF] Bump Pear Log version to fix compatability with Drupal 8 / Drup…
748 ([17460](https://github.com/civicrm/civicrm-core/pull/17460))**
749
750- **[REF] Convert one of the http calls in Authorize.net class to use guzzle.
751 ([17449](https://github.com/civicrm/civicrm-core/pull/17449))**
752
753- **[REF] Minor simplification
754 ([17443](https://github.com/civicrm/civicrm-core/pull/17443))**
755
756- **[REF] Grant BAO cleanup
757 ([17264](https://github.com/civicrm/civicrm-core/pull/17264))**
758
759- **[REF] CRM_Core_DAO_AllCoreTables::getBriefName to accept BAO name
760 ([17331](https://github.com/civicrm/civicrm-core/pull/17331))**
761
762- **[REF] Missing semicolon on smtp settings page, code cleanup in file-on-case,
763 add test ([17335](https://github.com/civicrm/civicrm-core/pull/17335))**
764
765- **[REF] Extract createFollowUpActivities
766 ([17481](https://github.com/civicrm/civicrm-core/pull/17481))**
767
768- **[REF] Switch to an api call to get the contact details.
769 ([17442](https://github.com/civicrm/civicrm-core/pull/17442))**
770
771- **[REF] Minor code simplification
772 ([17373](https://github.com/civicrm/civicrm-core/pull/17373))**
773
774- **[REF] Call completeOrder directly from event status update form
775 ([17346](https://github.com/civicrm/civicrm-core/pull/17346))**
776
777- **[REF] Remove never-passed params from function signature
778 ([17464](https://github.com/civicrm/civicrm-core/pull/17464))**
779
780- **[REF] Fix serialized membership field handling in RelationshipTest
781 ([17469](https://github.com/civicrm/civicrm-core/pull/17469))**
782
783- **[REF] Minor tidy up
784 ([17302](https://github.com/civicrm/civicrm-core/pull/17302))**
785
786- **[REF] Remove always NULL param modified_id
787 ([17489](https://github.com/civicrm/civicrm-core/pull/17489))**
788
789- **[REF] Add contribution_id field to search using metadata instead of h…
790 ([17286](https://github.com/civicrm/civicrm-core/pull/17286))**
791
792- **[REF] Fix unit test failures on MySQL 5.6 due to Custom Field table being
793 created without Dynamic Row Format
794 ([17586](https://github.com/civicrm/civicrm-core/pull/17586))**
795
796- **[REF] Start to convert Dummy processor to use PropertyBag
797 ([17452](https://github.com/civicrm/civicrm-core/pull/17452))**
798
799- **[Ref] remove calls to, and deprecate, pending function
800 ([17490](https://github.com/civicrm/civicrm-core/pull/17490))**
801
802- **[REF] Cleanup MailingAB BAO
803 ([17309](https://github.com/civicrm/civicrm-core/pull/17309))**
804
805- **[TEST] Update test to support for 8.0.19 change
806 ([17354](https://github.com/civicrm/civicrm-core/pull/17354))**
807
808- **[TEST] Fix test failure on Drupal 8 E2E PrevNextTest by only includin…
809 ([17358](https://github.com/civicrm/civicrm-core/pull/17358))**
810
811- **[TEST] dev/core#1766 - Remove flakiness from testGetFromTo tests
812 ([dev/core#1766](https://lab.civicrm.org/dev/core/-/issues/1766):
813 [17338](https://github.com/civicrm/civicrm-core/pull/17338))**
814
815- **[NFC/TEST] dev/core#1784 - Unit tests for contact delete/restore
816 ([dev/core#1784](https://lab.civicrm.org/dev/core/-/issues/1784):
817 [17437](https://github.com/civicrm/civicrm-core/pull/17437))**
818
819- **NFC - Change array() to short syntax []
820 ([17470](https://github.com/civicrm/civicrm-core/pull/17470))**
821
822- **[NFC] Update Karma to be latest version
823 ([17439](https://github.com/civicrm/civicrm-core/pull/17439))**
824
825- **(NFC) CRM_Utils_Url - Fix declared type
826 ([17320](https://github.com/civicrm/civicrm-core/pull/17320))**
827
828- **[NFC] Remove some more of the old cvs blocks
829 ([17383](https://github.com/civicrm/civicrm-core/pull/17383))**
830
831- **NFC Add a bit more clarity to createEmailActivity function
832 ([17391](https://github.com/civicrm/civicrm-core/pull/17391))**
833
834- **[NFC] Add comment that deprecated code is actually still reachable
835 ([17340](https://github.com/civicrm/civicrm-core/pull/17340))**
836
837- **(NFC) Remove some cvs docblock help
838 ([17322](https://github.com/civicrm/civicrm-core/pull/17322))**
839
840- **[NFC] Add comment regarding lower case for Polish states
841 ([17327](https://github.com/civicrm/civicrm-core/pull/17327))**
842
843- **(NFC) RegionTest - Small cleanups
844 ([17270](https://github.com/civicrm/civicrm-core/pull/17270))**
845
846- **[NFC] Add sr-only class for content only for screen readers
847 ([17255](https://github.com/civicrm/civicrm-core/pull/17255))**
848
849- **NFC Change hardcoded ID to constant
850 ([17275](https://github.com/civicrm/civicrm-core/pull/17275))**
851
852- **[NFC] Fix use of single quotes, strict operator
853 ([17492](https://github.com/civicrm/civicrm-core/pull/17492))**
25ad6a14
AH
854
855## <a name="credits"></a>Credits
856
857This release was developed by the following code authors:
858
cbea2ca8
AF
859a-n The Artists Information Company - William Mortada; AGH Strategies - Alice
860Frumin, Andrew Hunt; Andrei Mondoc; British Humanist Association - Andrew West;
861Caltha - Tomasz Pietrzkowski; Christian Wach; Circle Interactive - Pradeep
862Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku;
863CompuCorp - René Olivo; Coop SymbioTIC - Mathieu Lutfy; Dave D; Dominic Hargreaves;
864Electronic Frontier Foundation - Mark Burdett; Freeform Solutions - Herb van den
865Dool; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick
866Figel; JMA Consulting - Edsel Lopez, Seamus Lee; John Kingsnorth; Joinery -
867Allen Shaw; Kartik Kathuria; Lighthouse Design and Consulting - Brian
868Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey
869O'Toole; MJW Consulting - Matthew Wire; Palante Technology Cooperative - Morgan
870Robinson; Semper IT - Karin Gerritsen; Tadpole Collective - Kevin Cristiano;
871Wikimedia Foundation - Eileen McNaughton
25ad6a14
AH
872
873Most authors also reviewed code for this release; in addition, the following
874reviewers contributed their comments:
875
cbea2ca8
AF
876Agileware - Justin Freeman; Artful Robot - Rich Lott; Betty Dolfing; CiviCoop -
877Jaap Jansma; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; Kartik
878Kathuria; Korlon - Stuart Gaston; Megaphone Technology Consulting - Dennis P.
39774643 879Osorio; Squiffle Consulting - Aidan Saunders
f60808ca
AH
880
881## <a name="feedback"></a>Feedback
882
883These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
884to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
885and contact `@agh1`.