5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
12 ## <a name="synopsis"></a>Synopsis
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | no |
17 | Change the database schema? | no |
18 | Alter the API? | **yes** |
19 | Require attention to configuration options? | no |
20 | Fix problems installing or upgrading to a previous version? | no |
21 | Introduce features? | **yes** |
22 | Fix bugs? | **yes** |
24 ## <a name="features"></a>Features
28 - **[CRM-21753](https://issues.civicrm.org/jira/browse/CRM-21753) Support
29 'criteria' in url on batch merge form
30 ([11658](https://github.com/civicrm/civicrm-core/pull/11658))**
32 A new `criteria` URL parameter for finding duplicate contacts allows you to
33 specify API criteria to only search for duplicates among a subset of contacts.
35 - **Add New API Call To Get All Unique Fields For Given Entity
36 ([11990](https://github.com/civicrm/civicrm-core/pull/11990))**
38 This adds a new `getunique` API method that will go through the indexes of an
39 entity table and return all unique fields (including combination indexes).
41 - **[CRM-21849](https://issues.civicrm.org/jira/browse/CRM-21849) Add Link To
42 Edit Relationship Types
43 ([11853](https://github.com/civicrm/civicrm-core/pull/11853))**
45 This change adds a settings button next to the Relationship Type field on the
46 Edit Relationship screen which allows you to edit relationship types.
48 - **[dev/core#90](https://lab.civicrm.org/dev/core/issues/90) Apply disabling
49 Full Group By to reports
50 ([12047](https://github.com/civicrm/civicrm-core/pull/12047),
51 [12043](https://github.com/civicrm/civicrm-core/pull/12043))**
53 This applies the disabling of ONLY_FULL_GROUP_BY sql mode to reports and on
54 specific queries as needed to enable tests to run on MySQL 5.7
56 - **[dev/core#66](https://lab.civicrm.org/dev/core/issues/66) Standardise
57 Address code in Contact summary report & enable links
58 ([11993](https://github.com/civicrm/civicrm-core/pull/11993))**
60 This change refactors the Address related code as part of a drive to get
61 addresses for multiple contacts in one report. This change adds prefixing
62 into the function used to add the columns, an approach taken from the Extended
65 - **[dev/translation#9](https://lab.civicrm.org/dev/translation/issues/9) Create
66 API Action to rebuild Multilingual Schema
67 ([11967](https://github.com/civicrm/civicrm-core/pull/11967))**
69 This change adds an API method called `System.rebuildmultilingualschema` to
70 allow users to rebuild the multilingual schema.
72 - **Add 'addToDeveloperTab' in more places to expose sql in use (permission
73 limited) ([11947](https://github.com/civicrm/civicrm-core/pull/11947))**
75 The Database Log report includes a number of database queries besides the main
76 query. These populate temporary tables, among other things. The SQL for
77 these ancillary queries is now visible in the Developer tab alongside the main
80 - **Fix API template ([11970](https://github.com/civicrm/civicrm-core/pull/11970))**
82 This PR fixes structure and style of CiviCRM API explorer to make it look like
83 other pages to give unified interface between screens.
87 - **[dev/core#73](https://lab.civicrm.org/dev/core/issues/73) - Add invoice
88 number to bookkeeping report
89 ([12020](https://github.com/civicrm/civicrm-core/pull/12020))**
91 Invoice Number and Invoice Reference are now both available in the bookkeeping
92 transactions report. Before this change, only Invoice ID was shown as a column
93 in bookkeeping report.
97 - **[CRM-20879](https://issues.civicrm.org/jira/browse/CRM-20879) Extend
98 self-service event registration transfer to backend
99 ([10695](https://github.com/civicrm/civicrm-core/pull/10695))**
101 This change adds links to "Transfer or Cancel" an event registration when
102 viewing an event registration for a participant and when viewing a contact's
103 event registrations from the event tab on the contact's record.
107 - **[dev/core#53](https://lab.civicrm.org/dev/core/issues/53) Add in stats to AB
108 tests and add in clickthrough and opened % stats to mailing reports
109 ([11957](https://github.com/civicrm/civicrm-core/pull/11957))**
111 This change adds Mailing delivery stat percentages to AB tests and also adds
112 in new opened and clickthrough rate stats.
114 ## <a name="bugs"></a>Bugs resolved
118 - **[dev/core#98](https://lab.civicrm.org/dev/core/issues/98) Searching by any
119 Address fields with location type other than primary throw DB error
120 ([12081](https://github.com/civicrm/civicrm-core/pull/12081))**
122 This change resolves a database error that would appear in Search Builder when
123 a user picks an address field with a location type other than "Primary".
125 - **[dev/core#91](https://lab.civicrm.org/dev/core/issues/91) Search Builder
126 Improvements ([12058](https://github.com/civicrm/civicrm-core/pull/12058))**
128 On the Search Builder screen, this change limits the MySQL operators
129 available based on the type of field (string, date etc.).
131 - **[dev/core#75](https://lab.civicrm.org/dev/core/issues/75) - warning message
132 after an activity is created
133 ([12027](https://github.com/civicrm/civicrm-core/pull/12027))**
135 - **Translate strings in "Report" UI, et al
136 ([12009](https://github.com/civicrm/civicrm-core/pull/12009) and
137 [11988](https://github.com/civicrm/civicrm-core/pull/11988))**
139 A number of phrases, particularly in reports and CiviGrant, were not wrapped
140 in a translation function.
142 - **Improve input handling in get-cases AJAX API
143 ([12017](https://github.com/civicrm/civicrm-core/pull/12017))**
145 Changes case type id and status id to be 'CommaSeparatedIntegers' instead of
146 'String' to improve input handling in get-cases AJAX API.
148 - **[CRM-19885](https://issues.civicrm.org/jira/browse/CRM-19885) Scheduled
149 Reminders: lack of default form values leads to SQL syntax error
150 ([11972](https://github.com/civicrm/civicrm-core/pull/11972))**
152 This fixes a regression from CRM-19853 where some fields were changed to text
153 input without defining default values. Specifically, the problem involved
154 integer fields start_action_offset, repetition_frequency_interval,
155 end_frequency_interval, which aren't required fields. Leaving these blank led
156 to `NULL` values in the database, which then led to SQL syntax errors.
158 - **[dev/core#64](https://lab.civicrm.org/dev/core/issues/64) - In custom
159 searches, column headings are being ignored
160 ([12001](https://github.com/civicrm/civicrm-core/pull/12001))**
162 This change fixes a regression where for custom searches--ones that come
163 installed with core CiviCRM as well as user-defined ones--the column headings
164 defined in the custom search code were being ignored. This issue began in
167 - **[dev/core#70](https://lab.civicrm.org/dev/core/issues/70) On any custom
168 search 'Print selected rows' action doesn't retain columns/values
169 ([12010](https://github.com/civicrm/civicrm-core/pull/12010))**
171 - **[dev/core#48](https://lab.civicrm.org/dev/core/issues/48) Fix PDF Letter
172 only generates a single letter when multiple contact IDs are specified
173 ([11985](https://github.com/civicrm/civicrm-core/pull/11985))**
175 This change fixes a bug where when multiple contact IDs are specified via
176 print/merge task the PDFLetterCommon code overwrote them with a single contact
177 ID of the logged in user. This means that only a single PDF letter is
178 printed/generated. This PR only uses the logged in contact ID if no contact
179 IDs have been specified.
181 - **[dev/core#59](https://lab.civicrm.org/dev/core/issues/59) scheduled reminder
183 ([11973](https://github.com/civicrm/civicrm-core/pull/11973))**
185 This change makes it so that the email address field on the scheduled reminder
186 form is validated. Before this change, a non-email value could be stored in
187 the field which would result in a silent failure.
189 - **[CRM-20598](https://issues.civicrm.org/jira/browse/CRM-20598) Phone ext in
190 profile edit messing with address
191 ([11978](https://github.com/civicrm/civicrm-core/pull/11978))**
193 This change fixes a bug where when using a profile in edit mode with "Phone
194 and Extension" on primary field and some primary address fields (street, city,
195 country): it works fine the first time the profile is used, but it removes the
196 existing address when a user tries to use the profile a second time.
198 - **AllCoreTables - Generate file every time
199 ([11755](https://github.com/civicrm/civicrm-core/pull/11755))**
201 The auto-generated file AllCoreTables was not being updated as often as
202 necessary, and the freshness checks were almost as expensive as just generating
203 the file, if not more, this was causing issues for the Attachment API. This
204 change makes it so the file is generated every time.
206 - **Prevent hard-fail when section header / group by option chosen on logging
207 report ([11953](https://github.com/civicrm/civicrm-core/pull/11953))**
209 - **[CRM-21855](https://issues.civicrm.org/jira/browse/CRM-21855) Editing "A"
210 side of relationship copies values to "B" side
211 ([11965](https://github.com/civicrm/civicrm-core/pull/11965))**
213 When editing a relationship type, values in the "Relationship A to B" column
214 were copied to the "Relationship B to A" column.
216 - **[CRM-21523](https://issues.civicrm.org/jira/browse/CRM-21523) scheduled
217 reminders: when using repetition, require frequency intervals
218 ([11377](https://github.com/civicrm/civicrm-core/pull/11377))**
220 - **Move help section outside the container
221 ([12031](https://github.com/civicrm/civicrm-core/pull/12031))**
223 This moves the help section markup on the Find and Merge Duplicate Contacts
224 page to preserve consistency among other screens.
228 - **[CRM-21843](https://issues.civicrm.org/jira/browse/CRM-21843) Case
229 activities delimiter not working
230 ([11961](https://github.com/civicrm/civicrm-core/pull/11961))**
232 This change fixes a bug in exporting cases where the last column would contain
233 all the activity fields jammed together.
235 - **Fix select2 value updation for crmAddName Directive
236 ([11979](https://github.com/civicrm/civicrm-core/pull/11979))**
238 This fixes a bug where the Case Type options selection field was not
241 - **[dev/core#54](https://lab.civicrm.org/dev/core/issues/54) - Activity created
242 for case role relationship is not assigned to correct contact
243 ([11960](https://github.com/civicrm/civicrm-core/pull/11960))**
245 This change fixes a bug where if the user added a role for a case. The activity
246 created was assigned to the client instead of the relationship contact.
248 - **[dev/core#137](https://lab.civicrm.org/dev/core/issues/137) Fix Find Deleted
249 Cases ([12219](https://github.com/civicrm/civicrm-core/pull/12219))**
251 Using the Find Cases search to find deleted cases would result in a fatal
256 - **Fix contribution detail report to work with FULL GROUP BY mode
257 ([11954](https://github.com/civicrm/civicrm-core/pull/11954))**
259 This change makes it so the contribution detail report works in both full
260 group by and non full group by mode.
262 - **[dev/core#78](https://lab.civicrm.org/dev/core/issues/78) - Incorrect
263 Payment Processor for Recurring Payments
264 ([12030](https://github.com/civicrm/civicrm-core/pull/12030))**
266 The Authorize.net instant payment notification (IPN) code did not properly
267 accommodate multiple Authorize.net payment processor instances and would
268 sometimes load the incorrect processor.
270 - **[dev/core#72](https://lab.civicrm.org/dev/core/issues/72) fix payflow bug
271 for amount ([12019](https://github.com/civicrm/civicrm-core/pull/12019))**
273 Fixes a bug where PayflowPro throws an error due to more than 4 decimal places
276 - **[CRM-19752](https://issues.civicrm.org/jira/browse/CRM-19752) Slow query
277 created by financial type acls
278 ([11657](https://github.com/civicrm/civicrm-core/pull/11657))**
280 This change is to improve financial ACL code that was unnecessarily slowing
281 down the contact dashboard on sites where financial ACLs are not enabled.
282 Financial ACL joins and conditions are no longer added where financial ACLs
285 - **[dev/financial#11](https://lab.civicrm.org/dev/financial/issues/11) email
286 invoice fails with validation error
287 ([11971](https://github.com/civicrm/civicrm-core/pull/11971))**
289 The "Email Invoice" action would result in an outgoing error message: The mail
290 library returned the following error message: Validation failed for: ""NAME"".
292 - **Fix template for widget
293 ([11902](https://github.com/civicrm/civicrm-core/pull/11902))**
295 This fixes glitches in the Contribution Widget template so that the button is
296 aligned properly under it.
298 - **Remove usage of deprecated paymentProcessorType function
299 ([12039](https://github.com/civicrm/civicrm-core/pull/12039))**
301 This cleans up and removes usage of the deprecated
302 `CRM_Core_PseudoConstant::paymentProcessorType` function.
306 - **Fix Soft credit personal note ton limit to 255 characters (DB limit).
307 ([12056](https://github.com/civicrm/civicrm-core/pull/12056))**
309 This change fixes a bug where when a user is donating on a CiviEvent Personal
310 Campaign page, checks the "Show my support in public honor roll", and puts a
311 message in the "Personal Note" box that is longer than 255 characters.
312 Submitting the donation would succeed, but the page threw a fatal error before
315 - **[dev/core#60](https://lab.civicrm.org/dev/core/issues/60) Fix for check
316 number no longer exposed dev/core/issues/60
317 ([12059](https://github.com/civicrm/civicrm-core/pull/12059))**
319 This change fixes a bug where the "Check number" was not showing on Pay Later
320 event registrations when edited.
322 - **Fix: Batch update participants with checkboxes fails
323 ([12051](https://github.com/civicrm/civicrm-core/pull/12051))**
325 This change fixes a bug where when doing a batch update of participants
326 including a field that uses checkboxes the batch update fails.
328 - **[dev/core#65](https://lab.civicrm.org/dev/core/issues/65) Fix issue where
329 source for participant could be entered w…
330 ([12014](https://github.com/civicrm/civicrm-core/pull/12014))**
332 This change fixes a bug where when one attempted to manually add a participant
333 to an event using the "Add event registration" tab on their CiviCRM profile, but
334 the screen wouldn't save, the page just stays frozen and fails to complete.
336 - **[dev/core#68](https://lab.civicrm.org/dev/core/issues/68) Fix DB Error on
337 'Find Participant' page when MySQL FULL_GROUP_BY_MODE is enabled
338 ([12120](https://github.com/civicrm/civicrm-core/pull/12120))**
342 - **[dev/mail#13](https://lab.civicrm.org/dev/mail/issues/13) All unsubscribe
343 group members are excluded from a mailing with a manually specified
344 unsubscribe group (group_type=Base) if the unsubscribe group is a Smart group
345 ([12262](https://github.com/civicrm/civicrm-core/pull/12262))**
347 - **[CRM-21194](https://issues.civicrm.org/jira/browse/CRM-21194) Unique clicks
348 in mailing report shows duplicates
349 ([10988](https://github.com/civicrm/civicrm-core/pull/10988))**
351 - **[CRM-21100](https://issues.civicrm.org/jira/browse/CRM-21100) Empty list
352 shown in "Send test email to group" dropdown
353 ([10898](https://github.com/civicrm/civicrm-core/pull/10898))**
355 - **[dev/core#86](https://lab.civicrm.org/dev/core/issues/86) Notify admin when
356 testing email if CIVICRM_MAIL_LOG_AND_SEND is set
357 ([12037](https://github.com/civicrm/civicrm-core/pull/12037) and [204](https://github.com/civicrm/civicrm-packages/pull/204))**
359 Now administrators are notified when `CIVICRM_MAIL_LOG_AND_SEND` is set just
360 as when `CIVICRM_MAIL_LOG` is set.
364 - **Re-Fix Case form task (export/print not working) (replace quick fix with
365 proper fix) ([12110](https://github.com/civicrm/civicrm-core/pull/12110))**
367 This resolves a problem exporting from Advanced Search, displaying results as
368 Memberships, where the export options were for contacts, not memberships.
370 - **[dev/core#100](https://lab.civicrm.org/dev/core/issues/100) Membership
371 Detail report throw DB error
372 ([12150](https://github.com/civicrm/civicrm-core/pull/12150))**
374 The Membership Detail report would throw a DB error due to the ACL clause
377 ### Drupal integration
379 - **Fix the contact merge form on Drupal 8
380 ([11992](https://github.com/civicrm/civicrm-core/pull/11992))**
382 This fixes a bug with Drupal 8 integrations where attempting to merge contacts
383 which are associated with Drupal users resulted in a fatal error.
385 - **Drupal8 loadBootStrap: fix user variable
386 ([11958](https://github.com/civicrm/civicrm-core/pull/11958))**
388 This fixes an error when sending requests to the REST API endpoint because of
389 an incorrectly referenced variable.
391 ### WordPress Integration
393 - **[CRM-21564](https://issues.civicrm.org/jira/browse/CRM-21564) Changing from
394 using exec to WP_CLI::Launch
395 ([119](https://github.com/civicrm/civicrm-wordpress/pull/119))**
397 This change moves from using `exec` to `WP_CLI::Launch` because `exec` does
398 not seem to be available on all systems. It also makes the code more
399 consistent for running external processes.
401 ## <a name="misc"></a>Miscellany
403 - **[CRM-21037](https://issues.civicrm.org/jira/browse/CRM-21037) Add unit tests
404 for Activity sendSMS functions
405 ([10946](https://github.com/civicrm/civicrm-core/pull/10946))**
407 - **[CRM-21148](https://issues.civicrm.org/jira/browse/CRM-21148) Refactor
408 "getFromTo()" functions
409 ([11887](https://github.com/civicrm/civicrm-core/pull/11887))**
411 - **Fix (unreleased) regression on report pager
412 ([12080](https://github.com/civicrm/civicrm-core/pull/12080))**
414 - **[NFC] FIx indenting in eventFees template
415 ([12062](https://github.com/civicrm/civicrm-core/pull/12062))**
417 - **[NFC] Add metadata to describe personal note field
418 ([12046](https://github.com/civicrm/civicrm-core/pull/12046))**
420 - **(NFC) Update version in header
421 ([11999](https://github.com/civicrm/civicrm-core/pull/11999))**
423 - **[nfc] Consistently specify whether to clean money when calling from test
424 suite ([11959](https://github.com/civicrm/civicrm-core/pull/11959))**
426 - **(NFC) Update version in header
427 ([530](https://github.com/civicrm/civicrm-drupal/pull/530))**
429 - **(NFC) Fix Warnings When Updating Custom Entities
430 ([12033](https://github.com/civicrm/civicrm-core/pull/12033))**
432 - **(NFC) Update version headers in `xml`, `tests`, `tools`, et al
433 ([12029](https://github.com/civicrm/civicrm-core/pull/12029))**
435 - **5.1 ([12018](https://github.com/civicrm/civicrm-core/pull/12018))**
437 - **[CRM-20459](https://issues.civicrm.org/jira/browse/CRM-20459) Actively
438 deprecate CRM_Core_OptionGroup::getValue
439 ([12049](https://github.com/civicrm/civicrm-core/pull/12049))**
441 - **Rename function enableFullGroupByMode to be reenableFullGroupByMode t…
442 ([12064](https://github.com/civicrm/civicrm-core/pull/12064))**
444 - **Remove unused code in CRM_Contribute_Form_ContributionPage_Amount::formRule
445 ([12054](https://github.com/civicrm/civicrm-core/pull/12054))**
447 - **Add unit test to event batch update (includes function extraction to support
448 this) ([12048](https://github.com/civicrm/civicrm-core/pull/12048))**
450 - **E-notice fix ([11982](https://github.com/civicrm/civicrm-core/pull/11982))**
452 - **Extract custom data edit template code to shared template
453 ([11950](https://github.com/civicrm/civicrm-core/pull/11950))**
455 - **Simple function extraction on editing Address (within main contact edit)
456 ([11900](https://github.com/civicrm/civicrm-core/pull/11900))**
458 - **Allow KCFinder to send back a json encoded response instead of string…
459 ([203](https://github.com/civicrm/civicrm-packages/pull/203))**
461 - **Mark Accent String Tests as incomplete if on a database that is not utf8
462 ([12060](https://github.com/civicrm/civicrm-core/pull/12060))**
464 - **Add missing case type tests
465 ([12023](https://github.com/civicrm/civicrm-core/pull/12023))**
467 - **Namespace exception in test
468 ([11986](https://github.com/civicrm/civicrm-core/pull/11986))**
470 - **Fix intermittant test bug
471 ([11995](https://github.com/civicrm/civicrm-core/pull/11995))**
473 - **(NFC) Add in 5.1.0 and 5.1.1 mysql upgrade files
474 ([12143](https://github.com/civicrm/civicrm-core/pull/12143))**
476 ## <a name="credits"></a>Credits
478 This release was developed by the following code authors:
480 AGH Strategies - Andie Hunt; Australian Greens - Seamus Lee; CiviCoop - Jaap
481 Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp -
482 Debarshi Bhaumik, Michael Devery, Mukesh Ram, René Olivo, Vinu Varshith Sekar;
483 Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Fuzion - Jitendra Purohit; JMA
484 Consulting - Monish Deb; Lighthouse Design and Consulting - Brian Shaughnessy;
485 Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
486 myDropWizard - David Snopek; Progressive Technology Project - Jamie McClelland;
487 Tom Bloor; Wikimedia Foundation - Eileen McNaughton
489 Most authors also reviewed code for this release; in addition, the following
490 reviewers contributed their comments:
492 Alexander Ferreras; Chris Burgess; Christian Wach; CiviCoop - Klaas Eikelboom;
493 Coop SymbioTIC - Stéphane Lussier; Donald Hirst; Fuzion - Peter Davis; GMCVO
494 Databases - Jon-Man Cheung; JMA Consulting - Joe Murray; Joinery - Allen Shaw;
495 Left Join Labs - Sean Madsen; Lemniscus - Noah Miller; Nubay Services - David
496 Tarrant; Pradeep Nayak; Semper IT - Karin Gerritsen; small biz; Tadpole
497 Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew
499 ## <a name="feedback"></a>Feedback
501 These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
502 to provide feedback on them, please login to https://chat.civicrm.org/civicrm