b0963088755de6fc7c5d9875c36bb0f36cde59ff
[civicrm-core.git] / release-notes / 5.13.0.md
1 # CiviCRM 5.13.0
2
3 Released May 1, 2019
4
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
11
12 ## <a name="synopsis"></a>Synopsis
13
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | no |
17 | Change the database schema? | **yes** |
18 | Alter the API? | **yes** |
19 | Require attention to configuration options? | **yes** |
20 | Fix problems installing or upgrading to a previous version? | **yes** |s
21 | Introduce features? | **yes** |
22 | Fix bugs? | **yes** |
23
24 ## <a name="features"></a>Features
25
26 ### Core CiviCRM
27
28 - **Configurable menubar color
29 ([13996](https://github.com/civicrm/civicrm-core/pull/13996))**
30
31 v5.12 introduced a new menu bar. The change also revised the default color
32 scheme (applying a more contemporary palette), but this created stress for
33 some users who were trained to recognize the old menu color. This exposes a
34 new setting for customizing the color scheme, and it changes the default to
35 match previous scheme (be black instead of beige).
36
37 - **Menu config screen improvements
38 ([14002](https://github.com/civicrm/civicrm-core/pull/14002))**
39
40 Improves the Menu configuration screen by: making changes to the menu (adding
41 or editing menu items) on the admin screen be reflected immediately, adding
42 links to the related settings pages to reduce confusion about how to configure
43 various aspects of the menu bar and fixing the broken icon picker and missing
44 CiviCRM icon.
45
46 - **[dev/core#824](https://lab.civicrm.org/dev/core/issues/824) What to do with
47 the merge screen ([13898](https://github.com/civicrm/civicrm-core/pull/13898)
48 and [13895](https://github.com/civicrm/civicrm-core/pull/13895)) Continued
49 Work**
50
51 Continues work to clean up the Merge screen by moving toward
52 using contact type icons in a standard way instead of the contact type names
53 and cleaning up alignment.
54
55 - **Mutliple activity type filters on activity tab on contact records
56 ([13873](https://github.com/civicrm/civicrm-core/pull/13873))**
57
58 Change include/exclude activity type filters to be multiple select2 widgets so
59 that users can filter my multiple activity types rather than only permitting
60 users to select one activity type with a traditional select field.
61
62 - **Added a DB check to prevent deleting exisiting CiviCRM data from database.
63 ([13944](https://github.com/civicrm/civicrm-core/pull/13944))**
64
65 When installing CiviCRM this change adds a check to see if there are existing
66 CiviCRM tables and requires users to manually remove any CiviCRM tables
67 before continuing to prevent users from accidentally deleting tables.
68
69 - **Encourage developers to use .then instead of .done
70 ([13982](https://github.com/civicrm/civicrm-core/pull/13982))**
71
72 This change makes it so the Api Explorer generates js code using `.then()`
73 (instead of `.done`) and demonstrates proper errQor handling to encourage
74 developers to use `.then()`.
75
76 - **[dev/core#561](https://lab.civicrm.org/dev/core/issues/561) Replace
77 jcalendar instances with datepicker
78 ([13919](https://github.com/civicrm/civicrm-core/pull/13919),
79 [13855](https://github.com/civicrm/civicrm-core/pull/13855),
80 [13965](https://github.com/civicrm/civicrm-core/pull/13965),
81 [13950](https://github.com/civicrm/civicrm-core/pull/13950) and
82 [13918](https://github.com/civicrm/civicrm-core/pull/13918)) Continued Work**
83
84 Moves from jcalendar to datepicker in the following places: the fulfilled date
85 on the premium tab on back end contribution add/edit screens, the activity
86 tab, the receive_date and the renewal_date fields in Membership forms and the
87 transaction date field on the update pending status task. And updates tests to
88 reflect progress getting rid of jcalendar.
89
90 - **Expose sort_name as a dedupe-matchable field
91 ([13864](https://github.com/civicrm/civicrm-core/pull/13864))**
92
93 Allow sort_name to be used in dedupe rules.
94
95 - **Standardise setTitle method on forms
96 ([13781](https://github.com/civicrm/civicrm-core/pull/13781))**
97
98 Makes the title of a form available in the buildForm hook.
99
100 - **send action links on any page that extends CRM_Core_Page_basic thru
101 hook_civicrm_links
102 ([13068](https://github.com/civicrm/civicrm-core/pull/13068))**
103
104 Makes it so extension developers can use hook_civicrm_links to add or remove
105 links from the Relationship Types Administration Page (CiviCRM Navigation
106 Menu->Administer->Customize Data and Screens->Relationship Types) and any
107 other page that extends CRM_Core_Page_Basic.
108
109 - **[CRM-18011](https://issues.civicrm.org/jira/browse/CRM-18011) improve lock
110 handling for mysql 5.7.5+
111 ([13854](https://github.com/civicrm/civicrm-core/pull/13854))**
112
113 Ensures mysql locks are supported on mysql 5.7.5+ and MariaDB '10.0.2'+.
114
115 - **Deploy PEAR Log package and upgrade to latest version in the process
116 ([13835](https://github.com/civicrm/civicrm-core/pull/13835))**
117
118 Upgrades the PEAR Log package version and deploys it via
119 composer.
120
121 - **Make cacheCode optional in CRM.loadScript
122 ([13824](https://github.com/civicrm/civicrm-core/pull/13824))**
123
124 A cacheCode was recently added to script urls fetched by CRM.getScript(). This
125 is not always desirable e.g. for scripts fetched from an external source, this
126 change makes it so the cacheCode is added by default but can be disabled.
127
128 - **Load hooks during upgrade mode
129 ([13551](https://github.com/civicrm/civicrm-core/pull/13551))**
130
131 Allow extensions to load hooks during an upgrade.
132
133 - **[CRM-21008](https://issues.civicrm.org/jira/browse/CRM-21008) Checkbox to
134 explicitly change employer when sharing address
135 ([13700](https://github.com/civicrm/civicrm-core/pull/13700))**
136
137 Before this change when an individual was set to share an address with an
138 organization, that organization was set as its current employer. This change
139 adds a checkbox that allows users to explicitly tell civicrm whether the
140 organization is the current employer or not when sharing an address.
141
142 - **[CRM-21677](https://issues.civicrm.org/jira/browse/CRM-21677) Report
143 improvements ([13792](https://github.com/civicrm/civicrm-core/pull/13792),
144 [13790](https://github.com/civicrm/civicrm-core/pull/13790) and
145 [13780](https://github.com/civicrm/civicrm-core/pull/13780))**
146
147 These changes improve reports by removing redundant birth date and gender
148 evaluation code.
149
150 - **[dev/core/544](https://lab.civicrm.org/dev/core/issues/544) Contact Subtype
151 field at Reports does not support contacts with multiple subtypes
152 ([13158](https://github.com/civicrm/civicrm-core/pull/13158) and
153 [13908](https://github.com/civicrm/civicrm-core/pull/13908))**
154
155 Makes reports support filtering on multiple contact subtypes.
156
157 - **[dev/core#560](https://lab.civicrm.org/dev/core/issues/560) Replace all
158 instances of CRM_Core_Fatal with throw new CRM_Core_Exception
159 ([13850](https://github.com/civicrm/civicrm-core/pull/13850)) Continued Work**
160
161 Updates Cancel Billing & Update Billing screens to use status bounce rather
162 than throw a fatal error.
163
164 - **Activity tab performance fix - switch to faster getActivities &
165 getActivitiesCount
166 ([13768](https://github.com/civicrm/civicrm-core/pull/13768))**
167
168 Performance improvement when loading the activity tab for a contact.
169
170 - **Add hook findDuplicates
171 ([13234](https://github.com/civicrm/civicrm-core/pull/13234))**
172
173 Adds the hook findDuplicates which provides the ability for extensions to
174 intercept and/or override core duplicate checking when
175 registering/contributing.
176
177 - **[dev/core#748](https://lab.civicrm.org/dev/core/issues/748) Deadlocks and
178 performance issues when using smartgroups / ACLs extensively
179 ([13772](https://github.com/civicrm/civicrm-core/pull/13772)) continued Work**
180
181 Improves performance by switching the alphabetQuery to use new
182 getSearchSQLParts() function.
183
184 - **Improve data when known time-dependent-failing test fails
185 ([13964](https://github.com/civicrm/civicrm-core/pull/13964))**
186
187 Improves output data when time dependent tests fail.
188
189 - **Use TempTable methods.
190 ([13880](https://github.com/civicrm/civicrm-core/pull/13880),
191 [13865](https://github.com/civicrm/civicrm-core/pull/13865),
192 [13819](https://github.com/civicrm/civicrm-core/pull/13819),
193 [13848](https://github.com/civicrm/civicrm-core/pull/13848),
194 [13847](https://github.com/civicrm/civicrm-core/pull/13847) and
195 [13703](https://github.com/civicrm/civicrm-core/pull/13703))**
196
197 These changes move towards using the tempTable class to improve
198 standardization including but not limited to the following places: when
199 creating the dedupe table, on the contribution detail report, on the
200 bookkeeping report and when debugging.
201
202 - **Allow extensions to enable validate.tpl
203 ([13961](https://github.com/civicrm/civicrm-core/pull/13961))**
204
205 This change makes it possible for extensions to add a validate.tpl which
206 provides front end javascript validation, which improves user experience by
207 making it so users do not have to refresh the page to see validation issues.
208
209 - **Promise Polyfill for older browsers
210 ([13955](https://github.com/civicrm/civicrm-core/pull/13955))**
211
212 Loads a polyfill for IE aQnd other outdated browsers so developers can use
213 native js Promises in our code.
214
215 ### CiviCase
216
217 - **[dev/core#641](https://lab.civicrm.org/dev/core/issues/641) Case Activity
218 Assignment Restriction
219 ([13541](https://github.com/civicrm/civicrm-core/pull/13541))**
220
221 Makes it possible to restrict the assignment of case activities to
222 a group or to contacts having user accounts.
223
224 ### CiviContribute
225
226 - **[dev/core#830](https://lab.civicrm.org/dev/core/issues/830) Proposal - add
227 cancel_reason field to civicrm_contribution_recur table
228 ([13930](https://github.com/civicrm/civicrm-core/pull/13930) and
229 [13999](https://github.com/civicrm/civicrm-core/pull/13999))**
230
231 Adds a recur cancel reason field `civicrm_contribution_recur.cancel_reason
232 field`.
233
234 - **Add ID / Test ID for payment processors to list - makes setup of IPNs much
235 easier! ([13869](https://github.com/civicrm/civicrm-core/pull/13869))**
236
237 Adds a column for payment processor id and test payment processor id to the
238 table of "Settings - Payment Processors" page so that users can more easily
239 access these ids.
240
241 - **Add payment_processor column/filter to recurring contribution report
242 ([13699](https://github.com/civicrm/civicrm-core/pull/13699))**
243
244 On the "Recurring Contribution" report, this adds "Payment Processor" as an
245 option to the Column and Filter tabs enabling users to filter this report by
246 "Payment Processor" and/or include a column for "Payment Processor".
247
248 - **[dev/financial#2](https://lab.civicrm.org/dev/financial/issues/2) Payment
249 processor names: separate internal and external usage
250 ([13995](https://github.com/civicrm/civicrm-core/pull/13995) and
251 [13954](https://github.com/civicrm/civicrm-core/pull/13954))**
252
253 Adds the field `payment_processor.title` to the schema and makes it
254 translatable.
255
256 - **[dev/financial#38](https://lab.civicrm.org/dev/financial/issues/38) Support
257 paying refunds ([13952](https://github.com/civicrm/civicrm-core/pull/13952))
258 BEGINS WORK**
259
260 Adds a PaymentProcessor.refund API which makes it possible for payment
261 processor extension authors to have their extensions issue refund payments.
262
263 - **Add minimal PaymentProcessor.pay api
264 ([13953](https://github.com/civicrm/civicrm-core/pull/13953))**
265
266 Adds a new api PaymentProcessor.pay.
267
268 - **Include lower level data when throwing an exception on payment processor.pay
269 ([14006](https://github.com/civicrm/civicrm-core/pull/14006))**
270
271 Improves error processing when using the PaymentProcessor.pay api.
272
273 - **Add billingblock region to event registration thankyou to match contribution
274 thankyou ([13762](https://github.com/civicrm/civicrm-core/pull/13762))**
275
276 This change makes it so one can use the same method to
277 replace billingblock for both event and contribution thankyou workflows.
278
279 - **[dev/core#846](https://lab.civicrm.org/dev/core/issues/846) CQ: Refactor
280 Recurring Contribution Forms
281 ([13940](https://github.com/civicrm/civicrm-core/pull/13940)) Begins Work**
282
283 Begins work to refactor recurring contribution forms specifically by
284 rationalizing url variables into shared parent for recurring contribution
285 forms.
286
287 - **Use label not name for payment processor type
288 ([13885](https://github.com/civicrm/civicrm-core/pull/13885))**
289
290 On the "Settings - Payment Processor" page changes the "Processor Type" column
291 to use the label instead of the name.
292
293 - **Improve ContributionPage.validate api
294 ([13798](https://github.com/civicrm/civicrm-core/pull/13798))**
295
296 Makes it so that one can use the ContributionPage validate api on POST, for
297 example when using Paypal Checkout which calls a Promise, the
298 ContributionPage.validate api could be called to determine whether to proceed
299 after the button is pushed.
300
301 - **Add pseudoconstant support for payment_processor_id on ContributionRecur
302 ([13698](https://github.com/civicrm/civicrm-core/pull/13698))**
303
304 - **Allow payment processor to determine the text around 'continue'
305 ([13787](https://github.com/civicrm/civicrm-core/pull/13787))**
306
307
308 ### CiviEvent
309
310 - **[dev/core#835](https://lab.civicrm.org/dev/core/issues/835) Expose
311 Registered by Participant Name field to participant report
312 ([13936](https://github.com/civicrm/civicrm-core/pull/13936))**
313
314 Exposes "Registered by Participant Name" field to participant reports.
315
316 ### CiviMail
317
318 - **[dev/core#491](https://lab.civicrm.org/dev/core/issues/491) Report results
319 don't show inactive campaigns
320 ([13383](https://github.com/civicrm/civicrm-core/pull/13383))**
321
322 Standardizes the way campaign fields are added to the "Mailing Summary"
323 report.
324
325 ### CiviMember
326
327 - **Membership form address fields for payment processors
328 ([13802](https://github.com/civicrm/civicrm-core/pull/13802))**
329
330 Standardizes processing and validating address parameters on the
331 Membership form.
332
333 ### Wordpress Integration
334
335 - **Cleaner front-end URLs
336 ([144](https://github.com/civicrm/civicrm-wordpress/pull/144))**
337
338 Makes Wordpress URLs have the same structure as Drupal URLs ex:
339 `https://domain.tld/civicrm/contribute/transact/?reset=1&id=1 as opposed to
340 old` Wordpress URLs that looked like
341 `https://domain.tld/civicrm/?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=1`
342
343 ## <a name="bugs"></a>Bugs resolved
344
345 ### Core CiviCRM
346
347 - **[infra/ops#878](https://lab.civicrm.org/infra/ops/issues/878) Add a test
348 matrix for E2E tests on each CMS
349 ([13810](https://github.com/civicrm/civicrm-core/pull/13810) and
350 [13811](https://github.com/civicrm/civicrm-core/pull/13811)) Coninued Work**
351
352 These changes resolve bugs when running E2E tests on WordPress moving the
353 project towards the goal of having a test matrix for E2E tests for each CMS
354 that CiviCRM is compatible with.
355
356 - **[dev/core#288](https://lab.civicrm.org/dev/core/issues/288) Use the correct
357 membership date for the notification that appear after completing the
358 membership payment in case pre hook is used
359 ([12583](https://github.com/civicrm/civicrm-core/pull/12583))**
360
361 This change ensures that any changes made to the membership dates using
362 hook_civicrm_pre are taken into account when generating the membership payment
363 notification.
364
365 - **[dev/core#499](https://lab.civicrm.org/dev/core/issues/499) Custom Field
366 Checkbox value renders empty if the values are randomly sorted
367 ([13051](https://github.com/civicrm/civicrm-core/pull/13051))**
368
369 This change ensures that the values selected by a user for alphanumeric
370 checkbox custom fields render properly in view mode.
371
372 - **[dev/core#570](https://lab.civicrm.org/dev/core/issues/570) New
373 Organisation: "Check For Matching Contact (S)" button does not find matching
374 records ([13398](https://github.com/civicrm/civicrm-core/pull/13398))**
375
376 This change ensures that "Check For Matching Contact(s)" retrieves
377 contacts for users with limited permissions.
378
379 - **[dev/core#655](https://lab.civicrm.org/dev/core/issues/655) Soft Credits
380 Multiply GIft Amount in Contribution Detail Report
381 ([13906](https://github.com/civicrm/civicrm-core/pull/13906))**
382
383 This change updates the Contribution Detail report so that the "Total Amount"
384 field is not summed because the summing of the "Total Amount" field was
385 leading to the "Total Amount" field for contributions with multiple soft
386 credits to be multiplied by the number of soft credits.
387
388 - **[dev/core#664](https://lab.civicrm.org/dev/core/issues/664) Add new indexes
389 when updating log table schema regardless of engine change
390 ([13462](https://github.com/civicrm/civicrm-core/pull/13462))**
391
392 This change makes it so that when the alterLogTables hook defines a new index
393 it is applied regardless of the engine.
394
395 - **[dev/core#688](https://lab.civicrm.org/dev/core/issues/688) Contacts -> New
396 Email give Unknown Error in Smarty when Allow Mail to be sent from logged in
397 contact's email address disabled
398 ([13508](https://github.com/civicrm/civicrm-core/pull/13508))**
399
400 This change fixes an error "Warning: Smarty error" when attempting to send an
401 email from Contacts -> New Email for sites with "Allow Mail to be sent from
402 logged in user" disabled.
403
404 - **[dev/core#706](https://lab.civicrm.org/dev/core/issues/706) Edit
405 contribution : wrong decimal separator on total_amount for participant(s)
406 ([13554](https://github.com/civicrm/civicrm-core/pull/13554))**
407
408 This change ensures that the decimal separator on total_amount field for
409 participant(s) is displayed as it is configured on the site.
410
411 - **[dev/core#709](https://lab.civicrm.org/dev/core/issues/709) Contact Report:
412 The filter by the custom datetime field with "Today" option doesn't find
413 matching contacts
414 ([13567](https://github.com/civicrm/civicrm-core/pull/13567))**
415
416 This change ensures that on the Contact Report, when using a filter for a
417 custom datetime field the "Today" option properly filters results.
418
419 - **[dev/core#725](https://lab.civicrm.org/dev/core/issues/725) Address API
420 incorrectly sets state_province_id if multiple countries have same state name /
421 abbreviation ([13938](https://github.com/civicrm/civicrm-core/pull/13938))**
422
423 This change fixes a regression so that the Address API country_id parameter
424 works with an abbreviation or numeric id.
425
426 - **[dev/core#726](https://lab.civicrm.org/dev/core/issues/726) Advanced Search:
427 There is an Internal Server Error (500) when the user tries to search by the
428 "Mailing List" group type
429 ([13603](https://github.com/civicrm/civicrm-core/pull/13603) and
430 [13888](https://github.com/civicrm/civicrm-core/pull/13888))**
431
432 Fixes a bug where searching by a group type (ex: Mailing List) on the Advanced
433 Search form would result in a fatal error so that this search runs as
434 expected.
435
436 - **[dev/core#740](https://lab.civicrm.org/dev/core/issues/740) Notes: It isn't
437 possible to edit note if the user uploaded an image larger than 3 MByte(s)
438 ([13640](https://github.com/civicrm/civicrm-core/pull/13640))**
439
440 This change makes it so that it is possible to edit a note field
441 that includes images larger than 3 MByte(s).
442
443 - **[dev/core#755](https://lab.civicrm.org/dev/core/issues/755) custom field
444 caching is not group-specific
445 ([13900](https://github.com/civicrm/civicrm-core/pull/13900))**
446
447 Adds the $groupTitle parameter to the cache key for custom fields, so field
448 names that exist in multiple groups will be cached separately.
449
450 - **[dev/core#788](https://lab.civicrm.org/dev/core/issues/788) Warning: A
451 non-numeric value encountered in ...
452 ([13795](https://github.com/civicrm/civicrm-core/pull/13795))**
453
454 This change fixes several warnings "Warning: A non-numeric value encountered
455 in ..." on contribution pages & event registrations forms.
456
457 - **[dev/core#795](https://lab.civicrm.org/dev/core/issues/795) PHP Warning
458 "explode() expects parameter 2 to be string, array given" for multi-value
459 country fields ([13858](https://github.com/civicrm/civicrm-core/pull/13858))**
460
461 Fixes a PHP warning when updating a multiselect country field.
462
463 - **[dev/core#798](https://lab.civicrm.org/dev/core/issues/798) Prefix/suffix
464 select2 renders oddly on public-facing pages
465 ([13816](https://github.com/civicrm/civicrm-core/pull/13816))**
466
467 This change makes the Prefix/suffix select2's render full height (as opposed
468 to squished) in contribution/event profiles.
469
470 - **[dev/core#806](https://lab.civicrm.org/dev/core/issues/806) DB Error::
471 Already exists during renewing membership automatically
472 ([13852](https://github.com/civicrm/civicrm-core/pull/13852))**
473
474 Fixes a DB error "already exists" when recording recurring payments with taxes
475 enabled.
476
477 - **[dev/core#811](https://lab.civicrm.org/dev/core/issues/811) Autocomplete
478 select list disabled options
479 ([13859](https://github.com/civicrm/civicrm-core/pull/13859))**
480
481 This change ensures that for select fields with autocomplete, only enabled
482 options autocomplete.
483
484 - **[dev/core#819](https://lab.civicrm.org/dev/core/issues/819) Search results:
485 Actions: Export contacts: DB Error: Syntax error occurs when not all necessary
486 fields are selected
487 ([13889](https://github.com/civicrm/civicrm-core/pull/13889))**
488
489 Resolves a fatal database error when attempting to export contacts without
490 selecting any fields to be exported.
491
492 - **[dev/core#823](https://lab.civicrm.org/dev/core/issues/823) Value in the
493 "Contact Type" field disappears when the user tries to edit Contact Details
494 ([13945](https://github.com/civicrm/civicrm-core/pull/13945))**
495
496 Ensures that when a user uses a profile with a contact sub type field to
497 update a contact that the contact sub type field pre-populates as expected.
498
499 - **[dev/core#837](https://lab.civicrm.org/dev/core/issues/837) Notice error
500 while creating smart group using Contribution Aggregate custom search
501 ([13921](https://github.com/civicrm/civicrm-core/pull/13921))**
502
503 Resolves "Notice: Undefined index:" errors when creating a smart group using
504 Contribution Aggregate custom search.
505
506 - **[dev/core#840](https://lab.civicrm.org/dev/core/issues/840) Notice error
507 when deleting profile
508 ([13926](https://github.com/civicrm/civicrm-core/pull/13926))**
509
510 Resolves a "Undefined property" notice when deleting a profile.
511
512 - **[dev/core#849](https://lab.civicrm.org/dev/core/issues/849) CQ: Use Guzzle
513 as our preferred way to retrieve via http
514 ([13946](https://github.com/civicrm/civicrm-core/pull/13946))**
515
516 Replaces get_headers functions call with Guzzle HTTP request to prevent timing
517 out.
518
519 - **[dev/core#433](https://lab.civicrm.org/dev/core/issues/433) Queries
520 combining multiple text labels using REGEXP do not escape regular expression
521 metacharacters ([12998](https://github.com/civicrm/civicrm-core/pull/12998))**
522
523 Ensures that querying for fee levels that contain regex metacharacters will
524 match.
525
526 - **Fix status type (error, not fail) for CRM_Core_Session::setStatus
527 ([13943](https://github.com/civicrm/civicrm-core/pull/13943))**
528
529 Fixes an incorrect status for setMessage which was using 'fail' (which is not
530 a valid status) instead of 'error'.
531
532 - **Covert the CRM_Core_Error::fatal calls to exceptions when trying to access
533 Contact Photos ([13917](https://github.com/civicrm/civicrm-core/pull/13917))**
534
535 Cleaner errors when attempting to access contact photos fails.
536
537 - **CiviCRM API, lookup state_province_id options based on country parameter if
538 present, or default country
539 ([13596](https://github.com/civicrm/civicrm-core/pull/13596))**
540
541 Ensures the CiviCRM Address API correctly sets state_province_id for states
542 whose name/abbreviation exist in multiple countries.
543
544 - **Fix php 7.2 count notice
545 ([13877](https://github.com/civicrm/civicrm-core/pull/13877))**
546
547 Fixes a "Warning: count()" error on the "Import Contacts" Summary step screen.
548
549 - **[dev/core#699](https://lab.civicrm.org/dev/core/issues/699) New
550 Organisation: "Contact Type" dropdown disappears when fields validation occurs
551 ([13545](https://github.com/civicrm/civicrm-core/pull/13545))**
552
553 Fixes a bug where when creating a new organization, if the form fails
554 validation the "Contact Sub Type" dropdown disappears.
555
556 - **Fix contact.merge api to pass check_permissions parameter through to the
557 deeper layer ([13807](https://github.com/civicrm/civicrm-core/pull/13807))**
558
559 Fixes a bug where calling Contact.merge from php will leave the merged contact
560 unmerged if the logged in user does not have the delete contacts permission
561
562 - **checkEditInboundEmailsPermissions should be a static function
563 ([13805](https://github.com/civicrm/civicrm-core/pull/13805))**
564
565 - **[dev/core#502](https://lab.civicrm.org/dev/core/issues/502) DB error "no
566 such field" when executing actions on a sorted contact search result with
567 search profile ([13884](https://github.com/civicrm/civicrm-core/pull/13884))**
568
569 - **[dev/core#314](https://lab.civicrm.org/dev/core/issues/314) Transfer picks
570 up the deleted contact ID basically transferring to the wrong contact
571 ([12639](https://github.com/civicrm/civicrm-core/pull/12639))**
572
573 - **Fix bug whereby sorting by state province gives an error in search builder
574 ([13748](https://github.com/civicrm/civicrm-core/pull/13748))**
575
576 - **Fix Contact.create calls to respect passed in variables & variables set via
577 hook for sort_name & display_name
578 ([13863](https://github.com/civicrm/civicrm-core/pull/13863))**
579
580 - **Do not cause a fatal error if no contact_id field for a note is filled in
581 when viewing contact notes
582 ([13910](https://github.com/civicrm/civicrm-core/pull/13910))**
583
584 - **Disable phpcs checking in the Crypt files where mcrypt functions are
585 ([14031](https://github.com/civicrm/civicrm-core/pull/14031))**
586
587 - **Fix 4.7.31 Upgrade in multilingual mode
588 ([14003](https://github.com/civicrm/civicrm-core/pull/14003))**
589
590 - **Optimise the loading of the CiviCRM Deduplication Exception page
591 ([13435](https://github.com/civicrm/civicrm-core/pull/13435))**
592
593 - **Unfork Zetacomponents mail and use patch to apply differences
594 ([13934](https://github.com/civicrm/civicrm-core/pull/13934))**
595
596 - **Update lockfile to take into account of civicrm/zetacomponents-mail#4 being
597 merged ([13822](https://github.com/civicrm/civicrm-core/pull/13822))**
598
599 - **Upgrade zetacomponents/base and zetacomponents/mail
600 ([13799](https://github.com/civicrm/civicrm-core/pull/13799))**
601
602 - **[dev/core#771](https://lab.civicrm.org/dev/core/issues/771) Smart group with
603 uf_group_id does not load contacts with same search profile
604 ([13742](https://github.com/civicrm/civicrm-core/pull/13742))**
605
606 ### CiviCase
607
608 - **[dev/core#784](https://lab.civicrm.org/dev/core/issues/784) Creating a new
609 relationship type while editing case type definition adds a blank row in the
610 roles section ([13785](https://github.com/civicrm/civicrm-core/pull/13785))**
611
612 - **PHP warnings on Case Dashboard and Find Cases
613 ([13998](https://github.com/civicrm/civicrm-core/pull/13998))**
614
615 ### CiviContribute
616
617 - **[dev/core#571](https://lab.civicrm.org/dev/core/issues/571) Can't
618 self-service cancel a recurring contribution made while you're logged in
619 ([13237](https://github.com/civicrm/civicrm-core/pull/13237))**
620
621 This change makes it so that users without "edit contributions" permission can
622 edit their own recurring contribution subscriptions if they are logged in,
623 before this change they could only edit their own contribution subscriptions
624 thru a checksum link.
625
626 - **Possible paypal fix to avoid sending 500 errors from ipn triggerred by
627 one-off payment
628 ([13867](https://github.com/civicrm/civicrm-core/pull/13867))**
629
630 Fixes paypal system sending a warning email when there is a failed IPN call
631 (500 errors from ipn triggered by non-recurring payment).
632
633 - **[dev/core#704](https://lab.civicrm.org/dev/core/issues/704) Missing links to
634 cancel recurring payments (regression .. sorta)
635 ([13935](https://github.com/civicrm/civicrm-core/pull/13935))**
636
637 Fixes a 5.8 regression where the cancel link became unavailable on recurring
638 contributions with no attached payment processor id.
639
640 - **Improve flushing after creating a processor so it can be used for a
641 recurring in the same run
642 ([14009](https://github.com/civicrm/civicrm-core/pull/14009))**
643
644 This change ensures tests run properly by flushing caches when creating a
645 payment processor.
646
647 - **Flush ContributionRecur static cache when flushing processors
648 ([13962](https://github.com/civicrm/civicrm-core/pull/13962))**
649
650 Ensures a (new) static cache is flushed when creating a processor, mostly
651 useful for unit testing.
652
653 - **Display test contributions when viewing contributions related to a test
654 recurring contribution
655 ([13779](https://github.com/civicrm/civicrm-core/pull/13779))**
656
657 ### CiviEvent
658
659 - **[dev/core#253](https://lab.civicrm.org/dev/core/issues/253) Cancelling or An
660 Error during event registration payment should cancel all additional
661 participates ([12457](https://github.com/civicrm/civicrm-core/pull/12457))**
662
663 This fixes a bug where if a user was registering for an event with additional
664 participants, and for some reason the payment failed or the user decided to
665 cancel the payment, only the main user participant record was set to
666 "canceled", the rest of the additional participants would have the status
667 "pending incomplete transaction" so that all participant statuses are changed
668 to "canceled".
669
670 - **Event Cart: Fix PHP 7.2 fatal error (pass by ref)
671 ([13927](https://github.com/civicrm/civicrm-core/pull/13927))**
672
673 Fixes a Fatal error when using Event cart and PHP 7.2, specifically when
674 checking out.
675
676 - **CRM/Event - Fix participant note search parameter being ignored
677 ([13697](https://github.com/civicrm/civicrm-core/pull/13697))**
678
679 This change ensures that when searching by "Participant Note" on the "Search
680 Builder form the filter is applied.
681
682 - **BAO_Participant - Use default status if not specified for create
683 ([13875](https://github.com/civicrm/civicrm-core/pull/13875))**
684
685 This change fixes a api4 test failure by ensuring that the default value of
686 'status_id' is respected by the Participant BAO. Before this change the
687 'status_id' had a default value and thus was not required but the BAO would
688 not work correctly if a 'status_id' was not supplied. After this change the
689 'status_id' default is respected and the BAO works regardless of whether the
690 'status_id' is supplied.
691
692 ### CiviGrant
693
694 - **PHP Error on Grant Detail Report
695 ([13883](https://github.com/civicrm/civicrm-core/pull/13883))**
696
697 Fixes a PHP error when viewing the "Grant Detail Report" for sites running PHP
698 7.2.
699
700 ### CiviMail
701
702 - **[dev/core#836](https://lab.civicrm.org/dev/core/issues/836) Do not track CSS
703 urls ([13920](https://github.com/civicrm/civicrm-core/pull/13920))**
704
705 Ensures CiviMail does not convert css URLs into trackable URLs.
706
707 ### CiviMember
708
709 - **Disabling or deleting Expired status breaks membership status update
710 ([13259](https://github.com/civicrm/civicrm-core/pull/13259))**
711
712 This change ensures that deleting, disabling or renaming the "Expired"
713 membership status does not cause issues when running the "Membership status
714 processor" scheduled job. Before this change deleting, disabling or renaming
715 the "Expired" membership status would result in the "Membership status
716 processor" scheduled job failing with the message `Finished execution of
717 Membership status processor with result: Failure, Error message: A fatal error
718 was triggered: One of parameters (value: ) is not of the type Integer`.
719
720 - **Fatal error to exception on Membership BAO
721 ([13774](https://github.com/civicrm/civicrm-core/pull/13774))**
722
723 This change improves experience by throwing an exception instead of a fatal
724 error.
725
726 ### Backdrop Integration
727
728 - **civicrm/admin/setting/uf - Fix advice about Backdrop Views
729 ($database_prefix)
730 ([13803](https://github.com/civicrm/civicrm-core/pull/13803))**
731
732 This change updates the advice for configuring views on the
733 `civicrm/admin/setting/uf` form so that it works for Backdrop sites.
734
735 ### Drupal Integration
736
737 - **[dev/drupal#42](https://lab.civicrm.org/dev/drupal/issues/42) Drupal8: Can't
738 upload images via CKEditor/kcfinder
739 ([242](https://github.com/civicrm/civicrm-packages/pull/242))**
740
741 Makes it so on Drupal 8 sites users can upload and browse images in KCFinder.
742
743 ## <a name="misc"></a>Miscellany
744
745 - **Fix E-notice in IDS
746 ([247](https://github.com/civicrm/civicrm-packages/pull/247))**
747
748 - **Update 7.x Drupal code to be that of the new coder style
749 ([571](https://github.com/civicrm/civicrm-drupal/pull/571))**
750
751 - **Fix up to newer coder style
752 ([69](https://github.com/civicrm/civicrm-backdrop/pull/69))**
753
754 - **Remove now-obsolete additionalFromClause parameter from prepareOrderBy
755 ([13874](https://github.com/civicrm/civicrm-core/pull/13874))**
756
757 - **Remove switch statement that no longer switches
758 ([13886](https://github.com/civicrm/civicrm-core/pull/13886))**
759
760 - **Add Unit test for export with incomplete data
761 ([13904](https://github.com/civicrm/civicrm-core/pull/13904))**
762
763 - **As discussed, delete webtests
764 ([13861](https://github.com/civicrm/civicrm-core/pull/13861))**
765
766 - **Add a class to handle test entities consistently
767 ([13814](https://github.com/civicrm/civicrm-core/pull/13814))**
768
769 - **Fix up composer for composer 2.0 compatibility
770 ([13872](https://github.com/civicrm/civicrm-core/pull/13872))**
771
772 - **Remove Log.php from the Original folder as well
773 ([245](https://github.com/civicrm/civicrm-packages/pull/245))**
774
775 - **Remove log files as now supplied by composer
776 ([244](https://github.com/civicrm/civicrm-packages/pull/244))**
777
778 - **Remove htmlpurifier from within the IDS to facilitate it being provided by
779 composer ([246](https://github.com/civicrm/civicrm-packages/pull/246))**
780
781 - **Remove Log.php require_once statements
782 ([13842](https://github.com/civicrm/civicrm-core/pull/13842))**
783
784 - **remove amavisd
785 ([243](https://github.com/civicrm/civicrm-packages/pull/243))**
786
787 - **Remove amavisd now that it is removed from the packages repository
788 ([13841](https://github.com/civicrm/civicrm-core/pull/13841))**
789
790 - **Upgrade htmlpurifier to 4.10 to support PHP7.2 and install via composer
791 ([13840](https://github.com/civicrm/civicrm-core/pull/13840))**
792
793 - **Refactor CRM_Contact_Form_Task_PDFLetterCommon
794 ([13892](https://github.com/civicrm/civicrm-core/pull/13892))**
795
796 - **Reformat test files for array format
797 ([13862](https://github.com/civicrm/civicrm-core/pull/13862))**
798
799 - **Logging - attempt to fix tests
800 ([13832](https://github.com/civicrm/civicrm-core/pull/13832))**
801
802 - **Try Reverting commit removing require once to see if it fixes the problem
803 for api4 ([13870](https://github.com/civicrm/civicrm-core/pull/13870))**
804
805 - **Import date test
806 ([13823](https://github.com/civicrm/civicrm-core/pull/13823))**
807
808 - **Add shared parent for ContributionRecur forms
809 ([13931](https://github.com/civicrm/civicrm-core/pull/13931))**
810
811 - **Update PHPWord Patches to match the latest versions of their code
812 ([13923](https://github.com/civicrm/civicrm-core/pull/13923))**
813
814 - **Extract assignPaymentFields
815 ([13957](https://github.com/civicrm/civicrm-core/pull/13957))**
816
817 - **Move code to assign tax information into shared parent
818 ([13899](https://github.com/civicrm/civicrm-core/pull/13899))**
819
820 - **Update test to reflect recently merged PR lower permission to access
821 dedupecheck ([13866](https://github.com/civicrm/civicrm-core/pull/13866))**
822
823 - **Test fix ([13856](https://github.com/civicrm/civicrm-core/pull/13856))**
824
825 - **Add unit testing for activity creation when cancelling a recurring, related
826 cleanup ([14000](https://github.com/civicrm/civicrm-core/pull/14000))**
827
828 - **Improve test coverage for CRM_Utils_Color::getRgb()
829 ([14007](https://github.com/civicrm/civicrm-core/pull/14007))**
830
831 - **Add in tests of purifying HTML output
832 ([13845](https://github.com/civicrm/civicrm-core/pull/13845))**
833
834 - **[dev/core#562](https://lab.civicrm.org/dev/core/issues/562) remove more
835 instances of ->free()
836 ([13786](https://github.com/civicrm/civicrm-core/pull/13786)) Continued Work**
837
838 - **(NFC) Ensure phpcs ignores eval notice in these files as it is required
839 ([14032](https://github.com/civicrm/civicrm-core/pull/14032))**
840
841 - **(NFC) Lint additional php files up to the new coder standard
842 ([14025](https://github.com/civicrm/civicrm-core/pull/14025))**
843
844 - **Port Code Style Fixes to 5.13 from master
845 ([14026](https://github.com/civicrm/civicrm-core/pull/14026))**
846
847 - **(NFC) Update CRM/Core CRM/Custom CRM/Dedupe to match the new coder style
848 ([14023](https://github.com/civicrm/civicrm-core/pull/14023))**
849
850 - **(NFC) Update CRM/Event folder for the new coder style
851 ([14019](https://github.com/civicrm/civicrm-core/pull/14019))**
852
853 - **(NFC) update CRM/Contribute to be the new coder standard
854 ([14021](https://github.com/civicrm/civicrm-core/pull/14021))**
855
856 - **(NFC) Update CRM/Friend CRM/Grant CRM/Group CRM/Mailing to be up to d…
857 ([14016](https://github.com/civicrm/civicrm-core/pull/14016))**
858
859 - **(NFC) Update CRM/Badge CRM/Campaign CRM/Case to be up to date with a …
860 ([14017](https://github.com/civicrm/civicrm-core/pull/14017))**
861
862 - **(NFC) Update CRM/Cxn CRM/Dashlet CRM/Export CRM/Extension and CRM/Fin…
863 ([14018](https://github.com/civicrm/civicrm-core/pull/14018))**
864
865 - **[NFC] Short array syntax - auto convert settings dir
866 ([14005](https://github.com/civicrm/civicrm-core/pull/14005))**
867
868 - **(NFC) SchemaStructure.php - Fix up mismatch between stored+generated code
869 ([14046](https://github.com/civicrm/civicrm-core/pull/14046))**
870
871 - **Arg I put these fixes in 5.12 & master while trying for 5.13
872 ([14036](https://github.com/civicrm/civicrm-core/pull/14036))**
873
874 - **(NFC) Update CRM/Member CRM/Note CRM/Logging CRM/Import and CRM/Price…
875 ([13992](https://github.com/civicrm/civicrm-core/pull/13992))**
876
877 - **(REF) CRM_Core_Resources - Move hook declaration from addCoreResources() to
878 Container.php ([14008](https://github.com/civicrm/civicrm-core/pull/14008))**
879
880 - **(NFC) Update CRM/Activity CRM/Admin and CRM/Batch folders to be the f…
881 ([13990](https://github.com/civicrm/civicrm-core/pull/13990))**
882
883 - **(NFC) Update coding style in PCP, Pledge, Profile, Queue, Report folders
884 ([13987](https://github.com/civicrm/civicrm-core/pull/13987))**
885
886 - **(NFC) Update CRM/SMS/ CRM/UF/ CRM/Upgrade/ CRM/Tag/ to be up to speed…
887 ([13986](https://github.com/civicrm/civicrm-core/pull/13986))**
888
889 - **(NFC) Bring CRM/Utils folder up to future coder standards
890 ([13985](https://github.com/civicrm/civicrm-core/pull/13985))**
891
892 - **(NFC) Set _log and _tableName variables to be public
893 ([13988](https://github.com/civicrm/civicrm-core/pull/13988))**
894
895 - **[unreleased regression] Add error handling for when no test procesor row
896 exists. ([13947](https://github.com/civicrm/civicrm-core/pull/13947))**
897
898 - **Grammar fixes
899 ([13960](https://github.com/civicrm/civicrm-core/pull/13960))**
900
901 - **Update Unit test styling to cover the future coder version
902 ([13983](https://github.com/civicrm/civicrm-core/pull/13983))**
903
904 - **(NFC) Fix location of comment to match future coder version
905 ([13984](https://github.com/civicrm/civicrm-core/pull/13984))**
906
907 - **(NFC) Bring up API folder to style of future coder checker
908 ([13980](https://github.com/civicrm/civicrm-core/pull/13980))**
909
910 - **(NFC) Upgrade Civi Folder to the new coder version
911 ([13981](https://github.com/civicrm/civicrm-core/pull/13981))**
912
913 - **(NFC) Update various files to pass future civicrm/coder ruleset
914 ([13979](https://github.com/civicrm/civicrm-core/pull/13979))**
915
916 - **(NFC) Update various files to pass current phpcs
917 ([13978](https://github.com/civicrm/civicrm-core/pull/13978))**
918
919 - **[NFC] Reformat tricksy file CRM_Mailing_BAO_Mailing
920 ([13973](https://github.com/civicrm/civicrm-core/pull/13973))**
921
922 - **[NFC] Reformat tricksy file CRM/Contribute/Import/Form/MapField
923 ([13974](https://github.com/civicrm/civicrm-core/pull/13974))**
924
925 - **[NFC] short array syntax Autoformat - just the tricksy bits of CRM/Activity
926 ([13969](https://github.com/civicrm/civicrm-core/pull/13969))**
927
928 - **[NFC] array format tricksie file CRM/Admin/Form/MessageTemplates
929 ([13970](https://github.com/civicrm/civicrm-core/pull/13970))**
930
931 - **[NFC] array format tricksie file CRM_Utils_Rest
932 ([13971](https://github.com/civicrm/civicrm-core/pull/13971))**
933
934 - **[NFC] array formatting tricksy tricksie file (another CRM/UF/Form/Group.php)
935 ([13972](https://github.com/civicrm/civicrm-core/pull/13972))**
936
937 - **[NFC] short array syntax Autoformat - just CRM/ACL dir
938 ([13968](https://github.com/civicrm/civicrm-core/pull/13968))**
939
940 - **[NFC] Short array syntax - auto-format CRM directory
941 ([13915](https://github.com/civicrm/civicrm-core/pull/13915))**
942
943 - **[REF] extract token functions
944 ([13967](https://github.com/civicrm/civicrm-core/pull/13967))**
945
946 - **Test fix ([13949](https://github.com/civicrm/civicrm-core/pull/13949))**
947
948 - **Payment test cleanup
949 ([13924](https://github.com/civicrm/civicrm-core/pull/13924))**
950
951 - **(NFC) Fix mode on files
952 ([13933](https://github.com/civicrm/civicrm-core/pull/13933))**
953
954 - **[NFC] Cleanup DAO factory classes for code standards
955 ([13922](https://github.com/civicrm/civicrm-core/pull/13922))**
956
957 - **NFC - Short array syntax - auto-convert ang dir
958 ([13912](https://github.com/civicrm/civicrm-core/pull/13912))**
959
960 - **NFC - Short array syntax - auto-convert Civi dir
961 ([13911](https://github.com/civicrm/civicrm-core/pull/13911))**
962
963 - **[NFC] Short array syntax - auto-convert api dir
964 ([13909](https://github.com/civicrm/civicrm-core/pull/13909))**
965
966 - **Minor code cleanup
967 ([13839](https://github.com/civicrm/civicrm-core/pull/13839))**
968
969 - **Minor code cleanup - remove unnecessary ids declaration
970 ([13838](https://github.com/civicrm/civicrm-core/pull/13838))**
971
972 - **Code cleanup on membership block loop
973 ([13851](https://github.com/civicrm/civicrm-core/pull/13851))**
974
975 - **[NFC] IDE formatting only
976 ([13896](https://github.com/civicrm/civicrm-core/pull/13896))**
977
978 - **Minor code cleanups around invoicing assignment
979 ([13857](https://github.com/civicrm/civicrm-core/pull/13857))**
980
981 - **[nfc] Reset entire session object between tests
982 ([13878](https://github.com/civicrm/civicrm-core/pull/13878))**
983
984 - **Fixing formatting of contributors section
985 ([13860](https://github.com/civicrm/civicrm-core/pull/13860))**
986
987 - **[NFC] code formatting only
988 ([13846](https://github.com/civicrm/civicrm-core/pull/13846))**
989
990 - **[NFC] Code reformatting
991 ([13849](https://github.com/civicrm/civicrm-core/pull/13849))**
992
993 - **Add comments about usage for doPayment() function
994 ([13812](https://github.com/civicrm/civicrm-core/pull/13812))**
995
996 - **[nfc] Attempt to improve false negatives on Logging test
997 ([13829](https://github.com/civicrm/civicrm-core/pull/13829))**
998
999 - **[NFC] remove unnecessary variable
1000 ([13836](https://github.com/civicrm/civicrm-core/pull/13836))**
1001
1002 - **REF Extract case action links into a separate function to facilitate
1003 refactoring ([13793](https://github.com/civicrm/civicrm-core/pull/13793))**
1004
1005 - **(NFC, infra/ops#878) AssetBuilderTest - Relax getUrl() assertion for WP
1006 compat ([13826](https://github.com/civicrm/civicrm-core/pull/13826))**
1007
1008 - **NFC Whitespace cleanup MembershipBlock.tpl
1009 ([13830](https://github.com/civicrm/civicrm-core/pull/13830))**
1010
1011 - **Further cleanup on getRelatedMemberships - just get them with the api
1012 ([13797](https://github.com/civicrm/civicrm-core/pull/13797))**
1013
1014 - **[REF] small cleanups on payment.create flow.
1015 ([13778](https://github.com/civicrm/civicrm-core/pull/13778))**
1016
1017 - **[NFC] reformat Contact api file to switch to new array formatting
1018 ([13806](https://github.com/civicrm/civicrm-core/pull/13806))**
1019
1020 - **[REF] minor code simplification - remove over-handling of amount comp with
1021 zero ([13783](https://github.com/civicrm/civicrm-core/pull/13783))**
1022
1023 - **Attempted test fix
1024 ([13791](https://github.com/civicrm/civicrm-core/pull/13791))**
1025
1026 - **Remove reference to google checkout
1027 ([13784](https://github.com/civicrm/civicrm-core/pull/13784))**
1028
1029 - **[NFC] template whitespace cleanup
1030 ([13782](https://github.com/civicrm/civicrm-core/pull/13782))**
1031
1032 - **(NFC) Update for compliance with next phpcs standard
1033 ([577](https://github.com/civicrm/civicrm-drupal/pull/577))**
1034
1035 - **Lint .inc files in Drupal module folder to match newer coder standard
1036 ([574](https://github.com/civicrm/civicrm-drupal/pull/574))**
1037
1038 - **(NFC) Get phpcs to ignore the use of eval in this file as it is required
1039 ([575](https://github.com/civicrm/civicrm-drupal/pull/575))**
1040
1041 - **(NFC) Update for compliance with next phpcs standard
1042 ([72](https://github.com/civicrm/civicrm-backdrop/pull/72))**
1043
1044 - **(NFC) Lint .inc files and ensure that the eval usage in tests/phpunit…
1045 ([71](https://github.com/civicrm/civicrm-backdrop/pull/71))**
1046
1047 ## <a name="credits"></a>Credits
1048
1049 This release was developed by the following code authors:
1050
1051 AGH Strategies - Alice Frumin, Andrew Hunt, Eli Lisseck;
1052 Agileware - Alok Patel, Francis Whittle;
1053 Australian Greens - Seamus Lee;
1054 calibrate - Wouter Hechtermans;
1055 Christian Wach;
1056 CiviCRM - Coleman Watts, Tim Otten;
1057 CiviDesk - Yashodha Chaku;
1058 CompuCorp - Omar Abu Hussein;
1059 Coop SymbioTIC - Mathieu Lutfy;
1060 Dave D;
1061 Electronic Frontier Foundation - Mark Burdett;
1062 Freeform Solutions - Herb van den Dool;
1063 Fuzion - Jitendra Purohit;
1064 GreenPeace Central and Eastern Europe - Patrick Figel;
1065 JMA Consulting - Monish Deb;
1066 Megaphone Technology Consulting - Jon Goldberg;
1067 MJW Consulting - Matthew Wire;
1068 Pradeep Nayak;
1069 Skvare - Mark Hanna;
1070 Squiffle Consulting - Aidan Saunders;
1071 Stephen Palmstrom;
1072 Timbsoft Technologies - Tunbola Ogunwande;
1073 Wikimedia Foundation - Eileen McNaughton
1074
1075 Most authors also reviewed code for this release; in addition, the following
1076 reviewers contributed their comments:
1077
1078 Agileware - Justin Freeman;
1079 Aniessh Sethh;
1080 Artful Robot - Rich Lott;
1081 British Humanist Association - Andrew West;
1082 Circle Interactive - Dave Jenkins;
1083 Shitij Gugnani;
1084 Coop SymbioTIC - Samuel Vanhove;
1085 GValFr35;
1086 JMA Consulting - Joe Murray;
1087 Joinery - Allen Shaw;
1088 Aivars;
1089 Korlon - Stuart Gaston;
1090 Lighthouse Design and Consulting - Brian Shaughnessy;
1091 mcuradoc;
1092 Onyemenam Ndubuisi;
1093 Tadpole Collective - Kevin Cristiano;
1094
1095 ## <a name="feedback"></a>Feedback
1096
1097 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
1098 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
1099 and contact `@agh1`.