# CiviCRM 5.13.0
Released May 1, 2019
- **[Bugs resolved](#bugs)**
## <a name="synopsis"></a>Synopsis
| *Does this version...?* | |
| Fix security vulnerabilities? | no |
| **Change the database schema?** | **yes** |
| **Alter the API?** | **yes** |
| **Require attention to configuration options?** | **yes** |
| **Fix problems installing or upgrading to a previous version?** | **yes** |
| **Introduce features?** | **yes** |
| **Fix bugs?** | **yes** |
## <a name="features"></a>Features
### Core CiviCRM
- **Configurable menubar color
v5.12 introduced a new menu bar. The change also revised the default color
scheme (applying a more contemporary palette), but this created stress for
some users who were trained to recognize the old menu color. This exposes a
new setting for customizing the color scheme, and it changes the default to
match previous scheme (be black instead of beige).
- **Menu config screen improvements
Improves the Menu configuration screen by: making changes to the menu (adding
or editing menu items) on the admin screen be reflected immediately, adding
links to the related settings pages to reduce confusion about how to configure
various aspects of the menu bar and fixing the broken icon picker and missing
- **What to do with the merge screen
(https://github.com/civicrm/civicrm-core/pull/13895)) CONTINUES WORK**
Continues work to clean up the Merge screen by moving toward
using contact type icons in a standard way instead of the contact type names
and cleaning up alignment.
- **Mutliple activity type filters on activity tab on contact records
Change include/exclude activity type filters to be multiple select2 widgets so
that users can filter my multiple activity types rather than only permitting
users to select one activity type with a traditional select field.
- **Added a DB check to prevent deleting exisiting CiviCRM data from database.
When installing CiviCRM this change adds a check to see if there are existing
CiviCRM tables and requires users to manually remove any CiviCRM tables
before continuing to prevent users from accidentally deleting tables.
- **Encourage developers to use .then instead of .done
This change makes it so the Api Explorer generates js code using `.then()`
(instead of `.done`) and demonstrates proper errQor handling to encourage
developers to use `.then()`.
- **Replace jcalendar instances with datepicker
(https://github.com/civicrm/civicrm-core/pull/13918)) CONTINUES WORK**
Moves from jcalendar to datepicker in the following places: the fulfilled date
on the premium tab on back end contribution add/edit screens, the activity
tab, the receive_date and the renewal_date fields in Membership forms and the
transaction date field on the update pending status task. And updates tests to
reflect progress getting rid of jcalendar.
- **Expose sort_name as a dedupe-matchable field
Allow sort_name to be used in dedupe rules.
- **Standardise setTitle method on forms
Makes the title of a form available in the buildForm hook.
- **Send action links on any page that extends CRM_Core_Page_Basic thru
Makes it so extension developers can use hook_civicrm_links to add or remove
links from the Relationship Types Administration Page (CiviCRM Navigation
Menu->Administer->Customize Data and Screens->Relationship Types) and any
other page that extends CRM_Core_Page_Basic.
- **Improve lock handling for mysql 5.7.5+
Ensures mysql locks are supported on mysql 5.7.5+ and MariaDB '10.0.2'+.
- **Deploy PEAR Log package and upgrade to latest version in the process
Upgrades the PEAR Log package version and deploys it via
- **Make cacheCode optional in CRM.loadScript
A cacheCode was recently added to script urls fetched by CRM.getScript(). This
is not always desirable e.g. for scripts fetched from an external source, this
change makes it so the cacheCode is added by default but can be disabled.
- **Load hooks during upgrade mode
Allow extensions to load hooks during an upgrade.
- **Checkbox to explicitly change employer when sharing address
Before this change when an individual was set to share an address with an
organization, that organization was set as its current employer. This change
adds a checkbox that allows users to explicitly tell civicrm whether the
organization is the current employer or not when sharing an address.
- **Report improvements
These changes improve reports by removing redundant birth date and gender
- **Contact Subtype field at Reports does not support contacts with multiple
Makes reports support filtering on multiple contact subtypes.
- **Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception
(https://github.com/civicrm/civicrm-core/pull/13850)) CONTINUES WORK**
Updates Cancel Billing & Update Billing screens to use status bounce rather
than throw a fatal error.
- **Activity tab performance fix - switch to faster getActivities &
Performance improvement when loading the activity tab for a contact.
- **Add hook findDuplicates
Adds the hook findDuplicates which provides the ability for extensions to
intercept and/or override core duplicate checking when
- **Deadlocks and performance issues when using smartgroups / ACLs extensively
(https://github.com/civicrm/civicrm-core/pull/13772)) CONTINUES WORK**
Improves performance by switching the alphabetQuery to use new
- **Improve data when known time-dependent-failing test fails
Improves output data when time dependent tests fail.
- **Use TempTable methods.
These changes move towards using the TempTable class to improve
naming standards, including but not limited to the following places: when
creating the dedupe table, on the contribution detail report, on the
bookkeeping report and when debugging.
- **Allow extensions to enable validate.tpl
This change makes it possible for extensions to add a validate.tpl which
making it so users do not have to refresh the page to see validation issues.
- **Promise polyfill for older browsers
Loads a polyfill for IE aQnd other outdated browsers so developers can use
native js Promises in our code.
- **Case Activity Assignment Restriction
Makes it possible to restrict the assignment of case activities to
a group or to contacts having user accounts.
- **Add cancel_reason field to civicrm_contribution_recur table
Adds a recur cancel reason field `civicrm_contribution_recur.cancel_reason
- **Add ID / Test ID for payment processors to list - makes setup of IPNs much
Adds a column for payment processor id and test payment processor id to the
table of "Settings - Payment Processors" page so that users can more easily
access these ids.
- **Add payment_processor column/filter to recurring contribution report
On the "Recurring Contribution" report, this adds "Payment Processor" as an
option to the Column and Filter tabs enabling users to filter this report by
"Payment Processor" and/or include a column for "Payment Processor".
- **Payment processor names: separate internal and external usage
Adds the field `payment_processor.title` to the schema and makes it
- **Support paying refunds
(https://github.com/civicrm/civicrm-core/pull/13952)) BEGINS WORK**
Adds a PaymentProcessor.refund API which makes it possible for payment
processor extension authors to have their extensions issue refund payments.
- **Add minimal PaymentProcessor.pay api
Adds a new api PaymentProcessor.pay.
- **Include lower level data when throwing an exception on payment processor.pay
Improves error processing when using the PaymentProcessor.pay api.
- **Add billingblock region to event registration thankyou to match contribution
This change makes it so one can use the same method to
replace billingblock for both event and contribution thankyou workflows.
- **CQ: Refactor Recurring Contribution Forms
(https://github.com/civicrm/civicrm-core/pull/13940)) BEGINS WORK**
Begins work to refactor recurring contribution forms specifically by
rationalizing url variables into shared parent for recurring contribution
- **Use label not name for payment processor type
On the "Settings - Payment Processor" page changes the "Processor Type" column
to use the label instead of the name.
- **Improve ContributionPage.validate api
Makes it so that one can use the ContributionPage validate api on POST, for
example when using Paypal Checkout which calls a Promise, the
ContributionPage.validate api could be called to determine whether to proceed
after the button is pushed.
- **Add pseudoconstant support for payment_processor_id on ContributionRecur
- **Allow payment processor to determine the text around 'continue'
- **Expose Registered by Participant Name field to participant report
Exposes "Registered by Participant Name" field to participant reports.
- **Report results don't show inactive campaigns
Standardizes the way campaign fields are added to the "Mailing Summary"
- **Use Mailing.preview API to display mailing in browser
This resolves an error on sites with Flexmailer when an anonymous visitor
views a mailing in the browser.
- **Membership form address fields for payment processors
Standardizes processing and validating address parameters on the
### Wordpress Integration
- **Cleaner front-end URLs
Makes Wordpress URLs have the same structure as Drupal URLs ex:
`https://domain.tld/civicrm/contribute/transact/?reset=1&id=1 as opposed to
old` Wordpress URLs that looked like
## <a name="bugs"></a>Bugs resolved
### Core CiviCRM
- **Add a test matrix for E2E tests on each CMS
(https://github.com/civicrm/civicrm-core/pull/13811)) CONTINUES WORK**
These changes resolve bugs when running E2E tests on WordPress moving the
project towards the goal of having a test matrix for E2E tests for each CMS
that CiviCRM is compatible with.
- **Use the correct membership date for the notification that appear after
completing the membership payment in case pre hook is used
This change ensures that any changes made to the membership dates using
hook_civicrm_pre are taken into account when generating the membership payment
- **Custom Field checkbox value renders empty if the values are randomly sorted
This change ensures that the values selected by a user for alphanumeric
checkbox custom fields render properly in view mode.
- **New Organisation: "Check For Matching Contact (S)" button does not find
matching records ([dev/core#570](https://lab.civicrm.org/dev/core/issues/570):
This change ensures that "Check For Matching Contact(s)" retrieves
contacts for users with limited permissions.
- **Soft Credits Multiply GIft Amount in Contribution Detail Report
This change updates the Contribution Detail report so that the "Total Amount"
field is not summed because the summing of the "Total Amount" field was
leading to the "Total Amount" field for contributions with multiple soft
credits to be multiplied by the number of soft credits.
- **Add new indexes when updating log table schema regardless of engine change
This change makes it so that when the alterLogTables hook defines a new index
it is applied regardless of the engine.
- **Contacts -> New Email give Unknown Error in Smarty when Allow Mail to be
sent from logged in contact's email address disabled
This change fixes an error "Warning: Smarty error" when attempting to send an
email from Contacts -> New Email for sites with "Allow Mail to be sent from
logged in user" disabled.
- **Edit contribution : wrong decimal separator on total_amount for
This change ensures that the decimal separator on total_amount field for
participant(s) is displayed as it is configured on the site.
- **Contact Report: The filter by the custom datetime field with "Today" option
doesn't find matching contacts
This change ensures that on the Contact Report, when using a filter for a
custom datetime field the "Today" option properly filters results.
- **Address API incorrectly sets state_province_id if multiple countries have
same state name / abbreviation
This change fixes a regression so that the Address API country_id parameter
works with an abbreviation or numeric id.
- **Advanced Search: There is an Internal Server Error (500) when the user tries
to search by the "Mailing List" group type
Fixes a bug where searching by a group type (ex: Mailing List) on the Advanced
Search form would result in a fatal error so that this search runs as
- **Notes: It isn't possible to edit note if the user uploaded an image larger
than 3 MByte(s) ([dev/core#740](https://lab.civicrm.org/dev/core/issues/740):
This change makes it so that it is possible to edit a note field
that includes images larger than 3 MByte(s).
- **Custom field caching is not group-specific
Adds the $groupTitle parameter to the cache key for custom fields, so field
names that exist in multiple groups will be cached separately.
- **Warning: A non-numeric value encountered in ...
This change fixes several warnings "Warning: A non-numeric value encountered
in ..." on contribution pages & event registrations forms.
- **PHP Warning "explode() expects parameter 2 to be string, array given" for
multi-value country fields
Fixes a PHP warning when updating a multiselect country field.
- **Prefix/suffix select2 renders oddly on public-facing pages
This change makes the Prefix/suffix select2's render full height (as opposed
to squished) in contribution/event profiles.
- **DB Error:: Already exists during renewing membership automatically
Fixes a DB error "already exists" when recording recurring payments with taxes
- **Autocomplete select list disabled options
This change ensures that for select fields with autocomplete, only enabled
- **Search results: Actions: Export contacts: DB Error: Syntax error occurs when
not all necessary fields are selected
Resolves a fatal database error when attempting to export contacts without
selecting any fields to be exported.
- **Value in the "Contact Type" field disappears when the user tries to edit
Contact Details ([dev/core#823](https://lab.civicrm.org/dev/core/issues/823):
Ensures that when a user uses a profile with a contact sub type field to
update a contact that the contact sub type field pre-populates as expected.
- **Notice error while creating smart group using Contribution Aggregate custom
Resolves "Notice: Undefined index:" errors when creating a smart group using
Contribution Aggregate custom search.
- **Notice error when deleting profile
Resolves a "Undefined property" notice when deleting a profile.
- **CQ: Use Guzzle as our preferred way to retrieve via http
Replaces get_headers functions call with Guzzle HTTP request to prevent timing
- **Queries combining multiple text labels using REGEXP do not escape regular
Ensures that querying for fee levels that contain regex metacharacters will
- **Fix status type (error, not fail) for CRM_Core_Session::setStatus
Fixes an incorrect status for setMessage which was using 'fail' (which is not
a valid status) instead of 'error'.
- **Covert the CRM_Core_Error::fatal calls to exceptions when trying to access
Contact Photos ((https://github.com/civicrm/civicrm-core/pull/13917))**
Cleaner errors when attempting to access contact photos fails.
- **CiviCRM API, lookup state_province_id options based on country parameter if
present, or default country
Ensures the CiviCRM Address API correctly sets state_province_id for states
whose name/abbreviation exist in multiple countries.
- **Fix php 7.2 count notice
Fixes a "Warning: count()" error on the "Import Contacts" Summary step screen.
- **New Organisation: "Contact Type" dropdown disappears when fields validation
Fixes a bug where when creating a new organization, if the form fails
validation the "Contact Sub Type" dropdown disappears.
- **Fix contact.merge api to pass check_permissions parameter through to the
deeper layer ((https://github.com/civicrm/civicrm-core/pull/13807))**
Fixes a bug where calling Contact.merge from php will leave the merged contact
unmerged if the logged in user does not have the delete contacts permission
- **checkEditInboundEmailsPermissions should be a static function
- **DB error "no such field" when executing actions on a sorted contact search
result with search profile
- **Transfer picks up the deleted contact ID basically transferring to the wrong
- **Fix bug whereby sorting by state province gives an error in search builder
- **Fix Contact.create calls to respect passed in variables & variables set via
hook for sort_name & display_name
- **Do not cause a fatal error if no contact_id field for a note is filled in
when viewing contact notes
- **Disable phpcs checking in the Crypt files where mcrypt functions are
- **Fix 4.7.31 Upgrade in multilingual mode
- **Optimise the loading of the CiviCRM Deduplication Exception page
- **Unfork Zetacomponents mail and use patch to apply differences
- **Update lockfile to take into account of civicrm/zetacomponents-mail#4 being
- **Upgrade zetacomponents/base and zetacomponents/mail
- **Smart group with uf_group_id does not load contacts with same search profile
- **Fix Deprecation notice for use of `while` in PHP7.2 in bin/cli.class.php
- **PR 13333 breaks the Save and New button on a new case
This reverts a change making the Save and New button `submitOnce`, as that
prevented the button from opening a new case form after saving.
- **Creating a new relationship type while editing case type definition adds a
blank row in the roles section
- **PHP warnings on Case Dashboard and Find Cases
- **Can't self-service cancel a recurring contribution made while you're logged
This change makes it so that users without "edit contributions" permission can
edit their own recurring contribution subscriptions if they are logged in,
before this change they could only edit their own contribution subscriptions
thru a checksum link.
- **Possible paypal fix to avoid sending 500 errors from ipn triggerred by
Fixes paypal system sending a warning email when there is a failed IPN call
(500 errors from ipn triggered by non-recurring payment).
- **Missing links to cancel recurring payments (regression .. sorta)
Fixes a 5.8 regression where the cancel link became unavailable on recurring
contributions with no attached payment processor id.
- **Improve flushing after creating a processor so it can be used for a
recurring in the same run
This change ensures tests run properly by flushing caches when creating a
- **Flush ContributionRecur static cache when flushing processors
Ensures a (new) static cache is flushed when creating a processor, mostly
useful for unit testing.
- **Display test contributions when viewing contributions related to a test
- **Cancelling or An Error during event registration payment should cancel all
This fixes a bug where if a user was registering for an event with additional
participants, and for some reason the payment failed or the user decided to
cancel the payment, only the main user participant record was set to
"canceled", the rest of the additional participants would have the status
"pending incomplete transaction" so that all participant statuses are changed
- **Event Cart: Fix PHP 7.2 fatal error (pass by ref)
Fixes a Fatal error when using Event cart and PHP 7.2, specifically when
- **CRM/Event - Fix participant note search parameter being ignored
This change ensures that when searching by "Participant Note" on the "Search
Builder form the filter is applied.
- **BAO_Participant - Use default status if not specified for create
This change fixes a api4 test failure by ensuring that the default value of
'status_id' is respected by the Participant BAO. Before this change the
'status_id' had a default value and thus was not required but the BAO would
not work correctly if a 'status_id' was not supplied. After this change the
'status_id' default is respected and the BAO works regardless of whether the
'status_id' is supplied.
- **PHP Error on Grant Detail Report
Fixes a PHP error when viewing the "Grant Detail Report" for sites running PHP
- **Do not track CSS URLs
Ensures CiviMail does not convert css URLs into trackable URLs.
- **Restore support for preview of "mailing"/"action" tokens via
- **Disabling or deleting Expired status breaks membership status update
This change ensures that deleting, disabling or renaming the "Expired"
membership status does not cause issues when running the "Membership status
processor" scheduled job. Before this change deleting, disabling or renaming
the "Expired" membership status would result in the "Membership status
processor" scheduled job failing with the message `Finished execution of
Membership status processor with result: Failure, Error message: A fatal error
was triggered: One of parameters (value: ) is not of the type Integer`.
- **Fatal error to exception on Membership BAO
This change improves experience by throwing an exception instead of a fatal
### Backdrop Integration
- **civicrm/admin/setting/uf - Fix advice about Backdrop Views
This change updates the advice for configuring views on the
`civicrm/admin/setting/uf` form so that it works for Backdrop sites.
### Drupal Integration
- **Drupal8: Can't upload images via CKEditor/kcfinder
Makes it so on Drupal 8 sites users can upload and browse images in KCFinder.
## <a name="misc"></a>Miscellany
- **Fix e-notice in IDS
- **Update 7.x Drupal code to be that of the new coder style
- **Fix up to newer coder style
- **Remove now-obsolete additionalFromClause parameter from prepareOrderBy
- **Remove switch statement that no longer switches
- **Add unit test for exporting with incomplete data
- **Delete webtests
- **Add a class to handle test entities consistently
- **Fix up composer for composer 2.0 compatibility
- **Remove log files as now supplied by composer
- **Remove htmlpurifier from within the IDS to facilitate it being provided by
- **Remove Log.php require_once statements
- **Remove amavisd now that it is removed from the packages repository
- **Upgrade htmlpurifier to 4.10 to support PHP7.2 and install via composer
- **Refactor CRM_Contact_Form_Task_PDFLetterCommon
- **Reformat test files for array format
- **Logging - attempt to fix tests
- **Try Reverting commit removing require once to see if it fixes the problem
for api4 ((https://github.com/civicrm/civicrm-core/pull/13870))**
- **Import date test
- **Add shared parent for ContributionRecur forms
- **Update PHPWord Patches to match the latest versions of their code
- **Extract assignPaymentFields
- **Move code to assign tax information into shared parent
- **Update test to reflect recently merged PR lower permission to access
- **Test fix ((https://github.com/civicrm/civicrm-core/pull/13856))**
- **Add unit testing for activity creation when cancelling a recurring, related
- **Improve test coverage for CRM_Utils_Color::getRgb()
- **Add in tests of purifying HTML output
- **Remove more instances of ->free()
(https://github.com/civicrm/civicrm-core/pull/13786)) CONTINUES WORK**
- **(NFC) Ensure phpcs ignores eval notice in these files as it is required
- **(NFC) Lint additional php files up to the new coder standard
- **Port code style fixes to 5.13 from master
- **(NFC) Update CRM/Core CRM/Custom CRM/Dedupe to match the new coder style
- **(NFC) Update CRM/Event folder for the new coder style
- **(NFC) update CRM/Contribute to be the new coder standard
- **(NFC) Update CRM/Friend CRM/Grant CRM/Group CRM/Mailing to be up to d…
- **(NFC) Update CRM/Badge CRM/Campaign CRM/Case to be up to date with a …
- **(NFC) Update CRM/Cxn CRM/Dashlet CRM/Export CRM/Extension and CRM/Fin…
- **[NFC] Short array syntax - auto convert settings dir
- **(NFC) SchemaStructure.php - Fix up mismatch between stored+generated code
- **Arg I put these fixes in 5.12 & master while trying for 5.13
- **(NFC) Update CRM/Member CRM/Note CRM/Logging CRM/Import and CRM/Price…
- **(REF) CRM_Core_Resources - Move hook declaration from addCoreResources() to
- **(NFC) Update CRM/Activity CRM/Admin and CRM/Batch folders to be the f…
- **(NFC) Update coding style in PCP, Pledge, Profile, Queue, Report folders
- **(NFC) Update CRM/SMS/ CRM/UF/ CRM/Upgrade/ CRM/Tag/ to be up to speed…
- **(NFC) Bring CRM/Utils folder up to future coder standards
- **(NFC) Set _log and _tableName variables to be public
- **Grammar fixes
- **Update Unit test styling to cover the future coder version
- **(NFC) Fix location of comment to match future coder version
- **(NFC) Bring up API folder to style of future coder checker
- **(NFC) Upgrade Civi Folder to the new coder version
- **(NFC) Update various files to pass future civicrm/coder ruleset
- **(NFC) Update various files to pass current phpcs
- **[NFC] Reformat tricksy file CRM_Mailing_BAO_Mailing
- **[NFC] Reformat tricksy file CRM/Contribute/Import/Form/MapField
- **[NFC] short array syntax Autoformat - just the tricksy bits of CRM/Activity
- **[NFC] array format tricksie file CRM/Admin/Form/MessageTemplates
- **[NFC] array format tricksie file CRM_Utils_Rest
- **[NFC] array formatting tricksy tricksie file (another CRM/UF/Form/Group.php)
- **[NFC] short array syntax Autoformat - just CRM/ACL dir
- **[NFC] Short array syntax - auto-format CRM directory
- **[REF] extract token functions
- **Test fix ((https://github.com/civicrm/civicrm-core/pull/13949))**
- **Payment test cleanup
- **(NFC) Fix mode on files
- **[NFC] Cleanup DAO factory classes for code standards
- **NFC - Short array syntax - auto-convert ang dir
- **NFC - Short array syntax - auto-convert Civi dir
- **[NFC] Short array syntax - auto-convert api dir
- **Minor code cleanup
- **Minor code cleanup - remove unnecessary ids declaration
- **Code cleanup on membership block loop
- **[NFC] IDE formatting only
- **Minor code cleanups around invoicing assignment
- **[nfc] Reset entire session object between tests
- **Fixing formatting of contributors section
- **[NFC] code formatting only
- **[NFC] Code reformatting
- **Add comments about usage for doPayment() function
- **[nfc] Attempt to improve false negatives on Logging test
- **[NFC] remove unnecessary variable
- **REF Extract case action links into a separate function to facilitate
- **NFC Whitespace cleanup MembershipBlock.tpl
- **Further cleanup on getRelatedMemberships - just get them with the api
- **[REF] small cleanups on payment.create flow.
- **[NFC] reformat Contact api file to switch to new array formatting
- **[REF] minor code simplification - remove over-handling of amount comp with
- **Attempted test fix
- **Remove reference to google checkout
- **[NFC] template whitespace cleanup
- **(NFC) Update for compliance with next phpcs standard
- **Lint .inc files in Drupal module folder to match newer coder standard
- **(NFC) Get phpcs to ignore the use of eval in this file as it is required
- **(NFC) Update for compliance with next phpcs standard
- **(NFC) Lint .inc files and ensure that the eval usage in tests/phpunit…
## <a name="credits"></a>Credits
This release was developed by the following code authors:
AGH Strategies - Alice Frumin, Andrew Hunt, Eli Lisseck; Agileware - Alok Patel,
Francis Whittle; Australian Greens - Seamus Lee; calibrate - Wouter Hechtermans;
Christian Wach; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku;
CompuCorp - Omar Abu Hussein; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic
Frontier Foundation - Mark Burdett; Freeform Solutions - Herb van den Dool;
Fuzion - Jitendra Purohit; GreenPeace Central and Eastern Europe - Patrick
Figel; JMA Consulting - Monish Deb; Megaphone Technology Consulting - Jon
Goldberg; MJW Consulting - Matthew Wire; Pradeep Nayak; Skvare - Mark Hanna;
Squiffle Consulting - Aidan Saunders; Stephen Palmstrom; Timbsoft Technologies -
Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
Agileware - Justin Freeman; Aniessh Sethh; Artful Robot - Rich Lott; British
Humanist Association - Andrew West; Circle Interactive - Dave Jenkins; Shitij
Gugnani; Coop SymbioTIC - Samuel Vanhove; GValFr35; JMA Consulting - Joe Murray;
Joinery - Allen Shaw; Aivars; Korlon - Stuart Gaston; Lighthouse Design and
Consulting - Brian Shaughnessy; mcuradoc; Onyemenam Ndubuisi; Tadpole
Collective - Kevin Cristiano
## <a name="feedback"></a>Feedback
These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
and contact `@agh1`.