# CiviCRM 5.35.0
Released March 3, 2021
- **[Bugs resolved](#bugs)**
## <a name="synopsis"></a>Synopsis
| *Does this version...?* | |
| Fix security vulnerabilities? | no |
| **Change the database schema?** | **yes** |
| **Alter the API?** | **yes** |
| **Require attention to configuration options?** | **yes** |
| **Fix problems installing or upgrading to a previous version?** | **yes** |
| **Introduce features?** | **yes** |
| **Fix bugs?** | **yes** |
## <a name="features"></a>Features
### Core CiviCRM
- **Improve activity import to support updates (Work Towards
Ensures when importing activities, activity fields are not required if the
activity id is present, so that one can update existing activities via import.
- **Proposal - make 5.33 the last CiviCRM version to support php 7.1 (agreed)
and mysql 5.6 (deferred) (& equivalent MariaDB version) (Work Towards
Update the minimum php install version to be 7.2.
- **Add explicit box-sizing to crm-flex-box style
Ensures consistent box sizing when using the new `crm-flex-box` css class,
for consistency with or without Bootstrap 3.
- **Search-kit - better user experience for bulk updates
Adds a batch system to search kit. This avoids server timeouts, and improves
the user experience.
- **Searchkit - separate calls for results & count
Improves SearchKit results loading time in the admin UI.
- **Searchkit - activity record type not intuitive
Makes joins in SearchKit more intuitive by automatically adding commonly-used
- **SearchKit: Add support for multi-record custom field groups
Adds support in SearchKit for multi-record custom field group pseudo-entities
to be added to the search as joins.
- **Modifying lists of Country/StateProvince/County (Work Towards
Adds an `is_active` field to Country, StateProvince and County elements so
that they can be disabled.
- **APIv4 - Enable getFields to find fields across implicit FK joins
Makes it possible to return fields from other entities using APIv4.
- **Add v4 pledge api
Adds the Pledge entity to APIv4.
- **Add pledge payment api
Adds the Pledge Payment entity to APIv4.
- **Payment API - Add description of `order_reference` parameter
Adds a spec for the `Payment.order_reference` parameter so that is shows up in
the API explorer and is a little more discoverable.
- **API Explorer - Fix URL encoding in REST examples
Improves the REST examples generated in "Support => Developer => Api Explorer
- **Search Builder - Enhance UI with Select2 and EntityRef
Improves the UI of Search Builder (the classic one in core, not the new Search
Kit extension) by using Select2 dropdowns for selecting options &
autocompleting contacts, events, etc instead of needing to enter numeric ids.
- **Add "label_field" metadata to entities
Adds a "label_field" metadata to the schema for entities so that one can know
how a entity should be displayed by looking at the metadata.
- **Select2 - Improve styles for disabled, loading elements
Improves Select2 user experience in Greenwich.
- **Tabbed interface for organizing afforms by type
Creates afform types and a tabbed interface in the Admin section, and adds
support for embedding search displays into afform fieldsets.
- **Add setting default to speed up cache flush
Adds a define to civicrm.settings.php that speeds up cache flushes
- **Add pseudoconstant for Relationship.relationship_type_id
Updates the relationship schema to add a pseudoconstant to the
- **Unhide contributioncancelactions core extension
Makes the Contributioncancelactions extension visible and disabling it
- **Support tracking URLs with tokens in query strings
When delivering a mail-blast, Flexmailer replaces most URLs with trackable
URLs. This expands tracking support for URLs that include tokens.
### Drupal Integration
- **allow filtering by empty event end, registration start, registration end
Makes it possible to filter by empty event date fields in views.
- **Advice in failure message is out of date
Improves error message when unable to load CRM/Core/Config.php.
## <a name="bugs"></a>Bugs resolved
### Core CiviCRM
- **search on relationship and case
Ensures Advanced search filters correctly when displaying related contacts and
searching with case parameters.
- **Don't check for .git in the isDevelopment() function
Deprecates direct calls to `isDevelopment()`.
- **Adding Contacts to a New Group via Manage Groups Page Failure
Fixes an issue when creating a group from a letter page of search results.
- **Oauth Redirect URL reporterror_civicrm_handler
Ensures when using the Oauth extension, setting a fatalErrorHandler does not
override the redirect url.
- **Search Kit: Search kit, contribution search - financial type field is odd
Fixes two SearchKit bugs:
- Contribution Search, financial type return empty
- Preview button on table display form not working
- **Afform - Misc tweaks, validation & bug fixes
Adds basic validation to server_route in the Afform GUI, only permitting
paths beginning with "civicrm/". Also re-labels the menu item and page
title to "Form Builder" and resets server_route and is_dashlet when cloning.
And fixes several bugs in Afform & Search Kit.
- **Afform - Fix form submit button
Ensures clicking Submit on an afform actually submits the form.
- **Afform GUI enhancements & Search Kit integration
Fixes errors in afform GUI when creating a new block from the admin screen and
when clicking "Save as Block"
- **Afform - Drop directive support for attribute, only support elements as
afforms ((https://github.com/civicrm/civicrm-core/pull/19438) and
Afform no longer responds to attributes set for standard HTML elements; you
must use a special element to invoke an Afform.
- **Greenwich - fix list margin added by some CMS themes
Fixes a style conflict between some CMS themes and Greenwich, causing tabs to
shift to the right.
- **Flag that Embedded Activity Revisions setting is unsupported and deprecated
Adds more documentation to the 'Enable Embedded Activity Revisions' setting to
make it explicit that it is deprecated.
- **Use php to require an array
Removes is_array check in favor of php strict typing.
- **Fix rendering of Dashlet placeholder
Prevents panel jumping when dragging dashlets.
- **Dashboard: Improve status messages when moving/deleting dashlets
Ensures a in-progress message is displayed when moving/deleting dashlets.
- **Using %1%2 in ts() generates confusing output in transifex
- **Upgrader (5.34) - Handle unsavable characters in decoded SMTP password
This resolves upgrade problems as older sites upgrade through 5.34.0, have
encrypted SMTP credentials, and have 8-bit characters.
- **Issue with importing to checkbox type fields where label is the same as
database value (may affect other types too)
- **Logging tables shown as 'different' incorrectly after upgrading to MariaDB
- **Mapping a contact gives invalid argument supplied.
- **Inconsistent line breaks on custom field edit page for description text
- **Creating an afform without civicrm/ in the url breaks the site
- **Afform api explorer: has_local, has_base do not present as bool
- **APIv4 - Fix bug when using relative date filters in ON clause of a join
- **Search Kit - Fix display pager and improve error handling
- **Afform - delete unused, nonfunctional apis
- **Afform GUI - Fix errors when creating & saving blocks
- **Greenwich: Fix BS3 conflict with html5 search clear button
- **Move require once in api kernel to support edge cases
- **Token Processor: fix PHP syntax for purifyHTML
- **Do not set source_contact_id in summary function
- **Fix missing translate tag
- **composer.json - Ignore unused variants of Monaco ("dev"/"esm")
- **"Admin => Misc" - Fix validation of "Maximum File Size"
- **Fix Redis deprecated warning
- **SearchKit : use of rows in query cause mysql errors
- **Decimal Separator - Incorrect format in some views and editions
- **Account IIF Export Amount Format improper
This resolves inconsistency in the money formatting where the currency symbol
would be added inappropriately.
- **Some Multi-Select Custom Fields cannot be saved
This resolves the problem that multi-select fields with integer, number, or
money data types could not have data stored in them.
- **Dashboard Query failed to detect existing record for contact
This resolves a crash on the CiviCRM dashboard if a user lacks the permission
to view their own contact.
- **Custom Field of type Integer that uses Radio Buttons as Input Type in
combination with search range scrambles Case Report Search
- **Upgrading an old site with spaces in the case type names and external xml
files leads to difficult to resolve status messages
- **Sample xml casetype configuration files have label instead of name in the
- **Use exceptions when enabling case component / checking for 'CREATE VIEW'
- **Fix pledge action on failed/ cancelled contribution
Ensures that Pledge payments are correctly updated when a contribution is
cancelled or fails.
- **Undefined index when putting in a contribution thank-you date without a time
- **Cannot edit contribution with revenue recognition date in a past year
- **Notice: Undefined property: CRM_Core_DAO::$_context in
CRM_Utils_PagerAToZ::createLinks() on contribution page listing
- **Set contribution_page_id from template contribution
- **Fix pledge to not use pass-by-reference
- **Update permissions for "CiviCRM Admin Menu -> Mailings -> Message Templates"
nav item ((https://github.com/civicrm/civicrm-core/pull/19342))**
Updates the permissions for the "CiviCRM Admin Menu -> Mailings -> Message
Templates" navigation item so that if the user has any of the following
permissions they can view it:
- edit user-driven message templates
- edit system workflow message templates
- edit message templates
- **When two contacts, Contact A and Contact B have the same email address, if
Contact A is deleted then Contact B is incorrectly excluded from mailings,
does not receive emails
- **Show disabled membership types on contact tab
- **Fix PHP notice if membershipBlock is not defined
### Backdrop Integration
- **UF Settings page for Views CiviCRM integration should not have backticks for
### Drupal Integration
- **Override the DrupalBase getUserObject function with a Drupal8/9 compatible
Fixes an error when using the APIv3 `User` entity on Drupal 9.
- **Drupal7: civicrm_rules - Add/Remove contact from CiviCRM Group works with
deprecated method on removal
- **Drupal9: system_get_info() not available. CiviReport crash.**
- **Fix deceased date format
### WordPress Integration
- **List of groups in search form and create new contact screen not respecting
## <a name="misc"></a>Miscellany
- **Bump socket.io from 2.3.0 to 2.4.1
- **Afform - code refactoring for angular best practices
- **Token plan - what is it (Code Cleanup for
- **Deprecate BaseIPN functions validateData & LoadObject
- **Comment intent to remove call to transition components
- **CRM_Core_BAO_MessageTemplate::sendReminder() is not used anywhere
- **Move another deprecated utils function
- **Deprecate Pledge::add() function
- **Cleanup a couple of unnecessary references
- **Update contributor-key.yml
- **update contributor-key.yml and CONTRIBUTORS.txt file
- **Remove unnecessary call to error_reporting in drupal 7 integration code
- **Remove call to loadRelatedObjects
- **Remove always true if
- **Remove another use of loadRelatedObjects() function
- **Test framework - API4 DateTest::testRelativeDateRanges will fail on the last
day of Jan, Mar, May, Aug, Oct
- **[Test framework] Prevent intermittently failing relationship test
- **[Test] Extend new membership form to cover multi-line renew + minor cleanup
- **[REF] Remove some of those old php4 &s
- **REF Move buildMembershipBlock function from ContributionPage to
- **REF Permit installing of replacement extensions during upgrade for ob…
- **[REF] Remove objects var from PaypalProIPN
- **[REF] Remove seemingly unreachable attempt to format activity_date_time
- **[REF] Move related code to be together
- **[REF] Simplify activity import validation
- **[#REF] Cleanup recently added code fixing dev/core#2307 for the fact …
- **[REF] Move instantiation of Order class to earlier in function
- **[REF] Remove copy & paste code from Activity mapping form
- **[REF] Fix Order class to not reload if already loaded
- **[REF] Move code closer to where it is used
- **[REF] Param simplification
- **[REF] Minor cleanup on emailReceipt
- **REF Ensure that when doing RLIKE BINARY the field is cast as BINARY t…
- **[REF] Remove function that is the same as parent
- **[REF] Standardise methods of determining isTest
- **REF Update CiviCRM default PEAR Error handling to be exception rather…
- **[REF] Extract logical functions from sendTemplate
- **[REF] Move sendNotification out of recur, remove unused related_contact
- **[REF] Remove invalid attempt to load contriution id from invoiceID
- **[REF] Stop passing contributionPageID to isEmailReceipt
- **[NFC] Fix PHP 7.4 Syntax issue in Afform HTML Extension
- **[NFC] Update composer.lock
- **[NFC] Whitespace fix up
- **[NFC] Preliminary cleanup
- **NFC Minor code cleanup to contribution pages
- **[NFC] minor code cleanups
- **[NFC] Update contributor-key.yml with Ahed
- **[NFC] Minor code cleanup
- **[NFC] Move Upgrade for navgation from 5.34.alpha1 to 5.35.alpha1 as t…
- **(NFC) Regenerate civicrm_generated.mysql
- **[NFC] - Remove literally empty if block
- **[NFC] Update Schema Handler to use the standard create table syntax of using
## <a name="credits"></a>Credits
This release was developed by the following code authors:
AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman;
Christian Wach; CiviCoop - Jaap Jansma, Klaas Eikelboom; CiviCRM - Coleman
Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Ahed Eid; Coop
SymbioTIC - Mathieu Lutfy; Dave D; ECOPLAN - Torben Bertram; Freeform
Solutions - Herb van den Dool; iXiam - Vangelis Pantazis; JMA Consulting -
Seamus Lee; John Kingsnorth; Megaphone Technology Consulting - Jon Goldberg; MJW
Consulting - Matthew Wire; Skvare - Sunil Pawar; Stephen Palmstrom; Wikimedia
Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan
Dixon; Fuzion - Jitendra Purohit; JMA Consulting - Monish Deb; MJCO - Mikey
O'Toole; StijnVanhandsaeme; Tadpole Collective - Kevin Cristiano
## <a name="feedback"></a>Feedback
These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
and contact `@agh1`.