# CiviCRM 5.8.0
Released December 5, 2018
- **[Synopsis](#synopsis)**
- **[Features](#features)**
- **[Bugs resolved](#bugs)**
- **[Miscellany](#misc)**
- **[Credits](#credits)**
- **[Feedback](#feedback)**
## Synopsis
| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
| Fix security vulnerabilities? | no |
| Change the database schema? | no |
| **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
- **Configurable quicksearch settings
([13039](https://github.com/civicrm/civicrm-core/pull/13039) and
[13056](https://github.com/civicrm/civicrm-core/pull/13056))**
This permits (some) custom fields to be added to quicksearch as searchable
fields. By adding a setting in Search Preferences to configure the search
fields in the quicksearch box in the menu bar.
- **Permit additional (freeform) relative date filters - e.g 'last 18 months',
'last 45 days' ([12682](https://github.com/civicrm/civicrm-core/pull/12682))**
This change adds support for a greater range of date options for relative
searches (e.g last 45 days, last 18 months). It requires option values to be
added by an extension or by an experienced admin, and has a limited UI.
- **Allow contribution search by recurring payment processor ID / Transaction ID
([12818](https://github.com/civicrm/civicrm-core/pull/12818))**
This change adds three new fields to the contribution search form: recurring
contribution transaction ID, payment processor ID and processor ID.
- **[dev/core#495](https://lab.civicrm.org/dev/core/issues/495) Migrate simple
Preferences & Settings forms to using a Generic class.
[13054](https://github.com/civicrm/civicrm-core/pull/13054),
[13062](https://github.com/civicrm/civicrm-core/pull/13062),
[13047](https://github.com/civicrm/civicrm-core/pull/13047),
[13046](https://github.com/civicrm/civicrm-core/pull/13046),
[13048](https://github.com/civicrm/civicrm-core/pull/13048),
[13040](https://github.com/civicrm/civicrm-core/pull/13040),
[13004](https://github.com/civicrm/civicrm-core/pull/13004),
[13026](https://github.com/civicrm/civicrm-core/pull/13026),
[13027](https://github.com/civicrm/civicrm-core/pull/13027),
[13025](https://github.com/civicrm/civicrm-core/pull/13025),
[12731](https://github.com/civicrm/civicrm-core/pull/12731),
[12940](https://github.com/civicrm/civicrm-core/pull/12940),
[13022](https://github.com/civicrm/civicrm-core/pull/13022),
[13023](https://github.com/civicrm/civicrm-core/pull/13023),
[12906](https://github.com/civicrm/civicrm-core/pull/12906),
[12919](https://github.com/civicrm/civicrm-core/pull/12919),
[12925](https://github.com/civicrm/civicrm-core/pull/12925) and
[12960](https://github.com/civicrm/civicrm-core/pull/12960)**
Introduce generic settings form (fully metadata driven) - this provides a
supported methodology for extensions to add settings forms and to alter core
settings forms (albeit not all core forms are converted to that point).
- **Add icons to contact summary tabs
([13018](https://github.com/civicrm/civicrm-core/pull/13018))**
This change makes it so that an extension using hook_civicrm_tabset can
specify icons for the contact summary tabs. If no icon is specified
fa-puzzle-piece is used.
- **Extract selectedChild tabheader functionality and enable for Manage Events
([12747](https://github.com/civicrm/civicrm-core/pull/12747))**
This takes the existing functionality of adding "selectedChild=" to a url for
a tabbed page and makes it work across all the pages tabs. The tab will have
an id of 'tab-x' where x is the thing to use after '='.
This change adds the ability to link to a specific tab for an event (and
generally cleans up the code related to linking to tabs).
- **Fix search performance issues and reliability on some characters issues by
removing lower case double-conversion
([12494](https://github.com/civicrm/civicrm-core/pull/12494),
[13035](https://github.com/civicrm/civicrm-core/pull/13035),
[13034](https://github.com/civicrm/civicrm-core/pull/13034),
[12993](https://github.com/civicrm/civicrm-core/pull/12993),
[12987](https://github.com/civicrm/civicrm-core/pull/12987),
[12988](https://github.com/civicrm/civicrm-core/pull/12988),
[12991](https://github.com/civicrm/civicrm-core/pull/12991),
[13053](https://github.com/civicrm/civicrm-core/pull/13053) and
[13055](https://github.com/civicrm/civicrm-core/pull/13055))**
These changes make performance improvements to searching by moving from using
the php strtolower function and mysql LOWER function to mysql handling
comparing strings in a non case specific way.
- **[dev/core#6](https://lab.civicrm.org/dev/core/issues/6) Add help text for
"is public" setting on form to edit custom field sets
([13060](https://github.com/civicrm/civicrm-core/pull/13060))**
This change improves user experience of the form to edit custom field sets by
adding help text to the field "Is this Custom Data Set public?".
- **[dev/core#463](https://lab.civicrm.org/dev/core/issues/463) Add in support
for Extension Utils when generating DAO files for Extensions
([12986](https://github.com/civicrm/civicrm-core/pull/12986))**
When creating a new entity (e.g DiscountItem) via an extension the new entity
will need a DAO class. Our Civix code currently supports this - at least
somewhat - but will not wrap any translatable strings with ts rather than the
(correct for extensions) E::ts . Adding this to core will allow civix to
leverage it to better create extension DAO objects.
- **Continue ongoing work to replace jcalendar with datepicker widget - event
search form search to datepicker and cleanup template
([12978](https://github.com/civicrm/civicrm-core/pull/12978)) and participant
registration form
([12979](https://github.com/civicrm/civicrm-core/pull/12979)) and manage
events fees page ([12977](https://github.com/civicrm/civicrm-core/pull/12977))
and manage events registration page
([12975](https://github.com/civicrm/civicrm-core/pull/12975)) and relationship
form ([12972](https://github.com/civicrm/civicrm-core/pull/12972)) and event
fees page ([12992](https://github.com/civicrm/civicrm-core/pull/12992)) and
Update subscription form
([12868](https://github.com/civicrm/civicrm-core/pull/12868))***
These changes move date picking fields from using jcalendar to use the
datepicker widget in the following places: Event Search form, Participant
Registration Form, Manage Event Fees Page, Manage Events Registration page,
Relationships form, Event Fees page and the Update Subscription form.
- **[dev/core#472](https://lab.civicrm.org/dev/core/issues/472) Allow for
CiviCRM APIv3 Explorer to find API Examples in extensions in the format of
api/v3/examples/Entity just in the same format as core
([13006](https://github.com/civicrm/civicrm-core/pull/13006))**
This change makes it so that APIv3 Explorer displays examples found in
extensions.
- **Translate description in DAO files
([13005](https://github.com/civicrm/civicrm-core/pull/13005))**
This change makes it so that the Description field in the DAO is translated so
that if the getfields api returns the translated string.
- **Replace translation and calendar image icons
([13003](https://github.com/civicrm/civicrm-core/pull/13003))**
This change makes it so that translation and calendar symbols use font
icons instead of images.
- **[dev/core#457](https://lab.civicrm.org/dev/core/issues/457) Add new hook
exportIds ([12957](https://github.com/civicrm/civicrm-core/pull/12957))**
This change extends CRM_Utils_Hook::export($exportTempTable, $headerRows,
$sqlColumns, $exportMode, $componentTable, $ids); so that it can return id
columns.
- **CRM_Core_Resources - Allow container to swap the implementation
([12959](https://github.com/civicrm/civicrm-core/pull/12959))**
This change makes it so that CRM_Core_Resources can be modified in an
extension using the hook hook_civicrm_container.
- **Do not treat an empty array as not set in caches.
([12784](https://github.com/civicrm/civicrm-core/pull/12784))**
This change improves performance by respecting empty arrays as a cache hit.
- **Fix typo in hook that enables links to be added to a block
([12913](https://github.com/civicrm/civicrm-core/pull/12913))**
This change fixes the $op sent to hook_civicrm_links($op, $objectName,
$objectId, &$links, &$mask, &$values) from CRM_Core_Block to accept
create.new.shortcuts in addition to create.new.shorcuts (the misspelled op
name before this change).
- **Send an 500 http response code when an exception is encountered.
([11821](https://github.com/civicrm/civicrm-core/pull/11821) and
[12902](https://github.com/civicrm/civicrm-core/pull/12902))**
This change makes it so that instead of always exiting with a 200 code, When
CRM_Utils_System is called with a status > 0, CiviCRM exits with a 500 code.
- **Register "short" and "long" cache services
([12873](https://github.com/civicrm/civicrm-core/pull/12873))**
This change makes it so that extension developers can use Civi::cache('short')
or Civi::cache('default') for a short-lived/latency-optimized PSR-16 cache or
Civi::cache('long') for a long-lived/durability-optimized PSR-16 cache before
this change only Civi::cache('default') was available.
- **Remove crm.admin.js
([12884](https://github.com/civicrm/civicrm-core/pull/12884))**
This change is both a performance improvement (removes an unnecessary
javascript file) and a ui improvement because it improved the icon picker ui.
- **Style improvement of radio form elements
([12736](https://github.com/civicrm/civicrm-core/pull/12736))**
This change adds more space between radio form elements and their labels.
- **Use description from schema if available when using entityForm
([12971](https://github.com/civicrm/civicrm-core/pull/12971))**
This change adds the ability to show the description from the entity schema
instead of hardcoding it in the class when using entityForm.
- **On reports make current employer available as a field for display
([12904](https://github.com/civicrm/civicrm-core/pull/12904))**
This change makes it so that the field "Current Employer" is available as a
column on reports.
- **[dev/core#487](https://lab.civicrm.org/dev/core/issues/487) Replace ancient
menubar plugin with something responsive
([13804](https://github.com/civicrm/civicrm-core/pull/13084)) (preliminary
work)**
This makes some behind-the-scenes changes in order to support a new
[SmartMenus-based menu extension](https://github.com/aydun/uk.squiffle.kam)
that is anticipated to replace the current menu in core.
### CiviCase
- **Added relationship active filter in CiviCRM Case reports.
([12711](https://github.com/civicrm/civicrm-core/pull/12711))**
This change adds a filter for is relationship active to CiviCRM Case reports.
### CiviContribute
- **Add validate api action for ContributionPage.submit
([12829](https://github.com/civicrm/civicrm-core/pull/12829))**
This change ensures that api calls using the action
ContributionPage.submit check that the parameters are valid for the form.
- **[dev/financial#33](https://lab.civicrm.org/dev/financial/issues/33) Proposal -
Add in hook alterPostIpn or similar
([12928](https://github.com/civicrm/civicrm-core/pull/12928))**
This change adds a hook alterIPNData which allows extension authors the ability
to do custom processing on IPNs such as sending google analytics information
based on the IPN data.
- **Show contact name on recurring contribution view and improve consistency
with Contribution/Membership view
([12819](https://github.com/civicrm/civicrm-core/pull/12819))**
This change improves the ui by including the Contact name in the view of a
recurring payment.
- **Show recurring contribution links based on payment processor capabilities
([12821](https://github.com/civicrm/civicrm-core/pull/12821))**
This change makes it so that the edit link for recurring contributions is
hidden/shown based on the payment processor capabilities.
### CiviEvent
- **Mark event start date as required and refactoring
([13049](https://github.com/civicrm/civicrm-core/pull/13049))**
This change makes it so the event start date field has a red * next to it to
indicate that it is a required field.
### CiviMail
- **[dev/core#481](https://lab.civicrm.org/dev/core/issues/481) New
Organization: There is no possible to uncheck in the field "Bulk Mailings?"
([13019](https://github.com/civicrm/civicrm-core/pull/13019))**
This change improves the UI when creating a new organization by making the
"Bulk Mailings" field a checkbox (that can be checked and unchecked) instead
of a radio that once checked cannot be unchecked.
- **Adding [CiviMail Draft] on test mailing (for mosaico)
([12758](https://github.com/civicrm/civicrm-core/pull/12758))**
This change adds the text [CiviMail Draft] to the subject of any email that is
sent using the send test functionality.
- **[dev/core#456](https://lab.civicrm.org/dev/core/issues/456) Improve UX of
scheduling mass SMS
([13001](https://github.com/civicrm/civicrm-core/pull/13001))**
This change improves the UI of the schedule SMS mailings form by making it so
one has to choose "Send Immediately" OR "Schedule SMS". Before this change one
could check the box to "Send Immediately" AND a date to Schedule SMS.
### Drupal Integration
- **[CRM-17667](https://issues.civicrm.org/jira/browse/CRM-17667) Drush: Mail
queue processing does not work
([354](https://github.com/civicrm/civicrm-drupal/pull/354))**
This change makes it so one can use the drush command `drush
civicrm-process-mail-queue` to execute the scheduled mailing job.
- **Add a drush command to rebuild SQL triggers
([545](https://github.com/civicrm/civicrm-drupal/pull/545))**
This change makes it so that the drush command `drush
civicrm-sql-rebuild-triggers` rebuilds triggers and can dump the SQL commands
into a file.
## Bugs resolved
### Core CiviCRM
- **[dev/core#477](https://lab.civicrm.org/dev/core/issues/477) Print Summary is
missing some contact info
([13030](https://github.com/civicrm/civicrm-core/pull/13030))**
This change fixes a bug where when using the action "Print Summary" for a
contact record the employer and job title were not being printed in the
summary so that the employer and job title fields are printed.
- **[dev/core#119](https://lab.civicrm.org/dev/core/issues/119) Notice error
([13063](https://github.com/civicrm/civicrm-core/pull/13063))**
Fixes a bug where when going to view a location of an event (a url like:
/civicrm/contact/map/event?eid=3&reset=1) would result in an undefined
variable notice so that no notice is thrown.
- **PHP 7.3 support (Fix misplaced hyphens in regex)
([13064](https://github.com/civicrm/civicrm-core/pull/13064))**
This change fixes a bug for users with a PHP 7.3 where importing contributions
with custom field values would result in an error message "preg_match():
Compilation failed: invalid range in character class at offset 7" when
creating a new contribution with custom field values
- **[dev/core#287](https://lab.civicrm.org/dev/core/issues/287) Child groups
with all parents disabled shows in group list
([12797](https://github.com/civicrm/civicrm-core/pull/12797) and
[13061](https://github.com/civicrm/civicrm-core/pull/13061))**
This change ensures that when a parent group is disabled, so are its children
groups.
- **Fix custom Home URL parsing
([13031](https://github.com/civicrm/civicrm-core/pull/13031))**
This change fixes a bug where Custom Home URLs without a query string would
result in an E_NOTICE and fragments would be removed from the URL so that no
E_NOTICE is thrown and fragments are not removed from the custom url.
- **Fix Activity api to cope with renamed record type labels (e.g renaming
'Target' to 'Directed At')
([13008](https://github.com/civicrm/civicrm-core/pull/13008))**
This change makes it so the Activity API filters activity contacts options
based on the option name instead of the option label.
- **[dev/core#474](https://lab.civicrm.org/dev/core/issues/474) Missing log
table warning on status page even if logging is disabled.
([13010](https://github.com/civicrm/civicrm-core/pull/13010))**
This change makes it so that the "Missing log table" warning only shows up if
logging is enabled.
- **[dev/translation#15](https://lab.civicrm.org/dev/translation/issues/15)
Backend credit card contribution are left as Pending if contribution statuses
are localized ([12999](https://github.com/civicrm/civicrm-core/pull/12999))**
This fixes a bug where backend credit card contributions were being set as
"Pending" if contribution statuses were localized so that if contributions
statuses are localized backend credit card contributions are set
appropriately.
- **api bug - Fix mishandling of mixed case strings in some api requests on
custom values([12930](https://github.com/civicrm/civicrm-core/pull/12930))**
This change makes it so that the custom data api searches for custom data with
uppercase letters correctly.
- **Add ts to untranslated string
([12989](https://github.com/civicrm/civicrm-core/pull/12989))**
This change ensures the text "Error" is translated on error messages thrown
when processing an image on a contact.
- **[dev/core#459](https://lab.civicrm.org/dev/core/issues/459) Fix "crmURL"
parameters in various templates
([12968](https://github.com/civicrm/civicrm-core/pull/12968))**
This fixes a bug where some URLs were being generated with double & (e.g.
`http://civicrm.local/wp-admin/admin.php?page=CiviCRM&q=civicrm/contact/view/delete&&reset=1&delete=1&cid=202`).
- **[dev/core#412](https://lab.civicrm.org/dev/core/issues/412) Avoid truncated
UTF-8 strings when using substr()
([12935](https://github.com/civicrm/civicrm-core/pull/12935))**
This change fixes a bug where export forms with custom group names with a
UTF-8 character at the 10th character were not allowing users to pick fields
to export properly so that one can pick multiple fields for export on the
export form with custom group names with a UTF-8 character at the 10th
character.
- **[dev/core#452](https://lab.civicrm.org/dev/core/issues/452) Error when
exporting CSV batch (PHP 7.1)
([12946](https://github.com/civicrm/civicrm-core/pull/12946))**
This change fixes a bug for users using PHP 7.1 where exporting csv batches
would crash so that users using PHP 7.1 can export csv batches.
- **Status page: hush menu should be on top of other headers
([12936](https://github.com/civicrm/civicrm-core/pull/12936))**
This change fixes a bug where on the CiviCRM Status Page, when one went to
hide a status message some of the options in the to hide dropdown menu were
getting hidden by the header for the next status message so that the dropdown
menu appears over the status headers.
- **Correct inconsistent fileID reference
([12931](https://github.com/civicrm/civicrm-core/pull/12931))**
This change fixes a bug where updating a custom field of type file on a
contact thru the api would result in a new file being created instead
of updating the custom field.
- **Contact layout editor support - Skip html encoding rich-text fields
([12841](https://github.com/civicrm/civicrm-core/pull/12841))**
This change fixes a bug where rich text custom fields saved thru the api were
being escaped so that the html is preserved (not escaped).
- **[dev/core#418](https://lab.civicrm.org/dev/core/issues/418) ensure all valid
relationship types are available
([12891](https://github.com/civicrm/civicrm-core/pull/12891))**
This change ensures that the select when adding a relationship to a group of
search results shows all Relationships types including any relationship types
that are any contact type to any contact type.
- **[dev/core#389](https://lab.civicrm.org/dev/core/issues/389) When using
custom fields for smart group criteria, relative dates create static dates
instead ([12824](https://github.com/civicrm/civicrm-core/pull/12824))**
This change makes it so that when saving smart groups with custom fields in
which a relative date (example: last 2 weeks) is specified, the last 2 weeks
means 2 weeks from the current date and is not hardcoded to be the last 2
weeks from when the smart group was created.
- **[dev/core#425](https://lab.civicrm.org/dev/core/issues/425) "Force Secure
URLs" setting sometimes does not behave as expected, deprecate it ... Slowly :)
([12908](https://github.com/civicrm/civicrm-core/pull/12908))**
This change moves forward work to get the "Force Secure URLs" setting to work
as expected by logging a message if CiviCRM thinks SSL is not enabled.
- **[dev/core#423](https://lab.civicrm.org/dev/core/issues/423) Upgrading gives
error "Incorrect datetime value: '0000-00-00 00:00:00'" in MySQL 5.7
([12898](https://github.com/civicrm/civicrm-core/pull/12898))**
This change fixes a bug when upgrading from CiviCRM 4.7.12 to 5.3.2 where
MySQL was throwing an "Incorrect datetime value: '0000-00-00 00:00:00' for
column 'trxn_date'" so that upgrades can make this jump with no error.
- **Added missing field name in custom-field deletion dialog
([12869](https://github.com/civicrm/civicrm-core/pull/12869))**
This change ensures that when deleting a custom field, the name of the custom
field shows up in the dialog asking you to confirm that you want to delete.
- **[dev/core#411](https://lab.civicrm.org/dev/core/issues/411) Default currency
shown on forms if payment is made with different currency
([12875](https://github.com/civicrm/civicrm-core/pull/12875))**
This change fixes a bug where the default currency was being displayed on the
View Participant page and Contribution page regardless of which currency was
used so that the currency used to make the payment is displayed always.
- **Make datatables in Activities Relationship tab adjust to screen size
([12893](https://github.com/civicrm/civicrm-core/pull/12893))**
This change ensures that the datatables on the Activities Relationship tab
adjusts to screen size when the screen size is changed.
- **Disable ONLY_FULL_GROUP_BY sql mode when doing add2group function on the
Activity Detail report to avoid fatal error
([12966](https://github.com/civicrm/civicrm-core/pull/12966))**
This fixes a bug where the add to group action on the Activity Details
report resulted in a fatal error for civicrm instances that had
ONLY_FULL_GROUP_BY enabled.
- **Problem with Custom Field in Contact Reports
([13044](https://github.com/civicrm/civicrm-core/pull/13044))**
This change makes it so that custom fields of the data type string are
available in the Summary Fields Filters tab for the Constituent Summary
report.
- **Fix typo in smarty help
([13075](https://github.com/civicrm/civicrm-core/pull/13075))**
- **Remove redundant jstree script from search form
([13153](https://github.com/civicrm/civicrm-core/pull/13153))**
### CiviCampaign
- **[dev/core#422](https://lab.civicrm.org/dev/core/issues/422) Can't use
advanced search to find survey results by result code
([12897](https://github.com/civicrm/civicrm-core/pull/12897))**
This fixes a bug where searching on the "activity result" field (available
when using CiviCampaign) would result in no results, so that one can search on
the "activity result" field.
### CiviCase
- **Activities can be linked to multiple cases. Handle caseIds being an array
([13021](https://github.com/civicrm/civicrm-core/pull/13021))**
This change makes it so that an Activity can be linked to more than one case.
### CiviContribute
- **[CRM-21311](https://issues.civicrm.org/jira/browse/CRM-21311) Fix
CIVICRM-668 Credit card type is unset on submission causing credit card
payment to fail with CVV validation error message
([12615](https://github.com/civicrm/civicrm-core/pull/12615))**
This change fixes a bug where if one changes the default credit card name for
a Credit card, for example "Amex" to "American Express" then one cannot create
a contribution with that credit card type so that one can alter the credit
card names without breaking contributioning with them.
- **[dev/financial#23](https://lab.civicrm.org/dev/financial/issues/23)
Submitting a contribution page with 0 amount triggers PHP notices
([12926](https://github.com/civicrm/civicrm-core/pull/12926))**
This change removes an e-notice when submitting a contribution page with a 0
transaction amount.
- **[dev/core#491](https://lab.civicrm.org/dev/core/issues/491) Report results
don't show inactive campaigns
([13036](https://github.com/civicrm/civicrm-core/pull/13036))**
This change makes it so that inactive campaigns show up on the Contribution
Details Report.
- **[dev/core#479](https://lab.civicrm.org/dev/core/issues/479) Contribution
Summary report throw DB error with custom data and soft credit fields
([13017](https://github.com/civicrm/civicrm-core/pull/13017))**
This change fixes a bug in the Contribution Summary Report where using a soft
credit amount stats column and a filter on any custom field would result in a
DB error so that the report runs as expected.
- **[dev/core#526](https://lab.civicrm.org/dev/core/issues/526) Feedback cannot
be translated when saving Contribution Page forms in languages other than
English ([13108](https://github.com/civicrm/civicrm-core/pull/13108))**
- **[dev/core#534](https://lab.civicrm.org/dev/core/issues/534) Print Invoice
and Pay Now buttons do not appear on Contact Dashboard
([13131](https://github.com/civicrm/civicrm-core/pull/13131) and
[13137](https://github.com/civicrm/civicrm-core/pull/13137))**
- **Fix check for financial acls to look for setting rather than sub-key of
non-standard civicontribute_settings' setting
([13150](https://github.com/civicrm/civicrm-core/pull/13150))**
- **[dev/core#552](https://lab.civicrm.org/dev/core/issues/552) Contribution net
amount not re-calculated when fee amount is changed
([13177](https://github.com/civicrm/civicrm-core/pull/13177) and [13178](https://github.com/civicrm/civicrm-core/pull/13178))**
### CiviEvent
- **Prevent hard error when a string is too long for a field.
([13014](https://github.com/civicrm/civicrm-core/pull/13014))**
This change fixes a bug where if an event registration's source field was too
long for the database, the event registration would fail, so that the source
field is truncated so that it can be saved to the database.
- **Fix caching issues with Event permissions
([12769](https://github.com/civicrm/civicrm-core/pull/12769))**
This change fixes a bug when checking permissions for events where the
permissions for the first event were being cached and all subsequent events
were returned as having no permission regardless of what their permissions
were.
- **Fix payment hangs when registering a user for a paid event without recording
payment ([12914](https://github.com/civicrm/civicrm-core/pull/12914))**
This fixes a bug where registering a user on the back end for a paid event
without recording a payment would result in the payment hanging so that it
does not hang.
- **Replace deprecated event function
([13093](https://github.com/civicrm/civicrm-core/pull/13093))**
- **Fix links for tabs on manage event
([13172](https://github.com/civicrm/civicrm-core/pull/13172))**
### CiviMail
- **[dev/core#461](https://lab.civicrm.org/dev/core/issues/461) Duplicate
Message template is generated when it is saved through schedule reminder form
([12982](https://github.com/civicrm/civicrm-core/pull/12982))**
This change fixes a bug where saving a message thru the schedule reminder form
would result in duplicate message templates being created so that the message
template is only saved once.
- **[CRM-19751](https://issues.civicrm.org/jira/browse/CRM-19751) Once "multiple
bulk" setting, cannot search for opt out or on hold contacts
([12883](https://github.com/civicrm/civicrm-core/pull/12883))**
This begins work to fix a bug for CiviCRM Instances that have the CiviMail
setting "Enable multiple bulk email address for a contact" enabled where
searching for contacts using the criteria "Opt Out" or "On Hold" is filtering
incorrectly.
- **[dev/core#448](https://lab.civicrm.org/dev/core/issues/448) When creating a
CiviCRM Mailing including a Smart Group, All contacts met by the criteria of
the smart group are added. There is no check performed to make sure that
contacts removed from the smart group aren't included
([12945](https://github.com/civicrm/civicrm-core/pull/12945))**
This change ensures that when creating a CiviCRM Mailing including a Smart
Group users who have previously un-subscribed from that Smart Group are not
included.
- **[dev/core#443](https://lab.civicrm.org/dev/core/issues/443) Fix Non-static
method calls at CRM_Utils_Mail_Incoming class
([12934](https://github.com/civicrm/civicrm-core/pull/12934))**
This change fixes a strict warning thrown by CRM_Utils_Mail_Incoming for users
with a PHP 7.1 set up.
- **[dev/mail#26](https://lab.civicrm.org/dev/mail/issues/26) getRecipients()
appears to use a WHERE clause as an ORDER BY clause
([12765](https://github.com/civicrm/civicrm-core/pull/12765))**
This change fixes a bug where the order_by for the list of recipients for a
mailing was being ignored so that the order by is respected.
- **[dev/core#357](https://lab.civicrm.org/dev/core/issues/357) Email signature
stopped working since ??? 4.6 ??
([12828](https://github.com/civicrm/civicrm-core/pull/12828))**
This change fixes the Email signature functionality when sending an email.
- **[dev/core#394](https://lab.civicrm.org/dev/core/issues/394) Wildcards are
ignored in some smart group criteria, when the smart group is directly
generated for a mailing
([12910](https://github.com/civicrm/civicrm-core/pull/12910))**
This change ensures that wildcards (like %a%) are respected in smart group
criteria when a smart group is being generated for a mailing.
- **[dev/core#384](https://lab.civicrm.org/dev/core/issues/384) Mobile phone
number selection issues with SMS
([12890](https://github.com/civicrm/civicrm-core/pull/12890))**
This change makes it so one can send SMS using CiviSMS to non primary phones
of type "mobile".
### CiviMember
- **[dev/core#166](https://lab.civicrm.org/dev/core/issues/166)
updateAllMemberships in memberschip BAO crasches out of memory on large
numbers of members
([12306](https://github.com/civicrm/civicrm-core/pull/12306),
[12927](https://github.com/civicrm/civicrm-core/pull/12927) and
[12918](https://github.com/civicrm/civicrm-core/pull/12918))**
These changes fix a bug where for databases with large numbers of memberships
(the user who reported this problem had 1.3 million memberships) the scheduled task to
update membership statuses was crashing with an out of memory error so that
databases with large numbers of memberships can run the scheduled task to
update membership statuses.
- **Fix period_type, duration_unit, duration_frequency to be required on
membership type form
([13227](https://github.com/civicrm/civicrm-core/pull/13227))**
These fields had become un-required as a regression in 5.5.
### Drupal Integration
- **Intelligently adjust menubar for D7 toolbar toggle
([12937](https://github.com/civicrm/civicrm-core/pull/12937))**
This change improves the ui by making the Civi menubar set to 100% minus the
width of the toolbar toggle, but only if the toolbar toggle is actually
present on the screen. Before this change the menu was set to a width of 97%
which was problematic because 97% is a guestimate and some Drupal sites do not
use the toolbar module.
- **Added a path to the drupal8 path candidates to find civicrm.config.php
([12903](https://github.com/civicrm/civicrm-core/pull/12903))**
This change fixes a bug when running the civibuild command `Civibuild
create drup8 --type=drupal8-clean` would result in a fatal error
"Failed to locate template for civicrm.config.php" so that Civibuild generates
the installation files and goes to the next step.
- **[CRM-20298](https://issues.civicrm.org/jira/browse/CRM-20298) Drupal Views:
Custom fields of type Money should use the same filter operators as Integer
fields ([435](https://github.com/civicrm/civicrm-drupal/pull/435))**
This change makes it so that in Drupal views, civicrm custom fields of type
money use the filter operators for Integers (instead of the filter operators
for text).
- **civicrm_handler_field_link_pcp: avoid PHP notice
([547](https://github.com/civicrm/civicrm-drupal/pull/547))**
This change fixes a php notice thrown by drupal views that use fields that use
the handler civicrm_handler_field_link_pcp.
### Wordpress Integration
- **[dev/wordpress#12](https://lab.civicrm.org/dev/wordpress/issues/12) A
civicrm shortcode for a contribution page on the homepage results in a "Too
many redirects" error instead of the thank you page
([13043](https://github.com/civicrm/civicrm-core/pull/13043))**
This change fixes a bug where putting a wordpress shortcode on the homepage
would result in a too many redirect error instead of the thank you page.
- **Allow user-defined shortcode components to be rendered
([134](https://github.com/civicrm/civicrm-wordpress/pull/134))**
This change makes it so that Wordpress plugins and CiviCRM Extensions which
define custom components for the [civicrm] shortcode, shortcodes work.
- **Do not start session when running under WP-CLI
([135](https://github.com/civicrm/civicrm-wordpress/pull/135))**
This fixes a bug where when running WP-CLI when the Apache user has
permissions that the shell user does not would result in a PHP Warning.
- **Fix WP-CLI class for PHP 7.2
([133](https://github.com/civicrm/civicrm-wordpress/pull/133))**
This change makes it so one can use WP-CLI in PHP 7.2.
- **[dev/core#460](https://lab.civicrm.org/dev/core/issues/460) Fix malformed
redirect URLs ([12969](https://github.com/civicrm/civicrm-core/pull/12969))**
This change fixes a bug where malformed redirect URLs were being formed for
Wordpress users on event registration and confirmation pages.
- **[dev/wordpress#12](https://lab.civicrm.org/dev/wordpress/issues/12) A
civicrm shortcode for a contribution page on the homepage results in a "Too
many redirects" error instead of the thank you page
([13099](https://github.com/civicrm/civicrm-core/pull/13099))**
This resolves a problem retrieving URL parameters when the URL is URL-encoded,
as frequently happens in WordPress.
## Miscellany
- **Slay dragons ([12495](https://github.com/civicrm/civicrm-core/pull/12495))**
- **Support CiviTutorial - Fix isAjaxMode to also recognize angular ajax
([12921](https://github.com/civicrm/civicrm-core/pull/12921))**
- **(NFC) Fix Namespace issue in Api3DocTrait when calling smarty
([13007](https://github.com/civicrm/civicrm-core/pull/13007))**
- **Export code cleanup and testing enhancements - this is an ongoing cleanup
with an end goal of fixing some known bugs
([12586](https://github.com/civicrm/civicrm-core/pull/12586)) and
([12864](https://github.com/civicrm/civicrm-core/pull/12864))**
- **Coding practices fix - Improve type checking in getContactPhone and use
CRM_Utils_Request::r…
([12687](https://github.com/civicrm/civicrm-core/pull/12687))**
- **Code cleanup on activity api and activity dashboard query
([12994](https://github.com/civicrm/civicrm-core/pull/12994)) and
([12949](https://github.com/civicrm/civicrm-core/pull/12949))**
- **Code cleanup in api_v3_CaseTest
([12950](https://github.com/civicrm/civicrm-core/pull/12950))**
- **Code cleanup Membership form - submit status message
([12693](https://github.com/civicrm/civicrm-core/pull/12693)) and tidy up
receipt code ([12695](https://github.com/civicrm/civicrm-core/pull/12695))**
- **Code cleanup and testing on query to generate annual totals
([12810](https://github.com/civicrm/civicrm-core/pull/12810))**
- **Code cleanup - commenting on dupesInGroup()
([12920](https://github.com/civicrm/civicrm-core/pull/12920))**
- **Code cleanup - Fix spelling error ("sript" vs "script")
([12912](https://github.com/civicrm/civicrm-core/pull/12912))**
- **Code cleanup on recurring create action
([12900](https://github.com/civicrm/civicrm-core/pull/12900)) and viewing
recurring rcords
([12899](https://github.com/civicrm/civicrm-core/pull/12899))**
- **Code cleanup (drupal) style fix for contact image handler
([537](https://github.com/civicrm/civicrm-drupal/pull/537))**
- **Code cleanup (wordpress) Give comments and docblocks some TLC
([137](https://github.com/civicrm/civicrm-wordpress/pull/137))**
- **Code cleanup Fix comment as hook name was changed
([13009](https://github.com/civicrm/civicrm-core/pull/13009))**
- **[CRM-21677](https://issues.civicrm.org/jira/browse/CRM-21677) Report code
style improvements (no user impact)
([13028](https://github.com/civicrm/civicrm-core/pull/13028),
[12922](https://github.com/civicrm/civicrm-core/pull/12922),
[12916](https://github.com/civicrm/civicrm-core/pull/12916), and
[12892](https://github.com/civicrm/civicrm-core/pull/12892))**
- **Duplicate upgrade step for 5.7.beta1 in 5.8.alpha1 to capture anyone …
([13033](https://github.com/civicrm/civicrm-core/pull/13033))**
- **Don't format date twice for RecurringEntity form
([12974](https://github.com/civicrm/civicrm-core/pull/12974))**
- **Add `ext/` folder to .gitignore
([12905](https://github.com/civicrm/civicrm-core/pull/12905))**
- **Bring structural consistency to the plugin
([138](https://github.com/civicrm/civicrm-wordpress/pull/138))**
## Credits
This release was developed by the following code authors:
AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Alok Patel; Andrei
Mondoc; Australian Greens - Seamus Lee; calbasi.net - Joan Cervan Andreu; Caltha
- Tomasz Pietrzkowski; CEDC - Laryn Kragt Bakker; Chris Burgess; Christian Wach;
CiviCoop - Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk -
Yashodha Chaku; Community IT Academy - William Mortada; CompuCorp - Davi
Alexandre; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Derek Lewis;
Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Ginkgo
Street Labs - Frank Gómez; Giovanni Dalmas; Jens Schuppe; JMA Consulting -
Monish Deb; John Kingsnorth; Joinery - Allen Shaw; Joost Fock; Ken West;
Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
Nicol Wistreich; OSSeed Technologies - Madhavi Malgaonkar; Pradeep Nayak;
Progressive Technology Project - Jamie McClelland; Skvare - Mark Hanna; Third
Sector Design - Michael McAndrew; Wikimedia Foundation - Eileen McNaughton,
Elliott Eggleston
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
Agileware - Agileware Team; British Humanist Association - Andrew West; Campaign
Against Arms Trade - Kirk Jackson; Circle Interactive - Dave Jenkins; CiviFirst
- John Kirk; Clairepickle; Clare Marsh; CompuCorp - Jamie Novick; Donald Lobo;
iXiam - Vangelis Pantazis; JMA Consulting - Joe Murray; JonScreat; Korlon -
Stuart Gaston; Lighthouse Design and Consulting - Brian Shaughnessy; MJCO -
Mikey O'Toole; Richard van Oosterhout; sleewok; Tadpole Collective - Kevin
Cristiano; Tech To The People - Xavier Dutoit
## 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`.