X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=release-notes%2F5.34.0.md;h=ac84a6718a01880cd5e1593ee851719dbf2d26cd;hb=b2c8e4711a0cf883cbcbd011e87dd4c6c4c7a53c;hp=8890058dd602b356112d71f6d21ede3f24287ff5;hpb=e573d42e77d643959cbae2f0bd5a54d28638f017;p=civicrm-core.git diff --git a/release-notes/5.34.0.md b/release-notes/5.34.0.md index 8890058dd6..ac84a6718a 100644 --- a/release-notes/5.34.0.md +++ b/release-notes/5.34.0.md @@ -13,469 +13,863 @@ Released February 3, 2021 | *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** | ## 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. -## 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))** +## 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))** +## 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))** -## 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))** ## 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 ## 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`.