3 Released August 1, 2018
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
12 ## <a name="synopsis"></a>Synopsis
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | no |
17 | **Change the database schema?** | **yes** |
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** |
24 ## <a name="features"></a>Features
28 - **[CRM-20430](https://issues.civicrm.org/jira/browse/CRM-20430) A permission
29 'save Report Criteria'
30 ([12107](https://github.com/civicrm/civicrm-core/pull/12107))**
32 Permission to edit the criteria for saved reports is now separate from the
33 permission to access and preview modifications of report criteria. This will
34 prevent non-privileged users from modifying the criteria of an organization's
35 standard reports. However when upgrading, site administrators will need to
36 grant the Save Report Criteria permission to roles that need that capability.
38 - **[dev/core#174](https://lab.civicrm.org/dev/core/issues/174) Consistently use
39 swappable cache interfaces
40 ([12321](https://github.com/civicrm/civicrm-core/pull/12321),
41 [12322](https://github.com/civicrm/civicrm-core/pull/12322),
42 [12323](https://github.com/civicrm/civicrm-core/pull/12323),
43 [12330](https://github.com/civicrm/civicrm-core/pull/12330),
44 [12331](https://github.com/civicrm/civicrm-core/pull/12331),
45 [12336](https://github.com/civicrm/civicrm-core/pull/12336),
46 [12342](https://github.com/civicrm/civicrm-core/pull/12342),
47 [12348](https://github.com/civicrm/civicrm-core/pull/12348),
48 [12354](https://github.com/civicrm/civicrm-core/pull/12354),
49 [12362](https://github.com/civicrm/civicrm-core/pull/12362),
50 [12368](https://github.com/civicrm/civicrm-core/pull/12368),
51 [12376](https://github.com/civicrm/civicrm-core/pull/12376),
52 [12378](https://github.com/civicrm/civicrm-core/pull/12378),
53 [12379](https://github.com/civicrm/civicrm-core/pull/12379),
54 [12380](https://github.com/civicrm/civicrm-core/pull/12380),
55 [12381](https://github.com/civicrm/civicrm-core/pull/12381),
56 [12389](https://github.com/civicrm/civicrm-core/pull/12389), and
57 [215](https://github.com/civicrm/civicrm-packages/pull/215))**
59 Sites using Redis or Memcache for caches and sessions will now use those
60 facilities exclusively rather than retaining the `civicrm_cache` table as
61 a backstop. This improves performance for these sites, especially those
62 using multiple MySQL servers.
64 As a precaution, Redis or Memcache administrators with very active sites
65 may wish to double-check that they have ample capacity for their caches and
68 For developers, the `CRM_Utils_Cache` APIs now support expiration/TTL
69 times and [PSR-16 CacheInterface](https://www.php-fig.org/psr/psr-16/).
70 The Civi implementation is slightly more permissive than the PSR-16
71 specification; for full compliance, enable `CIVICRM_PSR16_STRICT`.
73 - **[CRM-21574](https://issues.civicrm.org/jira/browse/CRM-21574) Allow to
74 disable sending of email from source contact for tell a friend on pcp
75 ([12355](https://github.com/civicrm/civicrm-core/pull/12355)) (preliminary
78 Emails from the "tell a friend" feature are sent as if they are from the
79 donor's address. This can cause delivery failures as the site may not be a
80 valid source for the donor's email domain. Changes here are preliminary
83 - **[dev/core#32](https://lab.civicrm.org/dev/core/issues/32) Add option to
84 disable cancel button on a profile form
85 ([11883](https://github.com/civicrm/civicrm-core/pull/11883))**
87 The Cancel button is now optional on profile forms.
89 - **[CRM-21392](https://issues.civicrm.org/jira/browse/CRM-21392) Allow viewing
90 groups/smartgroups as as other entities (eg. memberships, events)
91 ([11241](https://github.com/civicrm/civicrm-core/pull/11241))**
93 The Find Groups page now has a similar "View Results As" feature as the
94 Advanced Search: you can choose to view memberships, events, activities, etc.
95 of group subscribers rather than the contacts themselves.
97 - **[CRM-21622](https://issues.civicrm.org/jira/browse/CRM-21622) Make the Add
98 Parent Groups on Group Settings be a multiselect
99 ([11481](https://github.com/civicrm/civicrm-core/pull/11481))**
101 The New Group form now allows you to set multiple parent groups for a single
104 - **[CRM-21460](https://issues.civicrm.org/jira/browse/CRM-21460) Programmatic
105 access to job execution status
106 ([11337](https://github.com/civicrm/civicrm-core/pull/11337))**
108 Extension developers can implement two new hooks, `hook_civicrm_preJob` and
109 `hook_civicrm_postJob`, which are invoked before and after executing a
112 - **Change default for `CIVICRM_CONTAINER_CACHE` to simplify admin/developer
113 experience ([12426](https://github.com/civicrm/civicrm-core/pull/12426))**
115 - **[dev/core#223](https://lab.civicrm.org/dev/core/issues/223) Expose prefix
116 and suffix in reports
117 ([12394](https://github.com/civicrm/civicrm-core/pull/12394))**
119 Individuals' prefix and suffix fields are now available as columns and filters
120 among the contact fields in most reports.
122 - **[dev/core#101](https://lab.civicrm.org/dev/core/issues/101) Allow further
123 customization of search form in hooks
124 ([12078](https://github.com/civicrm/civicrm-core/pull/12078))**
126 Fields are no longer explicitly included in the search form template since
127 that makes it hard to add or remove fields. Instead, the fields are listed in
128 template variables, and the template iterates over the list to render the
131 - **[dev/core#183](https://lab.civicrm.org/dev/core/issues/183) Temporary tables
132 should follow consistent naming convention
133 ([12311](https://github.com/civicrm/civicrm-core/pull/12311)) (partially
136 This moves towards naming temporary tables--both true temporary tables in
137 MySQL and regular tables created for temporary use--in a consistent manner in
138 order to help database administrators employ replication policies based upon
141 - **[dev/core#144](https://lab.civicrm.org/dev/core/issues/144)
142 `getCustomFieldID` switch to API, add caching, add full string return option
143 ([12218](https://github.com/civicrm/civicrm-core/pull/12218) and
144 [12283](https://github.com/civicrm/civicrm-core/pull/12283))**
146 The function to retrieve a custom field ID now relies upon APIv3 rather than
147 an *ad hoc* SQL query. It also contains an option to return the ID preceded
148 by `custom_`. Finally, the function caches the result and attempts to return
149 the cached value rather than looking it up each time.
151 - **[dev/core#47](https://lab.civicrm.org/dev/core/issues/47) Add "clone"
152 functionality to scheduled jobs
153 ([11945](https://github.com/civicrm/civicrm-core/pull/11945))**
155 Scheduled jobs can now be copied, including their parameters, both from the
156 Scheduled Jobs page and through a new `Job.clone` API method.
160 - **[dev/core#107](https://lab.civicrm.org/dev/core/issues/107) After creating a
161 new case, the assignee for each activity must be selected manually
162 ([11998](https://github.com/civicrm/civicrm-core/pull/11998))**
164 You can now select the default assignee for each activity in the standard
165 timeline for a case type. This may be defined according to a relationship
166 with the client, a single specific contact, or the contact who created the
169 - **CiviCase, added reference of activities from different timelines.
170 ([12236](https://github.com/civicrm/civicrm-core/pull/12236))**
172 From an activity on a case timeline, you can now reference any activity
173 available to the case--not just those on that case timeline.
177 - **Add support for hidden fields in general (and 'token' specifically) on the
178 payment form. ([12332](https://github.com/civicrm/civicrm-core/pull/12332)
179 and [12391](https://github.com/civicrm/civicrm-core/pull/12391))**
181 A new authorization token field is added to the payment form to support
182 token-based payment processors.
184 - **[CRM-21808](https://issues.civicrm.org/jira/browse/CRM-21808) Install custom
185 group for Contribution or ContributioRecur subtypes based on XML file
186 ([11726](https://github.com/civicrm/civicrm-core/pull/11726))**
188 Extensions created custom data sets for contributions can now specify the
189 custom data to apply only to a single financial type.
191 - **(dev/core/50) and
192 [dev/core#195](https://lab.civicrm.org/dev/core/issues/195) Add Separate
193 Sub-tabs for Contributions and Recurring Contributions
194 ([11956](https://github.com/civicrm/civicrm-core/pull/11956) and
195 [12345](https://github.com/civicrm/civicrm-core/pull/12345))**
197 The Contributions tab on a contact now contains two sub-tabs--one for single
198 contributions, and the other for recurring contribution series--instead of
199 displaying one after the other.
201 - **[dev/core#96](https://lab.civicrm.org/dev/core/issues/96) Expose source
202 column in booking report
203 ([12374](https://github.com/civicrm/civicrm-core/pull/12374))**
205 The contribution Source field is now available as a column and filter on the
206 Bookkeeping Transactions report.
208 - **Use html5 color input for contribution page widget
209 ([12339](https://github.com/civicrm/civicrm-core/pull/12339))**
213 - **[dev/mail#1](https://lab.civicrm.org/dev/mail/issues/1) Add pause/resume
214 functionality to civicrm bulk mailing.
215 ([11803](https://github.com/civicrm/civicrm-core/pull/11803) and
216 [12284](https://github.com/civicrm/civicrm-core/pull/12284))**
218 A CiviMail mailing that is scheduled or in progress can now be paused in order
219 to allow an urgent message to go out first.
221 - **Add in bootstrap button classes to CiviMail interface
222 ([12013](https://github.com/civicrm/civicrm-core/pull/12013) and
223 [12338](https://github.com/civicrm/civicrm-core/pull/12338))**
225 This allows the interfaces to be themed more easily by Bootstrap-based themes.
227 ## <a name="bugs"></a>Bugs resolved
231 - **[dev/core#222](https://lab.civicrm.org/dev/core/issues/222) Importing
232 contacts with dedupe rule does not use the rule
233 ([12393](https://github.com/civicrm/civicrm-core/pull/12393))**
235 - **[dev/core#284](https://lab.civicrm.org/dev/core/issues/284) Aggressive cache
236 clearing significantly increases test time
237 ([12590](https://github.com/civicrm/civicrm-core/pull/12590))**
239 Settings, compiled Javascript, extension, and other caches are now only
240 flushed along with the `default` CiviCRM cache if an external cache like Redis or
241 Memcache is in use. (This reproduces the `5.3` behavior.)
243 - **[dev/core#279](https://lab.civicrm.org/dev/core/issues/279) When Merging two
244 contacts, Flip between original and duplicate link not working in WordPress
245 ([12568](https://github.com/civicrm/civicrm-core/pull/12568))**
247 - **Handle 'Check for Matching Contact(s)' button with ajax
248 ([12552](https://github.com/civicrm/civicrm-core/pull/12552))**
250 This resolves a bug where the "Check for Matching Contact(s)" button would not
251 work if AJAX Deduping is enabled.
253 - **[dev/core#131](https://lab.civicrm.org/dev/core/issues/131) Add in missing
254 UK shire Monmouthshire
255 ([12538](https://github.com/civicrm/civicrm-core/pull/12538)) (follow-up on
258 Many individual sites had manually added the county of Monmouthshire in Wales
259 to the `civicrm_state_province` table, and upgrading to 5.3.0, which added the
260 missing record, would cause them a database error.
262 - **[dev/core#258](https://lab.civicrm.org/dev/core/issues/258) Possible
263 unreleased regression - message template update altered customised template
264 ([12492](https://github.com/civicrm/civicrm-core/pull/12492))**
266 - **[dev/core#249](https://lab.civicrm.org/dev/core/issues/249) Contact Export
267 fails in 5.4 when trying to export using the All radio button
268 ([12447](https://github.com/civicrm/civicrm-core/pull/12447))**
270 - **[dev/core#234](https://lab.civicrm.org/dev/core/issues/234) Upgrade Steps in
271 5.3.alpha1 may not have been run
272 ([12419](https://github.com/civicrm/civicrm-core/pull/12419),
273 [12420](https://github.com/civicrm/civicrm-core/pull/12420), and
274 [12425](https://github.com/civicrm/civicrm-core/pull/12425))**
276 - **[dev/core#155](https://lab.civicrm.org/dev/core/issues/155) Improvements and
277 bugfixes to Option Groups UI
278 ([12233](https://github.com/civicrm/civicrm-core/pull/12233) and
279 [12411](https://github.com/civicrm/civicrm-core/pull/12411))**
281 The Option Groups page now displays whether each option group is reserved or
282 enabled. In addition, sites using sample data no longer have the sample
283 custom fields reserved.
285 - **[CRM-20184](https://issues.civicrm.org/jira/browse/CRM-20184) Some System
286 Workflow templates still miss {contact.email_greeting}
287 ([12296](https://github.com/civicrm/civicrm-core/pull/12296))**
289 This makes receipt templates more consistent in using the contact's email
290 greeting when sent to individuals.
292 - **[dev/core#41](https://lab.civicrm.org/dev/core/issues/41) Search Builder:
293 Not empty with date or integer custom fields gives a sql warning
294 ([12351](https://github.com/civicrm/civicrm-core/pull/12351) and
295 [12363](https://github.com/civicrm/civicrm-core/pull/12363))**
297 - **Make all form tasks inherit from `CRM_Core_Form_Task`
298 ([12318](https://github.com/civicrm/civicrm-core/pull/12318))**
300 This addresses some export problems caused by tasks lacking certain properties
301 because their classes did not extend `CRM_Core_Form_Task`.
303 - **[dev/core#178](https://lab.civicrm.org/dev/core/issues/178) Redis driver -
304 Error messages are invisible
305 ([12303](https://github.com/civicrm/civicrm-core/pull/12303))**
307 The log now contains error messages passed from Redis.
309 - **[dev/core#180](https://lab.civicrm.org/dev/core/issues/180) Deleting custom
310 values and custom_hook parameter `$entity_id` empty
311 ([12309](https://github.com/civicrm/civicrm-core/pull/12309))**
313 The ID of the affected entity is now passed to `hook_civicrm_custom` when a
314 value is deleted from a custom field.
316 - **Fix access to scheduled reminders for admins without event access
317 ([11733](https://github.com/civicrm/civicrm-core/pull/11733))**
319 Users with Administer CiviCRM permission but lacking Manage Events permission
320 would get an error when trying to create a non-event scheduled reminder.
322 - **Only treat a request as a get request (and hence use GET) if it starts with
323 get ([12308](https://github.com/civicrm/civicrm-core/pull/12308))**
325 - **[dev/core#179](https://lab.civicrm.org/dev/core/issues/179) Redis driver -
326 Allow anonymous connections
327 ([12304](https://github.com/civicrm/civicrm-core/pull/12304))**
329 Redis no longer attempts to authenticate when no password is set, such as on
330 local development environments.
332 - **[dev/core#177](https://lab.civicrm.org/dev/core/issues/177) Redis driver -
333 Reports incorrect value for cache-miss
334 ([12302](https://github.com/civicrm/civicrm-core/pull/12302))**
336 When a cache key is undefined, Redis now returns `NULL` rather than `FALSE`.
338 - **[dev/core#175](https://lab.civicrm.org/dev/core/issues/175) Smart group
339 involving relationship type filter display incorrect results.
340 ([12301](https://github.com/civicrm/civicrm-core/pull/12301))**
342 - **Make Send SMS permission independent of Edit Contact permission
343 ([12067](https://github.com/civicrm/civicrm-core/pull/12067))**
345 You no longer need the permission to edit a contact (in addition to the Send
346 SMS permission) to send the contact a SMS message.
348 - **[dev/core#134](https://lab.civicrm.org/dev/core/issues/134) Search Builder
349 broken filter for Source Contact ID
350 ([12181](https://github.com/civicrm/civicrm-core/pull/12181))**
352 - **[dev/core#140](https://lab.civicrm.org/dev/core/issues/140) add missing
353 pseudoconstant for `option_group_id` in CustomField.xml
354 ([12195](https://github.com/civicrm/civicrm-core/pull/12195))**
356 Extensions creating custom fields can now refer to option groups by name
359 - **[dev/accessiblity#3](https://lab.civicrm.org/dev/accessibility/issues/3) Add
360 aria-label (and label?) to form elements missing them
361 ([12209](https://github.com/civicrm/civicrm-core/pull/12209) and
362 [213](https://github.com/civicrm/civicrm-packages/pull/213)) (partial work)**
364 Besides adding `aria-label` attributes to sub-elements of the Quickform
365 date field, event info pages no longer wrap basic information labels in
368 - **[CRM-20711](https://issues.civicrm.org/jira/browse/CRM-20711) Error - DB
369 Constraint Violation - GroupContact, get API
370 ([12408](https://github.com/civicrm/civicrm-core/pull/12408))**
372 This adds the `location_id` field to the `civicrm_group_contact` table on
373 older sites that lack it.
375 - **[dev/core#152](https://lab.civicrm.org/dev/core/issues/152) -
376 AdvMulti-Select cleanup
377 ([531](https://github.com/civicrm/civicrm-drupal/pull/531)) (follow-up work)**
379 This removes a couple of references to the now-removed "Advanced Multi-select"
382 - **Upgrade Mime_mail to fix issues with PHP7.2
383 ([205](https://github.com/civicrm/civicrm-packages/pull/205))**
385 - **Apply fixes to have DB package support PHP7.2
386 ([207](https://github.com/civicrm/civicrm-packages/pull/207))**
388 - **[dev/core#117](https://lab.civicrm.org/dev/core/issues/117) Remove usage of
389 `each()` This is deprecated in php7.2
390 ([211](https://github.com/civicrm/civicrm-packages/pull/211)) (follow-up
393 - **Declare Subparts as array in mimePart to support PHP7.2
394 ([210](https://github.com/civicrm/civicrm-packages/pull/210))**
396 - **[CRM-19798](https://issues.civicrm.org/jira/browse/CRM-19798) Memory leak in
397 API3 EntityTag get operations
398 ([12276](https://github.com/civicrm/civicrm-core/pull/12276))**
402 - **Fix regression on case export from recent export fix
403 ([12588](https://github.com/civicrm/civicrm-core/pull/12588))**
405 This resolves undefined property PHP notices when exporting cases.
407 - **[dev/core#24](https://lab.civicrm.org/dev/core/issues/24) Passing an array
408 for contact_id/client_id to Case.Create API when updating an existing case
409 causes case to be "reassigned"
410 ([11830](https://github.com/civicrm/civicrm-core/pull/11830))**
412 - **[CRM-21815](https://issues.civicrm.org/jira/browse/CRM-21815) On re-opening
413 a civicase - Case Coordinator (and other roles) are not reinstated
414 ([11736](https://github.com/civicrm/civicrm-core/pull/11736))**
416 - **[dev/core#165](https://lab.civicrm.org/dev/core/issues/165) Bad link in
417 civicrm/case/activity/view breadcrumb
418 ([12279](https://github.com/civicrm/civicrm-core/pull/12279))**
422 - **[CRM-21637](https://issues.civicrm.org/jira/browse/CRM-21637) Search
423 Criteria for Card Type ID and Card Number not respected in Batch
424 ([11495](https://github.com/civicrm/civicrm-core/pull/11495))**
426 The card type and card number filters for financial transactions in the
427 accounting batch interface now work as expected.
429 - **[CRM-21854](https://issues.civicrm.org/jira/browse/CRM-21854) Contribution
430 start date and end dates are not respected
431 ([11881](https://github.com/civicrm/civicrm-core/pull/11881) and
432 [12504](https://github.com/civicrm/civicrm-core/pull/12504))**
434 - **[dev/core#264](https://lab.civicrm.org/dev/core/issues/264) Fatal Error on
435 editing Financial Transaction
436 ([12502](https://github.com/civicrm/civicrm-core/pull/12502))**
438 - **[dev/core#220](https://lab.civicrm.org/dev/core/issues/220) State
439 province/country doesn't show properly in the report
440 ([12390](https://github.com/civicrm/civicrm-core/pull/12390))**
442 This resolves a bug in the Contribution History by Relationship report where
443 strange values would appear for the State/Province and Country fields.
445 - **[dev/core#202](https://lab.civicrm.org/dev/core/issues/202) Empty row under
447 ([12356](https://github.com/civicrm/civicrm-core/pull/12356))**
449 A warning now appears when a site has a disabled currency that is set as
452 - **[dev/core#88](https://lab.civicrm.org/dev/core/issues/88) Make sure
453 `financial_type_id` is set when a contribution is created
454 ([11907](https://github.com/civicrm/civicrm-core/pull/11907))**
456 This resolves a bug where the financial type would not be set on a one-time
457 contribution made through a contribution page.
459 - **[dev/core#170](https://lab.civicrm.org/dev/core/issues/170) contribution
460 detail report errors when soft credits column is exposed
461 ([12281](https://github.com/civicrm/civicrm-core/pull/12281) and
462 [12282](https://github.com/civicrm/civicrm-core/pull/12282))**
464 - **Fix e-notice, remove legacy code pattern
465 ([12298](https://github.com/civicrm/civicrm-core/pull/12298))**
467 This resolves a PHP notice when printing contribution receipts in bulk.
469 - **[dev/core#56](https://lab.civicrm.org/dev/core/issues/56) Cancel Recurring
470 Contribution activity should have a source record id
471 ([11964](https://github.com/civicrm/civicrm-core/pull/11964))**
473 The activity created when cancelling a recurring contribution now has the
474 recurring contribution ID as the `source_record_id`.
476 - **[dev/financial#14](https://lab.civicrm.org/dev/financial/issues/14) PayPal
477 Express recurring payment causes warning messages
478 ([12091](https://github.com/civicrm/civicrm-core/pull/12091))**
480 - **[CRM-20697](https://issues.civicrm.org/jira/browse/CRM-20697) Online pay now
481 anomalies (contribution transfer to new contact)
482 ([11578](https://github.com/civicrm/civicrm-core/pull/11578))**
484 The Pay Now form now uses contact ID and checksum to validate the
485 contribution's contact to avoid creating new contacts when an anonymous
486 visitor fulfills a pending contribution.
490 - **[dev/core#272](https://lab.civicrm.org/dev/core/issues/272) Fatal Error
491 (Regression) on PCP pages associated with Events
492 ([12533](https://github.com/civicrm/civicrm-core/pull/12533))**
494 - **[dev/core#124](https://lab.civicrm.org/dev/core/issues/124) Registration
495 approval issues ([12160](https://github.com/civicrm/civicrm-core/pull/12160)
496 and [12417](https://github.com/civicrm/civicrm-core/pull/12417))**
498 This resolves a PHP warning and some confusing aspects of handling event
499 registration approvals.
503 - **[dev/core#187](https://lab.civicrm.org/dev/core/issues/187) Fix typo in
504 `CRM_Grant_Form_Task` that prevents retrieving session key from URL
505 ([12317](https://github.com/civicrm/civicrm-core/pull/12317))**
509 - **[dev/core#133](https://lab.civicrm.org/dev/core/issues/133) Reply-to field
510 with empty string get saved in DB as `NULL`
511 ([12176](https://github.com/civicrm/civicrm-core/pull/12176))**
513 - **[CRM-20320](https://issues.civicrm.org/jira/browse/CRM-20320) Error in PEAR
514 SMTP causes mailing job to fail when an error occurs during one connection
515 ([11840](https://github.com/civicrm/civicrm-core/pull/11840))**
517 CiviMail will now disconnect the SMTP connection when a connection error is
518 detected and record the group of messages as not delivered. This allows it to
519 reconnect later and send the messages.
521 - **[CRM-17753](https://issues.civicrm.org/jira/browse/CRM-17753) Newsletter
522 confirmation emails shouldn't use do-not-reply@yourdomain.org
523 ([12270](https://github.com/civicrm/civicrm-core/pull/12270)) (preliminary
526 - **[CRM-21779](https://issues.civicrm.org/jira/browse/CRM-21779) Civimail
527 allows adding current draft mailing recipients to recipients field
528 ([11724](https://github.com/civicrm/civicrm-core/pull/11724))**
532 - **[dev/membership#4](https://lab.civicrm.org/dev/membership/issues/4) Admin
533 Membership type is displayed on Public contribution page.
534 ([12178](https://github.com/civicrm/civicrm-core/pull/12178))**
536 - **[dev/core#276](https://lab.civicrm.org/dev/core/issues/276) Undefined index:
537 is_override on submit credit card membership
538 ([12563](https://github.com/civicrm/civicrm-core/pull/12563))**
540 - **[dev/core#151](https://lab.civicrm.org/dev/core/issues/151) Action to Update
541 Recurring Contributions From Membership View is Never Shown
542 ([12228](https://github.com/civicrm/civicrm-core/pull/12228))**
544 The table to view recurring contributions on a membership now displays the
545 Edit action where appropriate.
547 - **[CRM-21682](https://issues.civicrm.org/jira/browse/CRM-21682) Automatic
548 membership renewal fixes
549 ([12313](https://github.com/civicrm/civicrm-core/pull/12313) and
550 [12314](https://github.com/civicrm/civicrm-core/pull/12314)) (preliminary
553 - **[CRM-21177](https://issues.civicrm.org/jira/browse/CRM-21177) Wrong interval
554 of recurring payment for auto-renewing membership
555 ([12289](https://github.com/civicrm/civicrm-core/pull/12289)) (preliminary
558 ### Joomla Integration
560 - **[dev/joomla#1](https://lab.civicrm.org/dev/joomla/issues/1) CiviEvent menu
561 listing showing old events
562 ([46](https://github.com/civicrm/civicrm-joomla/pull/46))**
564 ### WordPress Integration
566 - **[dev/wordpress#1](https://lab.civicrm.org/dev/wordpress/issues/1)
567 CiviCRM-WordPress - Gutenberg Compatibility: Do not parse shortcodes in REST
568 context ([130](https://github.com/civicrm/civicrm-wordpress/pull/130))**
570 - **[CRM-21565](https://issues.civicrm.org/jira/browse/CRM-21565) Change mkdir
571 to use correct and more secure mode numbers
572 ([120](https://github.com/civicrm/civicrm-wordpress/pull/120))**
574 ## <a name="misc"></a>Miscellany
576 - **(NFC) Convert files to use linux line endings not windows
577 ([12531](https://github.com/civicrm/civicrm-core/pull/12531))**
579 - **Move DAO function to DAO class, call it from Merge class
580 ([12340](https://github.com/civicrm/civicrm-core/pull/12340))**
582 - **NFC code cleanup for AuthNet, Paypal, PaypalPro IPNs
583 ([12386](https://github.com/civicrm/civicrm-core/pull/12386))**
585 - **[dev/core#203](https://lab.civicrm.org/dev/core/issues/203) Cruft code in
586 `CRM_Core_BAO_OptionGroup::add()`
587 ([12357](https://github.com/civicrm/civicrm-core/pull/12357))**
589 - **Remove unused instances of usedTable
590 ([12341](https://github.com/civicrm/civicrm-core/pull/12341) and
591 [12349](https://github.com/civicrm/civicrm-core/pull/12349))**
593 - **(NFC) CiviUnitTestCase - Fix edge-case for mis-reported error
594 ([12347](https://github.com/civicrm/civicrm-core/pull/12347))**
596 - **NFC Code cleanup to core task class
597 ([12316](https://github.com/civicrm/civicrm-core/pull/12316))**
599 - **[NFC] Stop passing no-longer-part-of-signature variable
600 ([12329](https://github.com/civicrm/civicrm-core/pull/12329))**
602 - **Fix typo in api explorer sample code
603 ([12324](https://github.com/civicrm/civicrm-core/pull/12324))**
605 - **Remove unused code variable
606 ([12299](https://github.com/civicrm/civicrm-core/pull/12299))**
608 - **Confirm & lock in group.get handling of is_active
609 ([12295](https://github.com/civicrm/civicrm-core/pull/12295))**
611 - **Remove unused function getRecuringTransactionStatus from PayflowPro c…
612 ([12294](https://github.com/civicrm/civicrm-core/pull/12294))**
614 - **Add upgrade function for message templates that does not involve copying the
615 whole template ([12224](https://github.com/civicrm/civicrm-core/pull/12224))**
617 - **Function extraction BAO_Export class
618 ([12288](https://github.com/civicrm/civicrm-core/pull/12288))**
620 - **Partial refactor of completeMembershipFromContribution
621 ([12271](https://github.com/civicrm/civicrm-core/pull/12271))**
623 - **[NFC] Fix line endings (Jenkins where were you)
624 ([12280](https://github.com/civicrm/civicrm-core/pull/12280))**
626 - **Towards fixing household merge export, extract function, add test, fix prev
627 ([12272](https://github.com/civicrm/civicrm-core/pull/12272))**
629 - **Standardise line endings away from windows line endings to linux
630 ([212](https://github.com/civicrm/civicrm-packages/pull/212))**
632 ## <a name="credits"></a>Credits
634 This release was developed by the following code authors:
636 AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Alok Patel; Australian
637 Greens - Seamus Lee; Bastien Ho; Caltha - Tomasz Pietrzkowski; CiviCoop - Jaap
638 Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp -
639 Camilo Rodriguez, Michael Devery, René Olivo, Vinu Varshith Sekar; Electronic
640 Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Ginkgo Street
641 Labs - Frank Gómez; JMA Consulting - Monish Deb; Johan Vervloet; John
642 Kingsnorth; Kanzu Code - Carl Andrew Lema; Left Join Labs - Sean Madsen; MJW
643 Consulting - Matthew Wire; Pradeep Nayak; Romain Thouvenin; Squiffle Consulting -
644 Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design -
645 Michael McAndrew; Tom Bloor; Wikimedia Foundation - Eileen McNaughton
647 Most authors also reviewed code for this release; in addition, the following
648 reviewers contributed their comments:
650 Agileware - Justin Freeman; baernm; Blackfly Solutions - Alan Dixon; Bob
651 Silvern; Borislav Zlatanov; Caltha - Michal Mach; cartbar; Christian Wach;
652 Circle Interactive - Dave Jenkins; CiviCoop - Erik Hommel; Community Builders -
653 Andrew Perry; CompuCorp - Guanhuan Chen, Omar Abu Hussein; Coop SymbioTIC -
654 Mathieu Lutfy; Drupal Association - Lizz Trudeau; Evan Chute; Forest CRM
655 Consulting - Tamar Meir; Freeform Solutions - Herb van den Dool; Ginkgo Street
656 Labs - Dan O'Brien; Hugo do Carmo; JMA Consulting - Joe Murray; Lemniscus - Noah
657 Miller; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone
658 Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; Oxfam Germany -
659 Thomas Schüttler; Richard van Oosterhout; Robin Fenwick; Semper IT - Karin
660 Gerritsen; Stephen Palmstrom; Tech To The People - Xavier Dutoit; Timbsoft
661 Technologies - Tunbola Ogunwande
663 ## <a name="feedback"></a>Feedback
665 These release notes are edited by Andie Hunt. If you'd like to provide
666 feedback on them, please log in to https://chat.civicrm.org/civicrm and contact