Skip to content

Latest commit

 

History

History
600 lines (400 loc) · 24.3 KB

5.73.0.md

File metadata and controls

600 lines (400 loc) · 24.3 KB

CiviCRM 5.73.0

Released May 2, 2024

Synopsis

Does this version...?
Fix security vulnerabilities? no
Change the database schema? yes
Alter the API? yes
Require attention to configuration options? no
Fix problems installing or upgrading to a previous version? yes
Introduce features? yes
Fix bugs? yes

Features

Core CiviCRM

  • Afform - Enable updating relationship by id (29693)

    Previously relationships could only be updated if required fields were present. Now if there is an id it can be updated without any other fields on the form.

  • Warn when disabling/deleting groups which feature in smart group criteria
    (29732)

    Adds a warning when disabling/deleting a group will have repercussions for other groups.

  • SearchKit - Enable predefined link conditionals (29735)

    Improves links in SearchKit by pre-defining conditional rules.

  • Imagine a world without CodeGen (Work Towards dev/core#4999: 29771)

    Adds a new mixin for use by non-xml-based entities.

  • Api4 - Add 'usage' to getFields output (29634)

    Adds metadata to APIv4 getFields.

  • Allow access to API params from Api4Query (Work Towards dev/core#5102: 29774)

    Get any API param from the Api4Query class.

CiviMail

  • (dev/core#5118) Tokens - Expand support for symbol-tokens (30100, 30102, 30101)

Bugs resolved

Core CiviCRM

  • (dev/core#5183) Search Tasks - Actions incorrectly apply to all records in database (30111)

  • Cannot create proper Groups on multilingual with MySQL 5.6 and Civi 5.31-rc (dev/translation#85: 29891)

  • Searching by phone in Advanced Search with a non-default Search Profile returns DB Error: no such field (dev/core#3836: 24450)

  • Formbuilder: updates not saved when a populated field of type "file" is present in the form (dev/core#5078: 29884)

  • Saving checkbox custom fields via APIv4 fails for custom/dynamic entities (dev/core#5103: 29786)

  • Inconsistent handling of tag name and tag label
    (dev/core#5108: 29875)

  • smarty 3/4 still calling smarty2 plugins, which errors for e.g. date_format (dev/core#5130: 29911)

  • Failure when .hlp files contain php functions like array_key_exists (dev/core#5136: 29923)

  • Register some more functions for Smarty (29856)

  • Add check for whether SMARTY_DIR is defined (29853)

  • asofDate gets used as constructor to DateTime which wants a string (29858)

  • hook_civicrm_links - don't pass objectId by-reference (29764)

  • Set error response code before starting error response (29809)

  • Don't clear the smarty debugging var (29754)

  • Allow 0.0 as value for a required float APIv4 action parameter (29766)

  • Add deprecation notice to hook_civicrm_links used by search forms (29765)

  • AngularJS - Fix multi-select fields when value contains a comma (29645)

  • php8.2 Update Case form to handle both Activity & Case custom data with standard ajax methods (29799)

  • call buildamount hook (29829)

    Fixes CiviDiscount.

  • Look up using phone_numeric (29740)

  • Ensure confirm hooks are called if confirmation page is disabled (29710)

  • Smarty4 - updates to latest versions Smarty 4.51 (393)

  • Update Smarty5 from rc to 5.0.1 & add loading helper class (394)

  • Smarty4 & Smarty 5 - update to latest (392)

  • xml/schema - Fix erroneous description tag (29711)

  • Move logic from tpl to php layer (extension page) (29898)

  • Exclude Cancelled & Failed recurring from Autorenew membership reminders (26563)

  • Fix bug where fields is not present (29681)

  • Follow up fix on setDefaultValues fix (29685)

  • Add missing alias trxn_id to transactionID (29683)

  • Use getters & setters to interact with Smarty properties, where possible (29852)

  • Update Smarty3 check to refer to Smarty4 (29874)

  • Fix Smarty help function to not call fetchWith (29851)

  • Extract code to determine rule filter (29877)

  • Extract code to build table-level filter (29876)

  • Notice fixes on Contact Edit screen (with multiple contact fields & address fields - ie testData extension installed) (29706)

  • Pass contact Type into sql lookup (29866)

  • Clarify join type (29865)

  • Make function private on only caller (29867)

  • Remove a handling for CRM_Core_Error returned (29797)

  • Fix deprecation notice (29827)

  • Fix for `TypeError: array_key_exists(): Argument #2 ($array) must be of type array, null given a CRM_Core_DAO->copyValues() (29868)

  • Stop calling complex function to just add a field (29795)

  • Simplify a ts (29861)

  • Deleting profile photo produces error (dev/core#5145: 30119)

  • Deleting an individual contact gives confusing message (dev/core#5165, dev/core#5181: 30107)

  • Fix customDataBlock to convert false to 'false' (dev/core#5152): (30103)

  • Fix customGroup function overwriting extends data (dev/core#5149): (29983)

CiviCampaign

  • Custom Fields on Campaign are hidden on validation (dev/core#4803: 29751)

  • show distinct contacts when reserving for a survey (29617)

CiviCase

  • accept array of case_type_ids when finding available case statuses (29663)

CiviContribute

  • Fix Smarty noticed when contribution tab opened outside of ajax (29672)

  • Additional Payments form: Use submitted trxn_id if payment result doesn't exist (29869)

  • Premium Products: allow key=val format for product options (29691)

  • ContributionProduct - Add serialize metadata (29767)

CiviEvent

  • Fix Event register form to call buildAmount exactly once (29900)

CiviMail

  • (dev/core#5176) Message Templates - Prevent malformed content, loss of customizations (30081)

  • MailSettings - Fix typo in metadata (29769)

CiviMember

  • Membership dashboard is not shown (dev/core#5123: 29882 and 29883)

  • Membership terms present in price set not get used in the offline form signup. (dev/core#3752 : 29730)

  • Fix override on pending memberships (29661)

  • E-notice fix on Membership from in edit mode (29744)

CiviSMS

  • CiviSMS - Ensure activities are attached to correct contact (30096)

CiviCRM Admin UI

  • Admin UI - Sort by register_date Contact Summary Events tab (30097)

  • Admin UI - Fix missing translation (30012)

  • Admin UI - Fix display of related memberships (29994)

Drupal Integration

  • Check route object exists in processes that do not have routes (90)

  • Update CiviCRM on Drupal 10: Deprecation Notices regarding TOGoS (dev/core#4919: 29926)

Joomla Integration

  • Joomla: fixes broken mobile menu and a small regression. (29939)

  • CSS: Adds styling resets to Joomla4 for new accordions (29712)

  • Removes ~90% of joomla.css - much pre-dates Civi 2.x
    (27834)

  • Fixes Joomla regression in #27834 that hides select2 dropdown options when used in modal (29821)

Search Kit

  • (dev/core#5126) Fix crash involving Smarty rewrite (30004)

  • Fix display of email bounces (30043)

  • Fix saving search displays with 'Bypass Permissions' (30054)

  • (dev/core#5159) Fix broken NOT CONTAINS operator (30018)

Standalone Integration

  • reenable status messages in standalone page template (29699)

  • standalone: permanent "session already active" errors (dev/core#5069: 29808)

  • standalone: rebase @pfigel's JWT password reset PR 28505 (29642)

  • standalone: prevent installer using secret admin pass. Fixes 5038 (29641)

WordPress Integration

  • Possible WordPress regression - event that fails validation or has code submitted redirects to back office page (dev/core#5127: 321)

Miscellany

  • Switch getPreviousFinancialItem() to use API4 internally (29761)

  • Deprecate formatPhone, use new cut down private function (29742)

  • APIv4 - Move MembershipLinksProvider to correct directory (29746)

  • Add validate.tpl to customDataBlock, minor cleanup (29812)

  • Register trim as a smarty plugin (29759)

  • Updating php-weasyprint to latest version (29697)

  • Add deprecation tag at class level (29696)

  • Improve visibility of what functions are called on backoffice Contact form (29674)

  • Deprecated smarty modifier (29755)

  • Make everyone share my pain (29479)

  • Add deprecation to class comment (29839)

  • Panacea for brain pain (29838)

  • Port one more function to Smarty2 (395)

  • distmaker - Add iframe and oembed (5.73-rc) (29917)

  • Remove smarty function ported (hacked) to Smarty2 (29846)

  • Remove ornery from now-compliant tests (29816)

  • Fold private function back into only caller (29762)

  • Use smarty capitalize instead of ucfirst (29815)

  • Remove deprecated misspelled event (29757)

  • Remove unused variable (29727)

  • Remove a couple on handlings for no-longer returned CRM_Core_Error (29136)

  • Copy small functions back to callers (29758)

  • Make code clearer (29836)

  • Replace CRM_Utils_Array::value (29684)

  • Post split clean up - stop calling this form (29811)

  • Post split code cleanup (29810)

  • Copy function back to one of the few remaining callers (29802)

  • Post split tidy up - remove extraneous subType handling (29819)

  • Post split tidy up - remove multiple setting of Group Count (29818)

  • Post split tidy up - consistent treatment of contactID (29814)

  • Post split cleanup - fold private function back into caller (29820)

  • Some post split cleanup (29804)

  • Remove unreachable code (29794)

  • Fold preProcess function from Custom data form back to only caller (29687)

  • Copy complex function back to calling class for simplifying (29689)

  • Minor cleanup (29678)

  • Copy function back to only calling class (29686)

  • Post copy back clean up (29690)

  • standaloneusers tests - error message assertions are too strict (29824)

  • allow standalone's alternative access denied wording in afform test (29849)

  • Minor test clean up (29801)

  • Add test check on imported multple fields (29737)

  • Schema - Update autoincrement to reflect what it actually is (29709)

  • Update contributor-key.yml (29731)

  • Copy shared function back to form as private function (29803)

  • Add tests for unsubscribing from mail groups (29790)

  • Reworking of unsubscribe tests in #29790, add grandparent and smart groups (29830)

  • Minor clean up in test class (29729)

  • Make private function non static (29728)

  • Suppress last php8.2 test fail for PR tests
    (29680)

  • PHP8.2 Fix Financial Account form to load custom data via ajax (29241)

  • [php8.2] Fix MembershipType + other entityFormTrait uses for php8.2 (29671)

  • [php8.2], [bug-fix] Fix default value loading for multiple custom fields (29708)

  • [php8.2] Finish consolidating customData code on the Contact form (29792)

  • php8.2 Remove non-compliant code replaced by jquery validation (29793)

  • [php8.2] Fix Campaign form custom data for php8,2 (29657)

  • [Php8.2] Fix relationship form to use preferred php8.2 compliant methods (29652)

  • [php8.2] Share Custom data fixes from Membership form to renewal (29592)

  • [php8.2] Apply custom data handling improvements to grant form
    (29651)

  • [php8.2] compliant ajax method for custom data on pledge form (29228)

  • [php8.2] apply php8.2 clean up to contribution form custom data (29655)

  • [php8.2] apply php8.2 clean up to activity form custom data (29656)

  • [php8.2] Fix Survey configuration forms for custom data for php8.2 (29660)

  • (php83) UnitTests - Fix warning (29785)

  • Possible fix for export test on php8.3 (29688)

  • Extract isUseReservedQuery (29864)

  • [REF] Extract function to get the ContactIDFieldName (29873)

  • [REF] Pass IP address to Elavon when submitting credit card payment (29791)

  • Refactor template assignments off deprecated CRM_Utils_Array::value (29780)

  • Refactor out calls to deprecated CRM_Utils_Array::value() (29779)

  • (NFC) gitignore - Don't care about .composer-downloads (29826)

  • (NFC) Contribute/Product.xml - No newline in comment (29825)

  • Update TCPDF (29969, 30027)

  • Fix regen.sh (29997, 29998)

  • [php8] Update compile-plugin to v0.20 (29972)

Credits

This release was developed by the following code authors:

AGH Strategies - Andie Hunt; Agileware - Agileware Team, Francis Whittle; Artful Robot - Rich Lott; Benjamin W; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; civiservice.de - Detlev Sieber; Coop SymbioTIC - Mathieu Lutfy; Dave D; Francesc Bassas i Bullich; Fuzion - Jitendra Purohit, Luke Stewart; Gokhalemethod - Sadashiv; Greenpeace Central and Eastern Europe - Patrick Figel; iXiam - Albert Vall-Llovera; JMA Consulting - Seamus Lee; MJW Consulting - Matthew Wire; Nicol Wistreich; MetaDrop - Omar Mohamad; Progressive Technology Project - Jamie McClelland; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew; Wikimedia Foundation - Eileen McNaughton

Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments:

CiviCoop - Erik Hommel; devappsoftware; gibsonoliver; MC3 - Graham Mitchell; Megaphone Technology Consulting - Brienne Kordis, Jon Goldberg; Systopia - Johannes Franz; Wildsight - Lars Sander-Green

Feedback

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.