Commit | Line | Data |
---|---|---|
0c7d1f20 AH |
1 | # CiviCRM 4.7.21 |
2 | ||
561a1d3b | 3 | Released 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 | ||
490 | This release was developed by the following code authors: | |
491 | ||
4a170a41 AH |
492 | Agileware - Agileware Team; Arkadiusz Rzadkowolski; Arun Singh; Australian |
493 | Greens - Seamus Lee; Blackfly Solutions - Alan Dixon; British Humanist | |
494 | Association - Andrew West; Circle Interactive - Dave Jenkins; CiviCRM - Coleman | |
495 | Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Camilo Rodriguez, | |
496 | Michael Devery; Coop SymbioTIC - Mathieu Lutfy; Effy Elden; Eli Lisseck; | |
497 | Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - | |
498 | Chris Burgess, Eileen McNaughton, Jitendra Purohit; Ginkgo Street Labs - Frank | |
499 | Gómez; JMA Consulting - Monish Deb, Pradeep Nayak; Joinery - Allen Shaw; Jon | |
500 | Goldberg; Lemniscus - Noah Miller; Lighthouse Design and Consulting - Brian | |
501 | Shaughnessy; Oxfam Germany - Thomas Schüttler; Progressive Technology Project - | |
502 | Jamie McClelland; Redfin Solutions - Chris Wells; Romain Thouvenin; Sean Madsen; | |
503 | Systopia - Björn Endres; Web Access - Kurund Jalmi; Wikimedia Foundation - | |
504 | Eileen McNaughton | |
0c7d1f20 AH |
505 | |
506 | Most authors also reviewed code for this release; in addition, the following | |
507 | reviewers contributed their comments: | |
508 | ||
4a170a41 AH |
509 | Alcohol Justice - Bruce Wolfe; Alex Block; Andy Clarke; Blackfly Solutions - |
510 | Alan Dixon; Bob Silvern; Bob Vincent; Business & Code - Alain Benbassat; Circle | |
511 | Interactive - Martin Castle; CiviDesk - Nicolas Ganivet; CiviHosting - Hershel | |
512 | Robinson; CompuCorp - Guanhuan Chen, Mirela Stanila; Donald Hirst; Fuzion - | |
513 | Peter Davis; Ginkgo Street Labs - Dan O'Brien; James van der Hoven; JMA | |
514 | Consulting - Joe Murray; Joanne Chester; Johan Vervloet; Korlon - Stuart Gaston; | |
515 | MC3 - Graham Mitchell; Michal Mach; Milton Zurita; MJW Consulting - Matthew | |
516 | Wire; Nubay Services - David Tarrant; Registered Nurses' Association of Ontario - | |
517 | Thomas Mannell; Richard van Oosterhout; Semper IT - Karin Gerritsen; Skvare - | |
518 | Mark Hanna; Systopia - Fabian Schuttenberg; Tech To The People - Xavier Dutoit; | |
519 | Web Access - Rohan Chavan; Wim De Craene |