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? | no |
17 | **Change the database schema?** | **yes** |
18 | **Alter the API?** | **yes** |
19 | Require attention to configuration options? | no |
20 | **Fix problems installing or upgrading to a previous version?** | **yes** |
21 | **Introduce features?** | **yes** |
22 | **Fix bugs?** | **yes** |
24 ## <a name="features"></a>Features
28 - **Add PDF letter functionality for Activities using new token processor
29 ([14662](https://github.com/civicrm/civicrm-core/pull/14662))**
31 Adds the ability to create PDF letters that include activity tokens from the
34 - **Add utf8 to utfmb8 conversion api command
35 ([15969](https://github.com/civicrm/civicrm-core/pull/15969))**
37 Adds an API to convert the database from utf8 to utf8mb4. This is intended to
38 help early adopters using the utf8mb4 standard (which includes support for
41 - **Move exportui extension into core
42 ([16335](https://github.com/civicrm/civicrm-core/pull/16335))**
44 Updates the 'Select Fields' screen on step 3 of the Export wizard.
46 - **Allow setting a custom L10n/I18n resource directory
47 ([dev/translation#30](https://lab.civicrm.org/dev/translation/issues/30):
48 [15408](https://github.com/civicrm/civicrm-core/pull/15408) and
49 [16583](https://github.com/civicrm/civicrm-core/pull/16583))**
51 Adds a new setting for the "L10n/I18n resource directory" which allows site
52 administrators to specify the location of the l10n directory (and allows the
53 directory to be outside of the main code base).
55 - **Proposal to add a new hook_civicrm_alterExternUrl
56 ([dev/core#1100](https://lab.civicrm.org/dev/core/issues/1100):
57 [15475](https://github.com/civicrm/civicrm-core/pull/15475))**
59 Adds a new hook `hook_civicrm_alterExternUrl` which can be used by extension
60 developers to alter Extern scripts.
62 - **Support MySQL 8.0 now that it is GA
63 (Work Towards [dev/core#392](https://lab.civicrm.org/dev/core/issues/392):
64 [16204](https://github.com/civicrm/civicrm-core/pull/16204),
65 [16202](https://github.com/civicrm/civicrm-core/pull/16202) and
66 [16207](https://github.com/civicrm/civicrm-core/pull/16207))**
68 Works toward supporting MySQL 8.0 by:
69 + Ensuring that the log_date column on logging tables is NOT NULL in MySQL 8.
70 + Ensuring that `CRM_Utils_QueryFormatterTest` passes on MySQL 8.
71 + Fixing the handling of dates in `getMembershipStarts` function to ensure
72 date is passed to query as yyyy-mm-dd to fix test failure on MySQL 8.
74 - **Field Names now Reserved Words in MySQL8
75 ([dev/core#1143](https://lab.civicrm.org/dev/core/issues/1143):
76 [16206](https://github.com/civicrm/civicrm-core/pull/16206),
77 [16203](https://github.com/civicrm/civicrm-core/pull/16203),
78 [16201](https://github.com/civicrm/civicrm-core/pull/16201),
79 [16193](https://github.com/civicrm/civicrm-core/pull/16193) and
80 [16214](https://github.com/civicrm/civicrm-core/pull/16214))**
82 MySQL8 reserves the words "description" and "grouping" which CiviCRM uses as
83 field names. These changes work to ensure that these fields play nicely when
86 - **CQ: Migrate simple Preferences & Settings forms to using a Generic class.
87 (Work Towards [dev/core#495](https://lab.civicrm.org/dev/core/issues/495):
88 [16224](https://github.com/civicrm/civicrm-core/pull/16224),
89 [16234](https://github.com/civicrm/civicrm-core/pull/16234),
90 [16235](https://github.com/civicrm/civicrm-core/pull/16235),
91 [16236](https://github.com/civicrm/civicrm-core/pull/16236),
92 [16237](https://github.com/civicrm/civicrm-core/pull/16237),
93 [16233](https://github.com/civicrm/civicrm-core/pull/16233),
94 [16232](https://github.com/civicrm/civicrm-core/pull/16232),
95 [16228](https://github.com/civicrm/civicrm-core/pull/16228),
96 [16229](https://github.com/civicrm/civicrm-core/pull/16229) and
97 [16227](https://github.com/civicrm/civicrm-core/pull/16227))**
99 Makes admin settings field labels translatable.
101 - **composer.json - Update civicrm-setup
102 ([16423](https://github.com/civicrm/civicrm-core/pull/16423))**
104 Improves civicrm-setup for scripted installations of Druapl8 with `cv` and GUI
105 based installations on WordPress.
107 - **Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception
108 (Work Towards [dev/core#560](https://lab.civicrm.org/dev/core/issues/560):
109 [16433](https://github.com/civicrm/civicrm-core/pull/16433))**
111 Work towards throwing exceptions instead of fatal errors.
113 - **Google+ references should be removed as it phases out (Work Towards
114 [dev/core#711](https://lab.civicrm.org/dev/core/issues/711):
115 [16099](https://github.com/civicrm/civicrm-core/pull/16099) and
116 [16185](https://github.com/civicrm/civicrm-core/pull/16185))**
118 Google is phasing out Google+ this begins work to remove all visible
119 references to Google+ from CiviCRM.
121 - **"config_backend" should be thoroughly removed (Work Towards
122 [dev/core#1387](https://lab.civicrm.org/dev/core/issues/1387):
123 [15842](https://github.com/civicrm/civicrm-core/pull/15842))**
125 Ensures that the column `civicrm_domain.config_backend` is not created on new
126 sites and drops the column `civicrm_domain.config_backend` for sites that
127 started on 4.7-5.20. Additionally, this deprecates some functions related to
128 the setting `civicrm_domain.config_backend`.
130 - **Address ID field should be exportable
131 ([dev/core#1512](https://lab.civicrm.org/dev/core/issues/1512):
132 [16240](https://github.com/civicrm/civicrm-core/pull/16240))**
134 Makes Address ID an exportable field.
136 - **APIv3 - Only scan files for deprecation checks in Entity.get
137 ([16460](https://github.com/civicrm/civicrm-core/pull/16460))**
139 Improves performance of APIv3 by stopping scanning nonexistent files.
141 - **Add debug info to api4 output
142 ([16351](https://github.com/civicrm/civicrm-core/pull/16351))**
144 Improves API4 by adding debug info and displaying the query.
146 - **APIv4 - don't throw exception when updating/deleting 0 items
147 ([16374](https://github.com/civicrm/civicrm-core/pull/16374))**
149 Improves APIv4's update and delete actions when operating on 0 items so that
150 they do not throw exceptions, instead they return 0 results.
152 - **APIv4 - Variable substitution in docblocks
153 ([16449](https://github.com/civicrm/civicrm-core/pull/16449))**
155 Makes the help text more meaningful in the APIv4 Explorer by always referring to
156 the correct entity & action names.
158 - **APIv4 Explorer css tweaks
159 ([16431](https://github.com/civicrm/civicrm-core/pull/16431))**
161 Makes the checkboxes in the APIv4 explorer line up better and makes them bold
164 - **APIv4 docs improvements
165 ([16411](https://github.com/civicrm/civicrm-core/pull/16411))**
167 Improves APIv4 docs and their display in the explorer.
169 - **APIv4 Explorer - Better UI for defaults param
170 ([16454](https://github.com/civicrm/civicrm-core/pull/16454))**
172 Improves APIv4 so that it handles defaults param with select2 instead of a
173 text box. Also shows the new way of using the variadic addSelect function.
175 - **Api4 - improve docblocks & display links in explorer
176 ([16373](https://github.com/civicrm/civicrm-core/pull/16373))**
178 Improves documentation for most APIv4 entities by adding clickable links
179 to documentation displayed in the APIv4 explorer.
181 - **Implement PaymentProcessor and PaymentProcessorType APIv4 Entities
182 ([15624](https://github.com/civicrm/civicrm-core/pull/15624))**
184 Adds `PaymentProcesor` and `PaymentProcessorType` entities to APIv4.
186 - **Update function to repair indexes to take table as a parameter
187 ([16146](https://github.com/civicrm/civicrm-core/pull/16146))**
189 Makes it so the `System.getmissingindices` and `System.updateindexes` APIs
190 accept 'tables' as a parameter (array or string) and limits the results to the
191 specified tables if supplied.
193 - **Api4 - Support wildcard * in select clause
194 ([16302](https://github.com/civicrm/civicrm-core/pull/16302))**
196 Adds support for the * wildcard in the SELECT clause of APIv4 Get actions.
198 - **Api4 - Filter returned fields by contact type
199 ([16300](https://github.com/civicrm/civicrm-core/pull/16300))**
201 Ensures that civicrm_api4('Contact', 'get' ...) filters the fields returned
202 based on contact type.
204 - **Api4 - Convert field values to correct data type
205 ([16274](https://github.com/civicrm/civicrm-core/pull/16274))**
207 Ensures that Api4 returns field values as the correct data type (instead of
208 always as a raw string).
210 - **Api4 - format output consistently across get/create/update.
211 ([16305](https://github.com/civicrm/civicrm-core/pull/16305))**
213 Improves consistency of output in Api4.
215 - **Add more functionality to the api4 $index param
216 ([16257](https://github.com/civicrm/civicrm-core/pull/16257))**
218 Improves APIv4 by making the `$index` param support 4 modes: Integer, String,
219 Non-associative array and Associative array and documenting them more clearly.
221 - **Use markdown in php docblocks & display in APIv4 Explorer
222 ([16425](https://github.com/civicrm/civicrm-core/pull/16425))**
224 Reformats some docblocks to use markdown, and uses the marked.js library to
225 display the docblocks clearly in the APIv4 Explorer.
227 - **Civi\Test - Allow `headless()->apply()` (etc) to execute without setup.sh
228 ([16405](https://github.com/civicrm/civicrm-core/pull/16405))**
230 Makes it possible to run the headless test suites without running setup.sh.
232 - **Allow most values of $civicrm_paths['XXX']['url'] to be relative
233 ([16403](https://github.com/civicrm/civicrm-core/pull/16403))**
235 Allows system administrators to override various path and URL computations
236 using a relative URL.
238 - **composer.json - Explicitly set target PHP platform
239 ([16421](https://github.com/civicrm/civicrm-core/pull/16421))**
241 Refines the way in which composer resolves dependencies - so as to prefer
242 packages that are compatible with CiviCRM's declared minimum requirement.
244 - **Add function to set entitySubType for entity forms
245 ([16017](https://github.com/civicrm/civicrm-core/pull/16017))**
247 Makes it so entity subtype can be set in a standard way and is used if set.
249 - **Add metadata to is_primary fields
250 ([16113](https://github.com/civicrm/civicrm-core/pull/16113))**
252 Improves field information for `is_primary` for the sake of Form Builder.
254 - **Check field to carry over custom data by default when the other contact has
255 none ([16246](https://github.com/civicrm/civicrm-core/pull/16246))**
257 Improves the contact merge screen by defaulting to checking the box to
258 carryover any custom data fields where the contact being merged into has no
261 - **Add resolved to return array for get_conflicts
262 ([15829](https://github.com/civicrm/civicrm-core/pull/15829))**
264 Enhances the `Contact.get_merge_conflicts` API call to also include an array
265 of resolved conflicts.
269 - **Add case tokens to email activities
270 ([dev/core#522](https://lab.civicrm.org/dev/core/issues/522):
271 [16105](https://github.com/civicrm/civicrm-core/pull/16105))**
273 Adds the ability to use case tokens in PDF Letters and single emails.
275 - **Restrict case roles by group
276 ([15570](https://github.com/civicrm/civicrm-core/pull/15570))**
278 Adds a setting to restrict contacts available to be selected for a case role
283 - **Add columns to Contribution Detail report: Employer, Location Type,
284 Preferred Communication Method
285 ([dev/core#1573](https://lab.civicrm.org/dev/core/issues/1573):
286 [16458](https://github.com/civicrm/civicrm-core/pull/16458))**
288 Improves the Contribution Detail report by making the fields 'Employer',
289 'Location Type', 'Preferred Communication Method' available as columns.
291 - **Add "Contributor Name" to Offline Contribution Receipts
292 ([16286](https://github.com/civicrm/civicrm-core/pull/16286))**
294 Adds the display name of the contributor to Offline Contribution Receipts.
296 - **Add pre/post hooks on ContributionSoft entity
297 ([16264](https://github.com/civicrm/civicrm-core/pull/16264))**
299 Add Pre and post hooks for the `ContributionSoft` entity.
301 - **Deprecate creating partially paid contributions, other than by partially
302 paying a contribution.
303 ([15855](https://github.com/civicrm/civicrm-core/pull/15855))**
305 Adds deprecation noise when an attempt is made to set a contribution to
306 partially paid other than by adding a payment (using Payment.create). This is
307 necessary not only because we have a preferred workflow but also because
308 setting to "Partially Paid" doesn't actually create the `financial_trxn` that
309 is required if done via `Contribution.create` flow.
313 - **Expose "is_show_location" to control display of event locations
314 ([dev/core#1511](https://lab.civicrm.org/dev/core/issues/1511):
315 [16230](https://github.com/civicrm/civicrm-core/pull/16230))**
317 Exposes an option to show event location on the event configuration tab.
321 - **Make Deja Vu Sans the default font for mailing labels
322 ([dev/core#1502](https://lab.civicrm.org/dev/core/issues/1502):
323 [16216](https://github.com/civicrm/civicrm-core/pull/16216))**
325 Updates the default font for mailing labels to be "Deja Vu Sans" which is a
326 font that supports unicode characters.
328 - **Pass through mailing id to alterMailContent hook
329 ([dev/core#1253](https://lab.civicrm.org/dev/core/issues/1253):
330 [15306](https://github.com/civicrm/civicrm-core/pull/15306))**
332 Improves the `hook_civicrm_alterMailContent` hook by passing the mailing ID to
333 it so that developers can access data about the mailing that the content is
336 - **Eventually google will require OAUTH for bounce processing and may require
337 it for outbound SMTP through gmail servers
338 (Work Towards [dev/mail#59](https://lab.civicrm.org/dev/mail/issues/59):
339 [16231](https://github.com/civicrm/civicrm-core/pull/16231),
340 [16518](https://github.com/civicrm/civicrm-core/pull/16518),
341 [16307](https://github.com/civicrm/civicrm-core/pull/16307) and
342 [16306](https://github.com/civicrm/civicrm-core/pull/16306))**
344 Adds the ability to connect to IMAP server using XOAUTH2 protocol. Updates the
345 version of zetacomponents/mail package to a version that will support XAUTH2.
347 - **Allow personalised 'view in browser' links for mass emails
348 ([dev/core#1064](https://lab.civicrm.org/dev/core/issues/1064):
349 [14591](https://github.com/civicrm/civicrm-core/pull/14591))**
351 Improves the CiviMail "view in browser" experience by allowing personalized
356 - **When viewing a membership show if the status is overridden
357 ([16341](https://github.com/civicrm/civicrm-core/pull/16341))**
359 Adds the text "(Overridden)" next to the membership status when viewing a
360 membership for which the status has been overridden.
362 - **Auto renew text appears at top of membership edit form
363 ([dev/core#1519](https://lab.civicrm.org/dev/core/issues/1519):
364 [16269](https://github.com/civicrm/civicrm-core/pull/16269))**
366 Improves the placement of the Auto Renew help text on the Membership edit
369 - **Improve accessibility of membership edit form
370 ([dev/core#1520](https://lab.civicrm.org/dev/core/issues/1520):
371 [16272](https://github.com/civicrm/civicrm-core/pull/16272))**
373 Updates the help text link text on the membership edit form to be meaningful
374 to improve accessibility.
376 - **Permit modified_id as a parameter for membership create api
377 ([16166](https://github.com/civicrm/civicrm-core/pull/16166))**
379 Adds `modified_id` as a parameter for APIv3 `membership.create`.
381 ### Wordpress Integration
383 - **WordPress Version Update
384 ([dev/wordpress#2](https://lab.civicrm.org/dev/wordpress/issues/2):
385 [16211](https://github.com/civicrm/civicrm-core/pull/16211))**
387 Ensures the WordPress plugin version is updated by distmaker.
389 - **Pass language code to CiviCRM for Wordpress
390 ([16446](https://github.com/civicrm/civicrm-core/pull/16446))**
392 Ensures CiviCRM will always pick up the language that WordPress is configured
393 to use instead of having to configure the language in both CiviCRM and
396 - **Update civicrm.settings.php.template to default to CLEANURL for WP
397 ([16284](https://github.com/civicrm/civicrm-core/pull/16284))**
399 Makes it so that new WordPress/CiviCRM sites default to having CleanUrls.
401 ## <a name="bugs"></a>Bugs resolved
405 - **No Household Member Relationship Created when an Individual shares a
406 relationship with a household
407 ([dev/core#1319](https://lab.civicrm.org/dev/core/issues/1319):
408 [16447](https://github.com/civicrm/civicrm-core/pull/16447))**
410 Fixes a regression in core where sharing an address with a household stopped
411 creating a household member relationship so that there is a checkbox (that
412 defaults to checked) to create a household member relationship when sharing
413 an address with a household.
415 - **Add mechanism for avoiding conflicts when deduping
416 ([dev/core#1355](https://lab.civicrm.org/dev/core/issues/1355):
417 [15670](https://github.com/civicrm/civicrm-core/pull/15670))**
419 Improves dedupe functionality so that it aborts early if two (or more)
420 dedupe jobs are running at the same time and attempt to act on the same
423 - **Clear asset builder cache when clearing cache
424 ([dev/core#1395](https://lab.civicrm.org/dev/core/issues/1395):
425 [15857](https://github.com/civicrm/civicrm-core/pull/15857))**
427 Ensures the "dyn" folder gets cleared when clearing CiviCRM caches.
429 - **Smart groups with deleted/disabled custom fields throw fatal error on its
430 usage. (Work Towards [dev/core#1471](https://lab.civicrm.org/dev/core/issues/1471):
431 [16267](https://github.com/civicrm/civicrm-core/pull/16267))**
433 Adds an alert on the system status page when deleted custom fields are used in
436 - **Invalid links to extension directory
437 ([dev/core#1550](https://lab.civicrm.org/dev/core/issues/1550):
438 [16394](https://github.com/civicrm/civicrm-core/pull/16394))**
440 Fixes an invalid link to the extension directory in help text.
442 - **CQ: Eliminate 'contribution_invoice_settings' 'Setting' in favour of
443 following our standard (Work Towards
444 [dev/core#1558](https://lab.civicrm.org/dev/core/issues/1558):
445 [16397](https://github.com/civicrm/civicrm-core/pull/16397),
446 [16398](https://github.com/civicrm/civicrm-core/pull/16398),
447 [16412](https://github.com/civicrm/civicrm-core/pull/16412) and
448 [16424](https://github.com/civicrm/civicrm-core/pull/16424))**
450 Works towards eliminating the 'contribution_invoice_settings' 'Setting' in
451 favor of following the CiviCRM standard by ensuring the `credit_notes_prefix`
452 is retrieved the standard way, refactoring some old code and adding some data
453 conversion code for the non-standard setting.
455 - **Errors in link ReCaptcha and Extension Directory
456 ([dev/translation#33](https://lab.civicrm.org/dev/translation/issues/33):
457 [16387](https://github.com/civicrm/civicrm-core/pull/16387))**
459 Fixes a link with incorrect quoting leading to malformed html and a link with
462 - **Incorrect Contact Reference option for Postal Code in civicrm_data.sql
463 ([dev/translation#34](https://lab.civicrm.org/dev/translation/issues/34):
464 [16352](https://github.com/civicrm/civicrm-core/pull/16352))**
466 Fixes a bug where custom fields of the type "contact reference" would
467 display the country instead of the postal code so that they show the country
470 - **Getting Started dashlet does not cache per language
471 ([dev/translation#35](https://lab.civicrm.org/dev/translation/issues/35):
472 [16354](https://github.com/civicrm/civicrm-core/pull/16354))**
474 Ensures the CiviCRM Resources dashlet displays in the user's language.
476 - **Call hook_civicrm_copy for RecurringEntity
477 ([16466](https://github.com/civicrm/civicrm-core/pull/16466))**
479 Ensures that `hook_civicrm_copy` is called when entities are copied via
482 - **CRM_Utils_XML::parseFile() - Fix obscure segfault
483 ([16463](https://github.com/civicrm/civicrm-core/pull/16463))**
485 Fixes a Segfault error for users with a very specific config (Macs running php
486 7.4.1 or 7.3.9 MAMP 5.6).
488 - **Add require_once to api3TestTrait
489 ([16461](https://github.com/civicrm/civicrm-core/pull/16461))**
491 Ensures the `api3TestTrait` includes the file for the
492 `_civicrm_api3_get_options_from_params` function instead of relying on it
493 being loaded tangentially.
495 - **Cleanup API_Exception usage
496 ([16432](https://github.com/civicrm/civicrm-core/pull/16432))**
498 Fixes mis-capitalized exception class name, and moves a APIv3-only check to the
501 - **IconPicker widget improvements
502 ([15760](https://github.com/civicrm/civicrm-core/pull/15760))**
504 Fixes some style issues with the icon picker widget and adds some controls to
507 - **CRM_Core_Menu - Fix warnings during local test run
508 ([16406](https://github.com/civicrm/civicrm-core/pull/16406))**
510 Fixes the warning `Warning: simplexml_load_file(): I/O warning : failed to
511 load external entity` when running the test suite on Drupal 8 sites on OSX.
513 - **Add user friendly error message on merge error
514 ([dev/core#1540](https://lab.civicrm.org/dev/core/issues/1540):
515 [16340](https://github.com/civicrm/civicrm-core/pull/16340))**
517 Adds a user friendly error when attempting to merge two contacts from the
518 Advanced Search Screen when no Supervised rule is present on the site, before
519 this change a fatal error was thrown.
521 - **Enotice fix ([16293](https://github.com/civicrm/civicrm-core/pull/16293))**
523 Fixes an "Warning: Invalid argument supplied foreach()" e-notice on the edit
526 - **Force reCaptcha is not working when pay later enabled
527 ([16282](https://github.com/civicrm/civicrm-core/pull/16282))**
529 Ensures that ReCaptcha is always on even if only pay later is enabled as a
532 - **Dedupe rules don't work with custom fields/Variable type error during import
533 process ([dev/core#1597](https://lab.civicrm.org/dev/core/issues/1597) and
534 [dev/core#1595](https://lab.civicrm.org/dev/core/issues/1595):
535 [16558](https://github.com/civicrm/civicrm-core/pull/16558))**
537 Fixes a regression where dedupe rules were failing when attempting to use a
538 custom field as the match field.
540 - **Select_string only accepts integers: 1
541 ([dev/translation#36](https://lab.civicrm.org/dev/translation/issues/36):
542 [16599](https://github.com/civicrm/civicrm-core/pull/16599))**
544 Fixes an error for translated sites when trying to perform a contact search.
546 - **Advanced Search: "active period" filter regression
547 ([dev/core#1592](https://lab.civicrm.org/dev/core/issues/1592):
548 [16535](https://github.com/civicrm/civicrm-core/pull/16535))**
550 Fixes a bug in Advanced Search where the filter "active period" (for
551 relationships) is not respected.
553 - **Advanced search links on mailing reports page give "DB Error: syntax error"
554 ([dev/core#1551](https://lab.civicrm.org/dev/core/issues/1551):
555 [16534](https://github.com/civicrm/civicrm-core/pull/16534))**
557 Fixes a regression where this url
558 "civicrm/contact/search/advanced?force=1&mailing_id=1" throws a fatal error.
560 - **Upgrade fails when civicrm_managed table contains a row including
561 entity_type='PaymentProcessorType';
562 ([dev/core#1498](https://lab.civicrm.org/dev/core/issues/1498):
563 [16521](https://github.com/civicrm/civicrm-core/pull/16521))**
565 - **Fix loading with alternate packages path (system-level)
566 ([16407](https://github.com/civicrm/civicrm-core/pull/16407))**
568 - **Fix loading with alternate packages path (UI-level)
569 ([16409](https://github.com/civicrm/civicrm-core/pull/16409))**
571 - **setup.sh - Fixes for running in basic composer file-structure
572 ([16408](https://github.com/civicrm/civicrm-core/pull/16408))**
574 - **Make $civicrm_paths less sensitive to trailing slashes. Add tests.
575 ([16404](https://github.com/civicrm/civicrm-core/pull/16404))**
577 - **Prevent PropertBag from being so noisy about deprecation warnings
578 ([16390](https://github.com/civicrm/civicrm-core/pull/16390))**
580 - **Wrong parameter passed to executeQuery function
581 ([16353](https://github.com/civicrm/civicrm-core/pull/16353))**
583 - **Update temp table handler to support utf8mb4 if that is the db collation
584 ([15992](https://github.com/civicrm/civicrm-core/pull/15992))**
586 - **Enforce isSkipLineItem for membership payment entity in Order.create
587 ([15891](https://github.com/civicrm/civicrm-core/pull/15891))**
589 - **Fetch Only Active Custom Group Extend Values
590 ([15759](https://github.com/civicrm/civicrm-core/pull/15759))**
592 - **Ensure that we always return a raw urlencoded url for extenal urls to fix
594 ([16265](https://github.com/civicrm/civicrm-core/pull/16265))**
596 - **Country/State PseudoConstant not sorted according to the locale
597 ([16258](https://github.com/civicrm/civicrm-core/pull/16258))**
599 - **Change check.gif to an actual gif (was a PNG)
600 ([16220](https://github.com/civicrm/civicrm-core/pull/16220))**
602 - **Fix Error handling following DB Package upgrade
603 ([16213](https://github.com/civicrm/civicrm-core/pull/16213))**
605 - **Do not escape html in report header and footers on API create
606 ([dev/core#1286](https://lab.civicrm.org/dev/core/issues/1286):
607 [15383](https://github.com/civicrm/civicrm-core/pull/15383))**
609 - **Editing a group description inline causes the recent items list to display
610 blank instead of the group title
611 ([dev/core#1506](https://lab.civicrm.org/dev/core/issues/1506):
612 [16197](https://github.com/civicrm/civicrm-core/pull/16197))**
614 - **Recent items list has blank entry and E_NOTICE's when viewing an Email
615 activity from activities tab
616 ([dev/core#1507](https://lab.civicrm.org/dev/core/issues/1507):
617 [16195](https://github.com/civicrm/civicrm-core/pull/16195))**
619 - **'Merge All Contacts with the Same Address' doesn't consider Household
620 replace individuals that share same address. ([CRM-21858
621 ](https://issues.civicrm.org/jira/browse/CRM-21858) and
622 [dev/core#1364](https://lab.civicrm.org/dev/core/issues/1364):
623 [16369](https://github.com/civicrm/civicrm-core/pull/16369))**
625 - **Scheduled reminder emails sent to contacts with do_not_email set or with
626 email on hold ([dev/core#1378](https://lab.civicrm.org/dev/core/issues/1378):
627 [15778](https://github.com/civicrm/civicrm-core/pull/15778))**
629 - **Update BAO_Acl internal functions to protected & unused to deprecated
630 ([16189](https://github.com/civicrm/civicrm-core/pull/16189))**
632 - **Deactivating CiviContribute causes SQL error
633 ([dev/core#547](https://lab.civicrm.org/dev/core/issues/547):
634 [16365](https://github.com/civicrm/civicrm-core/pull/16365))**
638 - **Changing a civicase activity's label breaks the max_instances check
639 ([dev/core#1116](https://lab.civicrm.org/dev/core/issues/1116):
640 [16347](https://github.com/civicrm/civicrm-core/pull/16347))**
642 - **Case Resource shows contact names that are not accessible to logged in user
643 ([dev/core#1499](https://lab.civicrm.org/dev/core/issues/1499):
644 [16150](https://github.com/civicrm/civicrm-core/pull/16150))**
646 - **Fix activity.case_id token to always display the first case ID
647 ([16208](https://github.com/civicrm/civicrm-core/pull/16208))**
651 - **Positive integer expected for recurring interval even when user is not
652 making a recurring contribution
653 ([dev/core#1588](https://lab.civicrm.org/dev/core/issues/1588):
654 [16532](https://github.com/civicrm/civicrm-core/pull/16532))**
656 Fixes a Fatal error when the recurring option "Support recurring intervals" is
657 enabled on a contribution page.
659 - **Make getTotalPayments return 0 instead of NULL
660 ([16129](https://github.com/civicrm/civicrm-core/pull/16129))**
662 - **Email address token on the confirmation message not working for a pay later
663 contribution. ([dev/core#1255](https://lab.civicrm.org/dev/core/issues/1255):
664 [15314](https://github.com/civicrm/civicrm-core/pull/15314))**
666 - **Paypal IPN fails when contact is merged
667 ([dev/core#1249](https://lab.civicrm.org/dev/core/issues/1249):
668 [15307](https://github.com/civicrm/civicrm-core/pull/15307))**
670 - **`,` as decimal separator, and [space] as thousand separators leads to api
671 errors ([dev/core#1522](https://lab.civicrm.org/dev/core/issues/1522):
672 [16392](https://github.com/civicrm/civicrm-core/pull/16392))**
674 - **Fix retrieving contribution_status_id for manual payment processor
675 ([16018](https://github.com/civicrm/civicrm-core/pull/16018))**
677 - **Set contribution status to refunded when it has been refunded
678 ([16148](https://github.com/civicrm/civicrm-core/pull/16148))**
682 - **"Confirm Event Invitation" message template has a bad variable
683 ([dev/event#32](https://lab.civicrm.org/dev/event/issues/32):
684 [16367](https://github.com/civicrm/civicrm-core/pull/16367))**
686 Fixes the URL for self-service updates links in the "Confirm Event Invitation"
687 message template to include the participant ID so that they link correctly.
689 - **Respect form value for register_date on participant form
690 ([16439](https://github.com/civicrm/civicrm-core/pull/16439))**
692 Fixes a bug where the participant registration date is exposed on the
693 backoffice event form, but when a credit card payment is being submitted it is
696 - **Scheduled reminders are incorrectly sent from event templates when
697 "additional group" is selected
698 ([dev/event#28](https://lab.civicrm.org/dev/event/issues/28):
699 [16311](https://github.com/civicrm/civicrm-core/pull/16311))**
701 - **"Confirm from waitlist" doesn't consider whether participant roles are
702 counted. ([dev/event#23](https://lab.civicrm.org/dev/event/issues/23):
703 [16098](https://github.com/civicrm/civicrm-core/pull/16098))**
705 - **Event registration form doesn't prevent multiple signups for waitlisted
706 participants. ([dev/event#30](https://lab.civicrm.org/dev/event/issues/30):
707 [16358](https://github.com/civicrm/civicrm-core/pull/16358))**
709 - **Permission error on event info page for anonymous users
710 ([dev/core#1517](https://lab.civicrm.org/dev/core/issues/1517):
711 [16266](https://github.com/civicrm/civicrm-core/pull/16266))**
715 - **Changing the membership type causes multiple copies of related membership
716 text on edit membership page
717 ([dev/core#1537](https://lab.civicrm.org/dev/core/issues/1537):
718 [16326](https://github.com/civicrm/civicrm-core/pull/16326))**
720 - **search builder: member since field ignored
721 ([dev/core#1602](https://lab.civicrm.org/dev/core/issues/1602):
722 [16578](https://github.com/civicrm/civicrm-core/pull/16578))**
724 Ensures that "Search Builder" respects the "Member Since" field.
726 ### Drupal Integration
728 - **composer.json - Relax psr/log constraint. Improve D8 compatibility.
729 ([16471](https://github.com/civicrm/civicrm-core/pull/16471))**
731 Fixes a composer conflict when installing CiviCRM on Drupal 8.7.
733 - **Drupal8: Enabling language breaks a fresh CiviCRM install
734 ([dev/drupal#85](https://lab.civicrm.org/dev/drupal/issues/85):
735 [15912](https://github.com/civicrm/civicrm-core/pull/15912))**
737 - **Drupal8 - Contact Report does not load any values in the ACL Group/Role
738 field ([dev/drupal#89](https://lab.civicrm.org/dev/drupal/issues/89):
739 [16273](https://github.com/civicrm/civicrm-core/pull/16273) and
740 [15318](https://github.com/civicrm/civicrm-core/pull/15318))**
742 - **CiviCRM session instance not working when Masquerading in Drupal 7
743 ([dev/drupal#98](https://lab.civicrm.org/dev/drupal/issues/98):
744 [16177](https://github.com/civicrm/civicrm-core/pull/16177))**
746 - **Wiki link in OG Sync module description gives a 404
747 ([dev/drupal#102](https://lab.civicrm.org/dev/drupal/issues/102):
748 [595](https://github.com/civicrm/civicrm-drupal/pull/595))**
750 ## <a name="misc"></a>Miscellany
752 - **Duplicate code (for real)
753 ([16363](https://github.com/civicrm/civicrm-core/pull/16363) and
754 [16567](https://github.com/civicrm/civicrm-core/pull/16567))**
756 - **Mailing Subscribe Form: remove nbsp from descriptions
757 ([16186](https://github.com/civicrm/civicrm-core/pull/16186))**
759 - **Remove SymfonyComponents/YAML package
760 ([285](https://github.com/civicrm/civicrm-packages/pull/285))**
763 ([280](https://github.com/civicrm/civicrm-packages/pull/280))**
765 - **Update gettext to latest tagged release
766 ([227](https://github.com/civicrm/civicrm-packages/pull/227))**
768 - **Upgrade DB package to be version 1.9.3
769 ([276](https://github.com/civicrm/civicrm-packages/pull/276))**
771 - **Update copyright headers following merge of #14662
772 ([16199](https://github.com/civicrm/civicrm-core/pull/16199))**
774 - **Add tax rates to metadata
775 ([16253](https://github.com/civicrm/civicrm-core/pull/16253))**
777 - **Add helper for getting participantValues
778 ([16355](https://github.com/civicrm/civicrm-core/pull/16355))**
780 - **Update docs link for edit scheduled job parameters
781 ([16299](https://github.com/civicrm/civicrm-core/pull/16299))**
783 - **Start to use function rather than multiple queries for event details add
784 test ([16329](https://github.com/civicrm/civicrm-core/pull/16329))**
786 - **Simplify event title retrieval, use cache, add test
787 ([16345](https://github.com/civicrm/civicrm-core/pull/16345))**
789 - **Change function buildEventFeeForm to non-static
790 ([16337](https://github.com/civicrm/civicrm-core/pull/16337))**
792 - **Finish removal of deferred_revenue_enabled from non-standard setting
793 ([16395](https://github.com/civicrm/civicrm-core/pull/16395))**
795 - **Api4 - Improve Entity::get
796 ([16346](https://github.com/civicrm/civicrm-core/pull/16346))**
798 - **Api4 - Make abstract function abstract
799 ([16343](https://github.com/civicrm/civicrm-core/pull/16343))**
801 - **Api4 - Use explicit adder functions rather than magicMethod
802 ([16372](https://github.com/civicrm/civicrm-core/pull/16372))**
804 - **Update contributor-key.yml
805 ([16268](https://github.com/civicrm/civicrm-core/pull/16268))**
807 - **Update my contributor details
808 ([16184](https://github.com/civicrm/civicrm-core/pull/16184))**
810 - **APIv4 documentation & code cleanup
811 ([16457](https://github.com/civicrm/civicrm-core/pull/16457))**
813 - **Fix minor typo in help text.
814 ([16303](https://github.com/civicrm/civicrm-core/pull/16303))**
816 - **Extract code for isPaymentOnExistingContribution.
817 ([16327](https://github.com/civicrm/civicrm-core/pull/16327))**
819 - **Remove function that exactly matches parent class.
820 ([16316](https://github.com/civicrm/civicrm-core/pull/16316))**
822 - **Remove unsupported and unused package DB_Table
823 ([277](https://github.com/civicrm/civicrm-packages/pull/277))**
825 - **Remove $ids as parameter for Membership::add
826 ([16192](https://github.com/civicrm/civicrm-core/pull/16192))**
828 - **Remove unused code in Case/Form/Activity postProcess
829 ([16304](https://github.com/civicrm/civicrm-core/pull/16304))**
831 - **Remove never passed-in parameter from addPayments
832 ([16262](https://github.com/civicrm/civicrm-core/pull/16262))**
834 - **Remove duplicate line of code
835 ([16317](https://github.com/civicrm/civicrm-core/pull/16317))**
837 - **Remove unreachable code lines.
838 ([16349](https://github.com/civicrm/civicrm-core/pull/16349))**
840 - **Remove unused code
841 ([16371](https://github.com/civicrm/civicrm-core/pull/16371))**
843 - **Remove irrelevant code.
844 ([16348](https://github.com/civicrm/civicrm-core/pull/16348))**
846 - **Remove unindexed join from getACLRoles query
847 ([16183](https://github.com/civicrm/civicrm-core/pull/16183))**
849 - **Remove unmaintained unsupported System_Command package
850 ([283](https://github.com/civicrm/civicrm-packages/pull/283))**
852 - **fix typo's in the text
853 ([16361](https://github.com/civicrm/civicrm-core/pull/16361))**
855 - **fix more typo's in the text
856 ([16368](https://github.com/civicrm/civicrm-core/pull/16368))**
858 - **Fix unit tests after gettext merge
859 ([282](https://github.com/civicrm/civicrm-packages/pull/282))**
861 - **Update recently-added PathUrlTest to be more representative
862 ([16607](https://github.com/civicrm/civicrm-core/pull/16607))**
864 - **Fix tests to use buildFeeFn
865 ([16389](https://github.com/civicrm/civicrm-core/pull/16389))**
867 - **Add unit test to back office form when a payment is made against a partially
869 ([16437](https://github.com/civicrm/civicrm-core/pull/16437))**
871 - **Revised version of test from #15725
872 ([15948](https://github.com/civicrm/civicrm-core/pull/15948))**
874 - **Update failing test to match intervening changes elsewhere
875 ([16270](https://github.com/civicrm/civicrm-core/pull/16270))**
877 - **Fix unit test so price set params are valid
878 ([16344](https://github.com/civicrm/civicrm-core/pull/16344))**
880 - **Update Export unit test to pass on MySQL 8
881 ([16375](https://github.com/civicrm/civicrm-core/pull/16375))**
883 - **Basic extraction of paid event processing
884 ([16281](https://github.com/civicrm/civicrm-core/pull/16281))**
886 - **Refactor CRM_Contact_BAO_Contact::importableFields() to use metadata
887 ([16222](https://github.com/civicrm/civicrm-core/pull/16222))**
889 - **[REF] Remove setting of unused function.
890 ([16315](https://github.com/civicrm/civicrm-core/pull/16315))**
892 - **[REF] Remove apparent copy & paste code.
893 ([16308](https://github.com/civicrm/civicrm-core/pull/16308))**
895 - **[REF] Move the bounce to the start of the form submit
896 ([16333](https://github.com/civicrm/civicrm-core/pull/16333))**
898 - **[REF] Eliminate silly parameter from function signature.
899 ([16330](https://github.com/civicrm/civicrm-core/pull/16330))**
901 - **[REF] Extract code that assigns event variables to the tpl
902 ([16325](https://github.com/civicrm/civicrm-core/pull/16325))**
904 - **[REF] Fix return value on deleting financial type
905 ([16280](https://github.com/civicrm/civicrm-core/pull/16280))**
907 - **[REF] Move handling of default payment instrument for a payment proc…
908 ([16279](https://github.com/civicrm/civicrm-core/pull/16279))**
910 - **[REF] Move use of priceSetID & amount_override to where they are used
911 ([16252](https://github.com/civicrm/civicrm-core/pull/16252))**
913 - **[REF] Cleanup CRM_Member_BAO_Membership::buildMembershipTypeValues
914 ([16059](https://github.com/civicrm/civicrm-core/pull/16059))**
916 - **[REF] Remove enclosed & escaped variables
917 ([16249](https://github.com/civicrm/civicrm-core/pull/16249))**
919 - **[REF] Minor code simplification in dedupe.
920 ([16245](https://github.com/civicrm/civicrm-core/pull/16245))**
922 - **[REF] move sessionStart functionality to System subclass
923 ([16241](https://github.com/civicrm/civicrm-core/pull/16241))**
925 - **[REF] Update fetchAll function signature to match parent function
926 ([16198](https://github.com/civicrm/civicrm-core/pull/16198))**
928 - **REF Simplify if statement on case activity form
929 ([16210](https://github.com/civicrm/civicrm-core/pull/16210))**
931 - **[REF] Eliminate ['userID'] as an input for BAO_Membership::create
932 ([16196](https://github.com/civicrm/civicrm-core/pull/16196))**
934 - **[REF] Move the storing of custom data into the add function rather th…
935 ([16191](https://github.com/civicrm/civicrm-core/pull/16191))**
937 - **[REF] Remove never-passed param from getLineItems
938 ([16251](https://github.com/civicrm/civicrm-core/pull/16251))**
940 - **[REF] Extract location wrangling code.
941 ([16247](https://github.com/civicrm/civicrm-core/pull/16247))**
943 - **[REF] rename lineItem & lineItems variable
944 ([16254](https://github.com/civicrm/civicrm-core/pull/16254))**
946 - **[REF] Activate fetchAll function in DataObject file
947 ([281](https://github.com/civicrm/civicrm-packages/pull/281))**
949 - **[REF] Reduce places where we pass ids into Mailing::create
950 ([16263](https://github.com/civicrm/civicrm-core/pull/16263))**
952 - **[REF] Remove ids and fully deprecate passing it to Contribution::create
953 ([16256](https://github.com/civicrm/civicrm-core/pull/16256))**
955 - **[REF] Pass params into function rather than this weird check for whether
956 params exists. ([16438](https://github.com/civicrm/civicrm-core/pull/16438))**
958 - **[REF] Move assignment of BalanceAmount
959 ([16334](https://github.com/civicrm/civicrm-core/pull/16334))**
961 - **[REF] Fix CRM_Core_BAO_UFGroup::createUFJoin to not receive by reference.
962 ([16260](https://github.com/civicrm/civicrm-core/pull/16260))**
964 - **[REF] Interim code cleanup - make the usage of addPayments clearer
965 ([16441](https://github.com/civicrm/civicrm-core/pull/16441))**
967 - **[REF] Remove unused variable
968 ([16434](https://github.com/civicrm/civicrm-core/pull/16434))**
970 - **[REF] Add test for line item, extract fn
971 ([16402](https://github.com/civicrm/civicrm-core/pull/16402))**
973 - **[REF] Ensure that the from is correctly modified in both the main que…
974 ([16422](https://github.com/civicrm/civicrm-core/pull/16422))**
976 - **[REF] Remove some unused variables
977 ([16414](https://github.com/civicrm/civicrm-core/pull/16414))**
979 - **REF Extract code to build pcp_supporter_text and enable translation
980 ([16271](https://github.com/civicrm/civicrm-core/pull/16271))**
982 - **[REF] Remove unused variables
983 ([16396](https://github.com/civicrm/civicrm-core/pull/16396))**
985 - **[REF] Extract function to export header row
986 ([16364](https://github.com/civicrm/civicrm-core/pull/16364))**
988 - **[REF] Extract & share code to determine revenue recognition date.
989 ([16388](https://github.com/civicrm/civicrm-core/pull/16388))**
991 - **[NFC] code cleanup
992 ([16310](https://github.com/civicrm/civicrm-core/pull/16310))**
994 - **[NFC] Code cleanup
995 ([16309](https://github.com/civicrm/civicrm-core/pull/16309))**
997 - **[NFC] code cleanup
998 ([16301](https://github.com/civicrm/civicrm-core/pull/16301))**
1000 - **[NFC] Minor code cleanup
1001 ([16290](https://github.com/civicrm/civicrm-core/pull/16290))**
1003 - **[NFC] Extend unit test to cover for recent refactor by eileen to ensure sup…
1004 ([16332](https://github.com/civicrm/civicrm-core/pull/16332))**
1006 - **[NFC] Code formatting
1007 ([16331](https://github.com/civicrm/civicrm-core/pull/16331))**
1009 - **[NFC] Code cleanup
1010 ([16314](https://github.com/civicrm/civicrm-core/pull/16314))**
1012 - **NFC Convert Manage PCP page to short array syntax
1013 ([16320](https://github.com/civicrm/civicrm-core/pull/16320))**
1015 - **[NFC] Add in more assertions around the content of line items and tot…
1016 ([16218](https://github.com/civicrm/civicrm-core/pull/16218))**
1018 - **[NFC] Doc Block fix should be bool no boolean as per coding standards
1019 ([596](https://github.com/civicrm/civicrm-drupal/pull/596))**
1021 - **[NFC] Code comments
1022 ([16248](https://github.com/civicrm/civicrm-core/pull/16248))**
1024 - **[NFC] Minor cleanup in test class
1025 ([16250](https://github.com/civicrm/civicrm-core/pull/16250))**
1027 - **[NFC] Skip utf8mb4 test on MySQL versions lower than 5.7
1028 ([16483](https://github.com/civicrm/civicrm-core/pull/16483))**
1030 - **[NFC] Test update following PR #16150, assertEquals first param is th…
1031 ([16219](https://github.com/civicrm/civicrm-core/pull/16219))**
1033 - **[NFC] Explicitly specify that it is the Payment processor Type Name n…
1034 ([16275](https://github.com/civicrm/civicrm-core/pull/16275))**
1036 - **NFC Fix TokenRow docblock
1037 ([16452](https://github.com/civicrm/civicrm-core/pull/16452))**
1039 - **[NFC] Minor test cleanup.
1040 ([16450](https://github.com/civicrm/civicrm-core/pull/16450))**
1042 - **[NFC] Remove unused local variables from
1043 CRM_Contribute_Form_AdditionalPayment::processCreditCard
1044 ([16342](https://github.com/civicrm/civicrm-core/pull/16342))**
1046 - **[NFC] throw exceptions, single quotes, declare exceptions, remove unused
1047 param ([16415](https://github.com/civicrm/civicrm-core/pull/16415))**
1049 - **(NFC) Update Var declaration to be standard in CRM folder
1050 ([16382](https://github.com/civicrm/civicrm-core/pull/16382))**
1052 - **(NFC) Civi/*.php - Update for
1053 Drupal.Commenting.VariableComment.IncorrectVarType
1054 ([16379](https://github.com/civicrm/civicrm-core/pull/16379))**
1056 - **NFC Add parameter definition to membershipstatus.calc
1057 ([16370](https://github.com/civicrm/civicrm-core/pull/16370))**
1059 - **[NFC] Ensure that annon permissions are correctly assigned when enabling
1060 civicrm webtest module in backdrop
1061 ([16547](https://github.com/civicrm/civicrm-core/pull/16547))**
1063 - **[NFC] Fix style error
1064 ([16549](https://github.com/civicrm/civicrm-core/pull/16549))**
1066 ## <a name="credits"></a>Credits
1068 This release was developed by the following code authors:
1070 a-n The Artists Information Company - William Mortada; AGH Strategies - Andrew
1071 Hunt; Agileware - Pengyi Zhang; Andrei Mondoc; British Humanist Association -
1072 Andrew West; Caltha - Tomasz Pietrzkowski; Chris Burgess; Circle Interactive -
1073 Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten;
1074 CiviDesk - Yashodha Chaku; CompuCorp - Vinu Varshith Sekar; Coop SymbioTIC -
1075 Mathieu Lutfy, Samuel Vanhove; Dave D; Electronic Frontier Foundation - Mark
1076 Burdett; Fuzion - Jitendra Purohit; GMCVO Databases - Jade Gaunt; JMA Consulting -
1077 Seamus Lee; John Kingsnorth; Joinery - Allen Shaw; Joris Vercammen; Megaphone
1078 Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting -
1079 Matthew Wire; myDropWizard - David Snopek; Progressive Technology Project -
1080 Jamie McClelland; Squiffle Consulting - Aidan Saunders; Tadpole Collective -
1081 Kevin Cristiano; Third Sector Design - Michael McAndrew; Timbsoft Technologies -
1082 Tunbola Ogunwande; Web Access - Kurund Jalmi; Wikimedia Foundation - Eileen
1083 McNaughton, Elliott Eggleston
1085 Most authors also reviewed code for this release; in addition, the following
1086 reviewers contributed their comments:
1088 AGH Strategies - Alice Frumin; Agileware - Justin Freeman; Andrew
1089 Cormick-Dockery; Artful Robot - Rich Lott; Christian Wach; CiviDesk - Nicolas
1090 Ganivet; CompuCorp - Shitij Gugnani; Francesc Bassas i Bullich; Fuzion - Luke
1091 Stewart, Peter Davis; Greenpeace Central and Eastern Europe - Patrick Figel; JMA
1092 Consulting - Joe Murray, Monish Deb; Korlon - Stuart Gaston; Lighthouse Design
1093 and Consulting - Brian Shaughnessy; mikantchap; Richard van Oosterhout; SYSTOPIA
1094 Organisationsberatung - Björn Endres; tapashdatta;
1096 ## <a name="feedback"></a>Feedback
1098 These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
1099 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
1100 and contact `@agh1`.