Commit 9d3d9177 authored by Andrew Hunt's avatar Andrew Hunt Committed by eileen

5.0.0 release notes (#11931)

* 5.0.0 release notes: raw from script

* 5.0.0 release notes: starting from the top

* 5.0.0 release notes: finished features next steps start with bugs

* 5.0.0 release notes: a few more bugs

* 5.0.0 release notes: cleaning up

* 5.0.0 release notes: fixed up features and bugs sections

* 5.0.0 release notes: updated contributors and boilerplate

* 5.0.0 release notes: late changes to RC
parent b9dac2d3
The following people and organizations sponsored and/or contributed new and improved features to the project.
Key Contributors and Sponsors for 5.x
CiviCRM - Coleman Watts, Tim Otten
AGH Strategies - Andrew Hunt
Agileware - Alok Patel
Australian Greens - Seamus Lee
CiviDesk - Yashodha Chaku
CompuCorp - Mukesh Ram, Omar Abu Hussein, Vinu Varshith Sekar
Coop SymbioTIC - Samuel Vanhove
Davis Media Access - Darrick Servis
Fuzion - Jitendra Purohit
Ginkgo Street Labs - Frank Gómez
JMA Consulting - Monish Deb
John Kingsnorth
Joinery - Allen Shaw
Left Join Labs - Sean Madsen
Lighthouse Design and Consulting - Brian Shaughnessy
Łukasz Krutul
MJW Consulting - Matthew Wire
myDropWizard - David Snopek
Oxfam Germany - Thomas Schüttler
Progressive Technology Project - Jamie McClelland
René Olivo
Systopia - Björn Endres
Tadpole Collective - Kevin Cristiano
Third Sector Design - Michael McAndrew
Wikimedia Foundation - Eileen McNaughton
Key Contributors and Sponsors for 4.7
......@@ -140,6 +140,9 @@
organization: British Humanist Association
jira : awestbha
- name : Matthias Bärnthaler
jira : baerm
- github : BorislavZlatanov
name : Borislav Zlatanov
jira : BorislavZlatanov
......@@ -202,6 +205,10 @@
organization: Comunica2
jira : ñull
- github : cor73x
name : Łukasz Krutul
jira : n3o
- github : coolbit
name : Chandana Bandara
organization: CompuCorp
......@@ -272,8 +279,9 @@
name : Arun Singh
jira : aruns6578
- name : Adam Kwiatkowski
organization: DevMate
- github : adam-devapp
name : Adam Kwiatkowski
organization: DevApp
jira : devmate
- github : dlobo
......@@ -682,6 +690,9 @@
name : Kevin Reynen
jira : kreynen
- name : Kristine Chan
jira : KristineC
- github : kryptothesuperdog
name : Andrew West
organization: British Humanist Association
......@@ -751,6 +762,11 @@
name : Richard van Oosterhout
jira : magnolia61
- github : maitrepylos
name : Gérard Ernaelsten
organization: Formatux
jira : maitrepylos
- name : Manish Zope
jira : manish
......@@ -986,6 +1002,9 @@
name : Pradeep Nayak
jira : pradeep.nayak
- name : Paul Treadaway
jira : ptreadaway
- name : Angela Cacciola
organization: Canine Companions for Independence
jira : princessang417
......@@ -1002,6 +1021,9 @@
organization: Play Australia
jira : Renz56c.o
- github : reneolivo
name : René Olivo
- name : Robyn Perry
organization: Progressive Technology Project
jira : reperry
......@@ -1245,8 +1267,13 @@
- github : varshith
name : Vinu Varshith Sekar
organization: CompuCorp
jira : varshith
- github : vinuvarshith
name : Vinu Varshith Sekar
organization: CompuCorp
- github : VasanthaKaje
name : Vasantha Kaje
jira : VasanthaKaje
......@@ -14,6 +14,17 @@ Other resources for identifying changes are:
## CiviCRM 5.0.0
Released April 4, 2018
- **[Synopsis](release-notes/**
- **[Features](release-notes/**
- **[Bugs resolved](release-notes/**
- **[Miscellany](release-notes/**
- **[Credits](release-notes/**
- **[Feedback](release-notes/**
## CiviCRM 4.7.31
Released March 7, 2018
# CiviCRM 5.0.0
Released April 4, 2018
- **[Synopsis](#synopsis)**
- **[Features](#features)**
- **[Bugs resolved](#bugs)**
- **[Miscellany](#misc)**
- **[Credits](#credits)**
- **[Feedback](#feedback)**
## <a name="synopsis"></a>Synopsis
| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
| Fix security vulnerabilities? | no |
| Change the database schema? | no |
| **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
- **[CRM-21659]( Add hook to
CRM_Utils_System::redirect ([11519](**
Adds a hook (hook_civicrm_alterRedirect) when the browser is being redirected. This allows extensions to
override the destination of an HTTP redirect.
The UriInterface from PSR-7 is included; the concrete implementation of Uri is loaded from Guzzle v6.3+.
- **[civicrm/civicrm-setup#1](
Simplify SQL and translation pipeline (preliminary work)
[11682](, and
Along with a handful of supporting changes, these changes allow strings to be
translated without needing CiviCRM to be operating. This sets the stage for
generating basic CiviCRM data in the appropriate language as part of the
CiviCRM installation process.
- **Fix relationshipType, paymentProcessorType, Note & jobLog apis to support
custom data ([11721](**
Updates the relationshipType, paymentProcessorType & jobLog apis to support
custom data.
- **Fix more entities to support custom fields (via api)
This change moves us closer to the goal of being able to define custom data on 'any
entity'. It takes us from a limited list of entities that work to a longer list of
ones that still don't work
- **[dev/core#12]( Improvement: for
crmUiWizard-driven workflows, scroll back to top between steps
Adds auto-scroll-up functionality between steps in a wizard-driven workflow.
- **Fix style glitches ([11792](**
This change adds a space after the x between the form input for a phone number
and the form input for the extension to improve user experience.
- **Update minimum php version to 5.5
This change bumps up the minimum version to follow the schedule laid out in
- **Fixed template structure issues
Moves help section outside block and adds missing label.
- **[CRM-21823]( Change
position of help div and fix structure glitches
This standardizes the markup structure for the date settings, localization,
and memberships admin pages so that the help section sits outside the form
block, inline CSS is removed, and buttons are wrapped with the correct wrapper
- **[CRM-21817]( Move help
section outside crm block as per other pages
This change moves help section for word replacement page, outside crm block
to preserve consistency.
- **CKEditor Advanced Options - Better validation of options
In the "Advanced Options" of the CKEditor Configurator, API options can be
selected. This tweaks the UI to prevent the same option from being selected
twice, which would not make sense.
- **Update to PHPWord 0.14.0
Updates PHPWord from 0.13.0 to 0.14.0. PHPWord 0.14.0 fixes a number of bugs
and adds some new features, more information on PHPWord 0.14.0 can be found
- **[dev/release#1]( 5.x - Update
version-numbering pattern
The utility, tools/bin/scripts/set-version.php, is used to generate
boilerplate files for incremental updates. This change improves compatibility
with the version realignment (5.x.x).
- **[CRM-21810]( improve
changelog search panel UI
This change improves the change log panel in Advanced Search UI. It places the
added/modified radio buttons at the top and moves the two search fields side by
side to make the layout more logical and to make better use of the space.
- **[CRM-21765]( Commit files
to git which are static but are generated from CodeGen like DAO files
This change adds SchemaStructure.php and langs.php files (which are static but
generated from CodeGen) to git, reducing the need to run GenCode.
### CiviCase
- **[CRM-21558]( Add batch
update via profile to cases
This change adds a "Update Multiple Cases" option to search tasks and allows
you to batch update multiple cases in the same way as other entities.
### CiviContribute
- **[CRM-20610]( Replace
payment details block with editable payment list on 'Edit Contribution' form
([11748]( (preliminary
This change makes it possible via hook or by changing core to switch to using
the payment form on the 'Edit Contribution' form for payments without actually
making that change.
- **Fix transaction template
Updated transaction template to make them match other templates for
- **[CRM-21693]( show Display
Name in online pay now UI
Before this change using the special constructed PayNow link it was not clear
which person the payment was for. This change makes it so the Online Pay Now
form shows the Display Name of the person the contribution belongs to.
### CiviEvent
- **[CRM-21803]( Standardise
ParticipantPayment api to support custom data
The ParticipantPayment API now uses the standard api function, this has the
added bonus of allowing this api to support custom data.
- **[CRM-21805]( Fix structure
for search pages in find participant
This change restructures the Participant search pages so that the labels are
above the inputs for consistency and improved user experience.
### CiviMail
- **[CRM-21576]( Implement Send
SMS permission ([11590](**
This change adds a permission to Send SMS. More specifically, it: Adds the Send SMS
permission to CRM_Core_Permissions::getCorePermissions, ensures that all
navigation menu entries ('Find SMS' and 'New SMS') respect the new permission,
Ensures that all paths (civicrm/sms/send, civicrm/activity/sms/add,
civicrm/mailing) respect the new permission, Only show 'Outbound SMS' action
from the action menu on the contact screen to users with the send SMS
permission, and only shows 'SMS - schedule/send' from the advanced search
actions to users with the send SMS permission.
- **[CRM-21140]( Agree & (if
applicable) implement approach to storing extension data for entities / tables
This change makes it possible to extend Mailing with Custom data by making it
so the Mailing api supports custom data. This is primarily for the benefit of
extension writers.
- **[CRM-21405]( Allow
"Outbound SMS" when Mobile is not primary phone number
This change makes it so when a contact has a mobile phone number but it is not
the primary number the "Outbound SMS" action is allowed, and usees the first
available mobile number from the contact.
- **Add 'huge' class to html textarea to match plaintext textarea
This change makes it so that the HTML Format input and the Plain Text Format
input On the Message Template editor screen match.
- **[CRM-21244]( Enhancements
to "FROM email addresses"
([11914]( (continues
previous work)**
Help text now adjusts according to whether the logged-in user's email is
allowed as a From address option.
### CiviMember
- **[CRM-21733]( Allow
overriding membership status temporarily until specific date
([11722]( and
When overriding a membership status this change provides extra options to allow
a temporary status override.
Instead of having a checkbox called (Override Status?) in membership
add/edit/renew form, it is replaced with a select box that allow the user to
choose one of three options: No, Override Permanently or Override until selected
If the first option is selected, then the membership will behave as if the old
(Override Status?) is *unchecked*, which means that the membership is subject to
membership status rules.
If the 2nd option is selected, then the membership will behave as if the old
(Override Status?) is *checked*, which mean that the membership status is
overridden and is not subject to the membership statues rules.
If the 3rd option is selected, then a new field will appear allowing the user to
choose a date, in this status, the membership will behave similar to option 2,
but when today date is equal or less than the selected date, then the "Update
Membership Statuses" scheduled job will automatically convert its status back to
*No*, which means that the membership status is overridden temporarily only for
the selected date and after that it will revert back and be subject to
membership status rules.
### Drupal Integration
- **[civicrm/civicrm-setup#11](
Implement D8 initialization for civicrm-setup
This removes references to `templates/CRM/common/version.tpl` which will not
be created as part of the new Drupal 8 installer.
## <a name="bugs"></a>Bugs resolved
### Core CiviCRM
- **[CRM-21830]( State/Province
tokens are not working as expected in address settings for billing address
When the 'state_province_name' token was used (in address settings), the
state/province was empty when 'Billing Address' was displayed. This change
makes it so when the 'state_province_name' token is used in address settings
the token is populated when the billing address is displayed
- **[CRM-21781]( Don't crash if
contact ID not found when viewing contact
In various situations if one ended up at civicrm/contact/view without URL
parameters (for example logging back in after session expiry) a fatal error was
This change makes it so that instead of throwing a fatal error one is bounced
back to the Civi dashboard.
- **[CRM-21826]( Default FROM
Email Address (for system-generated emails) link incorrect in System Status
Screen ([11756](**
This updates the System Status Screen to have separate links for Domain Name and From
Email Address.
- **/civicrm/upgrade - On finish screen, display actual version number
The upgrade finish screen was hard-coded to always display the message "Thank
you for upgrading to 4.7...". This change makes it dynamic, plugging in the
actual version number.
- **Activity Form - Fix recently introduced warning
Fixes a code warning thrown on the activity form.
- **[CRM-21667]( Bad timezone
hand-off from CMS to CRM
This change resolves errors resulting from representation of timezone data in different
formats. Now timezone data is converted from GMT offset in seconds to region
string, as expected by related methods. This fixes takes into account daylight
savings time.
- **CKEditorConfig - Fix double-escaped slashes
The "Advanced Options" section of the CKEditor configurator allows user-input
strings. Slashes were being escaped multiple times in that input. This fixes
- **CiviReport - Check for trueish values of the parameter 'required'
The value of the parameter required is not evaluated to define whether the
field should be shown as required or not. See previous discussion at
- **Fix wrong tag defintion
This change fixes some broken HTML in the Data Source help notification pop-up.
- **Fix GroupNesting, GroupOrganization, Domain to work with singleValueAlter
This change standardizes the apis for GroupNesting, GroupOrganization, and
Domain and extends unit testing to cover them
- **composer.json - De-fork dependency, marcj/topsort
When this dependency was originally added, we needed a few patches (for PHP
5.3 compatibility) and initially used a forked version of library. Of course,
it's undesirable to use a fork in the long term (e.g. harder to apply
upgrades; harder to merge into other build processes).
In the intervening period, upstream has merged the patches for PHP 5.3, and
we've politely asked downstream to get over PHP 5.3, so we're covered on both
ends. This change switches back to the mainline branch for marcj/topsort.
- **Ignore errors when upgrade step already took place
- **Add/Edit Contact - Fix inconsistent capitalization
On the "Add/Edit Contact" screen, there are several similar links: "Add another
phone number", "Add another IM", "Add another website". This change makes it so
that they are all capitalized according the same rules (e.g. standard sentence
- **[CRM-21708]( Make structure
proper by adding/removing appropriate classes
This change fixes class structure for a handful of pages to make them
consistent in preparation for common styling and to improve user experience.
- **[CRM-21391]( Refactor tasks
to use a base class
[11692](, and
Refactors all the component tasks so they are extend a new base class
This change cleans up the code and uses shared code where possible. It also
fixes a few bugs specifically, there were a number of issues with the "Advanced
Search" when switching between component types where the task list would be
populated with the wrong list of tasks, but the keys would trigger an action on
the selected component and an unexpected action may occur and there was also a
bug where when saving group_type mailing_list was always being checked.
- **[CRM-21777]( Improve the
messaging related to Directories and Resources
([11802]( and
This change makes it so when on the admin page "Directory Preference" or
"Resource URL" fields initialized in civicrm.settings.php are loaded as
readonly. Prior to this change the fields were being loaded as editable but
the values were not being saved because they were being overridden by the
values in the civicrm.settings.php file). This change also adds a warning
which lets the user know that some fields are already set (overridden) in
settings file.
- **[CRM-21837]( Missing states
for Gabon ([11793](**
This change adds missing states definition for Gabon based on current ISO
- **[CRM-21766]( Dedupe screen
gives inappropriate confirm message when clicking on batch dedupe
After doing a batch merge which resulted in a screen of conflicts, if you were
to click on 'refresh list' you got a 'Do you want to leave this site? Changes
you made may not be saved.' popup. This change removes that popup as there was
nothing to edit.
- **[CRM-21773]( CRM-20858
breaks merging multi-value custom groups
This change fixes a bug where Multi-value custom fields were being ignored
during the merge process, so that Multi-value fields are migrated if required.
- **[CRM-20554]( Error when
running activity report
On the Activity Detail report, a series of warnings and notices were being
thrown, this change fixes the parameters of the select and from function so that
no errors are thrown.
- **[CRM-21809]( 'Advance
search' group by issue
This fixes a bug where when doing an advanced search (with MySQL
FULL_GROUP_BY_MODE enabled), when one choose any activity type and searched the
actual number of rows listed and the row count per page differed so that the
count is now accurate.
- **[CRM-21806]( Search builder
returns no results
[11751](, and
This change fixes a bug when using a profile in Search Views and attempting to
search using one of the columns from the profile the advanced search
incorrectly showed no results.
- **[CRM-21792]( Regression:
Extension API cannot filter on status in get request
- **[CRM-21841]( objectType
empty in hook_civicrm_searchTasks
- **Fix regression on CiviRules search due to exception handling
- **Revert "CRM-8140: Not possible to select fields for export when using Custom
Searches" ([11828](**
### CiviCampaign
- **Add pre and post hooks to the Survey entity
This change makes it so `hook_civicrm_pre` and `hook_civicrm_post` are invoked
when a survey is saved.
- **[CRM-21797]( Change
Structure for Campaign search forms
### CiviCase
- **[CRM-21789]( 'Find Case'
group by issue ([11706](**
This ensures that when searching cases the count of cases found is accurate.
- **Re Add CRM_Case_Form_Task::PreProcessCommon()
### CiviContribute
- **Fix upgrade failures from zero value `trxn_date`
Some longstanding CiviCRM installations would have upgrade failures going to
4.7.19 or higher with the database error: "Incorrect datetime value:
'0000-00-00 00:00:00' for column 'trxn_date'" This change fixes those values
to be NULL prior to the query that causes the problem.
- **Add test for api money, fix net_amount calc
Money values 5.000,77 & 5,000.77 were not being handled, they were being
converted to '5' by mysql insert. This change handles these values by cleaning
the money values in the api layer.
- **[CRM-20608]( IPN
thinks Paypal Pro is Standard
This fixes an issue where the CiviCRM interprets IPN messages from PayPal Pro
as if they're Paypal Standard, causing problems for recurring payments. The
fix makes it so that all incoming PayPal Pro IPN notifications for recurring
contributions are correctly recorded as payments in CiviCRM.
- **[CRM-21756]( Editing
Contribution (total_amount) does -not- update LineItem (line_total)
Before this fix when we change the total amount of membership payment (or
event registration), it doesn't update the corresponding line-item data,
causing a data integrity issue. This fix makes it so that when editing a
contribution for a membership payment or event registration the Total amount
field is frozen and there is help text beside this field that provides
instruction to perform the same task either by recreating the membership (or
participant record) or using Lineitem Editor.
- **[CRM-21819]( Do not load
"Submit Credit Card Contribution" button for invalid processors.
Fixes a recent regression where the 'submit credit card' shows back office when
it should not
- **[dev/core#7]( recurring authorize
IPN results in contribution with incorrect payment_instrument_id
- **ensure pdfFilename is set
Before this change when downloading a PDF file receipt, the name you were
prompted to save it as is not properly set. If it simply set to `.pdf`.
This change makes it so the downloaded file name is named after the invoice id.
- **Throw exception instead of using fatal
This change makes it so an exception is thrown instead of a fatal error when
one starts doing a contribution, stops the browser half way through, and then
tries to re-submit.
- **[dev/financial#5]( If a
currency has been disabled allow the form to be submitted
- **Fix fatal on topDonor report
- **[CRM-21831]( and
[dev/report#1]( Fix regressions in
contribution detail report relating to soft credits
### CiviEvent