| *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
### Core CiviCRM
-- **CRM-1617 Missing Summary ([19086](https://github.com/civicrm/civicrm-core/pull/19086))**
+- **Re-Thinking our Crypto implementation
+ ([dev/core#2258](https://lab.civicrm.org/dev/core/-/issues/2258):
+ [19236](https://github.com/civicrm/civicrm-core/pull/19236),
+ [19251](https://github.com/civicrm/civicrm-core/pull/19251),
+ [19239](https://github.com/civicrm/civicrm-core/pull/19239),
+ [19349](https://github.com/civicrm/civicrm-core/pull/19349),
+ [237](https://github.com/civicrm/civicrm-wordpress/pull/237),
+ [57](https://github.com/civicrm/civicrm-joomla/pull/57),
+ [125](https://github.com/civicrm/civicrm-backdrop/pull/125),
+ [635](https://github.com/civicrm/civicrm-drupal/pull/635), and
+ [57](https://github.com/civicrm/civicrm-drupal-8/pull/57))**
-- **crm- Missing Summary ([314](https://github.com/civicrm/civicrm-packages/pull/314))**
+ This adds a new framework for encrypting setting values that are stored in the
+ database. An encryption key is defined upon installation, and the key can be
+ rotated using APIv4. Keys can also be managed with a new
+ `hook_civicrm_crypto`. The system allows for old keys to be retained for
+ decrypting old values even as a new key is used for encrypting new ones.
-## <a name="bugs"></a>Bugs resolved
+ The only setting that is changed at this point is the SMTP password, as that
+ was the only setting in core encrypted with `CRM_Utils_Crypt`. However, this
+ framework is available for extensions and will likely be adopted for other
+ sensitive settings.
-### Core CiviCRM
+ You may optionally configure `CIVICRM_CRED_KEYS` in `civicrm.settings.php`
+ upon upgrade. Sites that define `smtpPassword` in their
+ `civicrm.settings.php` file may need to update the value. See
+ [pull request 19239](https://github.com/civicrm/civicrm-core/pull/19239) for
+ details.
-- **Regenerate DAOs ([19359](https://github.com/civicrm/civicrm-core/pull/19359))**
+ Meanwhile, `CRM_Utils_Crypt` is retained (but deprecated) for compatibility
+ with the extensions that use it.
-- **distmaker - Don't require dummy config file for building Joomla ([19357](https://github.com/civicrm/civicrm-core/pull/19357))**
+- **Add pre() and post() hooks for ufgroup entity
+ ([dev/core#2199](https://lab.civicrm.org/dev/core/-/issues/2199):
+ [18995](https://github.com/civicrm/civicrm-core/pull/18995))**
-- **dev/core#2292 - Add Timeline dropdown on Manage Case not working after buttons UI changes ([19356](https://github.com/civicrm/civicrm-core/pull/19356))**
+ The pre and post hooks are now triggered when modifying profiles.
-- **php74 compatibility - Backwards arguments to implode are deprecated ([19355](https://github.com/civicrm/civicrm-core/pull/19355))**
+- **Add support for multi-value contact reference custom fields
+ ([18941](https://github.com/civicrm/civicrm-core/pull/18941))**
-- **Remove unreachable customGroup section in online event receipt ([19069](https://github.com/civicrm/civicrm-core/pull/19069))**
+ Makes it so users can configure a multi-value contact reference custom field.
-- **Disable frequency/interval fields if not required on backend contribution forms ([17889](https://github.com/civicrm/civicrm-core/pull/17889))**
+- **Add missing state for South Korea
+ ([19157](https://github.com/civicrm/civicrm-core/pull/19157))**
-- **[NFC] Fix Contribution Soft Credit entity translation ([19351](https://github.com/civicrm/civicrm-core/pull/19351))**
+ This adds the special self-governing city Sejong to the state/province table
+ for South Korea.
-- **php 7.4 compatiblity - Clarify order for nested ternary operator ([19354](https://github.com/civicrm/civicrm-core/pull/19354))**
+- **CRM_Core_Key - Provide more debugging hints about mismatched `qfKey` values
+ ([19145](https://github.com/civicrm/civicrm-core/pull/19145))**
-- **php 7.4 compatibility - more curly braces ([19353](https://github.com/civicrm/civicrm-core/pull/19353))**
+ The qfKey now has a prefix that corresponds with the form name.
-- **dev/core#2258 - Define CIVICRM_CRED_KEYS during installation ([19349](https://github.com/civicrm/civicrm-core/pull/19349))**
+- **Add min-width to flex columns for responsive layout on small screens
+ ([19235](https://github.com/civicrm/civicrm-core/pull/19235))**
-- **php 7.4 compatibility - squiggly brackets ([19350](https://github.com/civicrm/civicrm-core/pull/19350))**
+ This adjusts 2-column layouts on the main CiviCRM dashboard and Search Kit to
+ collapse to 1 column on small screens.
-- **dev/core#2258 - Read+write SMTP password using 'crypto.token' ([19239](https://github.com/civicrm/civicrm-core/pull/19239))**
+- **APIv4 - Add "Permission.get" for listing available permissions
+ ([19115](https://github.com/civicrm/civicrm-core/pull/19115))**
-- **(POC#D) (dev/core#2284) MembershipRenewalTest - Address assertions that started failing circa Jan 1, 2021 ([19306](https://github.com/civicrm/civicrm-core/pull/19306))**
+ Adds a new API method "Permission.get" to be used for administrative tools
+ that allow one to choose/assign a permission.
-- **dev/core#2264 - Remove never-used IMAP_XOAUTH2 option value before it gets more confusing ([19243](https://github.com/civicrm/civicrm-core/pull/19243))**
+- **APIv4: Support relative date range input
+ ([19181](https://github.com/civicrm/civicrm-core/pull/19181))**
-- **Accept PHP memory_limit of -1 as meeting requirement ([19340](https://github.com/civicrm/civicrm-core/pull/19340))**
+ Extends APIv4 to support relative date range inputs.
-- **5.33.1 Release Notes ([19347](https://github.com/civicrm/civicrm-core/pull/19347))**
+- **Free the joins! APIv4 explicit joins - can we remove the requirement for
+ specific columns in the "on" clause? (Work Towards
+ [dev/core#2271](https://lab.civicrm.org/dev/core/-/issues/2271):
+ [19275](https://github.com/civicrm/civicrm-core/pull/19275))**
-- **Fix hook_civicrm_permission upgrade failure. Defer system-flush to 'upgrade.finish' phase. ([19346](https://github.com/civicrm/civicrm-core/pull/19346))**
+ Allows greater flexibility in how explicit joins are performed in APIv4.
-- **Fix Contribution.tpl mismatched ts. ([19343](https://github.com/civicrm/civicrm-core/pull/19343))**
+- **Non translatable fields in profile schema (Work Towards
+ [dev/core#527](https://lab.civicrm.org/dev/core/-/issues/527):
+ [19291](https://github.com/civicrm/civicrm-core/pull/19291))**
-- **Stop preventing test runs and dev sites from seeing PHP deprecation notices ([19330](https://github.com/civicrm/civicrm-core/pull/19330))**
+ Ensures the public title is used and translatable for on behalf profiles,
+ confirm pages and thank you pages.
-- **Add v4 api for financial type, financial account ([19282](https://github.com/civicrm/civicrm-core/pull/19282))**
+- **Proposal - add hook alterIndices
+ (Work Towards [dev/core#2279](https://lab.civicrm.org/dev/core/-/issues/2279):
+ [19293](https://github.com/civicrm/civicrm-core/pull/19293) and
+ [19288](https://github.com/civicrm/civicrm-core/pull/19288))**
-- **[REF] Extract code that assigns isPendingOutcome variable on thank yo… ([19232](https://github.com/civicrm/civicrm-core/pull/19232))**
+ Adds indexes to `campaign.name` and `civicrm_group.cache_date`.
-- **dev/core#2242 Ensure that when a custom field is deleted any associat… ([19199](https://github.com/civicrm/civicrm-core/pull/19199))**
+### CiviContribute
-- **Simplify handling of ids in Authorize.net now that related_contact is no longer used ([19273](https://github.com/civicrm/civicrm-core/pull/19273))**
+- **Wording change - change UI parts of contribution soft schema to soft credit
+ ([dev/financial#158](https://lab.civicrm.org/dev/financial/-/issues/158):
+ [19085](https://github.com/civicrm/civicrm-core/pull/19085))**
-- **[REF] Minor cleanup on contactGroup function ([19286](https://github.com/civicrm/civicrm-core/pull/19286))**
+ Improves user experience of Search Kit/Afform by cleaning up language
+ related to Soft Credits.
-- **[REF] Remove some variables not relevant to backoffice member form ([19284](https://github.com/civicrm/civicrm-core/pull/19284))**
+- **Cancel first contribution associated to membership, cancels the membership
+ (Work Towards [dev/core#927](https://lab.civicrm.org/dev/core/-/issues/927):
+ [19019](https://github.com/civicrm/civicrm-core/pull/19019))**
-- **[REF] Rationalise financialType variable ([19280](https://github.com/civicrm/civicrm-core/pull/19280))**
+ Completes moving the logic for the contribution statuses "Cancel" and "Fail"
+ from core to the `contributioncancelactions` extension.
-- **Stop using refresh_date in civicrm_group table ([19287](https://github.com/civicrm/civicrm-core/pull/19287))**
+- **Move financial acl warning from FinancialType BAO to extension.
+ ([19283](https://github.com/civicrm/civicrm-core/pull/19283))**
-- **Add index to campaign.name ([19293](https://github.com/civicrm/civicrm-core/pull/19293))**
+ Moves more code from core to the financial acls extension.
-- **fix email receipt flag for recurring record ([19299](https://github.com/civicrm/civicrm-core/pull/19299))**
+- **Add ContributionSoft v4 api
+ ([19083](https://github.com/civicrm/civicrm-core/pull/19083))**
-- **dev/core#766 fix failure to save custom data on template-based-event ([19308](https://github.com/civicrm/civicrm-core/pull/19308))**
+ Adds the Contribution Soft entity to APIv4.
-- **[NFC] Code reformat pledge class ([19336](https://github.com/civicrm/civicrm-core/pull/19336))**
+- **Add v4 api for financial type, financial account
+ ([19282](https://github.com/civicrm/civicrm-core/pull/19282))**
-- **Rename PledgePayment create function ([19298](https://github.com/civicrm/civicrm-core/pull/19298))**
+ Adds "Financial Type" and "Financial Account" entities to APIv4.
-- **DB changes for already-made schema changes ([19335](https://github.com/civicrm/civicrm-core/pull/19335))**
+- **[APIv4] Permit using other SQL functions such as CONCAT within a
+ GROUP_CONCAT ([19255](https://github.com/civicrm/civicrm-core/pull/19255))**
-- **release-notes/5.33.0.md - Last few PRs ([19338](https://github.com/civicrm/civicrm-core/pull/19338))**
+ Allows for SQL functions such as CONCAT to be used within a GROUP CONCAT,
+ this maybe useful for example when trying to get all the line items associated with a
+ contribution into one field.
-- **Final update for 5.33.0 ([19337](https://github.com/civicrm/civicrm-core/pull/19337))**
+- **Add default for boolean fields on financial_type
+ ([19281](https://github.com/civicrm/civicrm-core/pull/19281) and
+ [19335](https://github.com/civicrm/civicrm-core/pull/19335))**
-- **5.33 ([19334](https://github.com/civicrm/civicrm-core/pull/19334))**
+ Sets default values for the "Financial Type" fields 'is_active' and
+ 'is_reserved'.
-- **Mailing default domain error: force a backend URL for WP ([19319](https://github.com/civicrm/civicrm-core/pull/19319))**
+- **Improve logging when a contribution is created/updated
+ ([19252](https://github.com/civicrm/civicrm-core/pull/19252))**
-- **php 7.4 compatibility - Array and string offset access syntax with curly braces is deprecated ([19331](https://github.com/civicrm/civicrm-core/pull/19331))**
+ Improves logging when a Contribution is created/updated to improve the
+ debugging experience.
-- **5.33 ([19329](https://github.com/civicrm/civicrm-core/pull/19329))**
+### CiviEvent
-- **Add index on civicrm_group.cache_date ([19288](https://github.com/civicrm/civicrm-core/pull/19288))**
+- **Add a unique event ID so we can match pre/post Insert/Update
+ ([19209](https://github.com/civicrm/civicrm-core/pull/19209))**
-- **dev/core#2240 and dev/core#2241 - Move non-compliant trigger_error out of logging ([19256](https://github.com/civicrm/civicrm-core/pull/19256))**
+ Makes it so developers can use the event ID to link pre/post Insert/Update
+ events for the same change.
-- **Fix APIv3 profile.getfields to return correctly keyed phone field ([19321](https://github.com/civicrm/civicrm-core/pull/19321))**
+### Search Kit
-- **dev/core#2286 - Avoid notice on missing db port during install ([19324](https://github.com/civicrm/civicrm-core/pull/19324))**
+- **Search kit: Rewrite input widget to support IN sets, relative dates, BETWEEN
+ groups, etc. ([19229](https://github.com/civicrm/civicrm-core/pull/19229))**
-- **dev/core#2028 Add in a status check for checking if the wkhtmltopdf p… ([19311](https://github.com/civicrm/civicrm-core/pull/19311))**
+ Overhauls the input widget for all fields in Search Kit so that they support:
+ IN, BETWEEN etc.
-- **[NFC] Cleanup in test class ([19322](https://github.com/civicrm/civicrm-core/pull/19322))**
+- **Search kit: Improve token support
+ ([19260](https://github.com/civicrm/civicrm-core/pull/19260))**
-- **[REF] extract and share code to determine if required contact fields are present ([19302](https://github.com/civicrm/civicrm-core/pull/19302))**
+ Adds a token selector to the Search Kit UI when configuring displays.
-- **Remove use of ignoreException from SMTP settings form ([19315](https://github.com/civicrm/civicrm-core/pull/19315))**
+### WordPress Integration
-- **Removes default for is_active & is_reserved since they now have DB defaults ([19296](https://github.com/civicrm/civicrm-core/pull/19296))**
+- **Enhance CiviCRM's integration in WordPress
+ ([231](https://github.com/civicrm/civicrm-wordpress/pull/231))**
-- **(dev/core#2258) Add API+hook to rotate keys for encrypted fields ([19251](https://github.com/civicrm/civicrm-core/pull/19251))**
+ Improves user experience for WordPress sites by introducing sub menu items to the
+ WordPress SideBar "CiviCRM" Menu item including:
+ - Integration Page
+ - Settings Page
-- **[REF] Fix import signature on activity parser, add preliminary test ([19301](https://github.com/civicrm/civicrm-core/pull/19301))**
+## <a name="bugs"></a>Bugs resolved
-- **[tests] Fix join syntax conversion for APIv4 in v3 unit tests ([19318](https://github.com/civicrm/civicrm-core/pull/19318))**
+### Core CiviCRM
-- **Remove use of ignoreException on import form ([19314](https://github.com/civicrm/civicrm-core/pull/19314))**
+- **jquery.validate.js update (includes CVE-2021-21252)
+ ([dev/core#2324](https://lab.civicrm.org/dev/core/-/issues/2324):
+ [19457](https://github.com/civicrm/civicrm-core/pull/19457))**
-- **Pledge: mark needed fields as required in schema ([19309](https://github.com/civicrm/civicrm-core/pull/19309))**
+ The jQuery Validate library contained a regular expression that was vulnerable
+ to ReDoS (Regular Expression Denial of Service).
-- **dev/core#2282 Use the proper content type for ICalendar link ([19316](https://github.com/civicrm/civicrm-core/pull/19316))**
+ ReDoS, or Regular Expression Denial of Service, is a vulnerability affecting
+ poorly constructed and potentially inefficient regular expressions which can
+ make them perform extremely badly given a creatively constructed input string.
-- **dev/core#2251 provide default receive_date ([19307](https://github.com/civicrm/civicrm-core/pull/19307))**
+ This offers security hardening by preventing a user from entering a string
+ that could tie up their browser in validating it.
-- **5.33 ([19313](https://github.com/civicrm/civicrm-core/pull/19313))**
+- **Fix updating custom field schema when toggling search or multiple
+ ([18939](https://github.com/civicrm/civicrm-core/pull/18939))**
-- **dev/core#527 use public title for on behalf profile and confirm/thankyou pages ([19291](https://github.com/civicrm/civicrm-core/pull/19291))**
+ Fixes a crash & possible data loss when changing a custom field of type
+ "Country" or "State/Province" from a multi-select to single or vice versa.
-- **(dev/core#2273) Contact type incorrectly set to Contribution due to '… ([19277](https://github.com/civicrm/civicrm-core/pull/19277))**
+- **Quick fix on summary actions conflict
+ ([19067](https://github.com/civicrm/civicrm-core/pull/19067))**
-- **(REF) Civi\Test\Invasive - Add helper for checking protected/private members ([19294](https://github.com/civicrm/civicrm-core/pull/19294))**
+ If multiple extensions insert items with the same weight into the contact
+ summary actions drop-down, this ensures all menu items are displayed.
-- **[REF] Move another deprecated function back to the only class that calls it ([19300](https://github.com/civicrm/civicrm-core/pull/19300))**
+- **Greenwich: Fix Select2 free-tagging css bug
+ ([19225](https://github.com/civicrm/civicrm-core/pull/19225))**
-- **(POC#C) MembershipRenewalTest - Address assertions that started failing circa Jan 1, 2021 ([19305](https://github.com/civicrm/civicrm-core/pull/19305))**
+ Adds a CSS tweak to Greenwich that fixes a style conflict between Bootstrap
+ and Select2.
-- **Use specific function when formatting money for a default ([19285](https://github.com/civicrm/civicrm-core/pull/19285))**
+- **APIv4: Normalize option list descriptions as plain text
+ ([19237](https://github.com/civicrm/civicrm-core/pull/19237))**
-- **Move financial acl warning from FinancialType BAO to extension. ([19283](https://github.com/civicrm/civicrm-core/pull/19283))**
+ Ensures the description field comes through as plain text when fetching option
+ lists from APIv4.
-- **Add default for boolean fields on financial_type ([19281](https://github.com/civicrm/civicrm-core/pull/19281))**
+- **Unwanted mail blast sent by Scheduled Reminders (Work Towards
+ [dev/core#365](https://lab.civicrm.org/dev/core/-/issues/365):
+ [19068](https://github.com/civicrm/civicrm-core/pull/19068))**
-- **[REF] Minor cleanup, remove variable variables ([19292](https://github.com/civicrm/civicrm-core/pull/19292))**
+ This adds a `created_date` column to the `action_schedule` table. This is in
+ anticipation of a change to prevent a newly-created scheduled reminder from
+ triggering reminders that would be due to send prior to the creation of the
+ reminder.
-- **dev/core#2269 Use contribution's currency instead of the default ([19290](https://github.com/civicrm/civicrm-core/pull/19290))**
+- **Editing a smartgroup created through the search builder renders the new
+ block by force
+ ([dev/core#2270](https://lab.civicrm.org/dev/core/-/issues/2270):
+ [19257](https://github.com/civicrm/civicrm-core/pull/19257))**
-- **REF use centralised addRadio function more ([19272](https://github.com/civicrm/civicrm-core/pull/19272))**
+ Ensures the new record type and operator line only appear on the new search
+ builder form (not when editing existing smart groups via search builder).
-- **Adapt filters with empty and null values in alphanumeric custom fields ([19057](https://github.com/civicrm/civicrm-core/pull/19057))**
+- **Merge all members into the same household when using select fields fails
+ with a db error
+ ([dev/core#2272](https://lab.civicrm.org/dev/core/-/issues/2272):
+ [19268](https://github.com/civicrm/civicrm-core/pull/19268))**
-- **dev/core#2127 - Don't accidentally trim à characters when importing files ([19241](https://github.com/civicrm/civicrm-core/pull/19241))**
+ Fixes a DB Error when exporting contacts using the "Merge Household members
+ into their Households" setting and selecting fields for export.
-- **[REF] Remove unreachable code ([19279](https://github.com/civicrm/civicrm-core/pull/19279))**
+- **civicrm-setup - Error during, uh, let's call them unit tests, if db port
+ isn't specified
+ ([dev/core#2286](https://lab.civicrm.org/dev/core/-/issues/2286):
+ [19324](https://github.com/civicrm/civicrm-core/pull/19324))**
-- **dev/core#2240 - Convert remaining two deprecatedWarning calls ([19266](https://github.com/civicrm/civicrm-core/pull/19266))**
+ Avoids a notice of a missing db port during install.
-- **APIv4 - Smarter check for adding default ON clause to explicit joins ([19275](https://github.com/civicrm/civicrm-core/pull/19275))**
+- **Move non-compliant trigger_error out of logging
+ ([dev/core#2241](https://lab.civicrm.org/dev/core/-/issues/2241) and
+ [dev/core#2240](https://lab.civicrm.org/dev/core/-/issues/2240):
+ [19256](https://github.com/civicrm/civicrm-core/pull/19256))**
-- **[REF] Fix tax_amount to be consistent & load from the templateContribution ([19274](https://github.com/civicrm/civicrm-core/pull/19274))**
+ Makes CRM_Core_Error_Log more PSR3-compliant by not throwing errors itself,
+ and removing dependence on the presence of a .git folder.
-- **[REF] Unshared another function back onto Membership_Form ([19269](https://github.com/civicrm/civicrm-core/pull/19269))**
+- **Tabs at top of extension list are no longer tabs
+ ([dev/core#2233](https://lab.civicrm.org/dev/core/-/issues/2233):
+ [19138](https://github.com/civicrm/civicrm-core/pull/19138))**
-- **5.33 ([19276](https://github.com/civicrm/civicrm-core/pull/19276))**
+ Fixes broken tabs on the profiles administration page.
-- **[REF] Unshare code to build an array of params for the recurring contribution ([19271](https://github.com/civicrm/civicrm-core/pull/19271))**
+- **Weird "null" after adding new tagset
+ ([dev/core#2234](https://lab.civicrm.org/dev/core/-/issues/2234):
+ [19131](https://github.com/civicrm/civicrm-core/pull/19131))**
-- **dev/core#2258 - Add services to support encryption ([19236](https://github.com/civicrm/civicrm-core/pull/19236))**
+ Ensures the word 'null' is not displayed after adding a new tagset.
-- **Fold deprecated function into the only function that calls it ([19270](https://github.com/civicrm/civicrm-core/pull/19270))**
+- **Stop preventing test runs and dev sites from seeing PHP deprecation notices
+ ([19330](https://github.com/civicrm/civicrm-core/pull/19330))**
-- **dev/core#2272 Fix a DB error when merging contacts into the same hous… ([19268](https://github.com/civicrm/civicrm-core/pull/19268))**
+ Ensures notices appear based on the sites error reporting settings.
-- **Fix preferred repeattransaction flow to correctly create the activity contacts for the contribution ([19200](https://github.com/civicrm/civicrm-core/pull/19200))**
+- **Unable to delete file with brackets in filename via ckeditor/kcfinder
+ ([dev/user-interface#25](https://lab.civicrm.org/dev/user-interface/-/issues/25):
+ [304](https://github.com/civicrm/civicrm-packages/pull/304))**
-- **REF use addRadio function to add in the radio fields to these forms ([19265](https://github.com/civicrm/civicrm-core/pull/19265))**
+- **Obsolete wkhtmltopdfPath causes hard fail in event registration due to
+ internal fatal error for the missing package
+ ([dev/core#2028](https://lab.civicrm.org/dev/core/-/issues/2028):
+ [19311](https://github.com/civicrm/civicrm-core/pull/19311))**
-- ** Remove code to retrieve premium data ([19262](https://github.com/civicrm/civicrm-core/pull/19262))**
+ If the setting for the path to wkhtmltopdf is set, but nothing is there at
+ that path, a system check message will appear and PDF generation will fall
+ back to domPDF.
-- **[REF] Relocate another deprecated utils function to the only class that calls it. ([19248](https://github.com/civicrm/civicrm-core/pull/19248))**
+- **Contact import by CSV fails when string ends with "à"
+ ([dev/core#2127](https://lab.civicrm.org/dev/core/-/issues/2127):
+ [19241](https://github.com/civicrm/civicrm-core/pull/19241))**
-- **dev/core#2270 - Editing a smartgroup created through the search builder renders the new block by force ([19257](https://github.com/civicrm/civicrm-core/pull/19257))**
+ In certain encodings, the à character can have the same byte as a
+ non-breaking space. This ensures that trimming non-breaking spaces does not
+ accidentally snag multi-byte characters that share the same `0xA0` byte.
-- **dev/financial#163 Removal of contributionTypeID ([19174](https://github.com/civicrm/civicrm-core/pull/19174))**
+- **Activity Summary report is missing pagination
+ ([dev/core#2174](https://lab.civicrm.org/dev/core/-/issues/2174):
+ [19146](https://github.com/civicrm/civicrm-core/pull/19146))**
-- **5.33 ([19263](https://github.com/civicrm/civicrm-core/pull/19263))**
+- **Export crashes when many contacts share an address and are merged
+ ([dev/core#2211](https://lab.civicrm.org/dev/core/-/issues/2211):
+ [19216](https://github.com/civicrm/civicrm-core/pull/19216))**
-- **Convert contributionSoft to an array ([19259](https://github.com/civicrm/civicrm-core/pull/19259))**
+- **Deprecation warnings are implemented backwards
+ ([dev/core#2240](https://lab.civicrm.org/dev/core/-/issues/2240):
+ [19266](https://github.com/civicrm/civicrm-core/pull/19266))**
-- **Search kit: Improve token support ([19260](https://github.com/civicrm/civicrm-core/pull/19260))**
+- **CiviCRM Export, Saved Export Field Mapping that contains custom fields which
+ have been disabled or deleted are still loaded as "clear" values and cause the
+ export download to fail with "DB Error: no such field"
+ ([dev/core#2242](https://lab.civicrm.org/dev/core/-/issues/2242):
+ [19199](https://github.com/civicrm/civicrm-core/pull/19199))**
-- **[REF] Convert previously shared function to non-static, remove unrelated code ([19258](https://github.com/civicrm/civicrm-core/pull/19258))**
+- **Inline email edit form fails to set is_bulkmail flag
+ ([dev/core#2254](https://lab.civicrm.org/dev/core/-/issues/2254):
+ [19224](https://github.com/civicrm/civicrm-core/pull/19224))**
-- **Remove or hard-code variables from previously shared function ([19227](https://github.com/civicrm/civicrm-core/pull/19227))**
+- **Accept PHP memory_limit of -1 as meeting requirement
+ ([19340](https://github.com/civicrm/civicrm-core/pull/19340))**
-- **Fix pledge on contribution page when the site has a WR for "contribution" ([19238](https://github.com/civicrm/civicrm-core/pull/19238))**
+- **Fix hook_civicrm_permission upgrade failure. Defer system-flush to
+ 'upgrade.finish' phase.
+ ([19346](https://github.com/civicrm/civicrm-core/pull/19346))**
-- **Fix Contribution.create to not attempt to set contacts on activity update ([19202](https://github.com/civicrm/civicrm-core/pull/19202))**
+ On Drupal and Backdrop sites, the system flush was triggered after each
+ incremental database update. It is now deferred until the end of the upgrade
+ process.
-- **[APIv4] Permit using other SQL functions such as CONCAT within a GROU… ([19255](https://github.com/civicrm/civicrm-core/pull/19255))**
+- **Fix APIv3 profile.getfields to return correctly keyed phone field
+ ([19321](https://github.com/civicrm/civicrm-core/pull/19321))**
-- **Fix Payment edit form to use Payment.cancel & payment.create api ([19116](https://github.com/civicrm/civicrm-core/pull/19116))**
+- **Reports don't filter with empty custom fields
+ ([dev/core#2173](https://lab.civicrm.org/dev/core/-/issues/2173):
+ [19057](https://github.com/civicrm/civicrm-core/pull/19057))**
-- **[REF] Move another deprecated function to the class that uses it ([19253](https://github.com/civicrm/civicrm-core/pull/19253))**
+- **Fatal error on contribution summary report (and probably others) when adding
+ contacts to group
+ ([19250](https://github.com/civicrm/civicrm-core/pull/19250))**
-- **[REF] Switch to using shared function to call deprecated function ([19246](https://github.com/civicrm/civicrm-core/pull/19246))**
+ This disables full group by mode for reports that are not optimized to work
+ with it.
-- **[REF] Relocate another function from DeprecatedUtils to the calling c… ([19249](https://github.com/civicrm/civicrm-core/pull/19249))**
+- **Stop passing ids as reference
+ ([19204](https://github.com/civicrm/civicrm-core/pull/19204))**
-- **Improve logging when a contribution is created/updated ([19252](https://github.com/civicrm/civicrm-core/pull/19252))**
+- **Fix extensions tabs following deprecation of old tab code
+ ([19130](https://github.com/civicrm/civicrm-core/pull/19130))**
-- **Fatal error on contribution summary report (and probably others) when adding contacts to group ([19250](https://github.com/civicrm/civicrm-core/pull/19250))**
+- **php 7.4 compatibility
+ ([19355](https://github.com/civicrm/civicrm-core/pull/19355),
+ [19350](https://github.com/civicrm/civicrm-core/pull/19350),
+ [19331](https://github.com/civicrm/civicrm-core/pull/19331),
+ [19353](https://github.com/civicrm/civicrm-core/pull/19353) and
+ [19354](https://github.com/civicrm/civicrm-core/pull/19354))**
-- **[REF] Relocate function from DeprecatedUtils to the class that actually calls it ([19247](https://github.com/civicrm/civicrm-core/pull/19247))**
+ Assorted changes to make the code compatible with php 7.4.
-- **dev/financial#162 Simplify decision as to whether to use a pdf on membership emails ([19165](https://github.com/civicrm/civicrm-core/pull/19165))**
+### CiviCampaign
-- **Greenwich: Fix Select2 free-tagging css bug ([19225](https://github.com/civicrm/civicrm-core/pull/19225))**
+- **Menu links for Petitions, Surveys do not open correct tab
+ ([dev/core#2215](https://lab.civicrm.org/dev/core/-/issues/2215):
+ [19066](https://github.com/civicrm/civicrm-core/pull/19066))**
-- **dev/core#2252 remove all handling of strict mode as it has aged out of relevance ([19244](https://github.com/civicrm/civicrm-core/pull/19244))**
+### CiviCase
-- **APIv4: Normalize option list descriptions as plain text ([19237](https://github.com/civicrm/civicrm-core/pull/19237))**
+- **Add timeline dropdown on manage case no longer working
+ ([dev/core#2292](https://lab.civicrm.org/dev/core/-/issues/2292):
+ [19356](https://github.com/civicrm/civicrm-core/pull/19356))**
-- **Search kit: Rewrite input widget to support IN sets, relative dates, BETWEEN groups, etc. ([19229](https://github.com/civicrm/civicrm-core/pull/19229))**
+### CiviContribute
-- **Add a unique event ID so we can match pre/post Insert/Update ([19209](https://github.com/civicrm/civicrm-core/pull/19209))**
+- **Error creating thank you letter with multiple contributions
+ ([dev/core#2344](https://lab.civicrm.org/dev/core/-/issues/2344):
+ [19480](https://github.com/civicrm/civicrm-core/pull/19480),
+ [19481](https://github.com/civicrm/civicrm-core/pull/19481), and
+ [19482](https://github.com/civicrm/civicrm-core/pull/19482))**
-- **Add min-width to flex columns for responsive layout on small screens ([19235](https://github.com/civicrm/civicrm-core/pull/19235))**
+ This resolves an invalid currency error when generating a thank you letter
+ grouping multiple contributions per contact.
-- **(NFC) Fix issue reporting link to go to the corresponding `core` project. ([19240](https://github.com/civicrm/civicrm-core/pull/19240))**
+- **fix email receipt flag for recurring record
+ ([19299](https://github.com/civicrm/civicrm-core/pull/19299))**
-- **Remove functions from EmailCommon that were moved to the trait ([19214](https://github.com/civicrm/civicrm-core/pull/19214))**
+ Ensures receipts are not sent for each recurring payment.
-- **Remove duplicated tax assignments from copied code ([19228](https://github.com/civicrm/civicrm-core/pull/19228))**
+- **Owner notification email sending before payment (Work Towards
+ [dev/core#521](https://lab.civicrm.org/dev/core/-/issues/521):
+ [19259](https://github.com/civicrm/civicrm-core/pull/19259))**
-- **Fix lab issue 2254 is_bulkmail cannot be set through UI ([19224](https://github.com/civicrm/civicrm-core/pull/19224))**
+ Code clean up towards ensuring that owner notification emails do not get sent
+ before the payment is made.
-- **Convert previously shared function from static to non-static ([19231](https://github.com/civicrm/civicrm-core/pull/19231))**
+- **Fully remove contributionTypeID (Work Towards
+ [dev/financial#163](https://lab.civicrm.org/dev/financial/-/issues/163):
+ [19174](https://github.com/civicrm/civicrm-core/pull/19174) and
+ [19166](https://github.com/civicrm/civicrm-core/pull/19166))**
-- **Only do cms account create from the one relevant place ([19234](https://github.com/civicrm/civicrm-core/pull/19234))**
+ Work to remove legacy references to `contributionTypeID`.
-- **Remove unused tpl assigns ([19226](https://github.com/civicrm/civicrm-core/pull/19226))**
+- **Line items are added from default price set on recurring contributions for
+ financial types with tax accounts.
+ ([dev/financial#159](https://lab.civicrm.org/dev/financial/-/issues/159):
+ [19086](https://github.com/civicrm/civicrm-core/pull/19086))**
-- **5.33 ([19233](https://github.com/civicrm/civicrm-core/pull/19233))**
+- **Allocation of "fee amount" is incorrect if fee is added after contribution
+ is created
+ ([dev/financial#160](https://lab.civicrm.org/dev/financial/-/issues/160):
+ [19152](https://github.com/civicrm/civicrm-core/pull/19152))**
-- **dev/core#2211 Make sure addressee field fits column ([19216](https://github.com/civicrm/civicrm-core/pull/19216))**
+- **Owner notification email sending every time the contribution is resaved
+ ([dev/core#537](https://lab.civicrm.org/dev/core/-/issues/537):
+ [19095](https://github.com/civicrm/civicrm-core/pull/19095))**
-- **5.33 ([19223](https://github.com/civicrm/civicrm-core/pull/19223))**
+- **Default currency shown on invoices if payment is made with different
+ currency ([dev/core#2269](https://lab.civicrm.org/dev/core/-/issues/2269):
+ [19290](https://github.com/civicrm/civicrm-core/pull/19290))**
-- **Minor code cleanup ([19220](https://github.com/civicrm/civicrm-core/pull/19220))**
+- **Contact type incorrectly set to Contribution due to 'Honoree Profile'
+ ([dev/core#2273](https://lab.civicrm.org/dev/core/-/issues/2273):
+ [19277](https://github.com/civicrm/civicrm-core/pull/19277))**
-- **Remove all handling related to pledge, cms user from newly separated function ([19222](https://github.com/civicrm/civicrm-core/pull/19222))**
+- **Disable frequency/interval fields if not required on backend contribution
+ forms ([17889](https://github.com/civicrm/civicrm-core/pull/17889))**
-- **5.33 ([19221](https://github.com/civicrm/civicrm-core/pull/19221))**
+- **Fix Contribution.tpl mismatched ts.
+ ([19343](https://github.com/civicrm/civicrm-core/pull/19343))**
-- **Duplicate processFormContribution only Membership form ([19211](https://github.com/civicrm/civicrm-core/pull/19211))**
+- **Fix preferred repeattransaction flow to correctly create the activity
+ contacts for the contribution
+ ([19200](https://github.com/civicrm/civicrm-core/pull/19200))**
-- **dev/core#927 Fully remove cancel & fail from Contribution BAO ([19019](https://github.com/civicrm/civicrm-core/pull/19019))**
+- **Fix pledge on contribution page when the site has a Word Replacement for
+ "contribution" ([19238](https://github.com/civicrm/civicrm-core/pull/19238))**
-- **[REF] Clean up on $ids['contribution'] ([19207](https://github.com/civicrm/civicrm-core/pull/19207))**
+- **Fix Contribution.create to not attempt to set contacts on activity update
+ ([19202](https://github.com/civicrm/civicrm-core/pull/19202))**
-- **Move processConfirm function from Utils file back to form class ([19212](https://github.com/civicrm/civicrm-core/pull/19212))**
+- **Allow Sendconfirmation api to override pay later receipt text
+ ([19129](https://github.com/civicrm/civicrm-core/pull/19129))**
-- **(NFC) DispatchPolicy - Add comments to docblock ([19215](https://github.com/civicrm/civicrm-core/pull/19215))**
+### CiviEvent
-- **Remove deprecated function ([19213](https://github.com/civicrm/civicrm-core/pull/19213))**
+- **New Event using a template - clicking "Continue" doesn't save custom data
+ ([dev/core#766](https://lab.civicrm.org/dev/core/-/issues/766):
+ [19308](https://github.com/civicrm/civicrm-core/pull/19308))**
-- **Remove some more variable variables + some test cleanup ([19208](https://github.com/civicrm/civicrm-core/pull/19208))**
+- **Use the proper content type for ICalendar link
+ ([dev/core#2282](https://lab.civicrm.org/dev/core/-/issues/2282):
+ [19316](https://github.com/civicrm/civicrm-core/pull/19316))**
-- **APIv4: Support relative date range input ([19181](https://github.com/civicrm/civicrm-core/pull/19181))**
+ The iCalendar feed link now specifies that it is `text/calendar` so it will be
+ handled correctly if the icon is clicked.
-- **#REF Migrate the print_array smarty plugin from in packages into core… ([19206](https://github.com/civicrm/civicrm-core/pull/19206))**
+- **Import Participants fails
+ ([dev/core#2348](https://lab.civicrm.org/dev/core/-/issues/2348):
+ [19483](https://github.com/civicrm/civicrm-core/pull/19483))**
-- **[REF] Move function to shared parent so MemberForm can use it too ([19205](https://github.com/civicrm/civicrm-core/pull/19205))**
+ This was an unreleased regression in 5.34.beta.
-- **Add column created_date to action_schedule ([19068](https://github.com/civicrm/civicrm-core/pull/19068))**
+- **Manage Event: avoid E_NOTICE in smarty
+ ([19137](https://github.com/civicrm/civicrm-core/pull/19137))**
-- **Stop passing ids as reference ([19204](https://github.com/civicrm/civicrm-core/pull/19204))**
+- **Fatal error Incorrect datetime value: '0' for column 'transaction_date' when
+ editing a participant record and recording payment with no received date
+ ([dev/core#2251](https://lab.civicrm.org/dev/core/-/issues/2251):
+ [19307](https://github.com/civicrm/civicrm-core/pull/19307))**
-- **Remove unreachable code. ([19203](https://github.com/civicrm/civicrm-core/pull/19203))**
+- **Allow overriding participant_status_id in Order API
+ ([18096](https://github.com/civicrm/civicrm-core/pull/18096))**
-- **Enotice fix ([19201](https://github.com/civicrm/civicrm-core/pull/19201))**
+### CiviMail
-- **REF Allow for fields of type Blob or Mediumblob in Apiv4 ([19196](https://github.com/civicrm/civicrm-core/pull/19196))**
+- **Proposal replace PEAR mailer classes in core extension (Work Towards
+ [dev/core#2159](https://lab.civicrm.org/dev/core/-/issues/2159):
+ [18905](https://github.com/civicrm/civicrm-core/pull/18905))**
-- **NFC When printing out the result of the correctly update in single va… ([19198](https://github.com/civicrm/civicrm-core/pull/19198))**
+ Handles exceptions in Mail:send class.
-- **Squash 2 if clauses into 1 ([19190](https://github.com/civicrm/civicrm-core/pull/19190))**
+### CiviMember
-- **[NFC] Update comments in CRM/Core/Key ([19197](https://github.com/civicrm/civicrm-core/pull/19197))**
+- **Simplify decision as to whether to use a pdf on membership emails
+ ([dev/financial#162](https://lab.civicrm.org/dev/financial/-/issues/162):
+ [19165](https://github.com/civicrm/civicrm-core/pull/19165))**
-- **5.33 ([19187](https://github.com/civicrm/civicrm-core/pull/19187))**
+ Makes decision to include a PDF in Membership emails dependent on settings
+ instead of whether the tax-amount is non-zero.
-- **CRM_Core_Key - Provide more debugging hints about mismatched`qfKey`s ([19145](https://github.com/civicrm/civicrm-core/pull/19145))**
+- **Membership renewal with 0 tax creating extra line item
+ ([dev/core#2024](https://lab.civicrm.org/dev/core/-/issues/2024):
+ [18838](https://github.com/civicrm/civicrm-core/pull/18838))**
-- **[REF] Extract determination of subscription status information ([19193](https://github.com/civicrm/civicrm-core/pull/19193))**
+### CiviPledge
-- **Clean up error handling in legacy functions in import parser ([19160](https://github.com/civicrm/civicrm-core/pull/19160))**
+- **Rename PledgePayment create function
+ ([19298](https://github.com/civicrm/civicrm-core/pull/19298))**
-- **Remove some deprecated code chunks ([19191](https://github.com/civicrm/civicrm-core/pull/19191))**
+ Standardizes create function for a pledge payment.
-- **Remove extraneous elses ([19182](https://github.com/civicrm/civicrm-core/pull/19182))**
+- **Pledge: mark needed fields as required in schema
+ ([19309](https://github.com/civicrm/civicrm-core/pull/19309))**
-- **dev/financial#158 change UI parts of contribution soft schema to soft credit ([19085](https://github.com/civicrm/civicrm-core/pull/19085))**
+### Joomla Integration
-- **5.33 ([19180](https://github.com/civicrm/civicrm-core/pull/19180))**
+- **distmaker - Don't require dummy config file for building Joomla
+ ([19357](https://github.com/civicrm/civicrm-core/pull/19357))**
-- **[NFC] Convert civi.tag-deprecated to use central function ([19179](https://github.com/civicrm/civicrm-core/pull/19179))**
+### WordPress Integration
-- **[REF] extract getIdsOfMatchingContact ([19172](https://github.com/civicrm/civicrm-core/pull/19172))**
+- **Mailing default domain error: force a backend URL for WP
+ ([19319](https://github.com/civicrm/civicrm-core/pull/19319))**
-- **Unused writeLegacyWarnings() in PropertyBag ([19167](https://github.com/civicrm/civicrm-core/pull/19167))**
+- **Allow wp-cli upgrade command to proceed when there is only a single settings
+ file ([224](https://github.com/civicrm/civicrm-wordpress/pull/224))**
-- **Remove extraneous elses ([19171](https://github.com/civicrm/civicrm-core/pull/19171))**
+- **Prevent "add_action" from being called multiple times
+ ([dev/core#2217](https://lab.civicrm.org/dev/core/-/issues/2217):
+ [19061](https://github.com/civicrm/civicrm-core/pull/19061))**
-- **5.33 to master ([19178](https://github.com/civicrm/civicrm-core/pull/19178))**
+## <a name="misc"></a>Miscellany
-- **Switch to non-static functions ([19164](https://github.com/civicrm/civicrm-core/pull/19164))**
+- **Membership BAO - do not require date fields to be passed in on update
+ ([18794](https://github.com/civicrm/civicrm-core/pull/18794))**
-- **dev/financial#163 Rename / remove internal references to contributionTypeID ([19166](https://github.com/civicrm/civicrm-core/pull/19166))**
+- **Rename internal references to contributionTypeId
+ ([19169](https://github.com/civicrm/civicrm-core/pull/19169))**
-- **Rename internal references to contributionTypeId ([19169](https://github.com/civicrm/civicrm-core/pull/19169))**
+- **Switch to non-static functions
+ ([19164](https://github.com/civicrm/civicrm-core/pull/19164))**
-- **Remove extraneous elses ([19168](https://github.com/civicrm/civicrm-core/pull/19168))**
+- **Duplicate processFormContribution only Membership form
+ ([19211](https://github.com/civicrm/civicrm-core/pull/19211))**
-- **dev/financial#152 remove determination of source ([19017](https://github.com/civicrm/civicrm-core/pull/19017))**
+- **Only do cms account create from the one relevant place
+ ([19234](https://github.com/civicrm/civicrm-core/pull/19234))**
-- **[REF] Extract function to retrieve the membership labels. ([18854](https://github.com/civicrm/civicrm-core/pull/18854))**
+- **Convert previously shared function from static to non-static
+ ([19231](https://github.com/civicrm/civicrm-core/pull/19231))**
-- **5.33 ([19162](https://github.com/civicrm/civicrm-core/pull/19162))**
+- **Fix Payment edit form to use Payment.cancel & payment.create api
+ ([19116](https://github.com/civicrm/civicrm-core/pull/19116))**
-- **dev/core#2159 Handle exceptions in Mail:send class ([18905](https://github.com/civicrm/civicrm-core/pull/18905))**
+- **Fold deprecated function into the only function that calls it
+ ([19270](https://github.com/civicrm/civicrm-core/pull/19270))**
-- **financial#160 - set correct from_financial_account_id on an edited fee amount FinancialTrxn ([19152](https://github.com/civicrm/civicrm-core/pull/19152))**
+- **Use specific function when formatting money for a default
+ ([19285](https://github.com/civicrm/civicrm-core/pull/19285))**
-- **Add missing state for South Korea ([19157](https://github.com/civicrm/civicrm-core/pull/19157))**
+- **Stop using refresh_date in civicrm_group table
+ ([19287](https://github.com/civicrm/civicrm-core/pull/19287))**
-- **Remove code deprecated +1 year ago - case_from_XX / case_to_XXX search parameters ([19158](https://github.com/civicrm/civicrm-core/pull/19158))**
+- **Simplify handling of ids in Authorize.net now that related_contact is no
+ longer used ([19273](https://github.com/civicrm/civicrm-core/pull/19273))**
-- **Remove meaningless calls to ignoreException ([19155](https://github.com/civicrm/civicrm-core/pull/19155))**
+- **CRM_Member_Form_MembershipRenewalTest - Started failing circa Jan 1, 2021
+ ([dev/core#2284](https://lab.civicrm.org/dev/core/-/issues/2284):
+ [19306](https://github.com/civicrm/civicrm-core/pull/19306))**
-- **Remove some unused variables ([19156](https://github.com/civicrm/civicrm-core/pull/19156))**
+- **preliminary cleanup - extract a couple of functions in the payment processor
+ form for readability (Work Towards
+ [dev/financial#157](https://lab.civicrm.org/dev/financial/-/issues/157):
+ [19072](https://github.com/civicrm/civicrm-core/pull/19072))**
-- **[REF] Simplify membership form code towards simplifying BAO ([18855](https://github.com/civicrm/civicrm-core/pull/18855))**
+- **finish 'this round' of completeOrder cleanup (Work Towards
+ [dev/financial#152](https://lab.civicrm.org/dev/financial/-/issues/152):
+ [19017](https://github.com/civicrm/civicrm-core/pull/19017))**
-- **5.33 ([19154](https://github.com/civicrm/civicrm-core/pull/19154))**
+- **Squash 2 if clauses into 1
+ ([19190](https://github.com/civicrm/civicrm-core/pull/19190))**
-- **APIv4 - Add "Permission.get" for listing available permissions ([19115](https://github.com/civicrm/civicrm-core/pull/19115))**
+- **Clean up error handling in legacy functions in import parser
+ ([19160](https://github.com/civicrm/civicrm-core/pull/19160))**
-- **Membership BAO - do not require date fields to be passed in on update ([18794](https://github.com/civicrm/civicrm-core/pull/18794))**
+- **Unused writeLegacyWarnings() in PropertyBag
+ ([19167](https://github.com/civicrm/civicrm-core/pull/19167))**
-- **core#2174: Activity Summary report is missing pagination ([19146](https://github.com/civicrm/civicrm-core/pull/19146))**
+- **Update docs links
+ ([624](https://github.com/civicrm/civicrm-drupal/pull/624))**
-- **dev/core#2024 extra line item issue on membership renewal ([18838](https://github.com/civicrm/civicrm-core/pull/18838))**
+- **Preliminary cleanup -remove unused params from function signature
+ ([19110](https://github.com/civicrm/civicrm-core/pull/19110))**
-- **Fix notice error on using max() with only one variable ([19149](https://github.com/civicrm/civicrm-core/pull/19149))**
+- **Minor code cleanup
+ ([19220](https://github.com/civicrm/civicrm-core/pull/19220))**
-- **Remove extraneous handling duplicated from createProfileContact ([19109](https://github.com/civicrm/civicrm-core/pull/19109))**
+- **Move processConfirm function from Utils file back to form class
+ ([19212](https://github.com/civicrm/civicrm-core/pull/19212))**
-- **5.33 ([19153](https://github.com/civicrm/civicrm-core/pull/19153))**
+- **Remove use of ignoreException from SMTP settings form
+ ([19315](https://github.com/civicrm/civicrm-core/pull/19315))**
-- **5.33 ([19148](https://github.com/civicrm/civicrm-core/pull/19148))**
+- **Remove constant CIVICRM_MYSQL_STRICT
+ ([dev/core#2252](https://lab.civicrm.org/dev/core/-/issues/2252):
+ [19244](https://github.com/civicrm/civicrm-core/pull/19244))**
-- **Add pre() and post() hooks for ufgroup entity ([18995](https://github.com/civicrm/civicrm-core/pull/18995))**
+- **Removes default for is_active & is_reserved since they now have DB defaults
+ ([19296](https://github.com/civicrm/civicrm-core/pull/19296))**
-- **5.33 ([19147](https://github.com/civicrm/civicrm-core/pull/19147))**
+- **Remove code to retrieve premium data
+ ([19262](https://github.com/civicrm/civicrm-core/pull/19262))**
-- **Extend test to cover membership logs ([19023](https://github.com/civicrm/civicrm-core/pull/19023))**
+- **Remove use of ignoreException on import form
+ ([19314](https://github.com/civicrm/civicrm-core/pull/19314))**
-- **Preliminary cleanup -remove unused params from function signature ([19110](https://github.com/civicrm/civicrm-core/pull/19110))**
+- **Remove unreachable customGroup section in online event receipt
+ ([19069](https://github.com/civicrm/civicrm-core/pull/19069))**
-- **Add test to check pcp notification is sent ([19117](https://github.com/civicrm/civicrm-core/pull/19117))**
+- **Remove never-used IMAP_XOAUTH2 option value before it gets more confusing
+ ([dev/core#2264](https://lab.civicrm.org/dev/core/-/issues/2264):
+ [19243](https://github.com/civicrm/civicrm-core/pull/19243))**
-- **Minor typos in schema files ([19142](https://github.com/civicrm/civicrm-core/pull/19142))**
+- **Remove the print_array modifier as it is now supplied in civicrm-core
+ ([314](https://github.com/civicrm/civicrm-packages/pull/314))**
-- **5.33 ([19140](https://github.com/civicrm/civicrm-core/pull/19140))**
+- **Remove deprecated function
+ ([19213](https://github.com/civicrm/civicrm-core/pull/19213))**
-- **Add support for multi-value contact reference custom fields ([18941](https://github.com/civicrm/civicrm-core/pull/18941))**
+- **Remove some more variable variables + some test cleanup
+ ([19208](https://github.com/civicrm/civicrm-core/pull/19208))**
-- **dev/core#2233 - Fix broken tabs on profiles admin page ([19138](https://github.com/civicrm/civicrm-core/pull/19138))**
+- **Remove unreachable code.
+ ([19203](https://github.com/civicrm/civicrm-core/pull/19203))**
-- **[REF] Deprecate passing a blank currecny to CRM_Utils_Money::format a… ([19099](https://github.com/civicrm/civicrm-core/pull/19099))**
+- **Remove some deprecated code chunks
+ ([19191](https://github.com/civicrm/civicrm-core/pull/19191))**
-- **5.33 ([19135](https://github.com/civicrm/civicrm-core/pull/19135))**
+- **Remove extraneous elses
+ ([19182](https://github.com/civicrm/civicrm-core/pull/19182))**
-- **Manage Event: avoid E_NOTICE in smarty ([19137](https://github.com/civicrm/civicrm-core/pull/19137))**
+- **Remove obsolete IF
+ ([19108](https://github.com/civicrm/civicrm-core/pull/19108))**
-- **5.33 ([19132](https://github.com/civicrm/civicrm-core/pull/19132))**
+- **Remove extraneous elses
+ ([19171](https://github.com/civicrm/civicrm-core/pull/19171))**
-- **dev/core#2234 - Don't display the word 'null' after adding a new tagset ([19131](https://github.com/civicrm/civicrm-core/pull/19131))**
+- **Remove extraneous handling duplicated from createProfileContact
+ ([19109](https://github.com/civicrm/civicrm-core/pull/19109))**
-- **Allow overriding participant_status_id in Order API ([18096](https://github.com/civicrm/civicrm-core/pull/18096))**
+- **Remove or hard-code variables from previously shared function
+ ([19227](https://github.com/civicrm/civicrm-core/pull/19227))**
-- **Allow Sendconfirmation api to override pay later receipt text ([19129](https://github.com/civicrm/civicrm-core/pull/19129))**
+- **Remove code deprecated +1 year ago - case_from_XX / case_to_XXX search
+ parameters ([19158](https://github.com/civicrm/civicrm-core/pull/19158))**
-- **Fix extensions tabs following deprecation of old tab code ([19130](https://github.com/civicrm/civicrm-core/pull/19130))**
+- **Remove extraneous elses
+ ([19168](https://github.com/civicrm/civicrm-core/pull/19168))**
-- **Prevent "add_action" from being called multiple times ([19061](https://github.com/civicrm/civicrm-core/pull/19061))**
+- **Remove meaningless calls to ignoreException
+ ([19155](https://github.com/civicrm/civicrm-core/pull/19155))**
-- **Add ContributionSoft v4 api ([19083](https://github.com/civicrm/civicrm-core/pull/19083))**
+- **Remove some unused variables
+ ([19156](https://github.com/civicrm/civicrm-core/pull/19156))**
-- **[REF] Extract duplicate handling code ([19103](https://github.com/civicrm/civicrm-core/pull/19103))**
+- **Remove functions from EmailCommon that were moved to the trait
+ ([19214](https://github.com/civicrm/civicrm-core/pull/19214))**
-- **Fix dev/core#2215 & remove the tab selection inline script from TabHeader.tpl ([19066](https://github.com/civicrm/civicrm-core/pull/19066))**
+- **Remove duplicated tax assignments from copied code
+ ([19228](https://github.com/civicrm/civicrm-core/pull/19228))**
-- **dev/financial#157 [REF] Extract functions ([19072](https://github.com/civicrm/civicrm-core/pull/19072))**
+- **Remove unused tpl assigns
+ ([19226](https://github.com/civicrm/civicrm-core/pull/19226))**
-- **Remove obsolete IF ([19108](https://github.com/civicrm/civicrm-core/pull/19108))**
+- **Remove all handling related to pledge, cms user from newly separated
+ function ([19222](https://github.com/civicrm/civicrm-core/pull/19222))**
-- **[REF] Duplicate possibly-used parts of createProfileContact onto Parser_Contact ([19098](https://github.com/civicrm/civicrm-core/pull/19098))**
+- **[REF] Extract determination of subscription status information
+ ([19193](https://github.com/civicrm/civicrm-core/pull/19193))**
-- **[REF] use early return for errors rather than confusing assignment ([19102](https://github.com/civicrm/civicrm-core/pull/19102))**
+- **[REF] extract getIdsOfMatchingContact
+ ([19172](https://github.com/civicrm/civicrm-core/pull/19172))**
-- **Issue#537: Fix syntax to check pcp_id is NULL in api params ([19095](https://github.com/civicrm/civicrm-core/pull/19095))**
+- **[REF] Extract function to retrieve the membership labels.
+ ([18854](https://github.com/civicrm/civicrm-core/pull/18854))**
-- **Fix updating custom field schema when toggling search or multiple ([18939](https://github.com/civicrm/civicrm-core/pull/18939))**
+- **REF Allow for fields of type Blob or Mediumblob in Apiv4
+ ([19196](https://github.com/civicrm/civicrm-core/pull/19196))**
-- **Quick fix on summary actions conflict ([19067](https://github.com/civicrm/civicrm-core/pull/19067))**
+- **#REF Migrate the print_array smarty plugin from in packages into core…
+ ([19206](https://github.com/civicrm/civicrm-core/pull/19206))**
-- **dev/core#2258 - Define CIVICRM_CRED_KEYS during drush installation ([635](https://github.com/civicrm/civicrm-drupal/pull/635))**
+- **[REF] Move function to shared parent so MemberForm can use it too
+ ([19205](https://github.com/civicrm/civicrm-core/pull/19205))**
-- **Update docs links ([624](https://github.com/civicrm/civicrm-drupal/pull/624))**
+- **[REF] Relocate function from DeprecatedUtils to the class that actually
+ calls it ([19247](https://github.com/civicrm/civicrm-core/pull/19247))**
-- **7.x 5.33 ([631](https://github.com/civicrm/civicrm-drupal/pull/631))**
+- **[REF] Clean up on $ids['contribution']
+ ([19207](https://github.com/civicrm/civicrm-core/pull/19207))**
-- **Enhance CiviCRM's integration in WordPress ([231](https://github.com/civicrm/civicrm-wordpress/pull/231))**
+- **[REF] Simplify membership form code towards simplifying BAO
+ ([18855](https://github.com/civicrm/civicrm-core/pull/18855))**
-- **Allow wp-cli upgrade command to proceed when there is only a single settings file ([224](https://github.com/civicrm/civicrm-wordpress/pull/224))**
+- **[REF] Convert previously shared function to non-static, remove unrelated
+ code ([19258](https://github.com/civicrm/civicrm-core/pull/19258))**
-- **dev/core#2258 - Define CIVICRM_CRED_KEYS during wp-cli installation ([237](https://github.com/civicrm/civicrm-wordpress/pull/237))**
+- **[REF] Move another deprecated function to the class that uses it
+ ([19253](https://github.com/civicrm/civicrm-core/pull/19253))**
-- **5.33 ([236](https://github.com/civicrm/civicrm-wordpress/pull/236))**
+- **[REF] Switch to using shared function to call deprecated function
+ ([19246](https://github.com/civicrm/civicrm-core/pull/19246))**
-- **5.33 ([233](https://github.com/civicrm/civicrm-wordpress/pull/233))**
+- **[REF] Relocate another function from DeprecatedUtils to the calling c…
+ ([19249](https://github.com/civicrm/civicrm-core/pull/19249))**
-- **5.33 ([229](https://github.com/civicrm/civicrm-wordpress/pull/229))**
+- **REF use addRadio function to add in the radio fields to these forms
+ ([19265](https://github.com/civicrm/civicrm-core/pull/19265))**
-- **dev/core#2258 Define CIVICRM_CRED_KEYS during installation ([57](https://github.com/civicrm/civicrm-joomla/pull/57))**
+- **[REF] Relocate another deprecated utils function to the only class that
+ calls it. ([19248](https://github.com/civicrm/civicrm-core/pull/19248))**
-- **dev/core#2258 Define CIVICRM_CRED_KEYS during drush installation ([125](https://github.com/civicrm/civicrm-backdrop/pull/125))**
+- **[REF] Deprecate passing a blank currecny to CRM_Utils_Money::format a…
+ ([19099](https://github.com/civicrm/civicrm-core/pull/19099))**
-- **user-interface#25 show thumbnail for file containing Parenthesis, hide file start with dot in upload directory ([304](https://github.com/civicrm/civicrm-packages/pull/304))**
+- **[REF] Fix tax_amount to be consistent & load from the templateContribution
+ ([19274](https://github.com/civicrm/civicrm-core/pull/19274))**
-## <a name="misc"></a>Miscellany
+- **[REF] Unshared another function back onto Membership_Form
+ ([19269](https://github.com/civicrm/civicrm-core/pull/19269))**
+
+- **[REF] Unshare code to build an array of params for the recurring
+ contribution ([19271](https://github.com/civicrm/civicrm-core/pull/19271))**
+
+- **[REF] Extract duplicate handling code
+ ([19103](https://github.com/civicrm/civicrm-core/pull/19103))**
+
+- **[REF] Duplicate possibly-used parts of createProfileContact onto
+ Parser_Contact ([19098](https://github.com/civicrm/civicrm-core/pull/19098))**
+
+- **[REF] use early return for errors rather than confusing assignment
+ ([19102](https://github.com/civicrm/civicrm-core/pull/19102))**
+
+- **[REF] Remove unreachable code
+ ([19279](https://github.com/civicrm/civicrm-core/pull/19279))**
+
+- **[REF] Minor cleanup, remove variable variables
+ ([19292](https://github.com/civicrm/civicrm-core/pull/19292))**
+
+- **REF use centralised addRadio function more
+ ([19272](https://github.com/civicrm/civicrm-core/pull/19272))**
+
+- **(REF) Civi\Test\Invasive - Add helper for checking protected/private members
+ ([19294](https://github.com/civicrm/civicrm-core/pull/19294))**
+
+- **[REF] Move another deprecated function back to the only class that calls it
+ ([19300](https://github.com/civicrm/civicrm-core/pull/19300))**
+
+- **[REF] Minor cleanup on contactGroup function
+ ([19286](https://github.com/civicrm/civicrm-core/pull/19286))**
+
+- **[REF] Remove some variables not relevant to backoffice member form
+ ([19284](https://github.com/civicrm/civicrm-core/pull/19284))**
+
+- **[REF] Rationalise financialType variable
+ ([19280](https://github.com/civicrm/civicrm-core/pull/19280))**
+
+- **[REF] Extract code that assigns isPendingOutcome variable on thank yo…
+ ([19232](https://github.com/civicrm/civicrm-core/pull/19232))**
+
+- **[REF] extract and share code to determine if required contact fields are
+ present ([19302](https://github.com/civicrm/civicrm-core/pull/19302))**
+
+- **[REF] Fix import signature on activity parser, add preliminary test
+ ([19301](https://github.com/civicrm/civicrm-core/pull/19301))**
+
+- **Add test to check pcp notification is sent
+ ([19117](https://github.com/civicrm/civicrm-core/pull/19117))**
+
+- **Extend test to cover membership logs
+ ([19023](https://github.com/civicrm/civicrm-core/pull/19023))**
+
+- **[tests] Fix join syntax conversion for APIv4 in v3 unit tests
+ ([19318](https://github.com/civicrm/civicrm-core/pull/19318))**
+
+- **(NFC) DispatchPolicy - Add comments to docblock
+ ([19215](https://github.com/civicrm/civicrm-core/pull/19215))**
+
+- **[NFC] Convert civi.tag-deprecated to use central function
+ ([19179](https://github.com/civicrm/civicrm-core/pull/19179))**
+
+- **(NFC) Fix issue reporting link to go to the corresponding `core` project.
+ ([19240](https://github.com/civicrm/civicrm-core/pull/19240))**
+
+- **[NFC] Cleanup in test class
+ ([19322](https://github.com/civicrm/civicrm-core/pull/19322))**
+
+- **[NFC] Code reformat pledge class
+ ([19336](https://github.com/civicrm/civicrm-core/pull/19336))**
+
+- **[NFC] Fix Contribution Soft Credit entity translation
+ ([19351](https://github.com/civicrm/civicrm-core/pull/19351) and
+ [19359](https://github.com/civicrm/civicrm-core/pull/19359))**
+
+- **NFC When printing out the result of the correctly update in single va…
+ ([19198](https://github.com/civicrm/civicrm-core/pull/19198))**
+
+- **[NFC] Update comments in CRM/Core/Key
+ ([19197](https://github.com/civicrm/civicrm-core/pull/19197))**
+
+- **(POC#C) MembershipRenewalTest - Address assertions that started failing
+ circa Jan 1, 2021
+ ([19305](https://github.com/civicrm/civicrm-core/pull/19305))**
+
+- **REF Bump the composer-compile-plugin version
+ ([19377](https://github.com/civicrm/civicrm-core/pull/19377))**
+
+- **Test framework - API4 DateTest::testRelativeDateRanges will fail on the last
+ day of Jan, Mar, May, Aug, Oct
+ ([dev/core#2339](https://lab.civicrm.org/dev/core/-/issues/2339):
+ [19466](https://github.com/civicrm/civicrm-core/pull/19466))**
+
+- **Fix for ReportTest when launching a pdf
+ ([19497](https://github.com/civicrm/civicrm-core/pull/19497))**
+
+ This fixes a unit test failure caused by a recent merge on testing Report
+ output.
+
+- **Enotice fix ([19201](https://github.com/civicrm/civicrm-core/pull/19201))**
+
+- **Fix notice error on using max() with only one variable
+ ([19149](https://github.com/civicrm/civicrm-core/pull/19149))**
+
+- **Minor typos in schema files
+ ([19142](https://github.com/civicrm/civicrm-core/pull/19142))**
## <a name="credits"></a>Credits
This release was developed by the following code authors:
-AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Francis Whittle; ahed-compucorp; Bluehorn Digital - Matt Glaman; CEDC - Laryn Kragt Bakker; Christian Wach; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - Jitendra Purohit; iXiam - César Ramos, Vangelis Pantazis; jgrygierek; JMA Consulting - Monish Deb, Seamus Lee; lucky091588; maynardsmith; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; nishant-bhorodia; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Francis Whittle;
+Bluehorn Digital - Matt Glaman; CEDC - Laryn Kragt Bakker; Christian Wach;
+CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku;
+CompuCorp - Ahed; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - Jitendra
+Purohit; iXiam - César Ramos, Vangelis Pantazis; Jarek; JMA Consulting - Monish
+Deb, Seamus Lee; lucky091588; maynardsmith; Megaphone Technology Consulting -
+Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nishant
+Bhorodia; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen
+McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-Agileware - Francis Whittle, Justin Freeman; Artful Robot - Rich Lott; CEDC - Laryn Kragt Bakker; Christian Wach; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - Jitendra Purohit; iXiam - Luciano Spiegel; jgrygierek; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; Joinery - Allen Shaw; lucky091588; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; nishant-bhorodia; Semper IT - Karin Gerritsen; Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew; Wikimedia Foundation - Eileen McNaughton
+Agileware - Justin Freeman; Artful Robot - Rich Lott; iXiam - Luciano Spiegel;
+JMA Consulting - Joe Murray; Joinery - Allen Shaw; Nicol Wistreich; Semper IT -
+Karin Gerritsen; Third Sector Design - Michael McAndrew
## <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`.