# CiviCRM 4.7.30
-Released February 7, 2018;
+Released February 7, 2018
+- **[Synopsis](#synopsis)**
- **[Features](#features)**
- **[Bugs resolved](#bugs)**
- **[Miscellany](#misc)**
- **[Credits](#credits)**
+- **[Feedback](#feedback)**
-## <a name="features"></a>Features
-
-### Core CiviCRM
-
-- **[CRM-21584](https://issues.civicrm.org/jira/browse/CRM-21584) Add CrmRegion Tag to Contact Actions menu template ([11439](https://github.com/civicrm/civicrm-core/pull/11439))**
-
-- **[CRM-21575](https://issues.civicrm.org/jira/browse/CRM-21575) Websites of same type are over-written ([11428](https://github.com/civicrm/civicrm-core/pull/11428))**
+## <a name="synopsis"></a>Synopsis
-- **[CRM-21229](https://issues.civicrm.org/jira/browse/CRM-21229) Manage Group page is slow if you have smart groups ([11050](https://github.com/civicrm/civicrm-core/pull/11050))**
+| *Does this version...?* | |
+|:----------------------------------------------------------- |:-------:|
+| Fix security vulnerabilities? | |
+| Change the database schema? | |
+| Alter the API? | |
+| Require attention to configuration options? | |
+| Fix problems installing or upgrading to a previous version? | |
+| Introduce features? | |
+| Fix bugs? | |
-- **[CRM-13123](https://issues.civicrm.org/jira/browse/CRM-13123) Handle value-separated fields at the dao level ([11394](https://github.com/civicrm/civicrm-core/pull/11394))**
-
-- **[CRM-21555](https://issues.civicrm.org/jira/browse/CRM-21555) Replace CRM_Core_OptionGroup::getValue with CRM_Core_PseudoConstant::getKey for Case ([11409](https://github.com/civicrm/civicrm-core/pull/11409))**
-
-- **[CRM-21513](https://issues.civicrm.org/jira/browse/CRM-21513) Change fee selection for text price field on backoffice Event registration Not Creating Correct Financial Items ([11380](https://github.com/civicrm/civicrm-core/pull/11380))**
-
-- **[CRM-21548](https://issues.civicrm.org/jira/browse/CRM-21548) Remove unused variables from \CRM_Utils_Address::format ([11403](https://github.com/civicrm/civicrm-core/pull/11403))**
+## <a name="features"></a>Features
-- **[CRM-21544](https://issues.civicrm.org/jira/browse/CRM-21544) Remove unused CRM_Contact_BAO_Contact_Optimizer class ([11400](https://github.com/civicrm/civicrm-core/pull/11400))**
+### Core CiviCRM
-- **[CRM-21465](https://issues.civicrm.org/jira/browse/CRM-21465) clicking on pledge link in email returns fatal error ([11305](https://github.com/civicrm/civicrm-core/pull/11305))**
+- **[CRM-21380](https://issues.civicrm.org/jira/browse/CRM-21380) Add setting to
+ block activity type from sending assignee notification
+ ([11222](https://github.com/civicrm/civicrm-core/pull/11222))**
-- **[CRM-21539](https://issues.civicrm.org/jira/browse/CRM-21539) Add missing structure divs in templates ([11396](https://github.com/civicrm/civicrm-core/pull/11396))**
+ Site administrators can now choose to suppress activity assignee notifications
+ for certain activity types even while assignee notifications are enabled for
+ other activity types.
-- **[CRM-21526](https://issues.civicrm.org/jira/browse/CRM-21526) CRM_Utils_System_Drupal8::authenticate() is incomplete ([11381](https://github.com/civicrm/civicrm-core/pull/11381))**
+- **[CRM-21584](https://issues.civicrm.org/jira/browse/CRM-21584) Add `CrmRegion`
+ Tag to Contact Actions menu template
+ ([11439](https://github.com/civicrm/civicrm-core/pull/11439))**
-- **[CRM-21380](https://issues.civicrm.org/jira/browse/CRM-21380) Add setting to block activity type from sending assignee notification ([11222](https://github.com/civicrm/civicrm-core/pull/11222))**
+ The "Actions" menu item at the top of a contact record now is now specified as
+ a region where extensions can easily insert markup.
-- **[CRM-21530](https://issues.civicrm.org/jira/browse/CRM-21530) Call post hook after activity is filed on case ([11385](https://github.com/civicrm/civicrm-core/pull/11385))**
+- **[CRM-21575](https://issues.civicrm.org/jira/browse/CRM-21575) Websites of
+ same type are over-written
+ ([11428](https://github.com/civicrm/civicrm-core/pull/11428))**
-- **[CRM-21527](https://issues.civicrm.org/jira/browse/CRM-21527) Add default to extra address::create param ([11382](https://github.com/civicrm/civicrm-core/pull/11382))**
+ **FIXME** This may be modified because of a regression.
-- **[CRM-21518](https://issues.civicrm.org/jira/browse/CRM-21518) Add missing structure divs in templates ([11369](https://github.com/civicrm/civicrm-core/pull/11369))**
+- **[CRM-13123](https://issues.civicrm.org/jira/browse/CRM-13123) Handle
+ value-separated fields at the dao level
+ ([11394](https://github.com/civicrm/civicrm-core/pull/11394))**
-- **[CRM-21499](https://issues.civicrm.org/jira/browse/CRM-21499) Add filter to manage tags page ([11368](https://github.com/civicrm/civicrm-core/pull/11368) and [11352](https://github.com/civicrm/civicrm-core/pull/11352))**
+ There are various ways serialized data is stored as strings in the database,
+ but handling of this was generally ad-hoc. This change documents each field's
+ serialization type (e.g. delimited values, PHP serialization, or JSON) and
+ implements a common utility for serializing and unserializing values.
-- **[CRM-21180](https://issues.civicrm.org/jira/browse/CRM-21180) Inline changes to custom fields aren't reflected in custom greetings ([11364](https://github.com/civicrm/civicrm-core/pull/11364))**
+- **[CRM-21530](https://issues.civicrm.org/jira/browse/CRM-21530) Call post hook
+ after activity is filed on case
+ ([11385](https://github.com/civicrm/civicrm-core/pull/11385))**
-- **[CRM-21517](https://issues.civicrm.org/jira/browse/CRM-21517) UpdateSubscription OptionGroup->PseudoConstant ([11367](https://github.com/civicrm/civicrm-core/pull/11367))**
+ `hook_civicrm_post` is now invoked for a `CaseActivity` entity when an
+ activity is filed to a case. This allows extension developers to have certain
+ actions be triggered by the event.
-- **[CRM-21298](https://issues.civicrm.org/jira/browse/CRM-21298) Don't offer to fix indices until we can do it right ([11250](https://github.com/civicrm/civicrm-core/pull/11250))**
+- **[CRM-21499](https://issues.civicrm.org/jira/browse/CRM-21499) Add filter to
+ manage tags page ([11368](https://github.com/civicrm/civicrm-core/pull/11368)
+ and [11352](https://github.com/civicrm/civicrm-core/pull/11352))**
-- **[CRM-21443](https://issues.civicrm.org/jira/browse/CRM-21443) Add support for auto-complete fields in the batch update forms ([11290](https://github.com/civicrm/civicrm-core/pull/11290))**
+ An administrator may now filter the list of tags by partial name on the Manage
+ Tags page.
-- **[CRM-21504](https://issues.civicrm.org/jira/browse/CRM-21504) Add membership to recurring contribution detail ([11358](https://github.com/civicrm/civicrm-core/pull/11358))**
+- **[CRM-21443](https://issues.civicrm.org/jira/browse/CRM-21443) Add support
+ for auto-complete fields in the batch update forms
+ ([11290](https://github.com/civicrm/civicrm-core/pull/11290))**
-- **[CRM-21433](https://issues.civicrm.org/jira/browse/CRM-21433) Optimize dupe checking in Recent Items stack ([11281](https://github.com/civicrm/civicrm-core/pull/11281))**
+ Previously, the batch update form would exclude autocomplete-select custom
+ fields. This adds support for them.
-- **[CRM-21471](https://issues.civicrm.org/jira/browse/CRM-21471) Remove unused function CRM_Core_Pseudoconstant::greetingDefaults ([11313](https://github.com/civicrm/civicrm-core/pull/11313))**
+- **[CRM-21286](https://issues.civicrm.org/jira/browse/CRM-21286) expose active
+ flag in UI for group
+ ([11103](https://github.com/civicrm/civicrm-core/pull/11103))**
-- **[CRM-21286](https://issues.civicrm.org/jira/browse/CRM-21286) expose active flag in UI for group ([11103](https://github.com/civicrm/civicrm-core/pull/11103))**
+ A checkbox when editing a group now allows changing whether the group is
+ active.
- **[CRM-21497](https://issues.civicrm.org/jira/browse/CRM-21497) crmRouteBinder: add deep comparison option ([11345](https://github.com/civicrm/civicrm-core/pull/11345))**
- **[CRM-21454](https://issues.civicrm.org/jira/browse/CRM-21454) Add money raised on page contribution widget ajax response ([11299](https://github.com/civicrm/civicrm-core/pull/11299))**
+### CiviMember
+
+- **[CRM-21504](https://issues.civicrm.org/jira/browse/CRM-21504) Add membership
+ to recurring contribution detail
+ ([11358](https://github.com/civicrm/civicrm-core/pull/11358))**
+
+ If a recurring contribution auto-renews a membership, a link to the membership
+ now appears when viewing the recurring contribution.
+
### CiviCRM API
- **[CRM-21551](https://issues.civicrm.org/jira/browse/CRM-21551) Add parameter to support skipping processing greetings when calling api contact.create ([11405](https://github.com/civicrm/civicrm-core/pull/11405))**
### Core CiviCRM
+- **[CRM-21229](https://issues.civicrm.org/jira/browse/CRM-21229) Manage Group
+ page is slow if you have smart groups
+ ([11050](https://github.com/civicrm/civicrm-core/pull/11050)) (completes
+ previous work)**
+
+ Some adjustments were made to improve related tests and to prevent problems
+ over repeated test runs.
+
+- **[CRM-21518](https://issues.civicrm.org/jira/browse/CRM-21518) and
+ [CRM-21539](https://issues.civicrm.org/jira/browse/CRM-21539) Add missing
+ structure divs in templates
+ ([11369](https://github.com/civicrm/civicrm-core/pull/11369) and
+ [11396](https://github.com/civicrm/civicrm-core/pull/11396))**
+
+ Many administrative forms had minor inconsistencies in their markup,
+ complicating the task of retheming. This adds missing `div` elements and
+ classes.
+
+- **[CRM-21180](https://issues.civicrm.org/jira/browse/CRM-21180) Inline changes
+ to custom fields aren't reflected in custom greetings
+ ([11364](https://github.com/civicrm/civicrm-core/pull/11364))**
+
+ This resolves a bug where greetings that use custom fields would not update to
+ reflect changes that are made through inline edits to those fields.
+
+- **[CRM-21298](https://issues.civicrm.org/jira/browse/CRM-21298) Don't offer to
+ fix indices until we can do it right
+ ([11250](https://github.com/civicrm/civicrm-core/pull/11250))**
+
+ A change in 2017 introduced a warning on the system status page if a site
+ lacks a database index that CiviCRM expects. The warning message would offer
+ to "update indices" in the database, resolving the problem. However, the
+ update would fail on some sites due to a database error.
+
+ This change merely suppresses the warning message while work is done to
+ improve the update process.
+
+- **[CRM-21433](https://issues.civicrm.org/jira/browse/CRM-21433) Optimize dupe
+ checking in Recent Items stack
+ ([11281](https://github.com/civicrm/civicrm-core/pull/11281))**
+
+ The Recent Items list now suppresses duplicate items according to their entity
+ type and ID. Previously, duplicates were checked using the URL, which may
+ place parameters in a different order each time.
+
- **[CRM-21595](https://issues.civicrm.org/jira/browse/CRM-21595) Regression: Contribution page no longer works when configured with PayPal Pro and pay later ([11483](https://github.com/civicrm/civicrm-core/pull/11483))**
- **[CRM-21559](https://issues.civicrm.org/jira/browse/CRM-21559) Save button in Case Type not clickable ([11473](https://github.com/civicrm/civicrm-core/pull/11473))**
### CiviContribute
+- **[CRM-21465](https://issues.civicrm.org/jira/browse/CRM-21465) clicking on
+- pledge link in email returns fatal error
+- ([11305](https://github.com/civicrm/civicrm-core/pull/11305))**
+
- **[CRM-20676](https://issues.civicrm.org/jira/browse/CRM-20676) Tax applied repeatedly on edits of price set events ([11455](https://github.com/civicrm/civicrm-core/pull/11455))**
- **[CRM-20800](https://issues.civicrm.org/jira/browse/CRM-20800) User Cannot Cancel Recurring Payment With Paypal ([11359](https://github.com/civicrm/civicrm-core/pull/11359) and [10986](https://github.com/civicrm/civicrm-core/pull/10986))**
- **[CRM-21421](https://issues.civicrm.org/jira/browse/CRM-21421) Cannot update existing CaseContact ([11268](https://github.com/civicrm/civicrm-core/pull/11268) and [11270](https://github.com/civicrm/civicrm-core/pull/11270))**
+### CiviEvent
+
+- **[CRM-21513](https://issues.civicrm.org/jira/browse/CRM-21513) Change fee
+ selection for text price field on backoffice Event registration Not Creating
+ Correct Financial Items
+ ([11380](https://github.com/civicrm/civicrm-core/pull/11380))**
+
### CiviMember
- **[CRM-19608](https://issues.civicrm.org/jira/browse/CRM-19608) "Auto Renew Required" is not enforced during membership registration using priceset. ([9648](https://github.com/civicrm/civicrm-core/pull/9648))**
- **[CRM-20358](https://issues.civicrm.org/jira/browse/CRM-20358) WordPress access control table is basically unusable ([11253](https://github.com/civicrm/civicrm-core/pull/11253))**
-### Drupal Integration Modules
+### Drupal Integration
+
+- **[CRM-21526](https://issues.civicrm.org/jira/browse/CRM-21526)
+ CRM_Utils_System_Drupal8::authenticate() is incomplete
+ ([11381](https://github.com/civicrm/civicrm-core/pull/11381)) (partial work)**
+
+ The method for scripts to authenticate a Drupal 8 user would simply return the
+ user ID rather than switching to that user.
- **[CRM-20783](https://issues.civicrm.org/jira/browse/CRM-20783) undefined currency error when pricefield value is included in view ([458](https://github.com/civicrm/civicrm-drupal/pull/458))**
## <a name="misc"></a>Miscellany
+- **[CRM-21555](https://issues.civicrm.org/jira/browse/CRM-21555) Replace
+ `CRM_Core_OptionGroup::getValue` with `CRM_Core_PseudoConstant::getKey` for
+ Case ([11409](https://github.com/civicrm/civicrm-core/pull/11409))**
+
+- **[CRM-21548](https://issues.civicrm.org/jira/browse/CRM-21548) Remove unused
+ variables from `CRM_Utils_Address::format`
+ ([11403](https://github.com/civicrm/civicrm-core/pull/11403))**
+
+- **[CRM-21544](https://issues.civicrm.org/jira/browse/CRM-21544) Remove unused
+ `CRM_Contact_BAO_Contact_Optimizer` class
+ ([11400](https://github.com/civicrm/civicrm-core/pull/11400))**
+
+- **[CRM-21527](https://issues.civicrm.org/jira/browse/CRM-21527) Add default to
+ extra address::create param
+ ([11382](https://github.com/civicrm/civicrm-core/pull/11382))**
+
+- **[CRM-21517](https://issues.civicrm.org/jira/browse/CRM-21517)
+ UpdateSubscription OptionGroup->PseudoConstant
+ ([11367](https://github.com/civicrm/civicrm-core/pull/11367))**
+
+- **[CRM-21471](https://issues.civicrm.org/jira/browse/CRM-21471) Remove unused
+ function CRM_Core_Pseudoconstant::greetingDefaults
+ ([11313](https://github.com/civicrm/civicrm-core/pull/11313))**
+
## <a name="credits"></a>Credits
This release was developed by the following code authors:
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-a-irvine; AGH Strategies - Andrew Hunt; Agileware - Agileware Team; agileware-fj; AnneDru; Australian Greens - Seamus Lee; Avietech - Jonathan Boeke; bgmtest; British Humanist Association - Andrew West; CEDC - Laryn Kragt Bakker; Chris Burgess; Christian Wach; christophe.golle@gmail.com; Circle Interactive - Dave Jenkins; CiviCoop - Klaas Eikelboom; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; CiviFirst - John Kirk; clnlf; Community IT Academy - William Mortada; CompuCorp - Camilo Rodriguez, Guanhuan Chen, Madura Krishnamoorthy, Mukesh Ram, Omar Abu Hussein; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; dandoran-wp; Daniël van Vuuren; Dave D; dsuguy2007; Elennio; Ergon Logic Enterprises - Christopher Gervais; EvanC; fatih24500; Forest CRM Consulting - Tamar Meir; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit, Peter Davis; Ginkgo Street Labs - Dan O'Brien; grahamsmith; Hartmann Computer Consulting - Peter Hartmann; hfarooq; igorpavlov; Jazz-Man; jehanley; JMA Consulting - Edsel Lopez, Joe Murray, Monish Deb, Pradeep Nayak; Joanne Chester; John Kingsnorth; johntwyman; Joinery - Allen Shaw; Joseph Lacey; julian.libor; kerasai; kirk; Kompetenzzentrum Technik-Diversity-Chancengleichheit - Niels Heinemann; Korlon - Stuart Gaston; Left Join Labs - Sean Madsen; Lemniscus - Noah Miller; Lighthouse Design and Consulting - Brian Shaughnessy; Lullabot - Nate Lampton; madurak; MC3 - Graham Mitchell; Megaphone Technology Consulting - Jon Goldberg; mihaelmladenov; MJW Consulting - Matthew Wire; myDropWizard - David Snopek; National Democratic Institute - Dean Valentine; nbrettell; Neil Zampella; octo-happiness; Oxfam Germany - Thomas Schüttler; PhilMorBru; pratiksha; Progressive Technology Project - Jamie McClelland; Robert Lang; rupaljaviya; Semper IT - Karin Gerritsen; Skvare - Mark Hanna; slbradio; Spry Digital - Ellen Hendricks; Squiffle Consulting - Aidan Saunders; Stan Dragnev; Stephen Palmstrom; Systopia - Björn Endres; Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew; thisguy; Torrance Hodgson; tottens; tunbola@compucorp.co.uk; varshith; websiteexpress; Wikimedia Foundation - Eileen McNaughton, Maggie Epps; yaazkal
\ No newline at end of file
+a-irvine; AGH Strategies - Andrew Hunt; Agileware - Agileware Team; agileware-fj; AnneDru; Australian Greens - Seamus Lee; Avietech - Jonathan Boeke; bgmtest; British Humanist Association - Andrew West; CEDC - Laryn Kragt Bakker; Chris Burgess; Christian Wach; christophe.golle@gmail.com; Circle Interactive - Dave Jenkins; CiviCoop - Klaas Eikelboom; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; CiviFirst - John Kirk; clnlf; Community IT Academy - William Mortada; CompuCorp - Camilo Rodriguez, Guanhuan Chen, Madura Krishnamoorthy, Mukesh Ram, Omar Abu Hussein; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; dandoran-wp; Daniël van Vuuren; Dave D; dsuguy2007; Elennio; Ergon Logic Enterprises - Christopher Gervais; EvanC; fatih24500; Forest CRM Consulting - Tamar Meir; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit, Peter Davis; Ginkgo Street Labs - Dan O'Brien; grahamsmith; Hartmann Computer Consulting - Peter Hartmann; hfarooq; igorpavlov; Jazz-Man; jehanley; JMA Consulting - Edsel Lopez, Joe Murray, Monish Deb, Pradeep Nayak; Joanne Chester; John Kingsnorth; johntwyman; Joinery - Allen Shaw; Joseph Lacey; julian.libor; kerasai; kirk; Kompetenzzentrum Technik-Diversity-Chancengleichheit - Niels Heinemann; Korlon - Stuart Gaston; Left Join Labs - Sean Madsen; Lemniscus - Noah Miller; Lighthouse Design and Consulting - Brian Shaughnessy; Lullabot - Nate Lampton; madurak; MC3 - Graham Mitchell; Megaphone Technology Consulting - Jon Goldberg; mihaelmladenov; MJW Consulting - Matthew Wire; myDropWizard - David Snopek; National Democratic Institute - Dean Valentine; nbrettell; Neil Zampella; octo-happiness; Oxfam Germany - Thomas Schüttler; PhilMorBru; pratiksha; Progressive Technology Project - Jamie McClelland; Robert Lang; rupaljaviya; Semper IT - Karin Gerritsen; Skvare - Mark Hanna; slbradio; Spry Digital - Ellen Hendricks; Squiffle Consulting - Aidan Saunders; Stan Dragnev; Stephen Palmstrom; Systopia - Björn Endres; Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew; thisguy; Torrance Hodgson; tottens; tunbola@compucorp.co.uk; varshith; websiteexpress; Wikimedia Foundation - Eileen McNaughton, Maggie Epps; yaazkal
+
+## <a name="feedback"></a>Feedback
+
+These release notes are edited by Andrew Hunt. If you'd like to provide
+feedback on them, please login to https://chat.civicrm.org/civicrm and contact
+`@agh1`.