--- /dev/null
+# CiviCRM 5.4.0
+
+Released August 1, 2018
+
+- **[Synopsis](#synopsis)**
+- **[Features](#features)**
+- **[Bugs resolved](#bugs)**
+- **[Miscellany](#misc)**
+- **[Credits](#credits)**
+- **[Feedback](#feedback)**
+
+## <a name="synopsis"></a>Synopsis
+
+| *Does this version...?* | |
+|:--------------------------------------------------------------- |:-------:|
+| Fix security vulnerabilities? | no |
+| **Change the database schema?** | **yes** |
+| **Alter the API?** | **yes** |
+| **Require attention to configuration options?** | **yes** |
+| **Fix problems installing or upgrading to a previous version?** | **yes** |
+| **Introduce features?** | **yes** |
+| **Fix bugs?** | **yes** |
+
+## <a name="features"></a>Features
+
+### Core CiviCRM
+
+- **[CRM-20430](https://issues.civicrm.org/jira/browse/CRM-20430) A permission
+ 'save Report Criteria'
+ ([12107](https://github.com/civicrm/civicrm-core/pull/12107))**
+
+ Permission to edit the criteria for saved reports is now separate from the
+ permission to access and preview modifications of report criteria. This will
+ prevent non-privileged users from modifying the criteria of an organization's
+ standard reports. However when upgrading, site administrators will need to
+ grant the Save Report Criteria permission to roles that need that capability.
+
+- **[dev/core#174](https://lab.civicrm.org/dev/core/issues/174) Consistently use
+ swappable cache interfaces
+ ([12321](https://github.com/civicrm/civicrm-core/pull/12321),
+ [12322](https://github.com/civicrm/civicrm-core/pull/12322),
+ [12323](https://github.com/civicrm/civicrm-core/pull/12323),
+ [12330](https://github.com/civicrm/civicrm-core/pull/12330),
+ [12331](https://github.com/civicrm/civicrm-core/pull/12331),
+ [12336](https://github.com/civicrm/civicrm-core/pull/12336),
+ [12342](https://github.com/civicrm/civicrm-core/pull/12342),
+ [12348](https://github.com/civicrm/civicrm-core/pull/12348),
+ [12354](https://github.com/civicrm/civicrm-core/pull/12354),
+ [12362](https://github.com/civicrm/civicrm-core/pull/12362),
+ [12368](https://github.com/civicrm/civicrm-core/pull/12368),
+ [12376](https://github.com/civicrm/civicrm-core/pull/12376),
+ [12378](https://github.com/civicrm/civicrm-core/pull/12378),
+ [12379](https://github.com/civicrm/civicrm-core/pull/12379),
+ [12380](https://github.com/civicrm/civicrm-core/pull/12380),
+ [12381](https://github.com/civicrm/civicrm-core/pull/12381),
+ [12389](https://github.com/civicrm/civicrm-core/pull/12389), and
+ [215](https://github.com/civicrm/civicrm-packages/pull/215))**
+
+ Sites using Redis or Memcache for caching will now use those facilities
+ exclusively rather than retaining the `civicrm_cache` table as a backstop.
+ This improves performance for these sites, especially those using multiple
+ MySQL servers.
+
+- **[CRM-21574](https://issues.civicrm.org/jira/browse/CRM-21574) Allow to
+ disable sending of email from source contact for tell a friend on pcp
+ ([12355](https://github.com/civicrm/civicrm-core/pull/12355)) (preliminary
+ work)**
+
+ Emails from the "tell a friend" feature are sent as if they are from the
+ donor's address. This can cause delivery failures as the site may not be a
+ valid source for the donor's email domain. Changes here are preliminary
+ cleanup.
+
+- **[dev/core#32](https://lab.civicrm.org/dev/core/issues/32) Add option to
+ disable cancel button on a profile form
+ ([11883](https://github.com/civicrm/civicrm-core/pull/11883))**
+
+ The Cancel button is now optional on profile forms.
+
+- **[CRM-21392](https://issues.civicrm.org/jira/browse/CRM-21392) Allow viewing
+ groups/smartgroups as as other entities (eg. memberships, events)
+ ([11241](https://github.com/civicrm/civicrm-core/pull/11241))**
+
+ The Find Groups page now has a similar "View Results As" feature as the
+ Advanced Search: you can choose to view memberships, events, activities, etc.
+ of group subscribers rather than the contacts themselves.
+
+- **[CRM-21622](https://issues.civicrm.org/jira/browse/CRM-21622) Make the Add
+ Parent Groups on Group Settings be a multiselect
+ ([11481](https://github.com/civicrm/civicrm-core/pull/11481))**
+
+ The New Group form now allows you to set multiple parent groups for a single
+ group.
+
+- **[CRM-21460](https://issues.civicrm.org/jira/browse/CRM-21460) Programmatic
+ access to job execution status
+ ([11337](https://github.com/civicrm/civicrm-core/pull/11337))**
+
+ Extension developers can implement two new hooks, `hook_civicrm_preJob` and
+ `hook_civicrm_postJob`, which are invoked before and after executing a
+ scheduled job.
+
+- **Change default for `CIVICRM_CONTAINER_CACHE` to simplify admin/developer
+ experience ([12426](https://github.com/civicrm/civicrm-core/pull/12426))**
+
+- **[dev/core#223](https://lab.civicrm.org/dev/core/issues/223) Expose prefix
+ and suffix in reports
+ ([12394](https://github.com/civicrm/civicrm-core/pull/12394))**
+
+ Individuals' prefix and suffix fields are now available as columns and filters
+ among the contact fields in most reports.
+
+- **[dev/core#101](https://lab.civicrm.org/dev/core/issues/101) Allow further
+ customization of search form in hooks
+ ([12078](https://github.com/civicrm/civicrm-core/pull/12078))**
+
+ Fields are no longer explicitly included in the search form template since
+ that makes it hard to add or remove fields. Instead, the fields are listed in
+ template variables, and the template iterates over the list to render the
+ field elements.
+
+- **[dev/core#183](https://lab.civicrm.org/dev/core/issues/183) Temporary tables
+ should follow consistent naming convention
+ ([12311](https://github.com/civicrm/civicrm-core/pull/12311)) (partially
+ completed)**
+
+ This moves towards naming temporary tables--both true temporary tables in
+ MySQL and regular tables created for temporary use--in a consistent manner in
+ order to help database administrators employ replication policies based upon
+ table names.
+
+- **[dev/core#144](https://lab.civicrm.org/dev/core/issues/144)
+ `getCustomFieldID` switch to API, add caching, add full string return option
+ ([12218](https://github.com/civicrm/civicrm-core/pull/12218) and
+ [12283](https://github.com/civicrm/civicrm-core/pull/12283))**
+
+ The function to retrieve a custom field ID now relies upon APIv3 rather than
+ an *ad hoc* SQL query. It also contains an option to return the ID preceded
+ by `custom_`. Finally, the function caches the result and attempts to return
+ the cached value rather than looking it up each time.
+
+- **[dev/core#47](https://lab.civicrm.org/dev/core/issues/47) Add "clone"
+ functionality to scheduled jobs
+ ([11945](https://github.com/civicrm/civicrm-core/pull/11945))**
+
+ Scheduled jobs can now be copied, including their parameters, both from the
+ Scheduled Jobs page and through a new `Job.clone` API method.
+
+### CiviCase
+
+- **[dev/core#107](https://lab.civicrm.org/dev/core/issues/107) After creating a
+ new case, the assignee for each activity must be selected manually
+ ([11998](https://github.com/civicrm/civicrm-core/pull/11998))**
+
+ You can now select the default assignee for each activity in the standard
+ timeline for a case type. This may be defined according to a relationship
+ with the client, a single specific contact, or the contact who created the
+ case.
+
+- **CiviCase, added reference of activities from different timelines.
+ ([12236](https://github.com/civicrm/civicrm-core/pull/12236))**
+
+ From an activity on a case timeline, you can now reference any activity
+ available to the case--not just those on that case timeline.
+
+### CiviContribute
+
+- **Add support for hidden fields in general (and 'token' specifically) on the
+ payment form. ([12332](https://github.com/civicrm/civicrm-core/pull/12332)
+ and [12391](https://github.com/civicrm/civicrm-core/pull/12391))**
+
+ A new authorization token field is added to the payment form to support
+ token-based payment processors.
+
+- **[CRM-21808](https://issues.civicrm.org/jira/browse/CRM-21808) Install custom
+ group for Contribution or ContributioRecur subtypes based on XML file
+ ([11726](https://github.com/civicrm/civicrm-core/pull/11726))**
+
+ Extensions created custom data sets for contributions can now specify the
+ custom data to apply only to a single financial type.
+
+- **(dev/core/50) and
+ [dev/core#195](https://lab.civicrm.org/dev/core/issues/195) Add Separate
+ Sub-tabs for Contributions and Recurring Contributions
+ ([11956](https://github.com/civicrm/civicrm-core/pull/11956) and
+ [12345](https://github.com/civicrm/civicrm-core/pull/12345))**
+
+ The Contributions tab on a contact now contains two sub-tabs--one for single
+ contributions, and the other for recurring contribution series--instead of
+ displaying one after the other.
+
+- **[dev/core#96](https://lab.civicrm.org/dev/core/issues/96) Expose source
+ column in booking report
+ ([12374](https://github.com/civicrm/civicrm-core/pull/12374))**
+
+ The contribution Source field is now available as a column and filter on the
+ Bookkeeping Transactions report.
+
+- **Use html5 color input for contribution page widget
+ ([12339](https://github.com/civicrm/civicrm-core/pull/12339))**
+
+### CiviMail
+
+- **[dev/mail#1](https://lab.civicrm.org/dev/mail/issues/1) Add pause/resume
+ functionality to civicrm bulk mailing.
+ ([11803](https://github.com/civicrm/civicrm-core/pull/11803) and
+ [12284](https://github.com/civicrm/civicrm-core/pull/12284))**
+
+ A CiviMail mailing that is scheduled or in progress can now be paused in order
+ to allow an urgent message to go out first.
+
+- **Add in bootstrap button classes to CiviMail interface
+ ([12013](https://github.com/civicrm/civicrm-core/pull/12013) and
+ [12338](https://github.com/civicrm/civicrm-core/pull/12338))**
+
+ This allows the interfaces to be themed more easily by Bootstrap-based themes.
+
+## <a name="bugs"></a>Bugs resolved
+
+### Core CiviCRM
+
+- **[dev/core#222](https://lab.civicrm.org/dev/core/issues/222) Importing
+ contacts with dedupe rule does not use the rule
+ ([12393](https://github.com/civicrm/civicrm-core/pull/12393))**
+
+- **[dev/core#284](https://lab.civicrm.org/dev/core/issues/284) Aggressive cache
+ clearing significantly increases test time
+ ([12590](https://github.com/civicrm/civicrm-core/pull/12590)) (partial work)**
+
+ Settings, compiled Javascript, extension, and other caches are now only
+ flushed along with the main CiviCRM cache if an external cache like Redis or
+ Memcache is in use.
+
+- **[dev/core#279](https://lab.civicrm.org/dev/core/issues/279) When Merging two
+ contacts, Flip between original and duplicate link not working in WordPress
+ ([12568](https://github.com/civicrm/civicrm-core/pull/12568))**
+
+- **Handle 'Check for Matching Contact(s)' button with ajax
+ ([12552](https://github.com/civicrm/civicrm-core/pull/12552))**
+
+ This resolves a bug where the "Check for Matching Contact(s)" button would not
+ work if AJAX Deduping is enabled.
+
+- **[dev/core#131](https://lab.civicrm.org/dev/core/issues/131) Add in missing
+ UK shire Monmouthshire
+ ([12538](https://github.com/civicrm/civicrm-core/pull/12538)) (follow-up on
+ previous work)**
+
+ Many individual sites had manually added the county of Monmouthshire in Wales
+ to the `civicrm_state_province` table, and upgrading to 5.3.0, which added the
+ missing record, would cause them a database error.
+
+- **[dev/core#258](https://lab.civicrm.org/dev/core/issues/258) Possible
+ unreleased regression - message template update altered customised template
+ ([12492](https://github.com/civicrm/civicrm-core/pull/12492))**
+
+- **[dev/core#249](https://lab.civicrm.org/dev/core/issues/249) Contact Export
+ fails in 5.4 when trying to export using the All radio button
+ ([12447](https://github.com/civicrm/civicrm-core/pull/12447))**
+
+- **[dev/core#234](https://lab.civicrm.org/dev/core/issues/234) Upgrade Steps in
+ 5.3.alpha1 may not have been run
+ ([12419](https://github.com/civicrm/civicrm-core/pull/12419),
+ [12420](https://github.com/civicrm/civicrm-core/pull/12420), and
+ [12425](https://github.com/civicrm/civicrm-core/pull/12425))**
+
+- **[dev/core#155](https://lab.civicrm.org/dev/core/issues/155) Improvements and
+ bugfixes to Option Groups UI
+ ([12233](https://github.com/civicrm/civicrm-core/pull/12233) and
+ [12411](https://github.com/civicrm/civicrm-core/pull/12411))**
+
+ The Option Groups page now displays whether each option group is reserved or
+ enabled. In addition, sites using sample data no longer have the sample
+ custom fields reserved.
+
+- **[CRM-20184](https://issues.civicrm.org/jira/browse/CRM-20184) Some System
+ Workflow templates still miss {contact.email_greeting}
+ ([12296](https://github.com/civicrm/civicrm-core/pull/12296))**
+
+ This makes receipt templates more consistent in using the contact's email
+ greeting when sent to individuals.
+
+- **[dev/core#41](https://lab.civicrm.org/dev/core/issues/41) Search Builder:
+ Not empty with date or integer custom fields gives a sql warning
+ ([12351](https://github.com/civicrm/civicrm-core/pull/12351) and
+ [12363](https://github.com/civicrm/civicrm-core/pull/12363))**
+
+- **Make all form tasks inherit from `CRM_Core_Form_Task`
+ ([12318](https://github.com/civicrm/civicrm-core/pull/12318))**
+
+ This addresses some export problems caused by tasks lacking certain properties
+ because their classes did not extend `CRM_Core_Form_Task`.
+
+- **[dev/core#178](https://lab.civicrm.org/dev/core/issues/178) Redis driver -
+ Error messages are invisible
+ ([12303](https://github.com/civicrm/civicrm-core/pull/12303))**
+
+ The log now contains error messages passed from Redis.
+
+- **[dev/core#180](https://lab.civicrm.org/dev/core/issues/180) Deleting custom
+ values and custom_hook parameter `$entity_id` empty
+ ([12309](https://github.com/civicrm/civicrm-core/pull/12309))**
+
+ The ID of the affected entity is now passed to `hook_civicrm_custom` when a
+ value is deleted from a custom field.
+
+- **Fix access to scheduled reminders for admins without event access
+ ([11733](https://github.com/civicrm/civicrm-core/pull/11733))**
+
+ Users with Administer CiviCRM permission but lacking Manage Events permission
+ would get an error when trying to create a non-event scheduled reminder.
+
+- **Only treat a request as a get request (and hence use GET) if it starts with
+ get ([12308](https://github.com/civicrm/civicrm-core/pull/12308))**
+
+- **[dev/core#179](https://lab.civicrm.org/dev/core/issues/179) Redis driver -
+ Allow anonymous connections
+ ([12304](https://github.com/civicrm/civicrm-core/pull/12304))**
+
+ Redis no longer attempts to authenticate when no password is set, such as on
+ local development environments.
+
+- **[dev/core#177](https://lab.civicrm.org/dev/core/issues/177) Redis driver -
+ Reports incorrect value for cache-miss
+ ([12302](https://github.com/civicrm/civicrm-core/pull/12302))**
+
+ When a cache key is undefined, Redis now returns `NULL` rather than `FALSE`.
+
+- **[dev/core#175](https://lab.civicrm.org/dev/core/issues/175) Smart group
+ involving relationship type filter display incorrect results.
+ ([12301](https://github.com/civicrm/civicrm-core/pull/12301))**
+
+- **Make Send SMS permission independent of Edit Contact permission
+ ([12067](https://github.com/civicrm/civicrm-core/pull/12067))**
+
+ You no longer need the permission to edit a contact (in addition to the Send
+ SMS permission) to send the contact a SMS message.
+
+- **[dev/core#134](https://lab.civicrm.org/dev/core/issues/134) Search Builder
+ broken filter for Source Contact ID
+ ([12181](https://github.com/civicrm/civicrm-core/pull/12181))**
+
+- **[dev/core#140](https://lab.civicrm.org/dev/core/issues/140) add missing
+ pseudoconstant for `option_group_id` in CustomField.xml
+ ([12195](https://github.com/civicrm/civicrm-core/pull/12195))**
+
+ Extensions creating custom fields can now refer to option groups by name
+ rather than ID.
+
+- **[dev/accessiblity#3](https://lab.civicrm.org/dev/accessibility/issues/3) Add
+ aria-label (and label?) to form elements missing them
+ ([12209](https://github.com/civicrm/civicrm-core/pull/12209) and
+ [213](https://github.com/civicrm/civicrm-packages/pull/213)) (partial work)**
+
+ Besides adding `aria-label` attributes to sub-elements of the Quickform
+ date field, event info pages no longer wrap basic information labels in
+ `<label>` tags.
+
+- **[CRM-20711](https://issues.civicrm.org/jira/browse/CRM-20711) Error - DB
+ Constraint Violation - GroupContact, get API
+ ([12408](https://github.com/civicrm/civicrm-core/pull/12408))**
+
+ This adds the `location_id` field to the `civicrm_group_contact` table on
+ older sites that lack it.
+
+- **[dev/core#152](https://lab.civicrm.org/dev/core/issues/152) -
+ AdvMulti-Select cleanup
+ ([531](https://github.com/civicrm/civicrm-drupal/pull/531)) (follow-up work)**
+
+ This removes a couple of references to the now-removed "Advanced Multi-select"
+ custom field type
+
+- **Upgrade Mime_mail to fix issues with PHP7.2
+ ([205](https://github.com/civicrm/civicrm-packages/pull/205))**
+
+- **Apply fixes to have DB package support PHP7.2
+ ([207](https://github.com/civicrm/civicrm-packages/pull/207))**
+
+- **[dev/core#117](https://lab.civicrm.org/dev/core/issues/117) Remove usage of
+ `each()` This is deprecated in php7.2
+ ([211](https://github.com/civicrm/civicrm-packages/pull/211)) (follow-up
+ work)**
+
+- **Declare Subparts as array in mimePart to support PHP7.2
+ ([210](https://github.com/civicrm/civicrm-packages/pull/210))**
+
+- **[CRM-19798](https://issues.civicrm.org/jira/browse/CRM-19798) Memory leak in
+ API3 EntityTag get operations
+ ([12276](https://github.com/civicrm/civicrm-core/pull/12276))**
+
+### CiviCase
+
+- **Fix regression on case export from recent export fix
+ ([12588](https://github.com/civicrm/civicrm-core/pull/12588))**
+
+ This resolves undefined property PHP notices when exporting cases.
+
+- **[dev/core#24](https://lab.civicrm.org/dev/core/issues/24) Passing an array
+ for contact_id/client_id to Case.Create API when updating an existing case
+ causes case to be "reassigned"
+ ([11830](https://github.com/civicrm/civicrm-core/pull/11830))**
+
+- **[CRM-21815](https://issues.civicrm.org/jira/browse/CRM-21815) On re-opening
+ a civicase - Case Coordinator (and other roles) are not reinstated
+ ([11736](https://github.com/civicrm/civicrm-core/pull/11736))**
+
+- **[dev/core#165](https://lab.civicrm.org/dev/core/issues/165) Bad link in
+ civicrm/case/activity/view breadcrumb
+ ([12279](https://github.com/civicrm/civicrm-core/pull/12279))**
+
+### CiviContribute
+
+- **[CRM-21637](https://issues.civicrm.org/jira/browse/CRM-21637) Search
+ Criteria for Card Type ID and Card Number not respected in Batch
+ ([11495](https://github.com/civicrm/civicrm-core/pull/11495))**
+
+ The card type and card number filters for financial transactions in the
+ accounting batch interface now work as expected.
+
+- **[CRM-21854](https://issues.civicrm.org/jira/browse/CRM-21854) Contribution
+ start date and end dates are not respected
+ ([11881](https://github.com/civicrm/civicrm-core/pull/11881) and
+ [12504](https://github.com/civicrm/civicrm-core/pull/12504))**
+
+- **[dev/core#264](https://lab.civicrm.org/dev/core/issues/264) Fatal Error on
+ editing Financial Transaction
+ ([12502](https://github.com/civicrm/civicrm-core/pull/12502))**
+
+- **[dev/core#220](https://lab.civicrm.org/dev/core/issues/220) State
+ province/country doesn't show properly in the report
+ ([12390](https://github.com/civicrm/civicrm-core/pull/12390))**
+
+ This resolves a bug in the Contribution History by Relationship report where
+ strange values would appear for the State/Province and Country fields.
+
+- **[dev/core#202](https://lab.civicrm.org/dev/core/issues/202) Empty row under
+ currency drop down
+ ([12356](https://github.com/civicrm/civicrm-core/pull/12356))**
+
+ A warning now appears when a site has a disabled currency that is set as
+ default.
+
+- **[dev/core#88](https://lab.civicrm.org/dev/core/issues/88) Make sure
+ `financial_type_id` is set when a contribution is created
+ ([11907](https://github.com/civicrm/civicrm-core/pull/11907))**
+
+ This resolves a bug where the financial type would not be set on a one-time
+ contribution made through a contribution page.
+
+- **[dev/core#170](https://lab.civicrm.org/dev/core/issues/170) contribution
+ detail report errors when soft credits column is exposed
+ ([12281](https://github.com/civicrm/civicrm-core/pull/12281) and
+ [12282](https://github.com/civicrm/civicrm-core/pull/12282))**
+
+- **Fix e-notice, remove legacy code pattern
+ ([12298](https://github.com/civicrm/civicrm-core/pull/12298))**
+
+ This resolves a PHP notice when printing contribution receipts in bulk.
+
+- **[dev/core#56](https://lab.civicrm.org/dev/core/issues/56) Cancel Recurring
+ Contribution activity should have a source record id
+ ([11964](https://github.com/civicrm/civicrm-core/pull/11964))**
+
+ The activity created when cancelling a recurring contribution now has the
+ recurring contribution ID as the `source_record_id`.
+
+- **[dev/financial#14](https://lab.civicrm.org/dev/financial/issues/14) PayPal
+ Express recurring payment causes warning messages
+ ([12091](https://github.com/civicrm/civicrm-core/pull/12091))**
+
+- **[CRM-20697](https://issues.civicrm.org/jira/browse/CRM-20697) Online pay now
+ anomalies (contribution transfer to new contact)
+ ([11578](https://github.com/civicrm/civicrm-core/pull/11578))**
+
+ The Pay Now form now uses contact ID and checksum to validate the
+ contribution's contact to avoid creating new contacts when an anonymous
+ visitor fulfills a pending contribution.
+
+### CiviEvent
+
+- **[dev/core#272](https://lab.civicrm.org/dev/core/issues/272) Fatal Error
+ (Regression) on PCP pages associated with Events
+ ([12533](https://github.com/civicrm/civicrm-core/pull/12533))**
+
+- **[dev/core#124](https://lab.civicrm.org/dev/core/issues/124) Registration
+ approval issues ([12160](https://github.com/civicrm/civicrm-core/pull/12160)
+ and [12417](https://github.com/civicrm/civicrm-core/pull/12417))**
+
+ This resolves a PHP warning and some confusing aspects of handling event
+ registration approvals.
+
+### CiviGrant
+
+- **[dev/core#187](https://lab.civicrm.org/dev/core/issues/187) Fix typo in
+ `CRM_Grant_Form_Task` that prevents retrieving session key from URL
+ ([12317](https://github.com/civicrm/civicrm-core/pull/12317))**
+
+### CiviMail
+
+- **[dev/core#133](https://lab.civicrm.org/dev/core/issues/133) Reply-to field
+ with empty string get saved in DB as `NULL`
+ ([12176](https://github.com/civicrm/civicrm-core/pull/12176))**
+
+- **[CRM-20320](https://issues.civicrm.org/jira/browse/CRM-20320) Error in PEAR
+ SMTP causes mailing job to fail when an error occurs during one connection
+ ([11840](https://github.com/civicrm/civicrm-core/pull/11840))**
+
+ CiviMail will now disconnect the SMTP connection when a connection error is
+ detected and record the group of messages as not delivered. This allows it to
+ reconnect later and send the messages.
+
+- **[CRM-17753](https://issues.civicrm.org/jira/browse/CRM-17753) Newsletter
+ confirmation emails shouldn't use do-not-reply@yourdomain.org
+ ([12270](https://github.com/civicrm/civicrm-core/pull/12270)) (preliminary
+ work)**
+
+- **[CRM-21779](https://issues.civicrm.org/jira/browse/CRM-21779) Civimail
+ allows adding current draft mailing recipients to recipients field
+ ([11724](https://github.com/civicrm/civicrm-core/pull/11724))**
+
+### CiviMember
+
+- **[dev/membership#4](https://lab.civicrm.org/dev/membership/issues/4) Admin
+ Membership type is displayed on Public contribution page.
+ ([12178](https://github.com/civicrm/civicrm-core/pull/12178))**
+
+- **[dev/core#276](https://lab.civicrm.org/dev/core/issues/276) Undefined index:
+ is_override on submit credit card membership
+ ([12563](https://github.com/civicrm/civicrm-core/pull/12563))**
+
+- **[dev/core#151](https://lab.civicrm.org/dev/core/issues/151) Action to Update
+ Recurring Contributions From Membership View is Never Shown
+ ([12228](https://github.com/civicrm/civicrm-core/pull/12228))**
+
+ The table to view recurring contributions on a membership now displays the
+ Edit action where appropriate.
+
+- **[CRM-21682](https://issues.civicrm.org/jira/browse/CRM-21682) Automatic
+ membership renewal fixes
+ ([12313](https://github.com/civicrm/civicrm-core/pull/12313) and
+ [12314](https://github.com/civicrm/civicrm-core/pull/12314)) (preliminary
+ work)**
+
+- **[CRM-21177](https://issues.civicrm.org/jira/browse/CRM-21177) Wrong interval
+ of recurring payment for auto-renewing membership
+ ([12289](https://github.com/civicrm/civicrm-core/pull/12289)) (preliminary
+ work)**
+
+### Joomla Integration
+
+- **[dev/joomla#1](https://lab.civicrm.org/dev/joomla/issues/1) CiviEvent menu
+ listing showing old events
+ ([46](https://github.com/civicrm/civicrm-joomla/pull/46))**
+
+### WordPress Integration
+
+- **[dev/wordpress#1](https://lab.civicrm.org/dev/wordpress/issues/1)
+ CiviCRM-WordPress - Gutenberg Compatibility: Do not parse shortcodes in REST
+ context ([130](https://github.com/civicrm/civicrm-wordpress/pull/130))**
+
+- **[CRM-21565](https://issues.civicrm.org/jira/browse/CRM-21565) Change mkdir
+ to use correct and more secure mode numbers
+ ([120](https://github.com/civicrm/civicrm-wordpress/pull/120))**
+
+## <a name="misc"></a>Miscellany
+
+- **(NFC) Convert files to use linux line endings not windows
+ ([12531](https://github.com/civicrm/civicrm-core/pull/12531))**
+
+- **Move DAO function to DAO class, call it from Merge class
+ ([12340](https://github.com/civicrm/civicrm-core/pull/12340))**
+
+- **NFC code cleanup for AuthNet, Paypal, PaypalPro IPNs
+ ([12386](https://github.com/civicrm/civicrm-core/pull/12386))**
+
+- **[dev/core#203](https://lab.civicrm.org/dev/core/issues/203) Cruft code in
+ `CRM_Core_BAO_OptionGroup::add()`
+ ([12357](https://github.com/civicrm/civicrm-core/pull/12357))**
+
+- **Remove unused instances of usedTable
+ ([12341](https://github.com/civicrm/civicrm-core/pull/12341) and
+ [12349](https://github.com/civicrm/civicrm-core/pull/12349))**
+
+- **(NFC) CiviUnitTestCase - Fix edge-case for mis-reported error
+ ([12347](https://github.com/civicrm/civicrm-core/pull/12347))**
+
+- **NFC Code cleanup to core task class
+ ([12316](https://github.com/civicrm/civicrm-core/pull/12316))**
+
+- **[NFC] Stop passing no-longer-part-of-signature variable
+ ([12329](https://github.com/civicrm/civicrm-core/pull/12329))**
+
+- **Fix typo in api explorer sample code
+ ([12324](https://github.com/civicrm/civicrm-core/pull/12324))**
+
+- **Remove unused code variable
+ ([12299](https://github.com/civicrm/civicrm-core/pull/12299))**
+
+- **Confirm & lock in group.get handling of is_active
+ ([12295](https://github.com/civicrm/civicrm-core/pull/12295))**
+
+- **Remove unused function getRecuringTransactionStatus from PayflowPro c…
+ ([12294](https://github.com/civicrm/civicrm-core/pull/12294))**
+
+- **Add upgrade function for message templates that does not involve copying the
+ whole template ([12224](https://github.com/civicrm/civicrm-core/pull/12224))**
+
+- **Function extraction BAO_Export class
+ ([12288](https://github.com/civicrm/civicrm-core/pull/12288))**
+
+- **Partial refactor of completeMembershipFromContribution
+ ([12271](https://github.com/civicrm/civicrm-core/pull/12271))**
+
+- **[NFC] Fix line endings (Jenkins where were you)
+ ([12280](https://github.com/civicrm/civicrm-core/pull/12280))**
+
+- **Towards fixing household merge export, extract function, add test, fix prev
+ ([12272](https://github.com/civicrm/civicrm-core/pull/12272))**
+
+- **Standardise line endings away from windows line endings to linux
+ ([212](https://github.com/civicrm/civicrm-packages/pull/212))**
+
+## <a name="credits"></a>Credits
+
+This release was developed by the following code authors:
+
+AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Alok Patel; Australian
+Greens - Seamus Lee; Bastien Ho; Caltha - Tomasz Pietrzkowski; CiviCoop - Jaap
+Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp -
+Camilo Rodriguez, Michael Devery, René Olivo, Vinu Varshith Sekar; Electronic
+Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Ginkgo Street
+Labs - Frank Gómez; JMA Consulting - Monish Deb; Johan Vervloet; John
+Kingsnorth; Kanzu Code - Carl Andrew Lema; Left Join Labs - Sean Madsen; MJW
+Consulting - Matthew Wire; Pradeep Nayak; Romain Thouvenin; Squiffle Consulting -
+Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design -
+Michael McAndrew; Tom Bloor; Wikimedia Foundation - Eileen McNaughton
+
+Most authors also reviewed code for this release; in addition, the following
+reviewers contributed their comments:
+
+Agileware - Justin Freeman; baernm; Blackfly Solutions - Alan Dixon; Bob
+Silvern; Borislav Zlatanov; Caltha - Michal Mach; cartbar; Christian Wach;
+Circle Interactive - Dave Jenkins; CiviCoop - Erik Hommel; Community Builders -
+Andrew Perry; CompuCorp - Guanhuan Chen, Omar Abu Hussein; Coop SymbioTIC -
+Mathieu Lutfy; Drupal Association - Lizz Trudeau; Evan Chute; Forest CRM
+Consulting - Tamar Meir; Freeform Solutions - Herb van den Dool; Ginkgo Street
+Labs - Dan O'Brien; Hugo do Carmo; JMA Consulting - Joe Murray; Lemniscus - Noah
+Miller; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone
+Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; Oxfam Germany -
+Thomas Schüttler; Richard van Oosterhout; Robin Fenwick; Semper IT - Karin
+Gerritsen; Stephen Palmstrom; Tech To The People - Xavier Dutoit; Timbsoft
+Technologies - Tunbola Ogunwande
+
+## <a name="feedback"></a>Feedback
+
+These release notes are edited by Andrew Hunt. If you'd like to provide
+feedback on them, please log in to https://chat.civicrm.org/civicrm and contact
+`@agh1`.