5.53.0 release notes: added boilerplate
[civicrm-core.git] / release-notes / 4.7.21.md
CommitLineData
0c7d1f20
AH
1# CiviCRM 4.7.21
2
561a1d3b 3Released July 5, 2017
0c7d1f20 4
3ac93fac 5- **[Security advisories](#security)**
0c7d1f20
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
561a1d3b 8- **[Miscellany](#misc)**
0c7d1f20
AH
9- **[Credits](#credits)**
10
3ac93fac
TO
11## <a name="security"></a>Security advisories
12
13- **[CIVI-SA-2017-01](https://civicrm.org/advisory/civi-sa-2017-01-pingback-url-not-encrypted)** Pingback URL not encrypted
14- **[CIVI-SA-2017-02](https://civicrm.org/advisory/civi-sa-2017-02-privilage-escalation-via-leaked-key)** Privilage escalation via leaked key
15- **[CIVI-SA-2017-03](https://civicrm.org/advisory/civi-sa-2017-03-cross-site-scritping-in-the-recently-viewed-block)** Cross-site scripting in "Recently Viewed" block
16- **[CIVI-SA-2017-04](https://civicrm.org/advisory/civi-sa-2017-04-incorrect-escaping-for-on-behalf-of-block)** Incorrect escaping for "On Behalf Of" block
17- **[CIVI-SA-2017-05](https://civicrm.org/advisory/civi-sa-2017-05-incorrect-escaping-for-search-results-column)** Incorrect escaping for "Search Results" column
18- **[CIVI-SA-2017-06](https://civicrm.org/advisory/civi-sa-2017-06-incorrect-escaping-in-drupal-views-integration)** Incorrect escaping in Drupal Views integration
19- **[CIVI-SA-2017-07](https://civicrm.org/advisory/civi-sa-2017-07-insuffient-permission-check-in-mailing-report)** Insuffient permission-check in mailing report
20- **[CIVI-SA-2017-08](https://civicrm.org/advisory/civi-sa-2017-08-upgrade-multiple-js-libraries)** Upgrade multiple JS libraries
21
22
0c7d1f20
AH
23## <a name="features"></a>Features
24
25### Core CiviCRM
26
561a1d3b
AH
27- **[CRM-18081](https://issues.civicrm.org/jira/browse/CRM-18081) Allow search
28 of active relationships during a custom range of dates
29 ([10333](https://github.com/civicrm/civicrm-core/pull/10333))**
0c7d1f20 30
561a1d3b
AH
31 It is now possible to filter on the active dates of a relationship in Advanced
32 Search and the Relationship Report. If relationship start and end dates are
33 filled accurately, this allows finding active relationships at a specified
34 point in time.
0c7d1f20 35
561a1d3b
AH
36- **[CRM-20692](https://issues.civicrm.org/jira/browse/CRM-20692) Support jQuery
37 options in AngularJS `crm-ui-tab-set`
38 ([10477](https://github.com/civicrm/civicrm-core/pull/10477))**
0c7d1f20 39
561a1d3b
AH
40 jQuery UI supports various tab set options. This change allows for the
41 options to be passed through from `crm-ui-tab-set` `<div>` elements in
42 AngularJS.
0c7d1f20 43
561a1d3b
AH
44- **[CRM-20680](https://issues.civicrm.org/jira/browse/CRM-20680) Make the
45 CiviCRM logo spin while waiting for next page to load
46 ([10465](https://github.com/civicrm/civicrm-core/pull/10465))**
0c7d1f20 47
561a1d3b
AH
48 The spinning logo in the navigation menu provides visual indication that a new
49 page is loading.
0c7d1f20 50
561a1d3b
AH
51- **[CRM-20679](https://issues.civicrm.org/jira/browse/CRM-20679) Make the
52 CiviCRM logo spin while quicksearch is running
53 ([10464](https://github.com/civicrm/civicrm-core/pull/10464))**
0c7d1f20 54
561a1d3b 55 This provides confirmation that the search is running.
0c7d1f20 56
561a1d3b
AH
57- **[CRM-20715](https://issues.civicrm.org/jira/browse/CRM-20715) Add index on
58 `is_deceased` column in `civicrm_contact`
59 ([10489](https://github.com/civicrm/civicrm-core/pull/10489))**
0c7d1f20 60
561a1d3b 61 Queries filtering deceased contacts will have improved performance now that the `is_deceased` field is indexed.
0c7d1f20 62
561a1d3b
AH
63- **[CRM-20552](https://issues.civicrm.org/jira/browse/CRM-20552) Task for "Add
64 Relationship - to individual" is missing
65 ([10360](https://github.com/civicrm/civicrm-core/pull/10360)) (completes prior
66 work)**
0c7d1f20 67
561a1d3b
AH
68 The various search result actions for adding relationships based on different
69 contact types are now abstracted to a single class.
0c7d1f20 70
561a1d3b
AH
71- **[CRM-20684](https://issues.civicrm.org/jira/browse/CRM-20684) Standalone
72 form for contact bulk actions
73 ([10471](https://github.com/civicrm/civicrm-core/pull/10471))**
0c7d1f20 74
561a1d3b
AH
75 A number of search result actions for contacts can now be accessed directly
76 from their own URLs rather than solely from search results.
0c7d1f20 77
561a1d3b
AH
78- **[CRM-20594](https://issues.civicrm.org/jira/browse/CRM-20594) Optimze
79 Relationship Count on Contact Summary View
80 ([10371](https://github.com/civicrm/civicrm-core/pull/10371))**
0c7d1f20 81
561a1d3b
AH
82 The relationship count for a contact is now calculated by using the `COUNT()`
83 SQL function rather than counting the number of rows in the query result.
0c7d1f20 84
561a1d3b
AH
85- **[CRM-20238](https://issues.civicrm.org/jira/browse/CRM-20238) Hook for
86 inbound SMS messages
87 ([10347](https://github.com/civicrm/civicrm-core/pull/10347))**
0c7d1f20 88
561a1d3b
AH
89 See
90 [hook_civicrm_inboundSMS](https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_inboundSMS/)
0c7d1f20 91
561a1d3b
AH
92- **[CRM-20575](https://issues.civicrm.org/jira/browse/CRM-20575) Allow user to
93 set created_id field for batch
94 ([10358](https://github.com/civicrm/civicrm-core/pull/10358))**
0c7d1f20 95
561a1d3b
AH
96 If custom code modifies the batch creation form, it can specify the contact ID
97 creating the batch.
0c7d1f20 98
561a1d3b
AH
99- **[CRM-20091](https://issues.civicrm.org/jira/browse/CRM-20091) Case custom
100 fields blocks ([10540](https://github.com/civicrm/civicrm-core/pull/10540),
101 [10482](https://github.com/civicrm/civicrm-core/pull/10482), and
102 [10460](https://github.com/civicrm/civicrm-core/pull/10460)) (tangential work)**
0c7d1f20 103
561a1d3b
AH
104 A new CustomValue.getTree API action retrieves the labels and values for all
105 of an entity's custom fields, given the entity's type and ID.y54
0c7d1f20 106
561a1d3b
AH
107- **[CRM-20600](https://issues.civicrm.org/jira/browse/CRM-20600) Expose
108 AngularJS screens to hooks
109 ([10085](https://github.com/civicrm/civicrm-core/pull/10085) and
110 [10381](https://github.com/civicrm/civicrm-core/pull/10381))**
0c7d1f20 111
561a1d3b
AH
112 HTML partials in AngularJS can now be modified using
113 `hook_civicrm_alterAngular`. In addition, manipulated and compiled HTML is
114 now cached in the files directory.
0c7d1f20 115
561a1d3b
AH
116- **Surface errors from API calls to user on status page.
117 ([10380](https://github.com/civicrm/civicrm-core/pull/10380))**
0c7d1f20 118
561a1d3b 119 API debug information in status checks now appear with the resulting message.
0c7d1f20
AH
120
121### CiviCase
122
561a1d3b
AH
123- **[CRM-20475](https://issues.civicrm.org/jira/browse/CRM-20475) People
124 involved tab ([10438](https://github.com/civicrm/civicrm-core/pull/10438))**
0c7d1f20 125
561a1d3b 126 The phone number for related contacts is now avaiable in the API.
0c7d1f20 127
561a1d3b
AH
128- **[CRM-20097](https://issues.civicrm.org/jira/browse/CRM-20097) Case action
129 menu ([10288](https://github.com/civicrm/civicrm-core/pull/10288)) (unrelated
130 fixes)**
0c7d1f20 131
561a1d3b
AH
132 The Case API now has better handling for activities with multiple related
133 cases.
0c7d1f20
AH
134
135### CiviMail
136
561a1d3b
AH
137- **[CRM-20309](https://issues.civicrm.org/jira/browse/CRM-20309) Ensure A/B
138 tests can be sent in parallel
139 ([10227](https://github.com/civicrm/civicrm-core/pull/10227))**
140
141 This change improves A/B testing where the test group is larger than the
142 mailer job size. In these cases, each mailer job is scheduled one second
143 after the prior one, ensuring that the first *A* job is followed by the first
144 *B* job, then the next *A* job, and so on.
145
146- **[CRM-20370](https://issues.civicrm.org/jira/browse/CRM-20370) include
147 additional stats in mailing opened/click reports
148 ([10089](https://github.com/civicrm/civicrm-core/pull/10089))**
149
150 Open date and click date are now available as CiviMail reports.
151
152### Drupal Integration
0c7d1f20 153
561a1d3b
AH
154- **[CRM-20462](https://issues.civicrm.org/jira/browse/CRM-20462) Add filter for
155 current employer in views
156 ([443](https://github.com/civicrm/civicrm-drupal/pull/443))**
0c7d1f20 157
561a1d3b
AH
158 This feature is now available in Drupal 6.x for CiviCRM 4.7.x. It was
159 previously added for other Drupal-CiviCRM version combinations.
0c7d1f20 160
561a1d3b
AH
161- **[CRM-20205](https://issues.civicrm.org/jira/browse/CRM-20205) Expose current
162 employer id to views
163 ([434](https://github.com/civicrm/civicrm-drupal/pull/434) and
164 [433](https://github.com/civicrm/civicrm-drupal/pull/433))**
0c7d1f20 165
561a1d3b
AH
166 The current employer ID is now available as a display, contextual filter,
167 filter, and sort field in Views.
0c7d1f20 168
561a1d3b 169### Joomla Integration
0c7d1f20 170
561a1d3b
AH
171- **[CRM-12059](https://issues.civicrm.org/jira/browse/CRM-12059) Support
172 hook_civicrm_permissions on Joomla
173 ([10344](https://github.com/civicrm/civicrm-core/pull/10344) and
174 [43](https://github.com/civicrm/civicrm-joomla/pull/43))**
0c7d1f20 175
561a1d3b
AH
176 CiviCRM permissions in Joomla can now be defined dynamically, allowing
177 extensions using `hook_civicrm_permissions` to work properly
0c7d1f20
AH
178
179## <a name="bugs"></a>Bugs resolved
180
181### Core CiviCRM
182
561a1d3b
AH
183- **[CRM-20642](https://issues.civicrm.org/jira/browse/CRM-20642) Show/Hide Case
184 activity toggle
185 ([10451](https://github.com/civicrm/civicrm-core/pull/10451)) (preliminary
186 work)**
0c7d1f20 187
561a1d3b
AH
188 This fixes a bug in the Activity.get API where filtering on null case, tag, or
189 file ID would yield inconsistent results.
0c7d1f20 190
561a1d3b
AH
191- **[CRM-20590](https://issues.civicrm.org/jira/browse/CRM-20590) Add pre and
192 post hook for EntityBatch
193 ([10366](https://github.com/civicrm/civicrm-core/pull/10366))**
0c7d1f20 194
561a1d3b
AH
195- **[CRM-20588](https://issues.civicrm.org/jira/browse/CRM-20588) Pre and Post
196 hook for Batch ([10364](https://github.com/civicrm/civicrm-core/pull/10364))**
0c7d1f20 197
561a1d3b
AH
198- **[CRM-20585](https://issues.civicrm.org/jira/browse/CRM-20585) Correct the
199 from and to accounts for deferred revenue transactions
200 ([10367](https://github.com/civicrm/civicrm-core/pull/10367))**
0c7d1f20 201
561a1d3b
AH
202 The from and to accounts for deferred revenue transactions were reversed. This
203 change corrects them moving forward, but it does not affect previously-created
204 transactions.
0c7d1f20 205
561a1d3b
AH
206- **[CRM-20768](https://issues.civicrm.org/jira/browse/CRM-20768) Web-based
207 installation should accept non-standard MySQL port
208 ([10555](https://github.com/civicrm/civicrm-core/pull/10555))**
0c7d1f20 209
561a1d3b
AH
210- **[CRM-20644](https://issues.civicrm.org/jira/browse/CRM-20644) Column names
211 on Advanced search results displayed on contacts are out of order.
212 ([10556](https://github.com/civicrm/civicrm-core/pull/10556))**
0c7d1f20 213
561a1d3b
AH
214- **[CRM-18408](https://issues.civicrm.org/jira/browse/CRM-18408) SMTP
215 connection via SSL and TLS in PHP 5.6
216 ([10329](https://github.com/civicrm/civicrm-core/pull/10329)) (preliminary
217 work)**
0c7d1f20 218
561a1d3b 219 This loads a more recent build of `cacert.pem` for use on hosts which lack one.
0c7d1f20 220
561a1d3b
AH
221- **[CRM-20556](https://issues.civicrm.org/jira/browse/CRM-20556) DataTables
222 warning on merge screen
223 ([10503](https://github.com/civicrm/civicrm-core/pull/10503))**
0c7d1f20 224
561a1d3b
AH
225 This resolves a warning appearing on the duplicate contact merge listing
226 indicating that it could not reinitialize DataTable.
0c7d1f20 227
561a1d3b
AH
228- **[CRM-20672](https://issues.civicrm.org/jira/browse/CRM-20672) Related Fields
229 don't populate for relationships with contact type "All Contacts" when mapping
230 an export ([10456](https://github.com/civicrm/civicrm-core/pull/10456))**
0c7d1f20 231
561a1d3b
AH
232- **[CRM-20226](https://issues.civicrm.org/jira/browse/CRM-20226) Parent Group
233 do not inherit child group contacts
234 ([10428](https://github.com/civicrm/civicrm-core/pull/10428))**
0c7d1f20 235
561a1d3b
AH
236 A bug was fixed where members of smart groups would not appear as members of
237 parent groups of the smart group.
0c7d1f20 238
561a1d3b
AH
239- **[CRM-20381](https://issues.civicrm.org/jira/browse/CRM-20381) Can't stop
240 geocoding on import
241 ([10181](https://github.com/civicrm/civicrm-core/pull/10181))**
0c7d1f20 242
561a1d3b
AH
243 This fixes a regression where imported contacts' addresses were geocoded
244 despite bypassing geocoding in the import settings.
0c7d1f20 245
561a1d3b
AH
246- **[CRM-20655](https://issues.civicrm.org/jira/browse/CRM-20655) Notice error
247 on batch listing
248 ([10436](https://github.com/civicrm/civicrm-core/pull/10436))**
0c7d1f20 249
561a1d3b
AH
250- **Add help text to civicrm.settings.php re: DSNs containing quotes/backslashes
251 ([10437](https://github.com/civicrm/civicrm-core/pull/10437))**
0c7d1f20 252
561a1d3b
AH
253- **[CRM-20618](https://issues.civicrm.org/jira/browse/CRM-20618) Generate
254 contact image if contact id is present
255 ([10396](https://github.com/civicrm/civicrm-core/pull/10396))**
0c7d1f20 256
561a1d3b
AH
257 This prevents a contact image from being generated for a transaction unless
258 the transaction is actually related to a contact.
0c7d1f20 259
561a1d3b
AH
260- **[CRM-20606](https://issues.civicrm.org/jira/browse/CRM-20606) Incorrect
261 state/province names for Austria
262 ([10391](https://github.com/civicrm/civicrm-core/pull/10391))**
0c7d1f20 263
561a1d3b 264 Two states of Austria were missing umlauts.
0c7d1f20 265
561a1d3b
AH
266- **[CRM-20589](https://issues.civicrm.org/jira/browse/CRM-20589) Warning on
267 Batch listing page
268 ([10365](https://github.com/civicrm/civicrm-core/pull/10365))**
0c7d1f20 269
561a1d3b
AH
270- **Remove call to nonexistent method
271 ([10382](https://github.com/civicrm/civicrm-core/pull/10382))**
0c7d1f20 272
561a1d3b 273 A failure in Redis caching would call a nonexistent cache method.
0c7d1f20 274
561a1d3b
AH
275- **[CRM-20578](https://issues.civicrm.org/jira/browse/CRM-20578) Empty update
276 of Activity assignee/target results into DB error
277 ([10361](https://github.com/civicrm/civicrm-core/pull/10361))**
0c7d1f20 278
561a1d3b
AH
279- **[CRM-19896](https://issues.civicrm.org/jira/browse/CRM-19896)
280 customTranslateFunction not mapped in MagicMerge
281 ([9790](https://github.com/civicrm/civicrm-core/pull/9790))**
0c7d1f20 282
561a1d3b
AH
283- **[CRM-20740](https://issues.civicrm.org/jira/browse/CRM-20740) Api fails to
284 check on custom field is null in some cases
285 ([10512](https://github.com/civicrm/civicrm-core/pull/10512))**
0c7d1f20 286
561a1d3b
AH
287- **[CRM-19610](https://issues.civicrm.org/jira/browse/CRM-19610) Fatal when
288 creating InnoDB fts indexes
289 ([10453](https://github.com/civicrm/civicrm-core/pull/10453) and
290 [10491](https://github.com/civicrm/civicrm-core/pull/10491))**
0c7d1f20 291
561a1d3b
AH
292- **[CRM-20581](https://issues.civicrm.org/jira/browse/CRM-20581) Civi event
293 users do not have access to StateProvince entity via the API
294 ([10363](https://github.com/civicrm/civicrm-core/pull/10363))**
0c7d1f20 295
561a1d3b
AH
296 All contacts with "Access CiviCRM" permission now can access all states and
297 provinces.
0c7d1f20 298
561a1d3b
AH
299### CiviContribute
300
301- **[CRM-20253](https://issues.civicrm.org/jira/browse/CRM-20253) backend
302 contribution receipt sent when option not selected
303 ([10502](https://github.com/civicrm/civicrm-core/pull/10502),
304 [10509](https://github.com/civicrm/civicrm-core/pull/10509),
305 [10508](https://github.com/civicrm/civicrm-core/pull/10508), and
306 [10506](https://github.com/civicrm/civicrm-core/pull/10506))**
0c7d1f20 307
561a1d3b
AH
308- **[CRM-20718](https://issues.civicrm.org/jira/browse/CRM-20718) CiviCRM,
309 Contribution page, when using the "On behalf of" Organisation Profile,
310 fieldset title uses hardcoded "Organization Details"
311 ([10499](https://github.com/civicrm/civicrm-core/pull/10499))**
0c7d1f20 312
561a1d3b
AH
313 The on-behalf profile now uses the profile's name rather than "Organization
314 Details".
0c7d1f20 315
561a1d3b
AH
316- **[CRM-20690](https://issues.civicrm.org/jira/browse/CRM-20690) No more than
317 25 Price Options listed
318 ([10476](https://github.com/civicrm/civicrm-core/pull/10476))**
0c7d1f20 319
561a1d3b 320 This displays all options on a price field rather than the first 25.
0c7d1f20 321
561a1d3b
AH
322- **[CRM-20706](https://issues.civicrm.org/jira/browse/CRM-20706) Notice error
323 on using Contribution.getfield API
324 ([10484](https://github.com/civicrm/civicrm-core/pull/10484))**
0c7d1f20 325
561a1d3b
AH
326- **[CRM-20574](https://issues.civicrm.org/jira/browse/CRM-20574) Deprecated:
327 Group=''. Name='cvv_backoffice_required'.
328 ([10357](https://github.com/civicrm/civicrm-core/pull/10357))**
0c7d1f20 329
561a1d3b
AH
330- **[CRM-20516](https://issues.civicrm.org/jira/browse/CRM-20516) Card type
331 widget appears on front end when a different processor selected
332 ([10375](https://github.com/civicrm/civicrm-core/pull/10375))**
0c7d1f20 333
561a1d3b
AH
334- **[CRM-20564](https://issues.civicrm.org/jira/browse/CRM-20564) custom date
335 fields in on-behalf-of forms broken
336 ([10354](https://github.com/civicrm/civicrm-core/pull/10354))**
0c7d1f20 337
561a1d3b
AH
338- **[CRM-20747](https://issues.civicrm.org/jira/browse/CRM-20747)
339 `{contribution.campaign}` token not working on Contribution ThankYou letter
340 ([10575](https://github.com/civicrm/civicrm-core/pull/10575))**
0c7d1f20 341
561a1d3b
AH
342- **[CRM-20678](https://issues.civicrm.org/jira/browse/CRM-20678)
343 Repeattransaction produces contribution in default currency - instead of the
344 series' currency
345 ([10490](https://github.com/civicrm/civicrm-core/pull/10490))**
0c7d1f20 346
561a1d3b
AH
347- **[CRM-19963](https://issues.civicrm.org/jira/browse/CRM-19963) Paypal Express
348 not working in German
349 ([9779](https://github.com/civicrm/civicrm-core/pull/9779))**
350
351 Various conditions were conditional upon the locally-translated label of
352 PayPal rather than the fixed name.
353
354### CiviEvent
355
356- **[CRM-20611](https://issues.civicrm.org/jira/browse/CRM-20611) Cancelling a
357 line-item by changing fee selection of event, leads to incorrect financial
358 records ([10390](https://github.com/civicrm/civicrm-core/pull/10390))**
359
360- **method cannot be a protected static
361 ([10404](https://github.com/civicrm/civicrm-core/pull/10404))**
362
363 The method CRM_Event_Form_Registration_Register::getRegistrationContactID was
364 marked as protected, even though it was called from
365 CRM_Event_Form_Registration_AdditionalParticipant.
366
367- **[CRM-20613](https://issues.civicrm.org/jira/browse/CRM-20613) User
368 deprecated function: Deprecated function for New Participant
369 ([10392](https://github.com/civicrm/civicrm-core/pull/10392))**
370
371 This avoids notices when creating new participants from the backend.
372
373- **[CRM-20562](https://issues.civicrm.org/jira/browse/CRM-20562) Wrong
374 Activities created during participant registration via completetransaction.
375 ([10362](https://github.com/civicrm/civicrm-core/pull/10362))**
0c7d1f20
AH
376
377### CiviMail
378
561a1d3b
AH
379- **[CRM-20694](https://issues.civicrm.org/jira/browse/CRM-20694) CiviMail
380 Report is missing Resubscribe Message
381 ([10479](https://github.com/civicrm/civicrm-core/pull/10479))**
0c7d1f20 382
561a1d3b
AH
383- **[CRM-20660](https://issues.civicrm.org/jira/browse/CRM-20660) Mail Summary
384 Report showing same number for Total Opens and Unique Opens
385 ([10443](https://github.com/civicrm/civicrm-core/pull/10443))**
0c7d1f20 386
561a1d3b
AH
387 This resolves a problem where the Total Opens count was only querying
388 `DISTINCT` open results.
0c7d1f20 389
561a1d3b
AH
390- **[CRM-20789](https://issues.civicrm.org/jira/browse/CRM-20789) Unsubscribing
391 from an AB test does not work in 4.7.21
392 ([10583](https://github.com/civicrm/civicrm-core/pull/10583))**
0c7d1f20 393
561a1d3b 394### CiviMember
0c7d1f20 395
561a1d3b
AH
396- **[CRM-20675](https://issues.civicrm.org/jira/browse/CRM-20675) Membership
397 status update creates renewal activity
398 ([10598](https://github.com/civicrm/civicrm-core/pull/10598))**
0c7d1f20 399
561a1d3b 400### Backdrop Integration
0c7d1f20 401
561a1d3b
AH
402- **[CRM-20612](https://issues.civicrm.org/jira/browse/CRM-20612) Error:
403 undefined function config() when installing on Backdrop
404 ([10389](https://github.com/civicrm/civicrm-core/pull/10389))**
0c7d1f20 405
561a1d3b 406### Drupal Integration
0c7d1f20 407
561a1d3b
AH
408- **[CRM-20698](https://issues.civicrm.org/jira/browse/CRM-20698) Make
409 "disabled" table rows appear greyed-out
410 ([10481](https://github.com/civicrm/civicrm-core/pull/10481))**
0c7d1f20 411
561a1d3b
AH
412 CSS in the Seven theme conflicts with CiviCRM's CSS, preventing rows of
413 disabled records from having grey text.
0c7d1f20 414
561a1d3b
AH
415- **Improve Views checkbox value handling
416 ([448](https://github.com/civicrm/civicrm-drupal/pull/448) and
417 [449](https://github.com/civicrm/civicrm-drupal/pull/449))**
0c7d1f20 418
561a1d3b
AH
419- **[CRM-19303](https://issues.civicrm.org/jira/browse/CRM-19303) CKEditor
420 configuration can't be edited on a Drupal multisite installation
421 ([10577](https://github.com/civicrm/civicrm-core/pull/10577) and
422 [10511](https://github.com/civicrm/civicrm-core/pull/10511))**
0c7d1f20 423
561a1d3b 424## <a name="misc"></a>Miscellany
0c7d1f20 425
561a1d3b
AH
426- **[CRM-20744](https://issues.civicrm.org/jira/browse/CRM-20744) Use
427 bower_compoents images for datatable rather than packages
428 ([10520](https://github.com/civicrm/civicrm-core/pull/10520))**
0c7d1f20 429
561a1d3b
AH
430- **[CRM-20561](https://issues.civicrm.org/jira/browse/CRM-20561) Load
431 Net_SMTP, Auth_SASL, Net_Socket via Composer
432 ([10384](https://github.com/civicrm/civicrm-core/pull/10384),
d80a0117
TO
433 [3](https://github.com/seamuslee001/civicrm-core/pull/3),
434 [4](https://github.com/seamuslee001/civicrm-core/pull/4),
561a1d3b
AH
435 [10385](https://github.com/civicrm/civicrm-core/pull/10385),
436 [185](https://github.com/civicrm/civicrm-packages/pull/185), and
437 [186](https://github.com/civicrm/civicrm-packages/pull/186))**
438
439- **[CRM-20687](https://issues.civicrm.org/jira/browse/CRM-20687) Issue numbers
440 used as variables
441 ([10473](https://github.com/civicrm/civicrm-core/pull/10473))**
442
443- **(NFC) re add in animated-overlay.gif is no longer provided by jquery-ui
444 ([10523](https://github.com/civicrm/civicrm-core/pull/10523))**
445
446- **(NFC) Fix clearing messages to ensure test accuracy
447 ([10525](https://github.com/civicrm/civicrm-core/pull/10525))**
448
449- **(NFC) Attribution Chirojeugd Vlaanderen
450 ([10519](https://github.com/civicrm/civicrm-core/pull/10519))**
451
561a1d3b
AH
452- **[CRM-20620](https://issues.civicrm.org/jira/browse/CRM-20620) Use batch api
453 to retrieve all the batches
454 ([10397](https://github.com/civicrm/civicrm-core/pull/10397))**
455
456 When retrieving the list of transaction batches, the BAO now uses the API
457 rather than a direct SQL query.
458
459- **API allows creating multiple addresses same location type
460 ([10510](https://github.com/civicrm/civicrm-core/pull/10510))**
461
462 This adds a test to confirm that two addresses with the same location type
463 *can* be added in APIv3, even though it is not the desired behavior in the
464 form layer or APIv4.
465
466- **There's a better way to say it than "poor man's".
467 ([10500](https://github.com/civicrm/civicrm-core/pull/10500))**
468
469 Various comments referring to a "poor man's" version of something have been
470 modified to be more specific. Many contain implicit references to the Drupal
471 module [poormanscron](https://www.drupal.org/project/poormanscron), which has
472 less to do with poverty or masculinity than checking periodically for the
473 duration since the previous run of a task.
474
475- **[CRM-20651](https://issues.civicrm.org/jira/browse/CRM-20651) Change
476 partial_amount_pay to partial_amount_to_pay for Partial Payment workflow
477 ([10433](https://github.com/civicrm/civicrm-core/pull/10433))**
478
479- **(NFC) Civi\API\Kernel - Add more docblocks
480 ([10416](https://github.com/civicrm/civicrm-core/pull/10416))**
481
482- **Fix passing null object
483 ([452](https://github.com/civicrm/civicrm-drupal/pull/452))**
0c7d1f20 484
561a1d3b
AH
485- **Legacy function param cleanup
486 ([30](https://github.com/civicrm/civicrm-backdrop/pull/30))**
0c7d1f20
AH
487
488## <a name="credits"></a>Credits
489
490This release was developed by the following code authors:
491
4a170a41
AH
492Agileware - Agileware Team; Arkadiusz Rzadkowolski; Arun Singh; Australian
493Greens - Seamus Lee; Blackfly Solutions - Alan Dixon; British Humanist
494Association - Andrew West; Circle Interactive - Dave Jenkins; CiviCRM - Coleman
495Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Camilo Rodriguez,
496Michael Devery; Coop SymbioTIC - Mathieu Lutfy; Effy Elden; Eli Lisseck;
497Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion -
498Chris Burgess, Eileen McNaughton, Jitendra Purohit; Ginkgo Street Labs - Frank
499Gómez; JMA Consulting - Monish Deb, Pradeep Nayak; Joinery - Allen Shaw; Jon
500Goldberg; Lemniscus - Noah Miller; Lighthouse Design and Consulting - Brian
501Shaughnessy; Oxfam Germany - Thomas Schüttler; Progressive Technology Project -
502Jamie McClelland; Redfin Solutions - Chris Wells; Romain Thouvenin; Sean Madsen;
503Systopia - Björn Endres; Web Access - Kurund Jalmi; Wikimedia Foundation -
504Eileen McNaughton
0c7d1f20
AH
505
506Most authors also reviewed code for this release; in addition, the following
507reviewers contributed their comments:
508
4a170a41
AH
509Alcohol Justice - Bruce Wolfe; Alex Block; Andy Clarke; Blackfly Solutions -
510Alan Dixon; Bob Silvern; Bob Vincent; Business & Code - Alain Benbassat; Circle
511Interactive - Martin Castle; CiviDesk - Nicolas Ganivet; CiviHosting - Hershel
512Robinson; CompuCorp - Guanhuan Chen, Mirela Stanila; Donald Hirst; Fuzion -
513Peter Davis; Ginkgo Street Labs - Dan O'Brien; James van der Hoven; JMA
514Consulting - Joe Murray; Joanne Chester; Johan Vervloet; Korlon - Stuart Gaston;
515MC3 - Graham Mitchell; Michal Mach; Milton Zurita; MJW Consulting - Matthew
516Wire; Nubay Services - David Tarrant; Registered Nurses' Association of Ontario -
517Thomas Mannell; Richard van Oosterhout; Semper IT - Karin Gerritsen; Skvare -
518Mark Hanna; Systopia - Fabian Schuttenberg; Tech To The People - Xavier Dutoit;
519Web Access - Rohan Chavan; Wim De Craene