Skip to content

Latest commit

 

History

History
1001 lines (678 loc) · 39.9 KB

5.66.0.md

File metadata and controls

1001 lines (678 loc) · 39.9 KB

CiviCRM 5.66.0

Released October 4, 2023

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

  • Add "phpstorm" extension (27168, 27175, 27178, 27179, 27239, and 27262)

    Adds a "phpstorm" extension which implements a process for integrating some dynamic data into PhpStorm.

  • Improve FormBuilder handling of non logged in flows (Work Towards dev/core#4232: 27041)

    Improves FormBuilder schema to better handle form flows for anonymous users.

  • New core extension for scheduled reminders using criteria from search-kit (dev/core#2644: 27081)

    Adds the Scheduled Communications extension which makes it so one can set up scheduled reminders using criteria from search-kit.

  • User experience improvement, hide by default the Latitude and Longitude fields, users can enable display if needed (dev/core#2640: 27100)

    Hides the Latitude and Longitude fields by default.

  • Pass html text through a formatter when translating it to tokens (27204 and 27203)

    Converts new lines to page breaks when rendering text tokens to html.

  • Add custom data when creating smart group (23312)

    Adds group custom fields when creating a new smart group from search action Group -> Create Smart Group.

  • Add sort for country/state fields in reports (dev/core#4532: 27135)

    Adds sort for country/state fields in reports.

  • Add system check for missing component extensions (27453)

    Expands the system check for required extensions to also cover component extensions.

  • Bump search_autocomplete_count default from 10 to 15 (27116)

    Improves the overall responsiveness of Autocompletes by fetching more results at a time.

  • Schema - Improve pseudoconstant metadata for prefetch and controlField (27054)

    Improves schema metadata with an eye toward optimizing APIv4 pseudoconstant lookups.

  • Afform - Support multiple permissions in the GUI (27272)

    Allows multiple permissions to be set for an Afform.

  • Afform - Allow submissions to be disabled and limited (27211)

    Adds FormBuilder settings to disable submissions or limit the number of submissions.

  • SearchKit - Improve handling of money currency (27202)

    Improves SearchKit support for different types of monetary entities (e.g. the Expenses extension).

  • SearchKit - Expose sql functions provided by extensions (27197)

    Allows extensions to contribute SqlFunctions to SearchKit.

  • SearchKit - In-place edit without refreshing results (27105)

    Speeds up the process of in-place-editing on a SearchKit display.

  • Afform - Add Note as an afformEntity (27110)

    Adds the Note entity to Form Builder.

  • APIv4 Explorer - Keep list of suffixes in-sync (27109)

    Keeps the list of available pseudoconstant suffixes in APIv4 Explorer consistent with the master list.

  • API - Switched to cached function for looking up pemissioned groups (27140)

    Performance improvement for looking up acl groups.

  • Afform - Enhance returned values from AfformSubmission.afform_name options (27108)

    Improves the psueudoconstant options list returned from AfformSubmission.afform_name so that more attributes of the afform can be accessed.

  • Allow for configuration of activity contacts, type and campaign for email-to-activity (26905)

    Adds more options when setting up email-to-activity.

  • APIv4 - Proper ACLs for relationship entity (27183)

    Improves v4 Relationship API to use fine-grained ACLs instead of coarse-grained permission check which was too restrictive.

  • APIv4 - Add missing input type options (27236)

    Makes APIv4 aware of a couple more input types (both core and custom fields can have these types).

  • Add API-based EntityLookupTrait (27257)

    Adds a helper class to make it easy to lookup entity values.

  • Distmaker: add CiviCRM Standalone support (27104)

    Adds support for building CiviCRM Standalone tar.gz archives for nightly/rc/stable releases.

  • Standalone: add error handler (26965)

    Adds error handling for standalone implementations.

  • Update a couple more tpl variables to tokens (27372, 27004 and 27017)

    Updates a couple smarty template variables to use tokens instead.

  • SearchKit - Use Contact.sort_name instead of display_name for searches and Autocompletes (27112)

    Improves searchkit user experience by using contact sort name instead of display name for searches and autocompletes.

CiviCase

  • Be able to remove clients from a case from the manage case view (27200)

    Makes it so users can remove clients from a case from the manage case view.

CiviContribute

  • Add Discount to APIv4 (27122)

    Adds APIv4 Discount entity.

CiviEvent

  • Afform - Enable creating event from a template (27058)

    Enables selecting an event template when using Afform to create a new event.

CiviMail

  • Update SMS cannot send message to specify that a mobile phone number is required (27194)

    Improves the error message when SMS cannot be sent to phone number because it is not a mobile phone.

CiviMember

  • Membership Detail improvements (Work towards dev/core#4522: 27118 and 27249)

    Improves the Membership detail report by adding: Membership Status, Auto-Renew, Auto-Renew Subscription Status, Start Date and End Date to the sorting tab.

Bugs resolved

Core CiviCRM

  • Admin UI: Attempting to delete custom field group with custom fields opens the listing page in modal window (dev/core#4094: 27056)

    Use statusBounce instead of redirect when a custom group cannot be deleted.

  • Standalone: language change does not stick (Work towards dev/core#4425: 27040, 27639)

    Ensures currentPath for Standalone implementations does not return empty so that language-switcher extension can work.

  • Import caching issue (Work towards dev/core#4467: 27076)

    Ensure saving and updating an import field mapping saves correctly.

  • Redis performance issue on delete contact (dev/core#4501: 27115)

  • Search Kit - Links conditional doesn't work with domain_id or domain = current domain (dev/core#4509: 27093)

  • ACLs' priority sometimes does the opposite of what it says it does (dev/core#4542: 27381)

  • ACLs - Fix recent regression handling "edit all contacts" (27409)

  • Autocomplete - Fix search-by-id for entities without a numeric id (27629)

  • When using a Contribution Page with a Membership Price Set, the contribution amount information never shows on the thank you page (dev/core#4555: 27330)

  • SearchKit: Totals include test, template and deleted entities, while rows do not, leading to mismatch (dev/core#4559: 27383)

  • Auto-complete option values aren't available to anonymous users (dev/core#3049: 26841)

  • Add weights on profile fields page to fix notices (27452)

  • Upgrader - Skip snapshots on some MariaDB env's (roughly: 10.6.0-10.6.5) (27404, 27464)

  • APIv4: Implicit joins for email_primary, etc cause error (dev/core#4562: 27399)

  • APIv4 - Fix setting nullable/required/default_value field metadata (27302)

  • Let unset weights give an e-notice (26243)

  • Add weight to a few more links (27216, 27323, 27229, 27283, 27284 and 27230)

  • Standalone: Fix ACL help/links, tweak Users and Permissions menu (27119)

  • Improve error handling by using civicrm_api3 not civicrm_api (27321)

  • Switch to using token for trxn_id, online contribution receipt (27295)

  • Delete probably-unused TrackingFields.tpl and adds a pre-upgrade message to warn people (27233 and 27276)

  • Re-enable any queues that were disabled for background processing, on end (27023)

  • Update one of our complex confirm tests to use full form flow, fix discovered failure to send to additional participants (27277)

  • Replace deprecated RegExp PHPUnit functions for v9 (27139)

  • Switch menubar search to use APIv4 & delete deprecated v3 'getquick' action (26676 and 27263)

  • EntityLookupTrait - Skip queries when looking up id (27261)

  • PHP8 date range not rendered correctly (27228)

  • **standaloneusers: logout function must be static (27265)**s

  • Afform - make summary tab names less weird (27196)

  • Afform - Ensure prefill entities are populated correctly (27615)

  • Improve initialization crash message (27138)

  • Set weight on Note Form (27106)

  • Make import parser external ID error message more helpful (27103)

  • Show which extension has a parse error in info.xml (27028)

  • E:: to make it look after the extension's translation (27027)

  • Use phpunit when running on PHP 7.3+ (27036)

  • ScheduledJob - Clean up form code & improve validation (26879)

  • Fix Domain Organization form for notices & PHP 8 compliance (27190)

  • Flush Redis prevnext cache when clearing civicrm_cache (27113)

  • Pass specific ids rather than ids array (27274)

  • Fix fatal on Manage Extensions caused by financialacls links (27264)

  • Fix weight notices on ActivityType (option values) pages (27395)

  • PseudoConstant - Prevent fatal when entity not available (27358)

  • SearchKit - Fix autocomplete filters on in-place-edit fields (27253)

  • Fix sort groups on PHP 8 (27210)

  • ContactSummary - Fix smarty notices in communication preferences section (27209)

  • Afform - Fix broken prefill functionality (27121)

  • E-notice fix - switch order of and params check around (27188)

  • Fix deprecation notice on ExecuteJob screen (27157)

  • Fix PHP8.1 repeated notice errors in Table.tpl (27137)

  • Fix notices, PHP errors on event location tab (27212)

  • Fix notices on domain.tpl by just adding what we need (27189)

  • Notice fix - schedule reminders (27154)

  • Undefined property fix (27148)

  • Notice fix on contact types browse (27153)

  • Fix e-notice by removing conditionality (27152)

  • Windows fix for CRM_Utils_File::isChildPath (27102)

  • Fix Standalone error handler: remove 5th argument (27099)

  • Fatal error fixes in PHP 8.1 (27077)

  • Path fixes (27026)

  • Fix warning caused by passing null to strpos (300)

  • kcfinder - Fix PHP 8.1 warnings from fastImage (368)

  • kcfinder - Fix cookies when running on alt HTTP port (367)

  • Smarty - Fix e-notice in modifier.escape.php (366)

  • Enotice fix (27002)

  • E-notice fix (27001)

  • E-notice fix, don't skip loading NULL fields (27048)

  • Fix missing weights on Custom data screen (notices) (27428)

  • Add weights on profile links (remove notices) (27432)

  • Fix mistake in just-merged email processor code (27408)

  • Fix undeclared properties in crufty old report (27220)

  • ajax.js - Fix undeclared variable (27269)

  • Move smarty assign to be always assigned (notices) (27207)

  • Fix undeclared property - use locally scoped variable (27090)

  • Smarty-notice fix - use array_key_exists (27117)

  • PHP 8.x fatal fix + bonus smarty consistency (27091)

CiviCampaign

  • avoid double clicks on petition page (27251)

CiviCase

  • Set link weight on manage case (27327)

  • Cannot add case type in multilingual installation with MariaDB 10.2 strict mode (dev/core#2581: 27226)

CiviContribute

  • Add contribution page tokens to contribution tokens (27201)

    Adds contribution page tokens to contribution tokens.

  • Fix Financial Items incorrectly recorded when using Payment API (26987)

  • Contribution pages with extra URL parameters lead to incorrect AJAX URL constructed in buildPaymentBlock – users cannot proceed to pay (dev/core#4487: 27037)

  • Ensure tax_amount is not null (26993)

  • Fix permission check on Contribution form, clarify underlying functions (27013)

  • Fix PHP 8.0 implode on ContributionBase (27053)

  • Show Contribution Page receipt text in offline contribution receipt (27173)

  • Fix Contribution_Tab links to have weight, improve test (27227)

CiviEvent

  • Registering a participant with Pending event payment gives misleading information. (dev/core#3410: 27288)

    Show 0 rather than nothing when paid amount is zero

  • Event Dashboard: show events that have not ended yet (27329)

    Ensure events that span more than 7 days don't disappear from the Event Dashboard before the event ends.

  • Crash when saving repeating event (dev/core#4550: 27315)

  • Replace Event Total with Total Amount on confirm/thankyou pages (dev/core#4485: 27024)

  • View and Edit links for event participants are inconsistent and in some cases do not allow editing (dev/core/#3361: 24657)

  • Fix variable leakage in online event receipt (27443)

  • Fix notice on unpaid event (27367)

  • Fix incorrect event receipt regression (27159)

  • Fix Manage Events breadcrumb regression (27095)

  • Manage event - fix too many brackets (27061)

  • Fix event templates to use end_date token (27005)

  • Ensure event ID is an integer (27363)

  • Also add event confirm text as default receipt_text for edit Participant (27160)

  • Online Event Receipt - Remove deprecated backticks (27671)

CiviMail

  • Scheduled Job, fetch_bounces with is_create_activities=1 parameter creates a new Contact using the Return-path email address which is incorrect (Work towards dev/core#2800: 27356)

    Fixes bounce processing to handle verp emails.

  • Wording changes in the Unsubscribe form (27022)

  • "New Mailing" - Unsubscribe field doesn't appear (27626)

  • Finish CiviCRM 2.1 deprecation - old-style VERP (27318)

CiviMember

  • Report improvements (Work towards dev/core#4536: 27169)

    Fixes the 'Primary Membership' filter options in the Membership Details report template.

  • Membership renewal on Feb 29 of a leap year is calculated incorrectly (dev/core#4541: 27198)

  • Add weights to membership type links (27231)

Backdrop Integration

Drupal Integration

  • phpunit.xml.dist - Fix compatibility with phpunit9 (670)

WordPress Integration

  • E2E_Core_PathUrlTest::testGetUrl_WpAdmin() fails because CiviCRM routing is confusing (Work towards dev/core#4433: 26861)

  • Plugin compatibility architecture and loss of locale on "Secondary URLs" when using Polylang (dev/wordpress#143: 27128 and 301)

Miscellany

  • phpunit.xml.dist - Update extensions to use phpunit9 format (27133)

  • APIv3 - Delete API examples (27174)

  • EntityLookupTrait - Add isDefined and getDefinition methods (27275)

  • API - Soft-deprecate civicrm_api() wrapper (27180)

  • APIv3 Explorer - Delete unused code (27181)

  • Pass in function values, rather than handling by form-name (27092)

  • Use new lookup trait to eliminate use of undefined properties userDisplayName (27259)

  • Joomla - Add placeholder to fix errors related to deleted file (27591)

  • Upgrader - Add breadcrumb guard (27518)

  • Upgrader - Add multilingual schema updates (27446)

  • CiviCampaign - Refactor civicrm_survey.recontact_interval (27268)

  • Move regex processing in EmailProcessor to handling class (27337)

  • Bump recommended PHP version to 8.1, min recommendation to 8.0 (26985)

  • Add code comments re the cleanup I didn't do (27451)

  • Fold deprecated function back into the caller (27345)

  • Replace another badly named undeclared property (27215)

  • Move no-longer-shared function back to it's form (27213)

  • Fold private function back into calling function (27145)

  • Further fix forms to full form flow (27256)

  • Move form specific code to relevant form (rather than access mostly-undeclared property) (27069)

  • Extract getDiscountID() (27049 and 27050)

  • ScheduledReminders - Rewrite entire form using metadata (27003)

  • Move form-specific check to form (27068)

  • Simplify queries of NOT NULL fields (27008)

  • Clarify doc-block for form variable (27051)

  • Separate getStatusMessage function (27015)

  • Added details for sebalis in contributor-key.xml (27039)

  • Move function to only form that calls it (27299)

  • Unconditionally assign smarty variable (27300)

  • Unconditionally assign smarty-var, remove unused variables (26051)

  • Make function private, after universe search in EmailProcessor (27309)

  • Make function private to reflect usage (27308)

  • Declare CRM_Core_Exception in cleanDir, add type hints (27306)

  • Make splitjob function static & private, Remove a couple of unused variables (27304)

  • Do the todo (move the function to the trait as suggested (27063)

  • Api4 - Remove unused key from getFields (27060)

  • CRM_Core_Form - Remove unused protected properties (27191)

  • Remove isset from Arb.xml (27224)

  • Remove some copy & paste code (27214)

  • Remove Html2text security check, package deleted (27218)

  • Remove decade-only typo (27219)

  • Remove some unnecessary variables & pass by ref (27273)

  • Remove unused profiles from offline event receipts (27150)

  • Remove unused CONST (27301)

  • Remove always-true empty check (27193)

  • Remove unusable assigns (copy & paste I believe) (26952)

  • Remove broken deprecated function (27163)

  • Remove use of sometimes-php8-warning causing _quickConfig property… (use isQuickConfig() function) (27070)

  • Remove line that gives error & does nothing (27064)

  • Remove long-broken function (27317)

  • Remove unused variable (27350)

  • Remove unused parameter, pass by reference in private function with one caller (27320)

  • Remove some unused undefined properties from participant export (27298)

  • Remove unneeded descriptions and clean up on search forms (26292)

  • Remove do-nothing code. (27047)

  • Remove excessive data handling & some unused variables (27019)

  • Remove unused parse function for Incoming Mail (27011)

  • Remove unreachable page (27305)

  • Remove, extraneous: punctuation? (27297)

  • Delete html2text, not in use (370)

  • [REF] SearchKit - Cleanup upgrade code (27042)

  • (REF) civicrm_data.tpl - Stop using Smarty's {php} (27052)

  • [REF] APIv4 - Simplify entity name gathering (27177)

  • [REF] Remove unreachable handling (27192)

  • [REF] - Cleanup managed entities to all go through hook_civicrm_managed and deprecate unnamed entities (27254)

  • [REF] Convert from session status to deprecation warning (27255)

  • [REF] Fix Notice Errors on ACL listing page by assigning fields consistently (27164)

  • [REF] Update Zetacomponents/mail to be 1.9.5 to fix email validation handling (27344)

  • Revert "[REF] Update Zetacomponents/mail to be 1.9.5 to fix email validation handling" (27394)

  • REF - Simplify inline conditionals with Elvis (27141)

  • [REF] Ensure that any NULL values in the title field are fixed prior to changing the column (27368)

  • [REF] Improve cron job handling when there is an invalid report instance id passed to mail_report job (27185)

  • [REF] Fix infinite loop when trying to load a report instance with an id that does not exist (27184)

  • [REF] PCP - Update BAO to use writeRecord/deleteRecord (27127)

  • [REF] Add pseudoconstant suffixes to xml/dao (27172)

  • [REF] 🏌️ CRM_Utils_Array cleanup (27187)

  • [NFC] Be more confident and informative in the comment for CRM_Core_Session::set() (27313)

  • [NFC] Test - Add return type hints to test functions (27186)

  • (NFC) Test class - Fix inconsistent namespace (27055)

  • [NFC] Add some email processor hooks tests (27097)

  • (NFC) Fix random test failures (27574)

  • (NFC) Fix test failure on PHP 7.3 (27714)

  • Update ca-config for better PHP 8.2 support (27550)

  • Add missing weights for hook_civicrm_links (27528, 27544, 27566, 27710)

  • Remove old tests that only test test functions (27208)

  • Concurrency Tests - Update ExternalBatch for symfony/proces v4.1+ (esp Drupal 10) (27072)

  • Simplify test (27205)

  • Test fix, towards full form flow (27067)

  • Remove never called testCleanUp function (27206)

  • Add test & fix for getOptions on options with a domain id (27161)

  • Test Cleanup - Refactor out uses of deprecated callAPIAndDocument() (27176)

  • Remove some unused parameters in test class (27166)

  • ActionScheduleTest - Update for compatibility with PHPUnit 9 (27101)

  • Unit tests - replace deprecated function with newer one (27032)

  • Fix forms to call full form flow (27250)

  • Add form helper for tests (27267)

  • Fix participantTest to not use transactions (27260)

  • Participant Form Test fixes (27245)

  • Superficial clean up in test class (27238)

  • Cleanup signature for test function getFormObject (27225)

  • Switch tests to use createTestEntity for payment processor (27217)

  • Add email helper to new form test helper (27384)

  • Fix financial transfer test to use form flow, allow all pending to transfer (27281)

  • Fix token consistency test with new lines and
    s (27314)

  • Trivial cleanup in EmailProcessorTest (27307)

  • [test] [cleanup] Move _REQUEST cleanup to tearDown (27285)

  • Update further tests to additional form flow, lock in bug fix (27279)

  • Minor cleanup in test (27282)

Credits

This release was developed by the following code authors:

AGH Strategies - Alice Frumin, Andie Hunt; ALL IN APPLI admin; Artful Robot - Rich Lott; cdhassell; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; civiservice.de - Sebastian Lisken; Coop SymbioTIC - Mathieu Lutfy; Dave D; Humanists UK - Andrew West; JMA Consulting - Seamus Lee; Just Hope - Phil Morice Brubaker; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Robert J. Lang; SebastianLisken; Squiffle Consulting - Aidan Saunders; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Damilare Adedoyin, Eileen McNaughton, Wenjun Fan; Wildsight - Lars Sander-Green

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

Agileware - Justin Freeman; Andy Clark; ASMAC (American Society of Music Arrangers and Composers) - Jeff Kellem; Australian Greens - Andrew Cormick-Dockery, John Twyman; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Guydn; JMA Consulting - Joe Murray, Monish Deb; Korlon - Stuart Gaston; Megaphone Technology Consulting - Brienne Kordis; Tadpole Collective - Kevin Cristiano; Third Sector Design - William Mortada; Tobias Voigt; yurg

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.