# CiviCRM 5.33.0
Released January 6, 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? | no |
| **Fix problems installing or upgrading to a previous version?** | **yes** |
| **Introduce features?** | **yes** |
| **Fix bugs?** | **yes** |
## <a name="features"></a>Features
### Core CiviCRM
- **Feature to provide most used countries in top section of Country select
A new option for Pinned Countries allows administrators to specify one or more
commonly-used countries to appear at the top of the select list of countries
when it appears on forms.
- **Send email to contacts when clicking on their email address on the contact's
card (Work Towards
This improves user experience by preventing tooltips from closing as long as
the user's mouse is inside of the tooltip element.
- **Unhide oauth extension
Makes the Oauth extension available for upgrade on the extensions form.
- **Support utf8mb4 so notes can save Emojis and other good things (Work Towards
When installing CiviCRM, this makes it so mysql tables are created as
utf8mb4 instead of utf8 by default.
- **crm-ui-debug - If in debug mode, then load pretty-printer for JSON data
Improves debugging experience on AngularJS-based pages by printing debug data
formatted nicely instead of as a large text blob.
- **afform_html - Include Monaco dependencies
The afform_html extension depends upon the Monaco Editor. This loads the
Monaco library as part of core CiviCRM using Composer.
- **API - Finer-grained permissions for the dashboard & dashlet entities
The API no longer requires the "administer CiviCRM" permission to access
dashboard records. Contacts with "access CiviCRM" can read dashboard records
for contacts they have access to, and write permissions for non-admins are
restricted to editing only their own dashboard.
- **Improve APIv4 metadata for RelationshipCache and Bridge entities in general
Core changes needed so that Search Kit can support joins.
- **Use trait instead of class for Entity Bridges; add OptionList trait
Improves APIv4 categorization of entities, which is then used to improve the
Search Kit UI.
- **Improve schema metadata for Search Kit
Improves the relevance of entities listed in Search Kit by only displaying
entities designated as searchable.
- **Search kit joins
Adds support for multiple and multi-layered joins in Search Kit.
- **Afform - Update fields and HTML mode in web-based editors
Improves Afform administration screens by adding descriptions for the inputs
and a way to view/edit the HTML formulation.
- **Afform - Generate dashlets based on `Afform.is_dashlet` property.
Makes it easier to expose a custom form on the CiviCRM dashboard by making it
so each Afform can be flagged with is_dashlet=1; when toggled, it will
register or unregister the dashlet.
- **Update Resource URL Helptext
Updates Resource URL field help text to accurately reflect today's best
- **Improve bootstrap3 checkbox theming
Adds some reusable styling for check boxes in Bootstrap.
- **changes social media iframes/scripts to links, simplifies markup, adds email
& bootstrap classes
Improves the display of the "Help Spread the word" section for sites using the
standard theme (Greenwich).
- **Add standard Contact fields to the Bookkeeping report template
Improves the Bookkeeping report template by adding standard contact fields.
- **Allow Angular modules to require Resource bundles
Permits Angular modules to require "bundles" from Civi::Resources.
- **Extensions UI tweak
The subheader for extensions in the listing is now the description rather than
the key. The details in the expanded listing are also reordered.
- **Cancel first contribution associated to membership, cancels the
membership (Work Towards
Extends the contributioncancelactions extension to also work for Failed
contributions, cleans up related code and adds a test.
- **Deprecate BaseIPN functions validateData & LoadObject
(Work Towards [dev/financial#148](https://lab.civicrm.org/dev/financial/-/issues/148):
Work towards simplifying the CiviContribute code.
- **Remove detail about updating related components when editing a
Removes some details from the message when editing a contribution status which
- **Add Grant v4 api
Makes the Grant entity available in APIv4.
- **Remove 'onlinePendingContribution' payment support from membership edit form
Removes "Update Payment Status" checkbox from Membership Edit Form to improve
user experience by simplifying the UI.
### WordPress Integration
- **Add action parameter to PCP shortcode
Improves the PCP short code by adding an action parameter for which the options
are "info" and "transact". When the action parameter is set to "info" the page
displays the PCP info page, when it is set as "transact" the page displays the
relevant PCP contribution form.
## <a name="bugs"></a>Bugs resolved
### Core CiviCRM
- **Multiple available languages disables kcfinder
- **upgrade can't find service
Fixes an upgrade bug where `CachedCiviContainer` has stale data after an
- **Can't export contacts
Fixes DB Error when you try to export contacts without selecting "All Primary
- **APIv4 - Fix dynamic bridge joins (used by Search Kit)
Fixes a few bugs in Search Kit where extra rows were returned due to a
misconstructed join in APIv4, or in some cases the join would completely fail.
- **afform - Get default field `<label>` from `label` instead of `title`
Updates afform/core and afform/gui to use better default labels -- e.g.
when you add the gender_id field, it should default to "Gender" (label)
instead of "Gender ID" (title).
- **afform/gui - Fix rendering of the "Form Settings"
Ensures that "URL" and "Permissions" are displayed on the Afform Form Settings
- **Fix undeclared afform requirement of ngRoute
Fixes a crash when embedding an afform directive on other Angular pages.
- **Do not attempt to obsolete primary key on log tables (Work Towards
- **BUG: when changing a group option value CiviCRM does not update existing
- **Reports cannot filter for Contacts with multiple selections in a
multi-select Custom Field
- **Custom fields of type "Integer" with radio buttons can cause Advanced Search
to break ([dev/core#2188](https://lab.civicrm.org/dev/core/-/issues/2188):
- **E_NOTICE when calling CRM_Core_BAO_SchemaHandler::createTable with logging
turned on ([dev/core#2190](https://lab.civicrm.org/dev/core/-/issues/2190):
- **E_NOTICE when creating custom field of type select
- **APIv3 - Fix legacy handling for html_type Autocomplete-Select
- **Fix Invalid argument PHP warning
- **DispatchPolicy - Actively report any upgrade problems with
- **Fix failure to assign view tpl variables to view page if context=search is
in the url ((https://github.com/civicrm/civicrm-core/pull/19189))**
- **Check for membership type fee before applying tax
- **Don't break clickthrough URLs when there's leading whitespace
- **Add a way to choose between nl_NL and nl_BE
- **Ensure "civicrm_initialized" action only fires once
- **Search kit - fix bugs introduced during refactoring
- **Fix "Save Matching Contact" button ([dev/core#2287](https://lab.civicrm.org/dev/core/-/issues/2287):
- **Campaigns > Reserve Respondents causes SQL error
Fixes a bug where searching for respondents to a campaign resulted in a SQL
- **Next scheduled recurring date set to 0 - details emerging (Work Towards
Fixes failure to calculate next_scheduled_date for contribution series
initiated on CiviCRM 5.29 or later.
- **Paypal Standard IPNs not being correctly handled leaving contributions as
Pending (incomplete transaction) (Work Towards
Prevents PayPal from double-encoding the IPN Notify URL.
- **Orange Paypal Pro button not redirecting properly after reCaptcha on Paypal
- **civicrm_api3_contribution_transact deprecation message has broken docs link
- **Handle possibility of fee_amount = ''
- **"Self-service eligibility" has incorrect behavior when "hours to cancel" is
Don't allow self-service cancelling after an event when 'hours to cancel' is
- **Find Participants: Broken "Edit" button
- **E_NOTICE when deleting participant
- **CiviEvent - Error registering participants via search task
- **Event Full: fix translation regression
- **Export selected entries in Membership search results when selecting fields:
all results are returned, not selected entries
### Drupal Integration
- **Wrong link to Drupal's permissions page
Ensure that the link to Drupal Access Control points to the right place
regardless of which Drupal version you are using (it was broken for Drupal 8
- **D8/D9 Fix Session Start Handling
- **Update civicrm.module install links
### WordPress Integration
- **Upgrade CiviCRM 5.28.3 to 5.30.0 with Clean URLs and WordPress Base Page
"CiviCRM" breaks Mosaico IMG URLs and Email Tracked URLs (Partial Fix For
Ensures WordPress does not show a 404 when wpBasePage is saved in mixed-case
(e.g. "CiviCRM") and that it renders CiviCRM content as expected.
- **Fix assignment of base page template
## <a name="misc"></a>Miscellany
- **Standardise more params in completeOrder
- **Fix mglaman mapping
- **Fix APIv4 test to assert an exception is thrown
- **Menu links for Petitions, Surveys do not open correct tab (Cleanup towards
- **Handle emojis less fatally where not supported (Test for
- **Clean up search actions in core to make them available from search builder
(Clean Up Towards [dev/core#2066](https://lab.civicrm.org/dev/core/-/issues/2066):
- **finish 'this round' of completeOrder
cleanup(Work Towards [dev/financial#152](https://lab.civicrm.org/dev/financial/-/issues/152):
- **Minor code cleanup - dedupe isNull checks
- **Rewrite jquery.dashboard.js as Angular app
- **Delete outdated/unused crmExample Angular module
- **Deprecate UFGroup::add parameter ids
- **Extract function that generates upgrade link for extensions
- **[REF] For the time being have phpcs ignore eval usages
- **[REF] Remove xssString as it is providing a false sense of security
- **[REF] Minor variable cleanup
- **[Ref] Use variables directly
- **[REF] Remove always FALSE variable from transitionComponents
- **[REF] Decouple crmD3 angular module from CiviMail
- **[REF] Remove xssString as it is providing a false sense of security
- **[REF] remove obscure use of objects from A.net
- **[REF] Simplify sendNotification determination
- **[REF] Stop passing objects to recur in paypal pro - pass specific objects
- **[REF] remove obscure use of objects from Anet.ipn
- **[REF] Remove code Coleman hates
- **[REF] Simplify single function to receive contribution not objects
- **REF Simplify tokenProcessor code
- **[REF] Cleanup Ang modules in core to follow conventions
- **[REF] Remove excess handling around contact_id
- **Remove extra handling around contact id
- **Remove unused hook_civicrm_crudLink and switch to using metadata for
- **Remove use of nullArray in delete hooks
- **Remove legacy check
- **Remove some deprecated code
- **Remove support for pre 4.2 Civi in drush
- **Remove always-true if
- **Remove always true if
- **Remove return value on transitionComponents
- **Remove unused params, return params from processFail
- **Remove unused parameters from cancel
- **[NFC] Add in an Emoji test for APIv3 as per Eileen's PR
- **[NFC] Remove boilerplate comment from .ang.php files
- **[NFC] Minor margin tidy up
- **[NFC] Follow-on to 18963 to add example setting in civicrm.settings template
for setting CMS inheritance for nl_BE
- **[NFC] Make all files conform to CiviCRM code styling
- **[NFC] Housekeeping
- **[NFC] Refactor plugin for greater clarity
- **MembershipRenewalTest - Address assertions that started failing circa Jan 1,
- **Fix various `ts()` strings ((https://github.com/civicrm/civicrm-core/pull/19333))**
## <a name="credits"></a>Credits
This release was developed by the following code authors:
AGH Strategies - Alice Frumin, Andrew Hunt; Alexy Mikhailichenko; Asylum Seekers
Centre; Bluehorn Digital - Matt Glaman; Christian Wach; CiviCRM - Coleman Watts,
Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; CompuCorp - René Olivo; Coop
SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; enCircle Solutions Ltd. -
Darren Woods; Giant Rabbit - Peter Haight; JMA Consulting - Seamus Lee;
Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
Nicol Wistreich; Squiffle Consulting - Aidan Saunders; Tadpole Collective -
Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
a-n The Artists Information Company - William Mortada; Agileware - Justin
Freeman; CiviDesk - Nicolas Ganivet; Freeform Solutions - Herb van den Dool;
MJCO - Mikey O'Toole; Semper IT - Karin Gerritsen
## <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`.