Merge pull request #17516 from eileenmcnaughton/pf_field
[civicrm-core.git] / release-notes / 4.7.30.md
1 # CiviCRM 4.7.30
2
3 Released February 7, 2018
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? | no |
18 | **Alter the API?** | **yes** |
19 | **Require attention to configuration options?** | **yes** |
20 | **Fix problems installing or upgrading to a previous version?** | **yes** |
21 | **Introduce features?** | **yes** |
22 | **Fix bugs?** | **yes** |
23
24 ## <a name="features"></a>Features
25
26 ### Core CiviCRM
27
28 - **[CRM-21380](https://issues.civicrm.org/jira/browse/CRM-21380) Add setting to
29 block activity type from sending assignee notification
30 ([11222](https://github.com/civicrm/civicrm-core/pull/11222))**
31
32 Site administrators can now choose to suppress activity assignee notifications
33 for certain activity types even while assignee notifications are enabled for
34 other activity types.
35
36 - **Increase minimum php version requirements
37 ([11416](https://github.com/civicrm/civicrm-core/pull/11416))**
38
39 CiviCRM now requires a minimum of PHP 5.4 to run or install, though versions
40 below 5.6 are not advised and will display a notice. PHP 7.0 is the
41 recommended version.
42
43 - **[CRM-21406](https://issues.civicrm.org/jira/browse/CRM-21406) Create
44 Standalone Export Form
45 ([11254](https://github.com/civicrm/civicrm-core/pull/11254))**
46
47 Entities such as contacts, cases, and others can now be exported from a form
48 at a URL specifying the IDs of each entity to export.
49
50 - **[CRM-21584](https://issues.civicrm.org/jira/browse/CRM-21584) Add `CrmRegion`
51 Tag to Contact Actions menu template
52 ([11439](https://github.com/civicrm/civicrm-core/pull/11439))**
53
54 The "Actions" menu item at the top of a contact record now is now specified as
55 a region where extensions can easily insert markup.
56
57 - **[CRM-21389](https://issues.civicrm.org/jira/browse/CRM-21389) Add Regions to
58 Contact UserDashBoard
59 ([11235](https://github.com/civicrm/civicrm-core/pull/11235))**
60
61 The frontend user dashboard now has regions specified before and after each
62 section. Extensions can now easily instert markup in these regions.
63
64 - **[CRM-13123](https://issues.civicrm.org/jira/browse/CRM-13123) Handle
65 value-separated fields at the dao level
66 ([11394](https://github.com/civicrm/civicrm-core/pull/11394))**
67
68 There are various ways serialized data is stored as strings in the database,
69 but handling of this was generally ad-hoc. This change documents each field's
70 serialization type (e.g. delimited values, PHP serialization, or JSON) and
71 implements a common utility for serializing and unserializing values.
72
73 - **[CRM-21530](https://issues.civicrm.org/jira/browse/CRM-21530) Call post hook
74 after activity is filed on case
75 ([11385](https://github.com/civicrm/civicrm-core/pull/11385))**
76
77 `hook_civicrm_post` is now invoked for a `CaseActivity` entity when an
78 activity is filed to a case. This allows extension developers to have certain
79 actions be triggered by the event.
80
81 - **[CRM-21499](https://issues.civicrm.org/jira/browse/CRM-21499) Add filter to
82 manage tags page ([11368](https://github.com/civicrm/civicrm-core/pull/11368)
83 and [11352](https://github.com/civicrm/civicrm-core/pull/11352))**
84
85 An administrator may now filter the list of tags by partial name on the Manage
86 Tags page.
87
88 - **[CRM-21443](https://issues.civicrm.org/jira/browse/CRM-21443) Add support
89 for auto-complete fields in the batch update forms
90 ([11290](https://github.com/civicrm/civicrm-core/pull/11290))**
91
92 Previously, the batch update form would exclude autocomplete-select custom
93 fields. This adds support for them.
94
95 - **[CRM-21286](https://issues.civicrm.org/jira/browse/CRM-21286) expose active
96 flag in UI for group
97 ([11103](https://github.com/civicrm/civicrm-core/pull/11103))**
98
99 A checkbox when editing a group now allows changing whether the group is
100 active.
101
102 - **[CRM-21483](https://issues.civicrm.org/jira/browse/CRM-21483) Move anguar
103 module crmRouteBinder to core
104 ([11328](https://github.com/civicrm/civicrm-core/pull/11328))**
105
106 A new data sync method for AngularJS, `crmRouteBinder`, is now available in
107 core. It had previously been part of the new CiviCase extension.
108
109 - **[CRM-21497](https://issues.civicrm.org/jira/browse/CRM-21497)
110 crmRouteBinder: add deep comparison option
111 ([11345](https://github.com/civicrm/civicrm-core/pull/11345))**
112
113 There is now the option for the `crmRouteBinder` AngularJS data sync method to
114 notice changes that may be deep within a nested object or array.
115
116 - **[CRM-20681](https://issues.civicrm.org/jira/browse/CRM-20681) Automatically
117 search when switching options in Quicksearch
118 ([10466](https://github.com/civicrm/civicrm-core/pull/10466))**
119
120 The quick search box in the menu bar supports a variety of options. When the
121 box has search text and a user clicks another option, the box immediately runs
122 a search based upon that new option.
123
124 - **[CRM-21204](https://issues.civicrm.org/jira/browse/CRM-21204) Show Import
125 Progress Bar for Activity, Contribution and Membership imports
126 ([11007](https://github.com/civicrm/civicrm-core/pull/11007))**
127
128 This fixes the progress bar interface for activity, contribution, and
129 membership imports to match that for contact imports.
130
131 - **[CRM-21449](https://issues.civicrm.org/jira/browse/CRM-21449) Add location
132 field to Activity Report
133 ([11296](https://github.com/civicrm/civicrm-core/pull/11296))**
134
135 The activity report can now display and filter by the activity location.
136
137 - **[CRM-21419](https://issues.civicrm.org/jira/browse/CRM-21419) Prevent users
138 from accidentally creating a single activity when they want multiple
139 activities ([11264](https://github.com/civicrm/civicrm-core/pull/11264))**
140
141 When creating an activity with multiple target contacts, you are now required
142 to choose whether to create a single activity with all of the targets together
143 or one activity with each of the targets by itself. Previously, the single
144 activity was default, and a checkbox allowed creating separate activities.
145
146 - **[CRM-21349](https://issues.civicrm.org/jira/browse/CRM-21349) Increase
147 timeout of status message after batch merge.
148 ([11195](https://github.com/civicrm/civicrm-core/pull/11195))**
149
150 The status message after a batch merge now must be manually dismissed.
151
152 - **[CRM-21416](https://issues.civicrm.org/jira/browse/CRM-21416) Add reset link
153 beside 'Search' button below Advance Search form
154 ([11260](https://github.com/civicrm/civicrm-core/pull/11260))**
155
156 The Reset Form link is now available at both the bottom and the top of the
157 Advanced Search form.
158
159 - **[CRM-21408](https://issues.civicrm.org/jira/browse/CRM-21408) Api explorer -
160 better defaults for sequential checkbox
161 ([11256](https://github.com/civicrm/civicrm-core/pull/11256))**
162
163 When using the API Explorer, the "Sequential" checkbox is now unchecked for
164 actions other than `Get` and entirely hidden for `Getsingle`.
165
166 - **[CRM-21551](https://issues.civicrm.org/jira/browse/CRM-21551) Add parameter
167 to support skipping processing greetings when calling api contact.create
168 ([11405](https://github.com/civicrm/civicrm-core/pull/11405))**
169
170 When creating or updating a contact via the API, you may now bypass the
171 process that updates the contact's greeting values.
172
173 - **[CRM-21547](https://issues.civicrm.org/jira/browse/CRM-21547) Add UI order
174 by options to Contact logging summary report
175 ([11402](https://github.com/civicrm/civicrm-core/pull/11402))**
176
177 The Contact Logging Summary report can now be sorted by log date, the contact
178 that was altered, or the contact making the change.
179
180 ### CiviCase
181
182 - **[CRM-21446](https://issues.civicrm.org/jira/browse/CRM-21446) Allow case id
183 as well as hash in inbound email processing to autofile emails on cases
184 ([11320](https://github.com/civicrm/civicrm-core/pull/11320))**
185
186 Inbound emails can now specify a case ID and be accurately filed to the
187 corresponding case.
188
189 - **[CRM-21360](https://issues.civicrm.org/jira/browse/CRM-21360) Make 'Open
190 Case' Activity Optional When Defining Case Types
191 ([11204](https://github.com/civicrm/civicrm-core/pull/11204))**
192
193 A case type can now be defined without an "Open Case" activity type.
194
195 ### CiviContribute
196
197 - **[CRM-21448](https://issues.civicrm.org/jira/browse/CRM-21448) Need a link
198 from contribution record when there is no cid in the url
199 ([11295](https://github.com/civicrm/civicrm-core/pull/11295))**
200
201 The contact display name on a contribution is now displayed as a link to the
202 contact record.
203
204 - **[CRM-21106](https://issues.civicrm.org/jira/browse/CRM-21106) Move financial
205 type ACL clause for reports into extension
206 ([10901](https://github.com/civicrm/civicrm-core/pull/10901))**
207
208 In order to use financial type ACLs in a report, you must install the [Access
209 Control by Financial Type
210 Reports](https://civicrm.org/extensions/access-control-by-financial-type-for-reports)
211 extension.
212
213 - **[CRM-21577](https://issues.civicrm.org/jira/browse/CRM-21577) Add links to
214 payment blocks to allow payments
215 ([11432](https://github.com/civicrm/civicrm-core/pull/11432))**
216
217 When a contribution listing displays payments beneath each contribution,
218 Record Payment links now appear beneath partially paid contributions.
219
220 - **[CRM-21454](https://issues.civicrm.org/jira/browse/CRM-21454) Add money
221 raised on page contribution widget ajax response
222 ([11299](https://github.com/civicrm/civicrm-core/pull/11299))**
223
224 The AJAX data used to populate contribution page widgets now return the amount
225 raised as its own value.
226
227 - **[CRM-21400](https://issues.civicrm.org/jira/browse/CRM-21400) Add in static
228 var on contribution thank you page to hold trxn id
229 ([11247](https://github.com/civicrm/civicrm-core/pull/11247))**
230
231 Extension developers can now access the transaction ID when customizing the
232 thank you page.
233
234 ### CiviMail
235
236 - **[CRM-21378](https://issues.civicrm.org/jira/browse/CRM-21378) Incorporate
237 email abuse report as a spam type of bounce
238 ([11226](https://github.com/civicrm/civicrm-core/pull/11226))**
239
240 Email abuse reports from email providers are now recorded similarly to spam
241 report bounce messages, causing them to be handled as more severe bounces.
242
243 - **[CRM-21476](https://issues.civicrm.org/jira/browse/CRM-21476) Rename
244 'Clicks' to 'Unique Clicks' in mailing summary report
245 ([11319](https://github.com/civicrm/civicrm-core/pull/11319))**
246
247 The "Clicks" item in the mailing summary report is now specified as "Unique
248 Clicks" to highlight the fact that it displays the number of *recipients* who
249 clicked items rather than the number of actual clicks.
250
251 - **[CRM-21567](https://issues.civicrm.org/jira/browse/CRM-21567) Add email
252 filter for Mail Bounce Report
253 ([11415](https://github.com/civicrm/civicrm-core/pull/11415))**
254
255 The Mail Bounce Report can now be filtered by email address.
256
257 - **[CRM-21486](https://issues.civicrm.org/jira/browse/CRM-21486) Support
258 multiple test mail
259 ([11332](https://github.com/civicrm/civicrm-core/pull/11332))**
260
261 Multiple addresses can be set as recipients for test messages from the
262 CiviMail composition form.
263
264 - **[CRM-21279](https://issues.civicrm.org/jira/browse/CRM-21279) Rebuild
265 recipient list and calculate count on demand, store result in $cacheFactory
266 ([11091](https://github.com/civicrm/civicrm-core/pull/11091))**
267
268 Automatic calculation of the number of recipients on a CiviMail mailing is now
269 optional; otherwise, there is a new "Estimate recipient count" button that
270 manually calculates the number of recipients.
271
272 - **[CRM-21472](https://issues.civicrm.org/jira/browse/CRM-21472) Make CiviMail
273 token validation extensible
274 ([11316](https://github.com/civicrm/civicrm-core/pull/11316))**
275
276 Extensions using FlexMailer can now alter the list of required tokens (such as
277 an unsubscribe URL and the domain address) for CiviMail messages.
278
279 - **[CRM-21383](https://issues.civicrm.org/jira/browse/CRM-21383) Load message
280 templates on demand in CiviMail compose UI
281 ([11267](https://github.com/civicrm/civicrm-core/pull/11267))**
282
283 Message templates are now loaded only when needed rather than upon opening the
284 CiviMail composition form.
285
286 ### CiviMember
287
288 - **[CRM-21504](https://issues.civicrm.org/jira/browse/CRM-21504) Add membership
289 to recurring contribution detail
290 ([11358](https://github.com/civicrm/civicrm-core/pull/11358))**
291
292 If a recurring contribution auto-renews a membership, a link to the membership
293 now appears when viewing the recurring contribution.
294
295 ### Drupal Integration
296
297 - **[CRM-21341](https://issues.civicrm.org/jira/browse/CRM-21341) Drupal 8 Hook
298 Support ([11171](https://github.com/civicrm/civicrm-core/pull/11171))**
299
300 CiviCRM now invokes CiviCRM hook implementations in Drupal 8 modules.
301
302 - **[CRM-21093](https://issues.civicrm.org/jira/browse/CRM-21093) Move CiviCRM
303 initialization out of service constructor (in Drupal 8) and into method
304 ([11379](https://github.com/civicrm/civicrm-core/pull/11379)) (completes prior
305 work)**
306
307 CiviCRM core now initializes using a new method that was modified in the past.
308
309 ### WordPress Integration
310
311 - **[CRM-21470](https://issues.civicrm.org/jira/browse/CRM-21470) Add support
312 for WordPress Polylang plugin
313 ([11333](https://github.com/civicrm/civicrm-core/pull/11333) and
314 [11312](https://github.com/civicrm/civicrm-core/pull/11312))**
315
316 CiviCRM can now inherit the CMS language from WordPress sites with the
317 Polylang plugin, working similarly to WPML and other CMSes.
318
319 ## <a name="bugs"></a>Bugs resolved
320
321 ### Core CiviCRM
322
323 - **[CRM-21473](https://issues.civicrm.org/jira/browse/CRM-21473) Adding new
324 permission for adding notes and fixing existing issues with notes permissions
325 ([11314](https://github.com/civicrm/civicrm-core/pull/11314))**
326
327 Users with the ability to view contacts were previously able to add notes by
328 using a specially-crafted URL to reach the New Note form even if they lacked
329 the ability to edit the contact. This change requires a new permission to add
330 notes, and it requires the permission to edit the contact in order to edit or
331 delete notes.
332
333 - **[CRM-14343](https://issues.civicrm.org/jira/browse/CRM-14343) Import Error
334 File Maxes out at 250
335 ([11233](https://github.com/civicrm/civicrm-core/pull/11233))**
336
337 This removes a limit that would only display the first 250 rows of errors from
338 an import.
339
340 - **[CRM-21229](https://issues.civicrm.org/jira/browse/CRM-21229) Manage Group
341 page is slow if you have smart groups
342 ([11050](https://github.com/civicrm/civicrm-core/pull/11050)) (completes
343 previous work)**
344
345 Some adjustments were made to improve related tests and to prevent problems
346 over repeated test runs.
347
348 - **[CRM-21518](https://issues.civicrm.org/jira/browse/CRM-21518) and
349 [CRM-21539](https://issues.civicrm.org/jira/browse/CRM-21539) Add missing
350 structure divs in templates
351 ([11369](https://github.com/civicrm/civicrm-core/pull/11369) and
352 [11396](https://github.com/civicrm/civicrm-core/pull/11396))**
353
354 Many administrative forms had minor inconsistencies in their markup,
355 complicating the task of retheming. This adds missing `div` elements and
356 classes.
357
358 - **[CRM-21180](https://issues.civicrm.org/jira/browse/CRM-21180) Inline changes
359 to custom fields aren't reflected in custom greetings
360 ([11364](https://github.com/civicrm/civicrm-core/pull/11364))**
361
362 This resolves a bug where greetings that use custom fields would not update to
363 reflect changes that are made through inline edits to those fields.
364
365 - **[CRM-21298](https://issues.civicrm.org/jira/browse/CRM-21298) Don't offer to
366 fix indices until we can do it right
367 ([11250](https://github.com/civicrm/civicrm-core/pull/11250))**
368
369 A change in 2017 introduced a warning on the system status page if a site
370 lacks a database index that CiviCRM expects. The warning message would offer
371 to "update indices" in the database, resolving the problem. However, the
372 update would fail on some sites due to a database error.
373
374 This change merely suppresses the warning message while work is done to
375 improve the update process.
376
377 - **[CRM-21433](https://issues.civicrm.org/jira/browse/CRM-21433) Optimize dupe
378 checking in Recent Items stack
379 ([11281](https://github.com/civicrm/civicrm-core/pull/11281))**
380
381 The Recent Items list now suppresses duplicate items according to their entity
382 type and ID. Previously, duplicates were checked using the URL, which may
383 place parameters in a different order each time.
384
385 - **[CRM-21409](https://issues.civicrm.org/jira/browse/CRM-21409) Don't bypass
386 hooks when updating thankyou_sent/receipt_sent fields via PDF letter action
387 ([11257](https://github.com/civicrm/civicrm-core/pull/11257))**
388
389 - **[CRM-21398](https://issues.civicrm.org/jira/browse/CRM-21398) Error when
390 exporting cases
391 ([11245](https://github.com/civicrm/civicrm-core/pull/11245))**
392
393 This sets all ID fields on the temporary table for exports to have a length of
394 255, reducing the likelihood of values being to long when exported.
395
396 - **[CRM-21001](https://issues.civicrm.org/jira/browse/CRM-21001) E-notice in
397 com_civicrm/civicrm/CRM/Core/BAO/SchemaHandler.php on line 730
398 ([11307](https://github.com/civicrm/civicrm-core/pull/11307))**
399
400 - **[CRM-21412](https://issues.civicrm.org/jira/browse/CRM-21412) Do not give
401 fatal error on report when no fields selected
402 ([11259](https://github.com/civicrm/civicrm-core/pull/11259))**
403
404 A report with no columns selected now gracefully shows no results.
405
406 - **[CRM-21552](https://issues.civicrm.org/jira/browse/CRM-21552) Dedupe Rule :
407 get contact type name instead of label
408 ([11406](https://github.com/civicrm/civicrm-core/pull/11406))**
409
410 The form for editing dedupe rules would validate by contact type label
411 (potentially translated) rather than name.
412
413 - **[CRM-21534](https://issues.civicrm.org/jira/browse/CRM-21534) Key UI
414 elements fail when fetching activity records from MariaDB
415 ([11395](https://github.com/civicrm/civicrm-core/pull/11395))**
416
417 - **[CRM-21535](https://issues.civicrm.org/jira/browse/CRM-21535) Custom file
418 upload field not showing up when Viewing Activity from Case Report
419 ([11386](https://github.com/civicrm/civicrm-core/pull/11386))**
420
421 - **[CRM-21531](https://issues.civicrm.org/jira/browse/CRM-21531) Multi-select
422 custom field searches can crash on MariaDB
423 ([11388](https://github.com/civicrm/civicrm-core/pull/11388))**
424
425 This resolves an inconsistency in how MySQL and MariaDB would apply RegEx for
426 searching multiple-value delimited custom fields.
427
428 - **[CRM-21466](https://issues.civicrm.org/jira/browse/CRM-21466) Fix (obscure)
429 enotice when updating greeting for contact, add test
430 ([11310](https://github.com/civicrm/civicrm-core/pull/11310))**
431
432 - **[CRM-21469](https://issues.civicrm.org/jira/browse/CRM-21469) Cannot remove
433 all groups when editing a contact
434 ([11311](https://github.com/civicrm/civicrm-core/pull/11311))**
435
436 - **[CRM-21363](https://issues.civicrm.org/jira/browse/CRM-21363) Ensure that
437 tests run using ONLY_FULL_GROUP_BY sql_mode for mysql 5.7
438 ([11208](https://github.com/civicrm/civicrm-core/pull/11208))**
439
440 - **[CRM-21344](https://issues.civicrm.org/jira/browse/CRM-21344) Links to
441 documentation from installer error messages are broken
442 ([11190](https://github.com/civicrm/civicrm-core/pull/11190))**
443
444 - **[CRM-21214](https://issues.civicrm.org/jira/browse/CRM-21214) Chaining
445 shared addresses doesn't work correctly
446 ([11324](https://github.com/civicrm/civicrm-core/pull/11324)) (follow-up on
447 previous work)**
448
449 This resolves a bug causing a crash when passing "null" as a string for an
450 address master ID.
451
452 - **[CRM-20861](https://issues.civicrm.org/jira/browse/CRM-20861) Location type
453 does not show for custom address fields
454 ([10650](https://github.com/civicrm/civicrm-core/pull/10650))**
455
456 - **[CRM-21324](https://issues.civicrm.org/jira/browse/CRM-21324) Support 'null'
457 on date fields in the api
458 ([11152](https://github.com/civicrm/civicrm-core/pull/11152))**
459
460 Date fields are now consistent with other fields in accepting the word `null`
461 to save a null value.
462
463 - **[CRM-21422](https://issues.civicrm.org/jira/browse/CRM-21422) TimeZone
464 handling for Europe/London fails
465 ([11273](https://github.com/civicrm/civicrm-core/pull/11273))**
466
467 A "Timestamp Mismatch" system message would appear when the system's time zone
468 has an offset from UTC of zero. This is the case for a number of European and
469 African time zones at least part of the year.
470
471 - **[CRM-21395](https://issues.civicrm.org/jira/browse/CRM-21395) DOMPDF
472 produces either white screen or No-Block-Level parent found error in some
473 circumstances blocking invoice production
474 ([11246](https://github.com/civicrm/civicrm-core/pull/11246) and
475 [11243](https://github.com/civicrm/civicrm-core/pull/11243))**
476
477 - **[CRM-21458](https://issues.civicrm.org/jira/browse/CRM-21458)
478 HTML_QuickForm_hierselect doesn't handle JS escaping properly
479 ([196](https://github.com/civicrm/civicrm-packages/pull/196))**
480
481 - **[CRM-20545](https://issues.civicrm.org/jira/browse/CRM-20545) contact report
482 lists contacts that have been 'soft' deleted (placed in Trash)
483 ([11276](https://github.com/civicrm/civicrm-core/pull/11276)) (completes past
484 work)**
485
486 - **[CRM-21447](https://issues.civicrm.org/jira/browse/CRM-21447) Contact
487 Relationship Report fatal error if used from the API with a
488 relationship_type_id filter (also affects excel export)
489 ([11293](https://github.com/civicrm/civicrm-core/pull/11293))**
490
491 - **[CRM-21563](https://issues.civicrm.org/jira/browse/CRM-21563) Cannot search
492 child tags on 'Manage Tag' page
493 ([11414](https://github.com/civicrm/civicrm-core/pull/11414))**
494
495 - **[CRM-19888](https://issues.civicrm.org/jira/browse/CRM-19888) On contact
496 import, State field does not respect default country
497 ([10740](https://github.com/civicrm/civicrm-core/pull/10740))**
498
499 - **[CRM-19915](https://issues.civicrm.org/jira/browse/CRM-19915) Multi-lingual
500 Upgrade from 4.6 fails on missing DB table or field
501 ([9739](https://github.com/civicrm/civicrm-core/pull/9739))**
502
503 - **[CRM-21407](https://issues.civicrm.org/jira/browse/CRM-21407) ISO compliance
504 for German counties
505 ([11255](https://github.com/civicrm/civicrm-core/pull/11255))**
506
507 The state/province list now has correct spellings for Thüringen and
508 Baden-Württemberg, and the abbreviation for Berlin has been corrected to "BE".
509
510 - **[CRM-21041](https://issues.civicrm.org/jira/browse/CRM-21041) API Bug when
511 Creating Contact with Webform-Civicrm
512 ([11269](https://github.com/civicrm/civicrm-core/pull/11269))**
513
514 The Communication Style field would be left blank when a contact was created
515 through the API (and through modules like Webform that use the API).
516
517 ### CiviCase
518
519 - **[CRM-21559](https://issues.civicrm.org/jira/browse/CRM-21559) Save button in
520 Case Type not clickable
521 ([11473](https://github.com/civicrm/civicrm-core/pull/11473))**
522
523 - **[CRM-21384](https://issues.civicrm.org/jira/browse/CRM-21384) Ensure deleted
524 contacts are filtered out of CiviCase
525 ([11224](https://github.com/civicrm/civicrm-core/pull/11224))**
526
527 - **[CRM-21382](https://issues.civicrm.org/jira/browse/CRM-21382) Print/Merge
528 document not filed on cases
529 ([11223](https://github.com/civicrm/civicrm-core/pull/11223))**
530
531 - **[CRM-21456](https://issues.civicrm.org/jira/browse/CRM-21456) Relationship
532 end date not set when creating resolved cases.
533 ([11301](https://github.com/civicrm/civicrm-core/pull/11301))**
534
535 - **[CRM-21538](https://issues.civicrm.org/jira/browse/CRM-21538) CiviReport:
536 Field not found when sorting by Case Type as a section header
537 ([11419](https://github.com/civicrm/civicrm-core/pull/11419))**
538
539 - **[CRM-21507](https://issues.civicrm.org/jira/browse/CRM-21507) Unable to add
540 multiple target contacts to a new case activity
541 ([11360](https://github.com/civicrm/civicrm-core/pull/11360))**
542
543 This resolves a problem where users trying to add multiple targets to a new
544 case activity would be presented an error saying, "Activity Separation is a
545 required field".
546
547 - **[CRM-21421](https://issues.civicrm.org/jira/browse/CRM-21421) Cannot update
548 existing CaseContact
549 ([11268](https://github.com/civicrm/civicrm-core/pull/11268) and
550 [11270](https://github.com/civicrm/civicrm-core/pull/11270))**
551
552 A bug prevented updating cases through the API due to constraints on updating
553 case contact records.
554
555 ### CiviContribute
556
557 - **[CRM-21595](https://issues.civicrm.org/jira/browse/CRM-21595) Regression:
558 Contribution page no longer works when configured with PayPal Pro and pay
559 later ([11483](https://github.com/civicrm/civicrm-core/pull/11483))**
560
561 This resolves a PHP error when using a contribution page with pay later
562 enabled.
563
564 - **[CRM-21465](https://issues.civicrm.org/jira/browse/CRM-21465) clicking on
565 pledge link in email returns fatal error
566 ([11305](https://github.com/civicrm/civicrm-core/pull/11305))**
567
568 - **[CRM-17647](https://issues.civicrm.org/jira/browse/CRM-17647) Recording
569 payment truncates the amount after the comma (whether thousands or decimal
570 separator) ([11548](https://github.com/civicrm/civicrm-core/pull/11548) and
571 [11549](https://github.com/civicrm/civicrm-core/pull/11549))**
572
573 - **[CRM-21482](https://issues.civicrm.org/jira/browse/CRM-21482) Allow
574 retrieval of currency from $_REQUEST (as supplied by webform_civicrm)
575 ([11329](https://github.com/civicrm/civicrm-core/pull/11329),
576 [11348](https://github.com/civicrm/civicrm-core/pull/11348), and
577 [11344](https://github.com/civicrm/civicrm-core/pull/11344))**
578
579 A new standardized method is introduced for retrieving the currency from the
580 form values or page request.
581
582 - **[CRM-21200](https://issues.civicrm.org/jira/browse/CRM-21200) Pay Now
583 payment overwrites the contribution
584 ([11059](https://github.com/civicrm/civicrm-core/pull/11059))**
585
586 When a donor completes a pay-later donation using the Pay Now link, the
587 source, campaign, and contribution page values should be retained on the
588 contribution as they were initially set.
589
590 - **[CRM-21492](https://issues.civicrm.org/jira/browse/CRM-21492) Authorize.Net
591 fails on updated recurring contributions
592 ([11338](https://github.com/civicrm/civicrm-core/pull/11338))**
593
594 IPN transmissions from Authorize.net would fail because the payment amount
595 would not match the original.
596
597 - **[CRM-21328](https://issues.civicrm.org/jira/browse/CRM-21328) Remove
598 'Select' option from price option visibility drop-down (undefined index
599 visibility_id error)
600 ([11193](https://github.com/civicrm/civicrm-core/pull/11193))**
601
602 Price options could be created without visibility being set. This caused PHP
603 notices.
604
605 - **[CRM-21436](https://issues.civicrm.org/jira/browse/CRM-21436) Fatal error on
606 contribution page with only pay later enabled.
607 ([11334](https://github.com/civicrm/civicrm-core/pull/11334)) (follow-up on
608 past work)**
609
610 Test coverage is added for this bug.
611
612 - **[CRM-21457](https://issues.civicrm.org/jira/browse/CRM-21457) Receipt date
613 not updated when submitting a credit card payment from the back-end
614 (Contribution) ([11343](https://github.com/civicrm/civicrm-core/pull/11343))**
615
616 - **[CRM-21477](https://issues.civicrm.org/jira/browse/CRM-21477) Buttons
617 missing on Delete Premium product form
618 ([11318](https://github.com/civicrm/civicrm-core/pull/11318))**
619
620 - **[CRM-20899](https://issues.civicrm.org/jira/browse/CRM-20899) Format refund
621 amount ([10687](https://github.com/civicrm/civicrm-core/pull/10687))**
622
623 - **[CRM-20800](https://issues.civicrm.org/jira/browse/CRM-20800) User Cannot
624 Cancel Recurring Payment With Paypal
625 ([11359](https://github.com/civicrm/civicrm-core/pull/11359) and
626 [10986](https://github.com/civicrm/civicrm-core/pull/10986))**
627
628 - **[CRM-21342](https://issues.civicrm.org/jira/browse/CRM-21342) Contribution
629 note is not wiped if the value is removed
630 ([11187](https://github.com/civicrm/civicrm-core/pull/11187))**
631
632 When the contents of the contribution notes field are emptied, the entry in
633 the note table is deleted.
634
635 - **[CRM-21478](https://issues.civicrm.org/jira/browse/CRM-21478) Pay Now on
636 user dashboard only works in english
637 ([11323](https://github.com/civicrm/civicrm-core/pull/11323))**
638
639 The condition displaying the Pay Now link now compares the contribution status
640 name rather than the status label.
641
642 - **[CRM-21424](https://issues.civicrm.org/jira/browse/CRM-21424) Print
643 Contribution Receipt does not set receipt_date when downloading pdf receipts
644 ([11289](https://github.com/civicrm/civicrm-core/pull/11289))**
645
646 - **[CRM-21432](https://issues.civicrm.org/jira/browse/CRM-21432) Fix display of
647 end date for recurring contributions
648 ([11283](https://github.com/civicrm/civicrm-core/pull/11283))**
649
650 - **[CRM-20166](https://issues.civicrm.org/jira/browse/CRM-20166) Setting CVV is
651 'not required for backend' affects all front facing forms
652 ([11205](https://github.com/civicrm/civicrm-core/pull/11205))**
653
654 CVV is now always required for front-facing forms.
655
656 ### CiviEvent
657
658 - **[CRM-21513](https://issues.civicrm.org/jira/browse/CRM-21513) Change fee
659 selection for text price field on backoffice Event registration Not Creating
660 Correct Financial Items
661 ([11380](https://github.com/civicrm/civicrm-core/pull/11380))**
662
663 - **[CRM-19273](https://issues.civicrm.org/jira/browse/CRM-19273) Changes to
664 Event Option Value Selections on Pending (Pay Later) Contribution Not Creating
665 Correct Financial Items Causing Imbalance in Accounting Batch Export
666 ([10962](https://github.com/civicrm/civicrm-core/pull/10962),
667 [11300](https://github.com/civicrm/civicrm-core/pull/11300), and
668 [11272](https://github.com/civicrm/civicrm-core/pull/11272))**
669
670 - **[CRM-20676](https://issues.civicrm.org/jira/browse/CRM-20676) Tax applied
671 repeatedly on edits of price set events
672 ([11455](https://github.com/civicrm/civicrm-core/pull/11455))**
673
674 - **[CRM-20787](https://issues.civicrm.org/jira/browse/CRM-20787) For a
675 repeating Event series. If change the Price Set for a paid Event then this
676 Price Set selection is not applied to all Events in the series even when apply
677 to Every Event is selected
678 ([11161](https://github.com/civicrm/civicrm-core/pull/11161))**
679
680 This resoves a bug on changing the price set on an event that is part of a
681 repeating event series. An option allows selection of whether to apply
682 changes to every event in the series, but the price set would not update on
683 the other events.
684
685 - **[CRM-21245](https://issues.civicrm.org/jira/browse/CRM-21245) Incorrect
686 Contribution status "Pending Refund"
687 ([11077](https://github.com/civicrm/civicrm-core/pull/11077))**
688
689 This resolves a problem on reducing the total fee on events that are partially
690 paid. Even if the partial payment is lower than the new total, the
691 participant payment contribution would display "pending refund" instead of
692 "partially paid".
693
694 - **[CRM-21560](https://issues.civicrm.org/jira/browse/CRM-21560)
695 CRM_Event_Form_Task fatal error
696 ([11410](https://github.com/civicrm/civicrm-core/pull/11410))**
697
698 - **[CRM-21426](https://issues.civicrm.org/jira/browse/CRM-21426) Cancel/Delete
699 Event Participants - Duplicate Submit Buttons
700 ([11277](https://github.com/civicrm/civicrm-core/pull/11277))**
701
702 The confirmation screen for canceling event registrations is now consistent
703 with other forms in only having buttons at the bottom. In addition, the
704 buttons are made less ambiguous by renaming the "Continue" button to "Cancel
705 Registration".
706
707 - **[CRM-21393](https://issues.civicrm.org/jira/browse/CRM-21393) Event Location
708 page is slow (because of checkPermission)
709 ([11242](https://github.com/civicrm/civicrm-core/pull/11242))**
710
711 When checking permissions for viewing an event, details are now loaded for
712 only the one event.
713
714 ### CiviMail
715
716 - **[CRM-21468](https://issues.civicrm.org/jira/browse/CRM-21468) mailing
717 recipients field limits how many groups can be selected
718 ([11349](https://github.com/civicrm/civicrm-core/pull/11349))**
719
720 The number of groups that could be selected in the mailing recipients field
721 was limited to the number of autocomplete results as defined in the search
722 settings. There is now no limit.
723
724 - **[CRM-21501](https://issues.civicrm.org/jira/browse/CRM-21501) bounce report:
725 bounce date filter doesn't include timestamp
726 ([11354](https://github.com/civicrm/civicrm-core/pull/11354))**
727
728 On the Bounce Report, the filter for bounce date was missing the time, causing
729 date filters to be evaluated as midnight.
730
731 - **[CRM-19704](https://issues.civicrm.org/jira/browse/CRM-19704) Image-only
732 emails fail to send
733 ([11399](https://github.com/civicrm/civicrm-core/pull/11399))**
734
735 - **[CRM-21206](https://issues.civicrm.org/jira/browse/CRM-21206) Recipients
736 missing from AB Test Report
737 ([11010](https://github.com/civicrm/civicrm-core/pull/11010))**
738
739 - **[CRM-21362](https://issues.civicrm.org/jira/browse/CRM-21362) Mailing
740 summary report group by MySQL 5.7 error
741 ([11261](https://github.com/civicrm/civicrm-core/pull/11261)) (completes
742 previous work)**
743
744 Users of MySQL 5.7 with `only_full_group_by` SQL mode would have errors
745 viewing the mailing summary report when the start or end dates were included
746 among the columns.
747
748 ### CiviMember
749
750 - **[CRM-20343](https://issues.civicrm.org/jira/browse/CRM-20343) Wrong Activity
751 creation when Membership status is changed from membership form.
752 ([11198](https://github.com/civicrm/civicrm-core/pull/11198)) (follow-of of
753 previous work)**
754
755 The "is override" field is now automatically selected when a membership is set
756 to "canceled" status because of a canceled contribution.
757
758 - **[CRM-21190](https://issues.civicrm.org/jira/browse/CRM-21190) Warning error
759 on Thankyou page on pay later membership priceset.
760 ([11303](https://github.com/civicrm/civicrm-core/pull/11303))**
761
762 - **[CRM-20569](https://issues.civicrm.org/jira/browse/CRM-20569) Record Payment
763 for partially paid membership: update amt, fix deferred
764 ([11000](https://github.com/civicrm/civicrm-core/pull/11000)) (partial work)**
765
766 - **[CRM-19060](https://issues.civicrm.org/jira/browse/CRM-19060) Membership
767 Detailed Report Payment Amount (most recent) not reporting correct
768 contribution ([11389](https://github.com/civicrm/civicrm-core/pull/11389))
769 (preliminary work)**
770
771 - **[CRM-19608](https://issues.civicrm.org/jira/browse/CRM-19608) "Auto Renew
772 Required" is not enforced during membership registration using priceset.
773 ([9648](https://github.com/civicrm/civicrm-core/pull/9648))**
774
775 - **[CRM-21265](https://issues.civicrm.org/jira/browse/CRM-21265) For failed
776 membership transaction, update payment status to failed
777 ([11072](https://github.com/civicrm/civicrm-core/pull/11072))**
778
779 Previously, the payment status would remain as "Incomplete".
780
781 - **[CRM-21357](https://issues.civicrm.org/jira/browse/CRM-21357) Batch Data
782 Entry: Start date is NULL when membership batch entry is processed
783 ([11202](https://github.com/civicrm/civicrm-core/pull/11202))**
784
785 ### Backdrop Integration
786
787 - **[CRM-20764](https://issues.civicrm.org/jira/browse/CRM-20764) Need to update
788 civicrm.settings.php to account for clean urls in Backdrop
789 ([10674](https://github.com/civicrm/civicrm-core/pull/10674))**
790
791 ### Drupal Integration
792
793 - **[CRM-21526](https://issues.civicrm.org/jira/browse/CRM-21526)
794 CRM_Utils_System_Drupal8::authenticate() is incomplete
795 ([11381](https://github.com/civicrm/civicrm-core/pull/11381)) (partial work)**
796
797 The method for scripts to authenticate a Drupal 8 user would simply return the
798 user ID rather than switching to that user.
799
800 - **[CRM-21372](https://issues.civicrm.org/jira/browse/CRM-21372) Fatal error
801 adding profile on Drupal 8
802 ([11216](https://github.com/civicrm/civicrm-core/pull/11216))**
803
804 - **[CRM-21312](https://issues.civicrm.org/jira/browse/CRM-21312) Fix display of
805 Recent Items when using a bootstrap theme
806 ([11138](https://github.com/civicrm/civicrm-core/pull/11138))**
807
808 Some Drupal themes that implement the Bootstrap framework had been shifting
809 items to the right within the recent items block and allowing their text to
810 overflow their containers.
811
812 - **[CRM-20728](https://issues.civicrm.org/jira/browse/CRM-20728) Store session
813 in drupal session table before exiting
814 ([10501](https://github.com/civicrm/civicrm-core/pull/10501))**
815
816 Anonymous webform session variables had not been saved before going to the
817 payment form, which caused problems retrieving return URLs and other details.
818
819 - **[CRM-20153](https://issues.civicrm.org/jira/browse/CRM-20153) Drupal Views:
820 PCP Pages for Events not showing up in list of pages
821 ([463](https://github.com/civicrm/civicrm-drupal/pull/463))**
822
823 - **[CRM-20734](https://issues.civicrm.org/jira/browse/CRM-20734) State doesn't
824 populate on first load of view even if country is selected.
825 ([506](https://github.com/civicrm/civicrm-drupal/pull/506))**
826
827 - **[CRM-20783](https://issues.civicrm.org/jira/browse/CRM-20783) undefined
828 currency error when pricefield value is included in view
829 ([458](https://github.com/civicrm/civicrm-drupal/pull/458))**
830
831 - **[CRM-20592](https://issues.civicrm.org/jira/browse/CRM-20592) Drupal Views
832 integration : bug when selecting website
833 ([446](https://github.com/civicrm/civicrm-drupal/pull/446))**
834
835 Location type options were displayed for website field in Views even though
836 websites don't use location types.
837
838 - **[CRM-20292](https://issues.civicrm.org/jira/browse/CRM-20292) Drush cc all
839 clears custom fields from Drupal Views
840 ([472](https://github.com/civicrm/civicrm-drupal/pull/472))**
841
842 Clearing the Drupal Views cache as a user without the permission to view
843 custom fields would cause those fields to be removed from views using them.
844
845 ### Joomla Integration
846
847 - **[CRM-20164](https://issues.civicrm.org/jira/browse/CRM-20164) PayPal
848 Standard notify_url breaks with Joomla when derived from menu item
849 ([11236](https://github.com/civicrm/civicrm-core/pull/11236))**
850
851 The PayPal Standard IPN notification URL would be formed incorrectly when the
852 contribution comes from a contribution form that is linked as a menu item.
853
854 ### WordPress Integration
855
856 - **[CRM-21385](https://issues.civicrm.org/jira/browse/CRM-21385) WordPress top
857 nav bar blocks top row of WYSIWYG editor when maximized
858 ([11230](https://github.com/civicrm/civicrm-core/pull/11230))**
859
860 - **[CRM-16421](https://issues.civicrm.org/jira/browse/CRM-16421) Work to get
861 CiviCRM for WordPress in WordPress' official Repository
862 ([11397](https://github.com/civicrm/civicrm-core/pull/11397)) (continues
863 ongoing work)**
864
865 The version header in `civicrm.php` now has the complete version number of
866 CiviCRM rather than just `4.7`.
867
868 - **[CRM-20358](https://issues.civicrm.org/jira/browse/CRM-20358) WordPress
869 access control table is basically unusable
870 ([11253](https://github.com/civicrm/civicrm-core/pull/11253))**
871
872 The layout of the table on the WordPress access control form now works
873 properly even when text wraps.
874
875 ## <a name="misc"></a>Miscellany
876
877 - **[CRM-21555](https://issues.civicrm.org/jira/browse/CRM-21555) Replace
878 `CRM_Core_OptionGroup::getValue` with `CRM_Core_PseudoConstant::getKey` for
879 Case ([11409](https://github.com/civicrm/civicrm-core/pull/11409))**
880
881 - **[CRM-21548](https://issues.civicrm.org/jira/browse/CRM-21548) Remove unused
882 variables from `CRM_Utils_Address::format`
883 ([11403](https://github.com/civicrm/civicrm-core/pull/11403))**
884
885 - **[CRM-21544](https://issues.civicrm.org/jira/browse/CRM-21544) Remove unused
886 `CRM_Contact_BAO_Contact_Optimizer` class
887 ([11400](https://github.com/civicrm/civicrm-core/pull/11400))**
888
889 - **[CRM-21527](https://issues.civicrm.org/jira/browse/CRM-21527) Add default to
890 extra address::create param
891 ([11382](https://github.com/civicrm/civicrm-core/pull/11382))**
892
893 - **[CRM-21517](https://issues.civicrm.org/jira/browse/CRM-21517)
894 UpdateSubscription OptionGroup->PseudoConstant
895 ([11367](https://github.com/civicrm/civicrm-core/pull/11367))**
896
897 - **[CRM-21471](https://issues.civicrm.org/jira/browse/CRM-21471) Remove unused
898 function CRM_Core_Pseudoconstant::greetingDefaults
899 ([11313](https://github.com/civicrm/civicrm-core/pull/11313))**
900
901 - **Move test docs to civicrm-dev-docs
902 ([11213](https://github.com/civicrm/civicrm-core/pull/11213))**
903
904 - **[CRM-17860](https://issues.civicrm.org/jira/browse/CRM-17860),
905 [CRM-18231](https://issues.civicrm.org/jira/browse/CRM-18231) -
906 JobProcessMailingTest - Re-remove require_once
907 ([11251](https://github.com/civicrm/civicrm-core/pull/11251))**
908
909 - **Remove php 5.3 shim for json formatting
910 ([11421](https://github.com/civicrm/civicrm-core/pull/11421))**
911
912 - **Add test for processing multipart-related emails in fetch_bounces
913 ([11378](https://github.com/civicrm/civicrm-core/pull/11378))**
914
915 - **Fix ts() functions to have variable on the outside.
916 ([11357](https://github.com/civicrm/civicrm-core/pull/11357))**
917
918 - **[CRM-21218](https://issues.civicrm.org/jira/browse/CRM-21218) Improve
919 component statics flushing
920 ([11022](https://github.com/civicrm/civicrm-core/pull/11022))**
921
922 - **NFC, comments only
923 ([11330](https://github.com/civicrm/civicrm-core/pull/11330))**
924
925 - **NFC rerun setup.sh -dg and regen Participant DAO
926 ([11315](https://github.com/civicrm/civicrm-core/pull/11315))**
927
928 - **[CRM-16819](https://issues.civicrm.org/jira/browse/CRM-16819) Improve on
929 CRM_Utils_Request::retrieve()
930 ([11285](https://github.com/civicrm/civicrm-core/pull/11285))**
931
932 - **(NFC) .toxic.json - Update list of functions which yield toxic warnings
933 ([11302](https://github.com/civicrm/civicrm-core/pull/11302))**
934
935 - **[NFC] code cleanup: split out 2 functions that are mostly unrelated.
936 ([11284](https://github.com/civicrm/civicrm-core/pull/11284))**
937
938 - **[NFC] Function extraction and renaming of variable for shorter refere…
939 ([11278](https://github.com/civicrm/civicrm-core/pull/11278))**
940
941 - **[NFC] Fix a bunch of docstrings
942 ([11034](https://github.com/civicrm/civicrm-core/pull/11034))**
943
944 - **[NFC] Additional test
945 ([11266](https://github.com/civicrm/civicrm-core/pull/11266))**
946
947 - **[NFC] Minor refactor of test to allow re-use
948 ([11265](https://github.com/civicrm/civicrm-core/pull/11265))**
949
950 - **Fix GenerateData for only_full_group_by sqlMode
951 ([11225](https://github.com/civicrm/civicrm-core/pull/11225))**
952
953 This resolves a problem with generating sample data using MySQL 5.7, which has
954 the `only_full_group_by` SQL mode by default.
955
956 - **Lint civicrm.module and civicrm.install files
957 ([467](https://github.com/civicrm/civicrm-drupal/pull/467))**
958
959 - **Fix Activity Unit Test failure
960 ([11552](https://github.com/civicrm/civicrm-core/pull/11552))**
961
962 ## <a name="credits"></a>Credits
963
964 This release was developed by the following code authors:
965
966 AGH Strategies - Andrew Hunt; Agileware - Agileware Team, Alok Patel, Francis
967 Whittle; Australian Greens - Seamus Lee; British Humanist Association - Andrew
968 West; Christian Wach; CiviCoop - Klaas Eikelboom; CiviCRM - Coleman Watts, Tim
969 Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; CiviFirst - John Kirk; Community
970 IT Academy - William Mortada; CompuCorp - Camilo Rodriguez, Mukesh Ram, Omar Abu
971 Hussein; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Deepak Srivastava;
972 Ergon Logic Enterprises - Christopher Gervais; Francesc Bassas i Bullich;
973 Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; JazzMan; JMA
974 Consulting - Edsel Lopez, Monish Deb, Pradeep Nayak; John Kingsnorth; Joinery -
975 Allen Shaw; Kompetenzzentrum Technik-Diversity-Chancengleichheit - Niels
976 Heinemann; Left Join Labs - Sean Madsen; Lighthouse Design and Consulting -
977 Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; Mihael
978 Mladenov; MJW Consulting - Matthew Wire; myDropWizard - David Snopek; Nathan
979 Brettell; Noah's Light Foundation - Carlos Loeza; Oxfam Germany - Thomas
980 Schüttler; Progressive Technology Project - Jamie McClelland; Rupal Javiya;
981 Squiffle Consulting - Aidan Saunders; Stephen Palmstrom; Third Sector Design -
982 Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; Vinu Varshith
983 Sekar; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston, Maggie Epps;
984 Will Long
985
986 Most authors also reviewed code for this release; in addition, the following
987 reviewers contributed their comments:
988
989 AGH Strategies - Alice Frumin, Jane Hanley; Anne Smale; Australian Greens - John
990 Twyman; Avietech - Jonathan Boeke; BackOffice Thinking - Hassan Farooq; Campaign
991 Against Arms Trade - Kirk Jackson; CEDC - Laryn Kragt Bakker; Chris Burgess;
992 Christophe Golle; Circle Interactive - Dave Jenkins; CompuCorp - Guanhuan Chen,
993 Igor Pavlov, Madura Krishnamoorthy; Daniël van Vuuren; Dave D; Edinburgh College -
994 Graham Smith; Elennio Dec; Fatih Ateş; Forest CRM Consulting - Tamar Meir;
995 Fuzion - Peter Davis; Ginkgo Street Labs - Dan O'Brien, Evan Chute; Hartmann
996 Computer Consulting - Peter Hartmann; JMA Consulting - Joe Murray; Joanne
997 Chester; Joseph Lacey; Juan David Hurtado G.; Julian Libor; Just Hope - Phil
998 Morice Brubaker; Korlon - Stuart Gaston; Lemniscus - Noah Miller; Lullabot -
999 Nate Lampton; MC3 - Graham Mitchell; National Democratic Institute - Dean
1000 Valentine; Neil Zampella; Octo Happiness; Robert Lang; Saurabh Batra; Semper IT -
1001 Karin Gerritsen; Skvare - Mark Hanna; SLB Radio Productions - Larry Berger; Spry
1002 Digital - Ellen Hendricks; Stan Dragnev; Systopia - Björn Endres; Tadpole
1003 Collective - Kevin Cristiano; Tommy Sheppard; Torrance Hodgson; Web Access -
1004 Pratiksha Dubey; Website Express - James Forbes Keir
1005
1006 ## <a name="feedback"></a>Feedback
1007
1008 These release notes are edited by Andrew Hunt. If you'd like to provide
1009 feedback on them, please login to https://chat.civicrm.org/civicrm and contact
1010 `@agh1`.