| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
-| Fix security vulnerabilities? | |
-| Change the database schema? | |
-| Alter the API? | |
-| Require attention to configuration options? | |
-| Fix problems installing or upgrading to a previous version? | |
-| Introduce features? | |
-| Fix bugs? | |
+| 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
-## <a name="bugs"></a>Bugs resolved
-
### Core CiviCRM
-- **Multi record import screen fix ([17713](https://github.com/civicrm/civicrm-core/pull/17713))**
+- **Warn users who lack PHP-Intl extension (Work Towards
+ [dev/translation#48](https://lab.civicrm.org/dev/translation/-/issues/48):
+ [17668](https://github.com/civicrm/civicrm-core/pull/17668), [17728](https://github.com/civicrm/civicrm-core/pull/17728))**
-- **dev/joomla/#28 5.27 Upgrade fails ([17710](https://github.com/civicrm/civicrm-core/pull/17710))**
+ A system check warning will now appear on sites that lack the PHP
+ Internationalization extension. This is in preparation for changes that will
+ appear in CiviCRM 5.28 and require the extension.
-- **dev/translation#48 Add check for PHP-Intl Extension ([17668](https://github.com/civicrm/civicrm-core/pull/17668))**
+- **Advanced Search - Allow searching by first/last name; pass values from
+ quicksearch ([dev/core#1722](https://lab.civicrm.org/dev/core/-/issues/1722):
+ [17118](https://github.com/civicrm/civicrm-core/pull/17118))**
-- **handle less common dynamic reference cases ([17653](https://github.com/civicrm/civicrm-core/pull/17653))**
+ This makes separate First Name and Last Name fields available on the Advanced
+ Search form, and it ensures quick search filters are passed to the appropriate
+ field.
-- **5.26.2 Release Notes ([17635](https://github.com/civicrm/civicrm-core/pull/17635))**
+- **Add more search options
+ ([17372](https://github.com/civicrm/civicrm-core/pull/17372))**
-- **dev/core#1806 - Fix import of "Radio"-style custom fields using option "label" ([17632](https://github.com/civicrm/civicrm-core/pull/17632))**
+ Improves the search form for individuals in contact reference fields by adding
+ fields for Employer Name, First Name, Last Name, and Nick Name.
-- **dev/core#1816 - Legacy support for matching custom field options by label ([17628](https://github.com/civicrm/civicrm-core/pull/17628))**
+- **End of life planning for MySQL server 5.0 - 5.6
+ ([dev/core#1681](https://lab.civicrm.org/dev/core/-/issues/1681):
+ [17518](https://github.com/civicrm/civicrm-core/pull/17518) and
+ [17496](https://github.com/civicrm/civicrm-core/pull/17496))**
-- **dev/core#1822 - Fix missing newly created activity types from the dropdown on the new activity form ([17625](https://github.com/civicrm/civicrm-core/pull/17625))**
+ Sites running MySQL 5.5 and below will have a pre-upgrade message and a system
+ check warning to say that CiviCRM 5.28 will require MySQL 5.6 or MariaDB 10.1.
-- **Fix issue with building smart groups when is empty ([17622](https://github.com/civicrm/civicrm-core/pull/17622))**
+- **APIv4 - Improve pseudoconstant suffix support
+ ([17368](https://github.com/civicrm/civicrm-core/pull/17368) and
+ [17482](https://github.com/civicrm/civicrm-core/pull/17482))**
-- **dev/core#1823 Fix building the Price Field visibility options ([17619](https://github.com/civicrm/civicrm-core/pull/17619))**
+ APIv4 allows pseudoconstant fields to be specified with the pseudoconstant
+ name followed by a suffix, such as `activity_type_id:label`. This now works
+ for retrieval and sort.
-- **Fix payment instrument bug by using correct payment instrument ([17607](https://github.com/civicrm/civicrm-core/pull/17607))**
+- **APIv4 - Support custom entity joins
+ ([17394](https://github.com/civicrm/civicrm-core/pull/17394))**
-- **[REF] Fix unit test failures on MySQL 5.6 due to Custom Field table being created without Dynamic Row Format ([17586](https://github.com/civicrm/civicrm-core/pull/17586))**
+ Improves APIv4 so that it supports implicit and explicit joins onto custom
+ entities.
-- **Add in deprecation notice and status check for a money value format co… ([17577](https://github.com/civicrm/civicrm-core/pull/17577))**
+- **Make reCAPTCHA settings clearer
+ ([17426](https://github.com/civicrm/civicrm-core/pull/17426))**
-- **Dedupe performance - hard-remove financial_item from list of dymnamic refs to contact table ([17567](https://github.com/civicrm/civicrm-core/pull/17567))**
+ The help text for reCAPTCHA settings now specifies the type of reCAPTCHA
+ supported.
-- **QueueTest - Be more forgiving about slow execution ([17532](https://github.com/civicrm/civicrm-core/pull/17532))**
+- **Configurable logfile size and hashing
+ ([17192](https://github.com/civicrm/civicrm-core/pull/17192))**
-- **WP - Change definitions of `cms.root`, `civicrm.root` ([17360](https://github.com/civicrm/civicrm-core/pull/17360))**
+ Allows a system administrator to give logs a predictable name, allowing them
+ to be more easily ingested into other tools, and be handled by external log
+ rotation tools.
-- **CommunityMessages - Define more consistent behavior in the face of slow execution ([17529](https://github.com/civicrm/civicrm-core/pull/17529))**
+- **Allow for installation on Symfony 4.4
+ ([17380](https://github.com/civicrm/civicrm-core/pull/17380))**
-- **Add release-notes/5.26.1.md ([17521](https://github.com/civicrm/civicrm-core/pull/17521))**
+ Makes it so CiviCRM plays nicely with Symfony 4.4.
-- **dev/core#1681 - Copy-edits on MySQL version notices ([17518](https://github.com/civicrm/civicrm-core/pull/17518))**
+- **Add domain tokens to the Message Template admin interface
+ ([17388](https://github.com/civicrm/civicrm-core/pull/17388))**
-- **[REF] Start to convert Dummy processor to use PropertyBag ([17452](https://github.com/civicrm/civicrm-core/pull/17452))**
+ This adds the domain tokens (the domain organization name, address, email, and
+ phone) to the available listed tokens for editing message templates.
-- **Payment PropertyBag - Fix setAmount ([17505](https://github.com/civicrm/civicrm-core/pull/17505))**
+- **Hide icon elements from screen readers and add handling for
+ screen-reader-only text
+ ([17318](https://github.com/civicrm/civicrm-core/pull/17318),
+ [17293](https://github.com/civicrm/civicrm-core/pull/17293),
+ [17294](https://github.com/civicrm/civicrm-core/pull/17294), and
+ [17310](https://github.com/civicrm/civicrm-core/pull/17310))**
-- **dev/core#1681 Add in notice about 5.28 Dropping MySQL 5.5 Support ([17496](https://github.com/civicrm/civicrm-core/pull/17496))**
+ CiviCRM uses empty `<i>` elements to provide most icons. Screen readers,
+ which won't render the visual icon anyway, will either skip over an empty
+ element or announce it in a way that would be confusing. This makes it
+ explicit that screen readers and other ARIA devices should skip them.
-- **[REF] Remove always NULL param modified_id ([17489](https://github.com/civicrm/civicrm-core/pull/17489))**
+ Meanwhile, if the icon is the only way a piece of information is displayed, a
+ screen reader user won't get that information. This adds a `sr-only` class
+ that makes the element invisible on screen without being ignored by a screen
+ reader.
-- **dev/core#1797 Fix jquery Credit card validation on front end contribu… ([17497](https://github.com/civicrm/civicrm-core/pull/17497))**
+ Screen reader text is added for the field option wrench icons, relationship
+ permissions, and membership auto-renew status.
-- **Add MembershipType to Api4 ([17448](https://github.com/civicrm/civicrm-core/pull/17448))**
+- **Add icon helper functions and remove most uses of check.gif
+ ([17279](https://github.com/civicrm/civicrm-core/pull/17279) and
+ [17289](https://github.com/civicrm/civicrm-core/pull/17289))**
-- **Convert remaining Authorize.net test to use guzzle ([17473](https://github.com/civicrm/civicrm-core/pull/17473))**
+ This adds helper functions in PHP and Smarty to render consistent icons with a
+ minimum of code. It also replaces most instances of the green checkmark image
+ with a checkmark icon.
-- **set boolean fields to false if not set. ([17494](https://github.com/civicrm/civicrm-core/pull/17494))**
+- **Separate icon markup from labels and add JS icon helper
+ ([17319](https://github.com/civicrm/civicrm-core/pull/17319) and
+ [17285](https://github.com/civicrm/civicrm-core/pull/17285))**
-- **[Ref] remove calls to, and deprecate, pending function ([17490](https://github.com/civicrm/civicrm-core/pull/17490))**
+ These changes improve `CRM_Core_Action::formLink()`, `hook_civicrm_links`, and
+ certain listing pages so that HTML icon markup is added at the point of
+ display rather than during the processing of values.
-- **Make reCAPTCHA settings clearer ([17426](https://github.com/civicrm/civicrm-core/pull/17426))**
+ It also adds a helper function in Javascript similar to those in PHP and
+ Smarty to render icons.
-- **[NFC] Fix use of single quotes, strict operator ([17492](https://github.com/civicrm/civicrm-core/pull/17492))**
+- **crmButton: Support icon=0 for no icon
+ ([17303](https://github.com/civicrm/civicrm-core/pull/17303))**
-- **Test fixes to support apiv4 add of MembershipType ([17488](https://github.com/civicrm/civicrm-core/pull/17488))**
+ Makes it possible to create a button without an icon using {crmButton}.
-- **dev/core/-/issues/1794, changed int to tinyint for boolean fields ([17493](https://github.com/civicrm/civicrm-core/pull/17493))**
+- **Replace stop-icon.png with fa-ban over a relevant icon for privacy
+ ([17283](https://github.com/civicrm/civicrm-core/pull/17283) and
+ [17307](https://github.com/civicrm/civicrm-core/pull/17307))**
-- **5.26 ([17486](https://github.com/civicrm/civicrm-core/pull/17486))**
+ The communication preference icons are standardized and more specific than the
+ old stop sign.
-- **5.26 ([17484](https://github.com/civicrm/civicrm-core/pull/17484))**
+- **Replace image icons with Font Awesome icons
+ ([17296]([17280](https://github.com/civicrm/civicrm-core/pull/17280),
+ [17281](https://github.com/civicrm/civicrm-core/pull/17281),
+ [17282](https://github.com/civicrm/civicrm-core/pull/17282),
+ [17295](https://github.com/civicrm/civicrm-core/pull/17295),
+ https://github.com/civicrm/civicrm-core/pull/17296),
+ [17297](https://github.com/civicrm/civicrm-core/pull/17297))**
-- **APIv4 - Support pseudoconstant suffixes in orderBy clause ([17482](https://github.com/civicrm/civicrm-core/pull/17482))**
+ Nearly all image icons have been replaced with the corresponding icons from
+ the Font Awesome library.
-- **[REF] Extract createFollowUpActivities ([17481](https://github.com/civicrm/civicrm-core/pull/17481))**
+- **Simplify admin console and remove superfluous icons
+ ([17284](https://github.com/civicrm/civicrm-core/pull/17284))**
-- **5.26 ([17476](https://github.com/civicrm/civicrm-core/pull/17476))**
+ The Administration console has been redesigned to have a simpler layout,
+ display more information, dynamically include all enabled components, display
+ responsively on small screens, and remove a slew of 15-year-old image icons.
-- **NFC - Change array() to short syntax [] ([17470](https://github.com/civicrm/civicrm-core/pull/17470))**
+- **Dedupe performance - hard-remove financial_item from list of dymnamic refs
+ to contact table
+ ([17567](https://github.com/civicrm/civicrm-core/pull/17567))**
-- **Remove last reference to Payment->_processorName in core & remove from processors ([17474](https://github.com/civicrm/civicrm-core/pull/17474))**
+ This improves performance when deduping by no longer querying the financial
+ item table.
-- **Remove unused singleton from core payment processors ([17468](https://github.com/civicrm/civicrm-core/pull/17468))**
+- **Trigger fatalErrorHandler for PEAR errors and for logs with severity ERROR
+ or higher ([17277](https://github.com/civicrm/civicrm-core/pull/17277))**
-- **[REF] Switch to an api call to get the contact details. ([17442](https://github.com/civicrm/civicrm-core/pull/17442))**
+ This allows extensions that implement `$config->fatalErrorHandler` to react to
+ a wider variety of errors that CiviCRM may generate.
-- **Fixed hide show of start date ([17446](https://github.com/civicrm/civicrm-core/pull/17446))**
+### CiviContribute
-- **[REF] Remove never-passed params from function signature ([17464](https://github.com/civicrm/civicrm-core/pull/17464))**
+- **Wrap separators in price field in spans with classes
+ ([dev/user-interface#18](https://lab.civicrm.org/dev/user-interface/-/issues/18):
+ [17078](https://github.com/civicrm/civicrm-core/pull/17078))**
-- **Don't allow Contribution.repeattransaction to be used without a recurring contribution ([17447](https://github.com/civicrm/civicrm-core/pull/17447))**
+ Colons separating pre- and post-field help text from price fields are now
+ wrapped in `<span>` elements.
-- **APIv4 - Improve custom field spec gathering ([17471](https://github.com/civicrm/civicrm-core/pull/17471))**
+- **Allow to search on contribution ID
+ ([dev/core#1580](https://lab.civicrm.org/dev/core/-/issues/1580):
+ [16484](https://github.com/civicrm/civicrm-core/pull/16484))**
-- **[REF] Fix serialized membership field handling in RelationshipTest ([17469](https://github.com/civicrm/civicrm-core/pull/17469))**
+ This improves the "Find Contributions" search form by adding a field to search
+ by Contribution ID.
-- **Add more search options ([17372](https://github.com/civicrm/civicrm-core/pull/17372))**
+- **APIv4 - Add "Price"-related entities
+ ([17363](https://github.com/civicrm/civicrm-core/pull/17363))**
-- **Allow bidirectional assignment of relationships from search results ([17413](https://github.com/civicrm/civicrm-core/pull/17413))**
+ Priceset, PriceField, and PriceOption entities are added to APIv4.
-- **5.26 ([17467](https://github.com/civicrm/civicrm-core/pull/17467))**
+- **APIv4 - Add ContributionRecur entity
+ ([17299](https://github.com/civicrm/civicrm-core/pull/17299))**
-- **Add actual field name for processor_id to getSubscriptionDetails ([17466](https://github.com/civicrm/civicrm-core/pull/17466))**
+ Adds Contribution Recur to APIv4.
-- **[REF] Implement required fields database changes that have occured du… ([17465](https://github.com/civicrm/civicrm-core/pull/17465))**
+### CiviMail
-- **[REF] Minor simplification ([17443](https://github.com/civicrm/civicrm-core/pull/17443))**
+- **Allow click-through and open tracking to be enabled/disabled by default
+ ([17291](https://github.com/civicrm/civicrm-core/pull/17291))**
-- **Nuance cancel options for processors ([17430](https://github.com/civicrm/civicrm-core/pull/17430))**
+ Adds a setting to CiviMail which allows for setting the click-through and open
+ tracking defaults.
-- **dev/core#1753 - Attachments aren't deleted when deleting activity ([17298](https://github.com/civicrm/civicrm-core/pull/17298))**
+- **Extend content array of hook_civicrm_alterMailContent
+ ([dev/core#1620](https://lab.civicrm.org/dev/core/-/issues/1620):
+ [16629](https://github.com/civicrm/civicrm-core/pull/16629))**
-- **[REF] Bump Pear Log version to fix compatability with Drupal 8 / Drup… ([17460](https://github.com/civicrm/civicrm-core/pull/17460))**
+ Adds campaign_id to template for `alterMailContent` hook.
-- **Update MembershipType.name to be a required field ([17463](https://github.com/civicrm/civicrm-core/pull/17463))**
+- **Migrate CiviMail "extern" scripts to conventional routes
+ ([17312](https://github.com/civicrm/civicrm-core/pull/17312))**
-- **5.26 to master ([17459](https://github.com/civicrm/civicrm-core/pull/17459))**
+ Updates CiviMail's default behavior to replace `extern/open.php` and
+ `extern/url.php` with `civicrm/mailing/open` and `civicrm/mailing/url`.
-- **[REF] Convert one of the http calls in Authorize.net class to use guzzle. ([17449](https://github.com/civicrm/civicrm-core/pull/17449))**
+- **Make `is_archived` work as a url-search parameter
+ ([17328](https://github.com/civicrm/civicrm-core/pull/17328))**
-- **Navigation menu: fix translation of new-subtype entries ([17451](https://github.com/civicrm/civicrm-core/pull/17451))**
+ The Find Mailings URL can now have `is_archived` as a parameter to only find
+ archived mailings.
-- **APIv4 - Fix entity name on custom groups in schemaMapper ([17425](https://github.com/civicrm/civicrm-core/pull/17425))**
+### CiviMember
-- **[REF] Simplify contributionIDs code ([17441](https://github.com/civicrm/civicrm-core/pull/17441))**
+- **Add MembershipType to Api4
+ ([17448](https://github.com/civicrm/civicrm-core/pull/17448))**
-- **[NFC] Update Karma to be latest version ([17439](https://github.com/civicrm/civicrm-core/pull/17439))**
+ Adds a Membership Type entity to APIv4.
-- **[REF] Simplify subject code. ([17436](https://github.com/civicrm/civicrm-core/pull/17436))**
+### Drupal Integration
-- **Revert Matt's fix for dev/membership#24 as it is incomplete and add a… ([17435](https://github.com/civicrm/civicrm-core/pull/17435))**
+- **CiviCRM menu toggle "adjust menu position" customisable
+ ([dev/core#1757](https://lab.civicrm.org/dev/core/-/issues/1757):
+ [17362](https://github.com/civicrm/civicrm-core/pull/17362))**
-- **[REF] Refactor to switch from pear HTTP Request class to using Guzzle ([17420](https://github.com/civicrm/civicrm-core/pull/17420))**
+ This hides the "adjust menu position" icon in the CiviCRM Menu for non admin
+ users to avoid confusion for users who do not have access to the Drupal admin
+ menu.
-- **[NFC/TEST] dev/core#1784 - Unit tests for contact delete/restore ([17437](https://github.com/civicrm/civicrm-core/pull/17437))**
+- **Provide "Calendar" module with an end-date when a duration is provided
+ ([601](https://github.com/civicrm/civicrm-drupal/pull/601))**
-- **dev/core#560 Replace various CRM_Core_Error::fatal with statusBounces… ([17421](https://github.com/civicrm/civicrm-core/pull/17421))**
+ Improves display of activities in calendar views.
-- **Make is_archived work as a url-search parameter ([17328](https://github.com/civicrm/civicrm-core/pull/17328))**
+## <a name="bugs"></a>Bugs resolved
-- **dev/core#1791 - E_WARNINGS when viewing list of pledge payments ([17434](https://github.com/civicrm/civicrm-core/pull/17434))**
+### Core CiviCRM
-- **Make 'Pending' the default status for Contribution.repeattransaction ([17432](https://github.com/civicrm/civicrm-core/pull/17432))**
+- **CRM_Utils_Time::setTime and getTime() and their use in unit tests
+ ([dev/core#1781](https://lab.civicrm.org/dev/core/-/issues/1781):
+ [17414](https://github.com/civicrm/civicrm-core/pull/17414))**
-- **Fetch line items from correct contribution when repeating a contribution ([17220](https://github.com/civicrm/civicrm-core/pull/17220))**
+ This allows the CRM_Utils_Time functions used in unit tests to use TIME_FUNC
+ to better isolate timing bugs.
-- **5.26 to masterr ([17431](https://github.com/civicrm/civicrm-core/pull/17431))**
+- **Confusing popups when importing activities
+ ([dev/user-interface#17](https://lab.civicrm.org/dev/user-interface/-/issues/17):
+ [17067](https://github.com/civicrm/civicrm-core/pull/17067))**
-- **Support order_reference param in API3 Payment.create ([17278](https://github.com/civicrm/civicrm-core/pull/17278))**
+ This fixes a bug where the confirmation popup would appear when hitting the
+ back/cancel buttons, not just the import button, on most import forms.
-- **dev/core#1650 Updated Financial Type title to Financial Type ID ([17147](https://github.com/civicrm/civicrm-core/pull/17147))**
+- **Installing CiviCRM in another language, with civicrm-setup
+ ([dev/translation#39](https://lab.civicrm.org/dev/translation/-/issues/39):
+ [17244](https://github.com/civicrm/civicrm-core/pull/17244))**
-- **dev/membership#24 Don't hide disabled memberships from the contact membership tab ([17143](https://github.com/civicrm/civicrm-core/pull/17143))**
+ Fixes a bug when installing CiviCRM in another language with civicrm-setup.
-- **dev/core#1745 Fix caching bug when adding a contact to a group ([17419](https://github.com/civicrm/civicrm-core/pull/17419))**
+- **Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception
+ ([dev/core#560](https://lab.civicrm.org/dev/core/-/issues/560):
+ [17421](https://github.com/civicrm/civicrm-core/pull/17421),
+ [17343](https://github.com/civicrm/civicrm-core/pull/17343),
+ [17336](https://github.com/civicrm/civicrm-core/pull/17336) and
+ [17341](https://github.com/civicrm/civicrm-core/pull/17341))**
-- **Configurable logfile size and hashing ([17192](https://github.com/civicrm/civicrm-core/pull/17192))**
+- **CiviCRM 5.13.4 - smart groups with contact subtypes: subtype is not in
+ Contact Type field on edit criteria mode
+ ([dev/core#991](https://lab.civicrm.org/dev/core/-/issues/991):
+ [16541](https://github.com/civicrm/civicrm-core/pull/16541))**
-- **[REF] Extract getAttachments ([17405](https://github.com/civicrm/civicrm-core/pull/17405))**
+ Fixes contact subtypes not being carried over when editing a smart group
+ created in Advanced Search.
-- **Remove always-true if block. ([17415](https://github.com/civicrm/civicrm-core/pull/17415))**
+- **Unable to import relationship
+ ([dev/core#1731](https://lab.civicrm.org/dev/core/-/issues/1731):
+ [17163](https://github.com/civicrm/civicrm-core/pull/17163))**
-- **[REF] Preliminary cleanup for #17339 ([17417](https://github.com/civicrm/civicrm-core/pull/17417))**
+ Ensures that importing relationships works as expected when the same field is
+ to be imported for the main imported contact and a related contact.
-- **dev/core#1781 - CRM_Utils_Time - Allow TIME_FUNC to better isolate timing bugs ([17414](https://github.com/civicrm/civicrm-core/pull/17414))**
+- **Apostrophes in richtext fields don't get exported properly in CiviReport
+ ([dev/core#1743](https://lab.civicrm.org/dev/core/-/issues/1743):
+ [17260](https://github.com/civicrm/civicrm-core/pull/17260))**
-- **Allow for installation on Symfony 4.4 ([17380](https://github.com/civicrm/civicrm-core/pull/17380))**
+- **Statically added members of a smart group are not found
+ ([dev/core#1745](https://lab.civicrm.org/dev/core/-/issues/1745):
+ [17419](https://github.com/civicrm/civicrm-core/pull/17419))**
-- **[REF] Pass params not-by-reference ([17406](https://github.com/civicrm/civicrm-core/pull/17406))**
+- **Deleting an activity with attachments doesn't delete the file or entries in
+ civicrm_file/civicrm_entity_file
+ ([dev/core#1753](https://lab.civicrm.org/dev/core/-/issues/1753):
+ [17298](https://github.com/civicrm/civicrm-core/pull/17298))**
-- **Use now instead of date for activity API3 spec ([17411](https://github.com/civicrm/civicrm-core/pull/17411))**
+- **Deselected checkbox settings are not saved
+ ([dev/core#1794](https://lab.civicrm.org/dev/core/-/issues/1794):
+ [17493](https://github.com/civicrm/civicrm-core/pull/17493))**
-- **Typo Fix ([17409](https://github.com/civicrm/civicrm-core/pull/17409))**
+ Ensures deselected values are saved on custom field settings forms.
-- **[REF] Remove unreachable block. ([17407](https://github.com/civicrm/civicrm-core/pull/17407))**
+- **Added activity types don't appear in the type dropdown on New Activity
+ ([dev/core#1822](https://lab.civicrm.org/dev/core/-/issues/1822):
+ [17625](https://github.com/civicrm/civicrm-core/pull/17625))**
-- **[REF] duplicate function. ([17400](https://github.com/civicrm/civicrm-core/pull/17400))**
+- **API doesn't allow passing option values by label
+ ([dev/core#1816](https://lab.civicrm.org/dev/core/-/issues/1816):
+ [17628](https://github.com/civicrm/civicrm-core/pull/17628))**
-- **Fix logic for job log cleanup and make SQL safer ([17203](https://github.com/civicrm/civicrm-core/pull/17203))**
+ Updates APIv4 so that it matches based on label if name is not found.
-- **dev/core#1731 - Unable to import relationship ([17163](https://github.com/civicrm/civicrm-core/pull/17163))**
+- **APIv4 - Improve custom field spec gathering
+ ([17471](https://github.com/civicrm/civicrm-core/pull/17471))**
-- **APIv4 - fix returning custom field values with API4 ([17399](https://github.com/civicrm/civicrm-core/pull/17399))**
+- **APIv4 - Remove implicit multi joins & add explicit joins
+ ([17332](https://github.com/civicrm/civicrm-core/pull/17332))**
-- **Remove $_REQUEST passed into CRM_Utils_Request::retrieve NFC ([17377](https://github.com/civicrm/civicrm-core/pull/17377))**
+- **APIv4 - Fix entity name on custom groups in schemaMapper
+ ([17425](https://github.com/civicrm/civicrm-core/pull/17425))**
-- **Fix core#1773 unsubscribe form causes errors if submitted twice ([17402](https://github.com/civicrm/civicrm-core/pull/17402))**
+- **APIv4 - fix returning custom field values with API4
+ ([17399](https://github.com/civicrm/civicrm-core/pull/17399))**
-- **5.26 to master ([17404](https://github.com/civicrm/civicrm-core/pull/17404))**
+- **Attempting to access Multi-Record Custom Field import results
+ in crash
+ ([dev/core#1841](https://lab.civicrm.org/dev/core/-/issues/1841):
+ [17713](https://github.com/civicrm/civicrm-core/pull/17713))**
-- **dev/core#1620 - Add campaign_id to template for alterMailContent hook ([16629](https://github.com/civicrm/civicrm-core/pull/16629))**
+- **Fix issue with building smart groups when $contactQueries is empty
+ ([17622](https://github.com/civicrm/civicrm-core/pull/17622))**
-- **[REF] Code simplification & unit test on suppressed emails in task ([17393](https://github.com/civicrm/civicrm-core/pull/17393))**
+ If a clause of a contact query used to build a smart group is empty, it would
+ result in a database error.
-- **NFC Add a bit more clarity to createEmailActivity function ([17391](https://github.com/civicrm/civicrm-core/pull/17391))**
+- **Replace deprecated `money_format()` fn to support PHP 7.4
+ (Work Towards [dev/core#1494](https://lab.civicrm.org/dev/core/-/issues/1494):
+ [17577](https://github.com/civicrm/civicrm-core/pull/17577), [17730](https://github.com/civicrm/civicrm-core/pull/17730))**
-- **Add in domain tokens onto the Message Template admin interface ([17388](https://github.com/civicrm/civicrm-core/pull/17388))**
+ Adds a deprecation notice and a status check for a money value format
+ configuration other than the default.
-- **utf8mb4 - If strict mode enabled query will fail if KEY_BLOCK_SIZE is not 0 ([17253](https://github.com/civicrm/civicrm-core/pull/17253))**
+- **QueueTest - Be more forgiving about slow execution
+ ([17532](https://github.com/civicrm/civicrm-core/pull/17532))**
-- **Simplify recurring contribution template inheritance ([17178](https://github.com/civicrm/civicrm-core/pull/17178))**
+- **CommunityMessages - Define more consistent behavior in the face of slow
+ execution ([17529](https://github.com/civicrm/civicrm-core/pull/17529))**
-- **[REF] Pass an array of correct params to the function to create a recurring contribution. ([17398](https://github.com/civicrm/civicrm-core/pull/17398))**
+ This helps avoid test failures on broadcast messages when the system is
+ running slowly.
-- **Update DAO and L10n Schema file ([17395](https://github.com/civicrm/civicrm-core/pull/17395))**
+- **Scheduled Reminders - Set boolean fields to false if not set.
+ ([17494](https://github.com/civicrm/civicrm-core/pull/17494))**
-- **APIv4 - support custom entity joins ([17394](https://github.com/civicrm/civicrm-core/pull/17394))**
+- **Allow bidirectional assignment of relationships from search results
+ ([17413](https://github.com/civicrm/civicrm-core/pull/17413))**
-- **Api4: Add Price api entities ([17363](https://github.com/civicrm/civicrm-core/pull/17363))**
+ Previously relationships could only be created from search results where the
+ contacts would be valid in the "A" side of the relationship type.
-- **dev/core#1722 Allow for first name and last name to be searched on ([17118](https://github.com/civicrm/civicrm-core/pull/17118))**
+- **Navigation menu - Fix translation of new-subtype entries
+ ([17451](https://github.com/civicrm/civicrm-core/pull/17451))**
-- **dev/translation#39 - Fix `core:install --lang`. Realign boot plugins. ([17244](https://github.com/civicrm/civicrm-core/pull/17244))**
+ The "New" in menu items for creating a new contact of a subtype was not
+ translated.
-- **Remove unused 'reset' param, other NFC tidy up: ([17392](https://github.com/civicrm/civicrm-core/pull/17392))**
+- **utf8mb4 - If strict mode enabled query will fail if KEY_BLOCK_SIZE is not 0
+ ([17253](https://github.com/civicrm/civicrm-core/pull/17253))**
-- **Fix pricefield pseudoconstant. ([17364](https://github.com/civicrm/civicrm-core/pull/17364))**
+- **Update DAO and l10n schema file
+ ([17395](https://github.com/civicrm/civicrm-core/pull/17395))**
-- **Set default using spec for activity_date_time ([17390](https://github.com/civicrm/civicrm-core/pull/17390))**
+ Price option name and value are now required in the database.
-- **dev/core#1775 Fix fee amount reversals when doing a change of financi… ([17386](https://github.com/civicrm/civicrm-core/pull/17386))**
+- **Fix adding languages in multilingual
+ ([17228](https://github.com/civicrm/civicrm-core/pull/17228))**
-- **Use apiv4, cache infra for basicTypes ([17387](https://github.com/civicrm/civicrm-core/pull/17387))**
+ This resolves a database error when adding or removing a language on a
+ multilingual site.
-- **Fix adding languages in multilingual ([17228](https://github.com/civicrm/civicrm-core/pull/17228))**
+- **Don't exclude deleted contacts from ACL cache when user has permission
+ ([17379](https://github.com/civicrm/civicrm-core/pull/17379))**
-- **Various BAO create/add cleanups to use writeRecord() ([17308](https://github.com/civicrm/civicrm-core/pull/17308))**
+- **SMTP page appears broken when language is French (JS issue)
+ ([dev/core#1760](https://lab.civicrm.org/dev/core/-/issues/1760):
+ [17317](https://github.com/civicrm/civicrm-core/pull/17317))**
-- **Remove instantiation of transaction from payment express ipn class ([17348](https://github.com/civicrm/civicrm-core/pull/17348))**
+ Javascript strings that appear in Smarty are now escaped more thoroughly to
+ avoid markup problems.
-- **Remove null code ([17381](https://github.com/civicrm/civicrm-core/pull/17381))**
+- **Add serialize column to civicrm_custom_field, remove "Multi-Select" html
+ type ([16992](https://github.com/civicrm/civicrm-core/pull/16992), [17722](https://github.com/civicrm/civicrm-core/pull/17722))**
-- **Remove validation bypass ([17384](https://github.com/civicrm/civicrm-core/pull/17384))**
+ Work towards making custom select and multi-select fields more similar to
+ core select/multi-select fields.
-- **[NFC] Remove some more of the old cvs blocks ([17383](https://github.com/civicrm/civicrm-core/pull/17383))**
+- **Respect file fields that have been configured as view only in profiles
+ ([17079](https://github.com/civicrm/civicrm-core/pull/17079))**
-- **[TEST] Fix test failure on Drupal 8 E2E PrevNextTest by only includin… ([17358](https://github.com/civicrm/civicrm-core/pull/17358))**
+- **Tag create - Respect created_date and created_id params
+ ([17257](https://github.com/civicrm/civicrm-core/pull/17257))**
-- **#991 subtypes not filled in when editing a smart group ([16541](https://github.com/civicrm/civicrm-core/pull/16541))**
+- **Public status messages should show correct class/icon like error
+ ([17376](https://github.com/civicrm/civicrm-core/pull/17376))**
-- **Don't exclude deleted contacts from ACL cache when user has permission ([17379](https://github.com/civicrm/civicrm-core/pull/17379))**
+- **Decorative chevrons should be icons not angle quotes
+ ([17245](https://github.com/civicrm/civicrm-core/pull/17245))**
-- **Make all icons aria-hidden ([17318](https://github.com/civicrm/civicrm-core/pull/17318))**
+- **A/B Test - Icon should be Erlenmeyer flask, not bar chart
+ ([17316](https://github.com/civicrm/civicrm-core/pull/17316))**
-- **CiviEvent Dashboard and Manage Events: clean up disused url template vars ([17378](https://github.com/civicrm/civicrm-core/pull/17378))**
+- **Proceeding to confirmation page should be a "next" button not a check
+ ([17246](https://github.com/civicrm/civicrm-core/pull/17246))**
-- **Replace ical and office calendar image icons ([17282](https://github.com/civicrm/civicrm-core/pull/17282))**
+### CiviCase
-- **Preliminary cleanup on form ([17345](https://github.com/civicrm/civicrm-core/pull/17345))**
+- **Case Activity: Follow-up activity assignee does not receive email
+ ([dev/core#1721](https://lab.civicrm.org/dev/core/-/issues/1721):
+ [17116](https://github.com/civicrm/civicrm-core/pull/17116))**
-- **Public status messages should show correct class/icon like error ([17376](https://github.com/civicrm/civicrm-core/pull/17376))**
+ Ensures when a follow up case activity is created the assignee is sent an
+ email.
-- **[REF] Minor code simplification ([17373](https://github.com/civicrm/civicrm-core/pull/17373))**
+### CiviContribute
-- **[REF] Call completeOrder directly from event status update form ([17346](https://github.com/civicrm/civicrm-core/pull/17346))**
+- **Custom fields disappear on page refresh
+ ([dev/core#1728](https://lab.civicrm.org/dev/core/-/issues/1728):
+ [17301](https://github.com/civicrm/civicrm-core/pull/17301))**
-- **Undo variable variable. ([17371](https://github.com/civicrm/civicrm-core/pull/17371))**
+ This ensures that financial type specific custom fields are displayed on the
+ backend contribution form when it is refreshed.
-- **Use non-deprecated method ([17370](https://github.com/civicrm/civicrm-core/pull/17370))**
+- **Fix pricefield pseudoconstant.
+ ([17364](https://github.com/civicrm/civicrm-core/pull/17364))**
-- **APIv4 - Improve pseudoconstant suffix support ([17368](https://github.com/civicrm/civicrm-core/pull/17368))**
+ Fixes `PriceField` entity to build options for the `price_set_id`
+ pseudoconstant field.
-- **Migrate CiviMail "extern" scripts to conventional routes ([17312](https://github.com/civicrm/civicrm-core/pull/17312))**
+- **Nuance cancel options for processors
+ ([17430](https://github.com/civicrm/civicrm-core/pull/17430))**
-- **dev/core#1757 hide menu toggle when D7 toolbar is absent ([17362](https://github.com/civicrm/civicrm-core/pull/17362))**
+ This allows payment processors to specify the way they allow cancellation of
+ recurring contributions.
-- **5.26 to master ([17369](https://github.com/civicrm/civicrm-core/pull/17369))**
+- **[regression] Contribution amount choices don't appear for anonymous users
+ ([dev/core#1823](https://lab.civicrm.org/dev/core/-/issues/1823):
+ [17619](https://github.com/civicrm/civicrm-core/pull/17619))**
-- **Fix setLanguage docblock, other nfc changes ([17356](https://github.com/civicrm/civicrm-core/pull/17356))**
+- **Import Contribution of custom fields only accepts "Numeric Value" rather
+ than "Label" ([dev/core#1806](https://lab.civicrm.org/dev/core/-/issues/1806):
+ [17632](https://github.com/civicrm/civicrm-core/pull/17632))**
-- **Improve js escaping in smarty {ts} ([17317](https://github.com/civicrm/civicrm-core/pull/17317))**
+- **"Financial Type" listed twice in contribution export
+ ([dev/core#1650](https://lab.civicrm.org/dev/core/-/issues/1650):
+ [17147](https://github.com/civicrm/civicrm-core/pull/17147))**
-- **Fix for dev/core#1608: correct date format for trxn_date. ([17355](https://github.com/civicrm/civicrm-core/pull/17355))**
+- **Record Payment does not update check_number & trxn id on main contribution.
+ ([dev/core#1758](https://lab.civicrm.org/dev/core/-/issues/1758):
+ [17314](https://github.com/civicrm/civicrm-core/pull/17314))**
-- **APIv4 - Remove implicit multi joins & add explicit joins ([17332](https://github.com/civicrm/civicrm-core/pull/17332))**
+- **civicrm_financial_trxn.fee_amount reversals mixed up
+ ([dev/core#1775](https://lab.civicrm.org/dev/core/-/issues/1775):
+ [17386](https://github.com/civicrm/civicrm-core/pull/17386))**
-- **[REF] [Reports] Ensure that all contribution pages including disabled ones are return… ([17357](https://github.com/civicrm/civicrm-core/pull/17357))**
+- **jquery validation type error on the credit card field
+ ([dev/core#1797](https://lab.civicrm.org/dev/core/-/issues/1797):
+ [17497](https://github.com/civicrm/civicrm-core/pull/17497))**
-- **[TEST] Update test to support for 8.0.19 change ([17354](https://github.com/civicrm/civicrm-core/pull/17354))**
+ Fixes a jQuery error when submitting a front end contribution form with a
+ credit card field.
-- **[REF] Cleanup and extract string functions specific to entity names. ([17330](https://github.com/civicrm/civicrm-core/pull/17330))**
+- **Fix payment instrument bug by using correct payment instrument
+ ([17607](https://github.com/civicrm/civicrm-core/pull/17607))**
-- **Switch docblock code to use markdown syntax. ([17304](https://github.com/civicrm/civicrm-core/pull/17304))**
+ When a backend payment form records a payment it now will use a
+ processor-specific default payment instrument rather than the site-wide
+ default if it is set.
-- **[REF] Stop passing by reference. ([17349](https://github.com/civicrm/civicrm-core/pull/17349))**
+- **Payment PropertyBag - Fix setAmount
+ ([17505](https://github.com/civicrm/civicrm-core/pull/17505))**
-- **Call completeOrder directly from contribute status update form ([17347](https://github.com/civicrm/civicrm-core/pull/17347))**
+ Ensures "Amount" is set correctly on PropertyBag.
-- **Use status bounces, not fatal, in front end contribution form base class ([17343](https://github.com/civicrm/civicrm-core/pull/17343))**
+- **Fixed hide show of start date
+ ([17446](https://github.com/civicrm/civicrm-core/pull/17446))**
-- **dev/core#560 Replace deprecated CRM_Core_Error::fatal with either sta… ([17341](https://github.com/civicrm/civicrm-core/pull/17341))**
+ Fix hide/show of receive date for recurring contributions.
-- **Remove code that still seems unnecessary. ([17342](https://github.com/civicrm/civicrm-core/pull/17342))**
+- **Don't allow Contribution.repeattransaction to be used without a recurring
+ contribution ([17447](https://github.com/civicrm/civicrm-core/pull/17447))**
-- **[TEST] dev/core#1766 - Remove flakiness from testGetFromTo tests ([17338](https://github.com/civicrm/civicrm-core/pull/17338))**
+- **Add actual field name for processor_id to getSubscriptionDetails
+ ([17466](https://github.com/civicrm/civicrm-core/pull/17466))**
-- **[NFC] Add comment that deprecated code is actually still reachable ([17340](https://github.com/civicrm/civicrm-core/pull/17340))**
+- **Make 'Pending' the default status for Contribution.repeattransaction
+ ([17432](https://github.com/civicrm/civicrm-core/pull/17432))**
-- **dev/core#560 Replace some instances of CRM_Core_Error::fatal with an … ([17336](https://github.com/civicrm/civicrm-core/pull/17336))**
+- **Fetch line items from correct contribution when repeating a contribution
+ ([17220](https://github.com/civicrm/civicrm-core/pull/17220))**
-- **Extend icon helper support, including for formLink ([17319](https://github.com/civicrm/civicrm-core/pull/17319))**
+- **Support order_reference param in API3 Payment.create
+ ([17278](https://github.com/civicrm/civicrm-core/pull/17278))**
-- **Removed last TreePlus.gif and TreeMinus.gif spots ([17297](https://github.com/civicrm/civicrm-core/pull/17297))**
+- **E_WARNINGS when viewing list of pledge payments
+ ([dev/core#1791](https://lab.civicrm.org/dev/core/-/issues/1791):
+ [17434](https://github.com/civicrm/civicrm-core/pull/17434))**
-- **5.26 ([17337](https://github.com/civicrm/civicrm-core/pull/17337))**
+- **Add propertyBag handling for getEmail when incoming uses email-5
+ ([17267](https://github.com/civicrm/civicrm-core/pull/17267))**
-- **[REF] CRM_Core_DAO_AllCoreTables::getBriefName to accept BAO name ([17331](https://github.com/civicrm/civicrm-core/pull/17331))**
+ Payment processors can now retrieve billing email using the `propertyBag`
+ class methods.
-- **[REF] Missing semicolon on smtp settings page, code cleanup in file-on-case, add test ([17335](https://github.com/civicrm/civicrm-core/pull/17335))**
+### CiviMail
-- **Allow click-through and open tracking to be enabled/disabled by default ([17291](https://github.com/civicrm/civicrm-core/pull/17291))**
+- **Don't log subscription_history
+ ([dev/core#1762](https://lab.civicrm.org/dev/core/-/issues/1762):
+ [17323](https://github.com/civicrm/civicrm-core/pull/17323))**
-- **dev/core#1762 Don't log subscription_history ([17323](https://github.com/civicrm/civicrm-core/pull/17323))**
+ The `civicrm_subscription_history` table is effectively a log of contacts
+ being added to and removed from groups. Rows do not change value; each change
+ in group subscription results in a new row. Consequently, there is no reason
+ to attach detailed logging to this table.
-- **Accordion open-close with Font Awesome icons ([17296](https://github.com/civicrm/civicrm-core/pull/17296))**
+- **Unsubscribe generates 500 server error responses, logs say "missing
+ parameters" ([dev/core#1773](https://lab.civicrm.org/dev/core/-/issues/1773):
+ [17402](https://github.com/civicrm/civicrm-core/pull/17402))**
-- **[NFC] Add comment regarding lower case for Polish states ([17327](https://github.com/civicrm/civicrm-core/pull/17327))**
+ Ensures the unsubscribe form can only be submitted once.
-- **5.26 ([17329](https://github.com/civicrm/civicrm-core/pull/17329))**
+### CiviMember
-- **Trigger fatalErrorHandler for PEAR errors and for logs with severity ERROR or higher ([17277](https://github.com/civicrm/civicrm-core/pull/17277))**
+- **Recurring contribution fails with "ipn_payment_callback_exception", for
+ membership auto-renewal via PayPalPro.
+ ([dev/core#1608](https://lab.civicrm.org/dev/core/-/issues/1608):
+ [17355](https://github.com/civicrm/civicrm-core/pull/17355))**
-- **Comm prefs: add condition param for {privacyFlag} ([17307](https://github.com/civicrm/civicrm-core/pull/17307))**
+- **Don't hide disabled memberships from the contact membership tab
+ ([dev/membership#24](https://lab.civicrm.org/dev/membership/-/issues/24):
+ [17143](https://github.com/civicrm/civicrm-core/pull/17143) and
+ [17435](https://github.com/civicrm/civicrm-core/pull/17435))**
-- **Member tab: auto-renew status was hidden from screen readers ([17310](https://github.com/civicrm/civicrm-core/pull/17310))**
+ This resolves a problem where memberships of disabled membership types would
+ not appear on the membership tab but would throw a duplicate membership
+ warning when creating a new membership with the same membership organization.
+ This also adds a unit test to lock in the correct behavior.
-- **Remove unneeded parameters in {ts} on membership form ([17326](https://github.com/civicrm/civicrm-core/pull/17326))**
+- **Update MembershipType.name to be a required field
+ ([17463](https://github.com/civicrm/civicrm-core/pull/17463))**
-- **(NFC) CRM_Utils_Url - Fix declared type ([17320](https://github.com/civicrm/civicrm-core/pull/17320))**
+- **Fix PHP notice when is_override is not set
+ ([17273](https://github.com/civicrm/civicrm-core/pull/17273))**
-- **(NFC) Remove some cvs docblock help ([17322](https://github.com/civicrm/civicrm-core/pull/17322))**
+### Joomla Integration
-- **Add serialize column to civicrm_custom_field, remove "Multi-Select" html type ([16992](https://github.com/civicrm/civicrm-core/pull/16992))**
+- **Upgrade from 5.26.2 to 5.27 RC Fails
+ ([dev/joomla/#28](https://lab.civicrm.org/dev/joomla/-/issues/28):
+ [17710](https://github.com/civicrm/civicrm-core/pull/17710))**
-- **dev/core#1758 - Fix check number and trxn id values on record payment… ([17314](https://github.com/civicrm/civicrm-core/pull/17314))**
+### WordPress Integration
-- **No rendered icons in data source ([17285](https://github.com/civicrm/civicrm-core/pull/17285))**
+- **Styling issues after upgrade to WordPress 5.3
+ ([dev/wordpress#46](https://lab.civicrm.org/dev/wordpress/-/issues/46):
+ [16967](https://github.com/civicrm/civicrm-core/pull/16967))**
-- **crmButton: support icon=0 for no icon ([17303](https://github.com/civicrm/civicrm-core/pull/17303))**
+- **WP - Change definitions of `cms.root`, `civicrm.root`
+ ([17360](https://github.com/civicrm/civicrm-core/pull/17360))**
-- **Cleanup PriceFieldValue BAO ([17306](https://github.com/civicrm/civicrm-core/pull/17306))**
+ The base logic for computing path/URL defaults is in Civi/Core/Paths.php.
-- **Ui 18 ([17078](https://github.com/civicrm/civicrm-core/pull/17078))**
+ For CiviCRM on WordPress, certain variables (which are easier to compute via
+ WordPress APIs) are overridden in `CRM_Utils_System_WordPress`.
-- **dev/core#1721 send email to case follow-up activity assignees ([17116](https://github.com/civicrm/civicrm-core/pull/17116))**
+ On WordPress, the path/URL logic for has been split: there is one code path
+ for normal CiviCRM pages which is based on WordPress APIs, and there is
+ another for older, standalone scripts in the `extern` folder which is based on
+ the same logic as before.
-- **Clarify definition of amount field in civicrm_contribution_recur table. ([17311](https://github.com/civicrm/civicrm-core/pull/17311))**
+- **Declare minimum WP and PHP versions required for installation
+ ([201](https://github.com/civicrm/civicrm-wordpress/pull/201))**
-- **5.26 ([17313](https://github.com/civicrm/civicrm-core/pull/17313))**
+- **wp-rest - Adjust extern URL. Be more defensive about 'query' part.
+ ([192](https://github.com/civicrm/civicrm-wordpress/pull/192))**
-- **A/B test: icon should be Erlenmeyer flask, not bar chart ([17316](https://github.com/civicrm/civicrm-core/pull/17316))**
+ This resolves issues with tracking URLs via the `wp-rest` endpoint that are
+ then modified with `hook_civicrm_alterExternUrl`.
-- **[REF] Cleanup MailingAB BAO ([17309](https://github.com/civicrm/civicrm-core/pull/17309))**
+## <a name="misc"></a>Miscellany
-- **Screen reader text for wrenches ([17293](https://github.com/civicrm/civicrm-core/pull/17293))**
+- **Handle less common dynamic reference cases
+ ([17653](https://github.com/civicrm/civicrm-core/pull/17653))**
-- **sr-only text for relationship permissions ([17294](https://github.com/civicrm/civicrm-core/pull/17294))**
+- **Use apiv4, cache infra for basicTypes
+ ([17387](https://github.com/civicrm/civicrm-core/pull/17387))**
-- **dev/core#1728 Ensure that custom fields that extend specified financi… ([17301](https://github.com/civicrm/civicrm-core/pull/17301))**
+- **Cleanup PriceFieldValue BAO
+ ([17306](https://github.com/civicrm/civicrm-core/pull/17306))**
-- **[REF] Minor tidy up ([17302](https://github.com/civicrm/civicrm-core/pull/17302))**
+- **Clarify definition of amount field in civicrm_contribution_recur table.
+ ([17311](https://github.com/civicrm/civicrm-core/pull/17311))**
-- **Proceeding to confirmation page should be a "next" button not a check ([17246](https://github.com/civicrm/civicrm-core/pull/17246))**
+- **Call completeOrder directly from contribute status update form
+ ([17347](https://github.com/civicrm/civicrm-core/pull/17347))**
-- **Add ContributionRecur crud api ([17299](https://github.com/civicrm/civicrm-core/pull/17299))**
+- **Switch docblock code to use markdown syntax.
+ ([17304](https://github.com/civicrm/civicrm-core/pull/17304))**
-- **Replaced more> icon with Font Awesome ([17295](https://github.com/civicrm/civicrm-core/pull/17295))**
+- **Preliminary cleanup on form
+ ([17345](https://github.com/civicrm/civicrm-core/pull/17345))**
-- **Icon helper: replace quotes in html title. ([17289](https://github.com/civicrm/civicrm-core/pull/17289))**
+- **Add getBAOClassName utiltiy function
+ ([17268](https://github.com/civicrm/civicrm-core/pull/17268))**
-- **Fix PHP notice when is_override is not set ([17273](https://github.com/civicrm/civicrm-core/pull/17273))**
+- **CRM/Logging - Remove obsolete cache static clear in test
+ ([17269](https://github.com/civicrm/civicrm-core/pull/17269))**
-- **dev/wp#46 - Fix overlarge select2 elements in WordPress 5.3+ ([16967](https://github.com/civicrm/civicrm-core/pull/16967))**
+- **Remove incorrect retrievals of tax-term setting
+ ([17183](https://github.com/civicrm/civicrm-core/pull/17183))**
-- **Simplify admin console and remove superfluous icons ([17284](https://github.com/civicrm/civicrm-core/pull/17284))**
+- **CiviEvent Dashboard and Manage Events: clean up disused url template vars
+ ([17378](https://github.com/civicrm/civicrm-core/pull/17378))**
-- **Replace stop-icon.png with fa-ban over a relevant icon for privacy ([17283](https://github.com/civicrm/civicrm-core/pull/17283))**
+- **Set default using spec for activity_date_time
+ ([17390](https://github.com/civicrm/civicrm-core/pull/17390))**
-- **[REF] Add contribution_id field to search using metadata instead of h… ([17286](https://github.com/civicrm/civicrm-core/pull/17286))**
+- **Convert remaining Authorize.net test to use guzzle
+ ([17473](https://github.com/civicrm/civicrm-core/pull/17473))**
-- **Replace all instances of copy.png with font awesome ([17280](https://github.com/civicrm/civicrm-core/pull/17280))**
+- **Various BAO create/add cleanups to use writeRecord()
+ ([17308](https://github.com/civicrm/civicrm-core/pull/17308))**
-- **Remove most uses of check.gif ([17279](https://github.com/civicrm/civicrm-core/pull/17279))**
+- **Remove instantiation of transaction from payment express ipn class
+ ([17348](https://github.com/civicrm/civicrm-core/pull/17348))**
-- **NFC Change hardcoded ID to constant ([17275](https://github.com/civicrm/civicrm-core/pull/17275))**
+- **Remove null code
+ ([17381](https://github.com/civicrm/civicrm-core/pull/17381))**
-- **Replace geotag_16.png with fa-map-marker ([17281](https://github.com/civicrm/civicrm-core/pull/17281))**
+- **Remove validation bypass
+ ([17384](https://github.com/civicrm/civicrm-core/pull/17384))**
-- **(dev/core#1580) Allow to search on contribution id ([16484](https://github.com/civicrm/civicrm-core/pull/16484))**
+- **Simplify recurring contribution template inheritance
+ ([17178](https://github.com/civicrm/civicrm-core/pull/17178))**
-- **dev/user-interface#17 Fix popup confirmation on import forms ([17067](https://github.com/civicrm/civicrm-core/pull/17067))**
+- **Remove $_REQUEST passed into CRM_Utils_Request::retrieve NFC
+ ([17377](https://github.com/civicrm/civicrm-core/pull/17377))**
-- **Merge code - remove UPDATE IGNORE+Delete & just use reliable update ([17072](https://github.com/civicrm/civicrm-core/pull/17072))**
+- **Use now instead of date for activity API3 spec
+ ([17411](https://github.com/civicrm/civicrm-core/pull/17411))**
-- **respect file fields that have been configured as view only in profiles ([17079](https://github.com/civicrm/civicrm-core/pull/17079))**
+- **Typo Fix ([17409](https://github.com/civicrm/civicrm-core/pull/17409))**
-- **dev/core#1743 - Fix decoding of apostrophes in csv export from CiviReports ([17260](https://github.com/civicrm/civicrm-core/pull/17260))**
+- **Fix logic for job log cleanup and make SQL safer
+ ([17203](https://github.com/civicrm/civicrm-core/pull/17203))**
-- **Decorative chevrons should be icons not angle quotes ([17245](https://github.com/civicrm/civicrm-core/pull/17245))**
+- **Remove always-true if block.
+ ([17415](https://github.com/civicrm/civicrm-core/pull/17415))**
-- **Tag create: respect created_date and created_id params ([17257](https://github.com/civicrm/civicrm-core/pull/17257))**
+- **Remove No longer required HTTP_Request Package
+ ([293](https://github.com/civicrm/civicrm-packages/pull/293))**
-- **Add getBAOClassName utiltiy function ([17268](https://github.com/civicrm/civicrm-core/pull/17268))**
+- **Remove code that still seems unnecessary.
+ ([17342](https://github.com/civicrm/civicrm-core/pull/17342))**
-- **CRM/Logging - Remove obsolete cache static clear in test ([17269](https://github.com/civicrm/civicrm-core/pull/17269))**
+- **Undo variable variable.
+ ([17371](https://github.com/civicrm/civicrm-core/pull/17371))**
-- **Add propertyBag handling for getEmail when incoming uses email-5 ([17267](https://github.com/civicrm/civicrm-core/pull/17267))**
+- **Use non-deprecated method
+ ([17370](https://github.com/civicrm/civicrm-core/pull/17370))**
-- **(NFC) RegionTest - Small cleanups ([17270](https://github.com/civicrm/civicrm-core/pull/17270))**
+- **Remove last reference to Payment->_processorName in core & remove from
+ processors ([17474](https://github.com/civicrm/civicrm-core/pull/17474))**
-- **5.26 ([17263](https://github.com/civicrm/civicrm-core/pull/17263))**
+- **Remove unused singleton from core payment processors
+ ([17468](https://github.com/civicrm/civicrm-core/pull/17468))**
-- **[REF] Grant BAO cleanup ([17264](https://github.com/civicrm/civicrm-core/pull/17264))**
+- **Test fixes to support apiv4 add of MembershipType
+ ([17488](https://github.com/civicrm/civicrm-core/pull/17488))**
-- **[NFC] Add sr-only class for content only for screen readers ([17255](https://github.com/civicrm/civicrm-core/pull/17255))**
+- **Merge code - remove UPDATE IGNORE+Delete & just use reliable update
+ ([17072](https://github.com/civicrm/civicrm-core/pull/17072))**
-- **Remove incorrect retrievals of tax-term setting ([17183](https://github.com/civicrm/civicrm-core/pull/17183))**
+- **Remove unneeded parameters in {ts} on membership form
+ ([17326](https://github.com/civicrm/civicrm-core/pull/17326))**
-- **provide Calendar module with end_date when duration is provided ([601](https://github.com/civicrm/civicrm-drupal/pull/601))**
+- **Remove unused 'reset' param, other NFC tidy up:
+ ([17392](https://github.com/civicrm/civicrm-core/pull/17392))**
-- **Declare Minimum WP and PHP versions required for installation ([201](https://github.com/civicrm/civicrm-wordpress/pull/201))**
+- **Fix setLanguage docblock, other nfc changes
+ ([17356](https://github.com/civicrm/civicrm-core/pull/17356))**
-- **5.26 ([200](https://github.com/civicrm/civicrm-wordpress/pull/200))**
+- **[REF] Simplify contributionIDs code
+ ([17441](https://github.com/civicrm/civicrm-core/pull/17441))**
-- **wp-rest - Adjust extern URL. Be more defensive about 'query' part. ([192](https://github.com/civicrm/civicrm-wordpress/pull/192))**
+- **[REF] Extract getAttachments
+ ([17405](https://github.com/civicrm/civicrm-core/pull/17405))**
-- **5.26 ([198](https://github.com/civicrm/civicrm-wordpress/pull/198))**
+- **[REF] Preliminary cleanup for #17339
+ ([17417](https://github.com/civicrm/civicrm-core/pull/17417))**
-- **5.26 to master ([197](https://github.com/civicrm/civicrm-wordpress/pull/197))**
+- **[REF] Remove unreachable block.
+ ([17407](https://github.com/civicrm/civicrm-core/pull/17407))**
-- **Remove No longer required HTTP_Request Package ([293](https://github.com/civicrm/civicrm-packages/pull/293))**
+- **[REF] Pass an array of correct params to the function to create a recurring
+ contribution. ([17398](https://github.com/civicrm/civicrm-core/pull/17398))**
-## <a name="misc"></a>Miscellany
+- **[REF] Code simplification & unit test on suppressed emails in task
+ ([17393](https://github.com/civicrm/civicrm-core/pull/17393))**
+
+- **[REF] duplicate function.
+ ([17400](https://github.com/civicrm/civicrm-core/pull/17400))**
+
+- **[REF] Pass params not-by-reference
+ ([17406](https://github.com/civicrm/civicrm-core/pull/17406))**
+
+- **[REF] Refactor to switch from pear HTTP Request class to using Guzzle
+ ([17420](https://github.com/civicrm/civicrm-core/pull/17420))**
+
+- **[REF] [Reports] Ensure that all contribution pages including disabled ones
+ are return… ([17357](https://github.com/civicrm/civicrm-core/pull/17357))**
+
+- **[REF] Cleanup and extract string functions specific to entity names.
+ ([17330](https://github.com/civicrm/civicrm-core/pull/17330))**
+
+- **[REF] Stop passing by reference.
+ ([17349](https://github.com/civicrm/civicrm-core/pull/17349))**
+
+- **[REF] Simplify subject code.
+ ([17436](https://github.com/civicrm/civicrm-core/pull/17436))**
+
+- **[REF] Implement required fields database changes that have occured du…
+ ([17465](https://github.com/civicrm/civicrm-core/pull/17465), [17725](https://github.com/civicrm/civicrm-core/pull/17725))**
+
+- **[REF] Bump Pear Log version to fix compatability with Drupal 8 / Drup…
+ ([17460](https://github.com/civicrm/civicrm-core/pull/17460))**
+
+- **[REF] Convert one of the http calls in Authorize.net class to use guzzle.
+ ([17449](https://github.com/civicrm/civicrm-core/pull/17449))**
+
+- **[REF] Minor simplification
+ ([17443](https://github.com/civicrm/civicrm-core/pull/17443))**
+
+- **[REF] Grant BAO cleanup
+ ([17264](https://github.com/civicrm/civicrm-core/pull/17264))**
+
+- **[REF] CRM_Core_DAO_AllCoreTables::getBriefName to accept BAO name
+ ([17331](https://github.com/civicrm/civicrm-core/pull/17331))**
+
+- **[REF] Missing semicolon on smtp settings page, code cleanup in file-on-case,
+ add test ([17335](https://github.com/civicrm/civicrm-core/pull/17335))**
+
+- **[REF] Extract createFollowUpActivities
+ ([17481](https://github.com/civicrm/civicrm-core/pull/17481))**
+
+- **[REF] Switch to an api call to get the contact details.
+ ([17442](https://github.com/civicrm/civicrm-core/pull/17442))**
+
+- **[REF] Minor code simplification
+ ([17373](https://github.com/civicrm/civicrm-core/pull/17373))**
+
+- **[REF] Call completeOrder directly from event status update form
+ ([17346](https://github.com/civicrm/civicrm-core/pull/17346))**
+
+- **[REF] Remove never-passed params from function signature
+ ([17464](https://github.com/civicrm/civicrm-core/pull/17464))**
+
+- **[REF] Fix serialized membership field handling in RelationshipTest
+ ([17469](https://github.com/civicrm/civicrm-core/pull/17469))**
+
+- **[REF] Minor tidy up
+ ([17302](https://github.com/civicrm/civicrm-core/pull/17302))**
+
+- **[REF] Remove always NULL param modified_id
+ ([17489](https://github.com/civicrm/civicrm-core/pull/17489))**
+
+- **[REF] Add contribution_id field to search using metadata instead of h…
+ ([17286](https://github.com/civicrm/civicrm-core/pull/17286))**
+
+- **[REF] Fix unit test failures on MySQL 5.6 due to Custom Field table being
+ created without Dynamic Row Format
+ ([17586](https://github.com/civicrm/civicrm-core/pull/17586))**
+
+- **[REF] Start to convert Dummy processor to use PropertyBag
+ ([17452](https://github.com/civicrm/civicrm-core/pull/17452))**
+
+- **[Ref] remove calls to, and deprecate, pending function
+ ([17490](https://github.com/civicrm/civicrm-core/pull/17490))**
+
+- **[REF] Cleanup MailingAB BAO
+ ([17309](https://github.com/civicrm/civicrm-core/pull/17309))**
+
+- **[TEST] Update test to support for 8.0.19 change
+ ([17354](https://github.com/civicrm/civicrm-core/pull/17354))**
+
+- **[TEST] Fix test failure on Drupal 8 E2E PrevNextTest by only includin…
+ ([17358](https://github.com/civicrm/civicrm-core/pull/17358))**
+
+- **[TEST] dev/core#1766 - Remove flakiness from testGetFromTo tests
+ ([dev/core#1766](https://lab.civicrm.org/dev/core/-/issues/1766):
+ [17338](https://github.com/civicrm/civicrm-core/pull/17338))**
+
+- **[NFC/TEST] dev/core#1784 - Unit tests for contact delete/restore
+ ([dev/core#1784](https://lab.civicrm.org/dev/core/-/issues/1784):
+ [17437](https://github.com/civicrm/civicrm-core/pull/17437))**
+
+- **NFC - Change array() to short syntax []
+ ([17470](https://github.com/civicrm/civicrm-core/pull/17470))**
+
+- **[NFC] Update Karma to be latest version
+ ([17439](https://github.com/civicrm/civicrm-core/pull/17439))**
+
+- **(NFC) CRM_Utils_Url - Fix declared type
+ ([17320](https://github.com/civicrm/civicrm-core/pull/17320))**
+
+- **[NFC] Remove some more of the old cvs blocks
+ ([17383](https://github.com/civicrm/civicrm-core/pull/17383))**
+
+- **NFC Add a bit more clarity to createEmailActivity function
+ ([17391](https://github.com/civicrm/civicrm-core/pull/17391))**
+
+- **[NFC] Add comment that deprecated code is actually still reachable
+ ([17340](https://github.com/civicrm/civicrm-core/pull/17340))**
+
+- **(NFC) Remove some cvs docblock help
+ ([17322](https://github.com/civicrm/civicrm-core/pull/17322))**
+
+- **[NFC] Add comment regarding lower case for Polish states
+ ([17327](https://github.com/civicrm/civicrm-core/pull/17327))**
+
+- **(NFC) RegionTest - Small cleanups
+ ([17270](https://github.com/civicrm/civicrm-core/pull/17270))**
+
+- **[NFC] Add sr-only class for content only for screen readers
+ ([17255](https://github.com/civicrm/civicrm-core/pull/17255))**
+
+- **NFC Change hardcoded ID to constant
+ ([17275](https://github.com/civicrm/civicrm-core/pull/17275))**
+
+- **[NFC] Fix use of single quotes, strict operator
+ ([17492](https://github.com/civicrm/civicrm-core/pull/17492))**
## <a name="credits"></a>Credits
This release was developed by the following code authors:
-a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt; Andrei Mondoc; British Humanist Association - Andrew West; Caltha - Tomasz Pietrzkowski; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - René Olivo; 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 - Edsel Lopez, Seamus Lee; jmdh; John Kingsnorth; Joinery - Allen Shaw; Kartik Kathuria; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Palante Technology Cooperative - Morgan Robinson; Semper IT - Karin Gerritsen; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
+a-n The Artists Information Company - William Mortada; AGH Strategies - Alice
+Frumin, Andie Hunt; Andrei Mondoc; British Humanist Association - Andrew West;
+Caltha - Tomasz Pietrzkowski; Christian Wach; Circle Interactive - Pradeep
+Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku;
+CompuCorp - René Olivo; Coop SymbioTIC - Mathieu Lutfy; Dave D; Dominic Hargreaves;
+Electronic Frontier Foundation - Mark Burdett; Freeform Solutions - Herb van den
+Dool; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick
+Figel; JMA Consulting - Edsel Lopez, Seamus Lee; John Kingsnorth; Joinery -
+Allen Shaw; Kartik Kathuria; Lighthouse Design and Consulting - Brian
+Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey
+O'Toole; MJW Consulting - Matthew Wire; Palante Technology Cooperative - Morgan
+Robinson; Semper IT - Karin Gerritsen; Tadpole Collective - Kevin Cristiano;
+Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; Artful Robot - Rich Lott; Betty Dolfing; British Humanist Association - Andrew West; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - René Olivo; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Joinery - Allen Shaw; Kartik Kathuria; Korlon - Stuart Gaston; megaphonetech-dennis; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Palante Technology Cooperative - Morgan Robinson; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
+Agileware - Justin Freeman; Artful Robot - Rich Lott; Betty Dolfing; CiviCoop -
+Jaap Jansma; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; Kartik
+Kathuria; Korlon - Stuart Gaston; Megaphone Technology Consulting - Dennis P.
+Osorio; Squiffle Consulting - Aidan Saunders
## <a name="feedback"></a>Feedback
-These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
+These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
and contact `@agh1`.