| 1 | # CiviCRM 4.7.24 |
| 2 | |
| 3 | Released September 6, 2017 |
| 4 | |
| 5 | - **[Synopsis](#synopsis)** |
| 6 | - **[Features](#features)** |
| 7 | - **[Bugs resolved](#bugs)** |
| 8 | - **[Miscellany](#misc)** |
| 9 | - **[Credits](#credits)** |
| 10 | - **[Feedback](#feedback)** |
| 11 | |
| 12 | ## <a name="synopsis"></a>Synopsis |
| 13 | |
| 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? | No | |
| 20 | | Fix problems installing or upgrading to a previous version? | No | |
| 21 | | **Introduce features?** | **Yes** | |
| 22 | | **Fix bugs?** | **Yes** | |
| 23 | |
| 24 | ## <a name="features"></a>Features |
| 25 | |
| 26 | ### Core CiviCRM |
| 27 | |
| 28 | - **[CRM-20941](https://issues.civicrm.org/jira/browse/CRM-20941) Determine & |
| 29 | notify date to end support for PHP5.3 and PHP5.4 |
| 30 | ([10948](https://github.com/civicrm/civicrm-core/pull/10948) and |
| 31 | [10872](https://github.com/civicrm/civicrm-core/pull/10872))** |
| 32 | |
| 33 | Updated upgrade message text regarding support for PHP5.3 and PHP5.4 |
| 34 | |
| 35 | - **[CRM-20960](https://issues.civicrm.org/jira/browse/CRM-20960) Upgrade Dompdf |
| 36 | to 0.8 ([10751](https://github.com/civicrm/civicrm-core/pull/10751))** |
| 37 | |
| 38 | Civicrm now uses dompdf to 0.8 which is compatible with PHP 7.1. |
| 39 | |
| 40 | - **[CRM-20563](https://issues.civicrm.org/jira/browse/CRM-20563) Improve |
| 41 | 'unable to provide this...' error message |
| 42 | ([10340](https://github.com/civicrm/civicrm-core/pull/10340))** |
| 43 | |
| 44 | The "Sorry but we are not able to provide this at the moment." error message |
| 45 | is improved to be more descriptive. It now says "Sorry, due to an error, |
| 46 | CiviCRM is unable to fulfill your request at the moment. You may want to |
| 47 | contact your administrator or service provider with more details about when |
| 48 | this occurred." |
| 49 | |
| 50 | - **[CRM-20929](https://issues.civicrm.org/jira/browse/CRM-20929) Allow styling |
| 51 | of page title in Angular |
| 52 | ([10711](https://github.com/civicrm/civicrm-core/pull/10711))** |
| 53 | |
| 54 | This change conveys CSS classes from Angular `crm-page-title` elements to the |
| 55 | main page title for styling purposes. |
| 56 | |
| 57 | - **[CRM-20945](https://issues.civicrm.org/jira/browse/CRM-20945) Differentiate |
| 58 | using CSS active selected page in AtoZ Pager |
| 59 | ([10723](https://github.com/civicrm/civicrm-core/pull/10723))** |
| 60 | |
| 61 | Now when using the A to Z pager (searching alphabetically) the active selected |
| 62 | page is differentiated from the other pages listed. |
| 63 | |
| 64 | - **[CRM-20863](https://issues.civicrm.org/jira/browse/CRM-20863) Improve |
| 65 | ordering of report lists |
| 66 | ([10653](https://github.com/civicrm/civicrm-core/pull/10653))** |
| 67 | |
| 68 | If reports have the same weight they will now be ordered alphabetically by |
| 69 | title ascending. |
| 70 | |
| 71 | - **[CRM-20994](https://issues.civicrm.org/jira/browse/CRM-20994) |
| 72 | CurrentEmployer Report contains a hardcoded value for RelationshipType |
| 73 | ([10795](https://github.com/civicrm/civicrm-core/pull/10795))** |
| 74 | |
| 75 | Changes Current Employer Report to get Employee Relationship type from the API |
| 76 | instead of a hardcoded value of the ID `4`. |
| 77 | |
| 78 | - **[CRM-21012](https://issues.civicrm.org/jira/browse/CRM-21012) Add link to |
| 79 | release notes in CiviCRM footer |
| 80 | ([10807](https://github.com/civicrm/civicrm-core/pull/10807))** |
| 81 | |
| 82 | The version number in the footer now links to the release notes for that |
| 83 | version. |
| 84 | |
| 85 | ### CiviContribute |
| 86 | |
| 87 | - **[CRM-20610](https://issues.civicrm.org/jira/browse/CRM-20610) Replace |
| 88 | payment details block with editable payment list on 'Edit Contribution' form |
| 89 | ([10814](https://github.com/civicrm/civicrm-core/pull/10814), |
| 90 | [10806](https://github.com/civicrm/civicrm-core/pull/10806), |
| 91 | [10777](https://github.com/civicrm/civicrm-core/pull/10777), and |
| 92 | [10774](https://github.com/civicrm/civicrm-core/pull/10774)) (Initial Work)** |
| 93 | |
| 94 | Updates the user experience for partial payments for events, memberships and |
| 95 | contributions on entry, editing and display. |
| 96 | |
| 97 | - **[CRM-20890](https://issues.civicrm.org/jira/browse/CRM-20890) Move |
| 98 | recieve_date between Contribution status and Revenue Recognition date in |
| 99 | Contribution backoffice form |
| 100 | ([10682](https://github.com/civicrm/civicrm-core/pull/10682))** |
| 101 | |
| 102 | This change moves the placement of fields on the backend contribution form to |
| 103 | enhance user experience. |
| 104 | |
| 105 | - **[CRM-20984](https://issues.civicrm.org/jira/browse/CRM-20984) Move placement |
| 106 | of payment processor field on live mode |
| 107 | ([10787](https://github.com/civicrm/civicrm-core/pull/10787))** |
| 108 | |
| 109 | This change moves the payment processor selection field on the backend credit |
| 110 | card contribution form. It is now closer to the billing block. |
| 111 | |
| 112 | - **[CRM-20860](https://issues.civicrm.org/jira/browse/CRM-20860) Add in |
| 113 | password type field availability and apply to payment processor fields |
| 114 | ([10660](https://github.com/civicrm/civicrm-core/pull/10660))** |
| 115 | |
| 116 | QuickForm now allows for a `password` type field to be added to forms. This |
| 117 | new field type is also applied to the Payment Processor Password fields for |
| 118 | security purposes. |
| 119 | |
| 120 | - **[CRM-20876](https://issues.civicrm.org/jira/browse/CRM-20876) in honor of |
| 121 | does not show up on contribution receipt |
| 122 | ([10668](https://github.com/civicrm/civicrm-core/pull/10668))** |
| 123 | |
| 124 | Now, When making a contribution in honor of someone, the person who is being |
| 125 | honored shows up on the receipt. |
| 126 | |
| 127 | - **[CRM-20931](https://issues.civicrm.org/jira/browse/CRM-20931) Allow contact |
| 128 | custom fields to be added to Contribution Detail report |
| 129 | ([10713](https://github.com/civicrm/civicrm-core/pull/10713))** |
| 130 | |
| 131 | Now one can add contact custom fields to the Contribution Detail report. |
| 132 | |
| 133 | - **[CRM-20987](https://issues.civicrm.org/jira/browse/CRM-20987) Add |
| 134 | transaction date field to listings of transactions |
| 135 | ([10789](https://github.com/civicrm/civicrm-core/pull/10789))** |
| 136 | |
| 137 | On the Financial batch listing page, the "Received" column is now labeled |
| 138 | "Transaction Date", and a new "Received" column, derived from |
| 139 | `civicrm_contribution.receive_date`, is displayed. |
| 140 | |
| 141 | - **[CRM-20913](https://issues.civicrm.org/jira/browse/CRM-20913) Separate |
| 142 | pledge statuses from contribution statuses |
| 143 | ([10811](https://github.com/civicrm/civicrm-core/pull/10811), |
| 144 | [10803](https://github.com/civicrm/civicrm-core/pull/10803), and |
| 145 | [10737](https://github.com/civicrm/civicrm-core/pull/10737))** |
| 146 | |
| 147 | Creates a new option group for pledge status for pledges to use. Previously, |
| 148 | pledges were using contribution statuses. |
| 149 | |
| 150 | ### CiviMail |
| 151 | |
| 152 | - **[CRM-20521](https://issues.civicrm.org/jira/browse/CRM-20521) Convert list |
| 153 | of groups and mailings in CiviMail to be loaded dynamically |
| 154 | ([10303](https://github.com/civicrm/civicrm-core/pull/10303))** |
| 155 | |
| 156 | This change converts list of groups and mailings in CiviMail to be loaded |
| 157 | dynamically to improve performance. |
| 158 | |
| 159 | ### CiviMember |
| 160 | |
| 161 | - **[CRM-20321](https://issues.civicrm.org/jira/browse/CRM-20321) Changing |
| 162 | membership type should change related contribution |
| 163 | ([10699](https://github.com/civicrm/civicrm-core/pull/10699))** |
| 164 | |
| 165 | A new option ties the financial type of a membership payment contribution to the |
| 166 | membership type of its related membership. When that membership type gets |
| 167 | changed and the option is set, the contribution's financial type changes. |
| 168 | |
| 169 | ## <a name="bugs"></a>Bugs resolved |
| 170 | |
| 171 | ### Core CiviCRM |
| 172 | |
| 173 | - **[CRM-21135](https://issues.civicrm.org/jira/browse/CRM-21135) Activity |
| 174 | filter preference are not remembered when enabled in display preference |
| 175 | ([10932](https://github.com/civicrm/civicrm-core/pull/10932))** |
| 176 | |
| 177 | - **[CRM-21076](https://issues.civicrm.org/jira/browse/CRM-21076) Fix: Can't |
| 178 | view/edit ACL Role Assignments |
| 179 | ([10869](https://github.com/civicrm/civicrm-core/pull/10869))** |
| 180 | |
| 181 | - **Suppress error if fakeFile cannot be created. |
| 182 | ([10677](https://github.com/civicrm/civicrm-core/pull/10677))** |
| 183 | |
| 184 | - **[CRM-20947](https://issues.civicrm.org/jira/browse/CRM-20947) Remove |
| 185 | Deprecation Notice for Option group |
| 186 | ([10788](https://github.com/civicrm/civicrm-core/pull/10788), |
| 187 | [10782](https://github.com/civicrm/civicrm-core/pull/10782), |
| 188 | [10768](https://github.com/civicrm/civicrm-core/pull/10768), |
| 189 | [10750](https://github.com/civicrm/civicrm-core/pull/10750), |
| 190 | [10743](https://github.com/civicrm/civicrm-core/pull/10743), |
| 191 | [10732](https://github.com/civicrm/civicrm-core/pull/10732), and |
| 192 | [10727](https://github.com/civicrm/civicrm-core/pull/10727))** |
| 193 | |
| 194 | - **[CRM-20944](https://issues.civicrm.org/jira/browse/CRM-20944) Remove |
| 195 | Deprecation Notice caused by ActivityLinks |
| 196 | ([10722](https://github.com/civicrm/civicrm-core/pull/10722))** |
| 197 | |
| 198 | Removes use of CRM_Core_OptionGroup::getKey function which is deprecated |
| 199 | |
| 200 | - **[CRM-20607](https://issues.civicrm.org/jira/browse/CRM-20607) Can't save a |
| 201 | reserved dedupe rule |
| 202 | ([10383](https://github.com/civicrm/civicrm-core/pull/10383))** |
| 203 | |
| 204 | - **[CRM-20577](https://issues.civicrm.org/jira/browse/CRM-20577) When creating |
| 205 | an activity per-contact when sending letters, store the version with rendered |
| 206 | tokens ([10348](https://github.com/civicrm/civicrm-core/pull/10348))** |
| 207 | |
| 208 | - **[CRM-20970](https://issues.civicrm.org/jira/browse/CRM-20970) long postal |
| 209 | code in db prevents searching by zipcode range |
| 210 | ([10769](https://github.com/civicrm/civicrm-core/pull/10769))** |
| 211 | |
| 212 | Entering a long postal code into the database was preventing searching by |
| 213 | postal code range on some configurations. |
| 214 | |
| 215 | - **[CRM-20973](https://issues.civicrm.org/jira/browse/CRM-20973) Call to |
| 216 | undefined function Civi\API\civicrm_api3_create_error() in Civi/API/Kernel.php |
| 217 | on line 413 ([10773](https://github.com/civicrm/civicrm-core/pull/10773))** |
| 218 | |
| 219 | - **[CRM-20884](https://issues.civicrm.org/jira/browse/CRM-20884) broken symlink |
| 220 | in net_smtp packages |
| 221 | ([10676](https://github.com/civicrm/civicrm-core/pull/10676))** |
| 222 | |
| 223 | - **[CRM-20648](https://issues.civicrm.org/jira/browse/CRM-20648) Allow |
| 224 | registration in event with cancelled registration |
| 225 | ([10430](https://github.com/civicrm/civicrm-core/pull/10430))** |
| 226 | |
| 227 | If a user has a canceled registration for an event civi now allows them to |
| 228 | register on the front end for that same event. |
| 229 | |
| 230 | - **[CRM-20995](https://issues.civicrm.org/jira/browse/CRM-20995) API - |
| 231 | Extension get - Ignores parameter full_name as created by API explorer |
| 232 | ([10796](https://github.com/civicrm/civicrm-core/pull/10796))** |
| 233 | |
| 234 | - **[CRM-20939](https://issues.civicrm.org/jira/browse/CRM-20939) $_recent |
| 235 | variable initialised as a string in CRM_Utils_Recent when should be an array |
| 236 | ([10721](https://github.com/civicrm/civicrm-core/pull/10721))** |
| 237 | |
| 238 | - **[CRM-20923](https://issues.civicrm.org/jira/browse/CRM-20923) Refactor tpl |
| 239 | for admin mail so it respects metadata |
| 240 | ([10704](https://github.com/civicrm/civicrm-core/pull/10704))** |
| 241 | |
| 242 | - **[CRM-20962](https://issues.civicrm.org/jira/browse/CRM-20962) Issue in |
| 243 | api_v3_SettingTest where string being used but needs to be array for php7.1 |
| 244 | ([10753](https://github.com/civicrm/civicrm-core/pull/10753))** |
| 245 | |
| 246 | Code Improvement for PHP 7.1 compatibility |
| 247 | |
| 248 | - **[CRM-20972](https://issues.civicrm.org/jira/browse/CRM-20972) PHP7.1 New |
| 249 | Exception generated causing failures in API_v3_SyntaxConformanceTests |
| 250 | ([10772](https://github.com/civicrm/civicrm-core/pull/10772))** |
| 251 | |
| 252 | Code Improvement for PHP 7.1 compatibility |
| 253 | |
| 254 | - **[CRM-19941](https://issues.civicrm.org/jira/browse/CRM-19941) PHP 7.1 |
| 255 | Compatability ([10724](https://github.com/civicrm/civicrm-core/pull/10724))** |
| 256 | |
| 257 | - **[CRM-20969](https://issues.civicrm.org/jira/browse/CRM-20969) Fix issue in |
| 258 | reports where we try and append a new array key to string |
| 259 | ([10765](https://github.com/civicrm/civicrm-core/pull/10765))** |
| 260 | |
| 261 | - **[CRM-21029](https://issues.civicrm.org/jira/browse/CRM-21029) Activity |
| 262 | report SQL syntax error |
| 263 | ([10820](https://github.com/civicrm/civicrm-core/pull/10820))** |
| 264 | |
| 265 | Fixes network error thrown on the Scheduled Activities dashlet "Network Error : |
| 266 | unable to reach the server". |
| 267 | |
| 268 | ### CiviMail |
| 269 | |
| 270 | - **[CRM-21100](https://issues.civicrm.org/jira/browse/CRM-21100) Empty list |
| 271 | shown in "Send test email to group" dropdown |
| 272 | ([10895](https://github.com/civicrm/civicrm-core/pull/10895))** |
| 273 | |
| 274 | In the preview section of a mailing, the "Send test email to groups" dropdown |
| 275 | showed an empty list by default. This list was populated by the current |
| 276 | list of recipients, if any. It now lists existing groups even though these are |
| 277 | not chosen as recipients. |
| 278 | |
| 279 | - **[CRM-21070](https://issues.civicrm.org/jira/browse/CRM-21070) Intra-rc |
| 280 | regression:Unable to set Recipients in CiviMail in 4.7.24-rc |
| 281 | ([10880](https://github.com/civicrm/civicrm-core/pull/10880))** |
| 282 | |
| 283 | ### CiviContribute |
| 284 | |
| 285 | - **[CRM-20954](https://issues.civicrm.org/jira/browse/CRM-20954) Fatal SQL |
| 286 | error when completing a partially paid contribution in localized installation |
| 287 | ([10747](https://github.com/civicrm/civicrm-core/pull/10747))** |
| 288 | |
| 289 | - **[CRM-20976](https://issues.civicrm.org/jira/browse/CRM-20976) Improve error |
| 290 | handling when someone tries to make a credit card contribution and no |
| 291 | processor is configured |
| 292 | ([10775](https://github.com/civicrm/civicrm-core/pull/10775))** |
| 293 | |
| 294 | An error message is now displayed instead of an endless spinning wheel when |
| 295 | someone tries to make a credit card contribution on a contribution page with |
| 296 | no processor configured. |
| 297 | |
| 298 | - **[CRM-20946](https://issues.civicrm.org/jira/browse/CRM-20946) Wrong entries |
| 299 | in financial table when contribution is cancelled |
| 300 | ([10726](https://github.com/civicrm/civicrm-core/pull/10726))** |
| 301 | |
| 302 | Fixes a bug where the wrong entries were being added to the financial table |
| 303 | when the contribution was canceled, now uses line total of line item to store |
| 304 | in financial item table |
| 305 | |
| 306 | - **[CRM-21002](https://issues.civicrm.org/jira/browse/CRM-21002) Credit card |
| 307 | type icons are incorrectly populated on backoffice live mode |
| 308 | ([10799](https://github.com/civicrm/civicrm-core/pull/10799))** |
| 309 | |
| 310 | - **[CRM-21027](https://issues.civicrm.org/jira/browse/CRM-21027) Next recurring |
| 311 | payment not accurately calculated when effective date passed in |
| 312 | ([10818](https://github.com/civicrm/civicrm-core/pull/10818))** |
| 313 | |
| 314 | This pull request fixes a bug causing payment processors that rely on CiviCRM |
| 315 | updating the next_sched_contribution_date for recurring to not get it updated. |
| 316 | |
| 317 | - **[CRM-20800](https://issues.civicrm.org/jira/browse/CRM-20800) User Cannot |
| 318 | Cancel Recurring Payment With Paypal |
| 319 | ([10833](https://github.com/civicrm/civicrm-core/pull/10833)) (Initial Work)** |
| 320 | |
| 321 | - **[CRM-20821](https://issues.civicrm.org/jira/browse/CRM-20821) Saving an |
| 322 | existing premium product breaks the image URLs |
| 323 | ([10761](https://github.com/civicrm/civicrm-core/pull/10761), |
| 324 | ([10762](https://github.com/civicrm/civicrm-core/pull/10762), and |
| 325 | [10720](https://github.com/civicrm/civicrm-core/pull/10720))** |
| 326 | |
| 327 | ### CiviMember |
| 328 | |
| 329 | - **[CRM-20952](https://issues.civicrm.org/jira/browse/CRM-20952) Refresh |
| 330 | membership tab on edits to membership payments |
| 331 | ([10741](https://github.com/civicrm/civicrm-core/pull/10741))** |
| 332 | |
| 333 | - **[CRM-20961](https://issues.civicrm.org/jira/browse/CRM-20961) Non numeric |
| 334 | php 7.1 error when running api_v3_MembershipTest |
| 335 | ([10752](https://github.com/civicrm/civicrm-core/pull/10752))** |
| 336 | |
| 337 | - **[CRM-20875](https://issues.civicrm.org/jira/browse/CRM-20875) Import of |
| 338 | membership custom data throws notice errors. |
| 339 | ([10664](https://github.com/civicrm/civicrm-core/pull/10664))** |
| 340 | |
| 341 | ### CiviSMS |
| 342 | |
| 343 | - **[CRM-20989](https://issues.civicrm.org/jira/browse/CRM-20989) SMS Provider |
| 344 | check in Scheduled Reminders, breaks for multisite |
| 345 | ([10792](https://github.com/civicrm/civicrm-core/pull/10792))** |
| 346 | |
| 347 | ### CiviEvent |
| 348 | |
| 349 | - **[CRM-20910](https://issues.civicrm.org/jira/browse/CRM-20910) API call to |
| 350 | Participant.get ignores check_permissons |
| 351 | ([10698](https://github.com/civicrm/civicrm-core/pull/10698))** |
| 352 | |
| 353 | - **[CRM-20967](https://issues.civicrm.org/jira/browse/CRM-20967) Event |
| 354 | Participants List shows Total paid and balance incorrect |
| 355 | ([10763](https://github.com/civicrm/civicrm-core/pull/10763))** |
| 356 | |
| 357 | Fixes a bug where the Participants List was showing "Total paid" and "balance" |
| 358 | incorrect when Deferred revenue was enabled. |
| 359 | |
| 360 | - **[CRM-17236](https://issues.civicrm.org/jira/browse/CRM-17236) Custom dates |
| 361 | fields displayed as (01/01/1970) in Events Confirmation Reciept |
| 362 | ([10710](https://github.com/civicrm/civicrm-core/pull/10710))** |
| 363 | |
| 364 | - **[CRM-20915](https://issues.civicrm.org/jira/browse/CRM-20915) Creating |
| 365 | credit card registration for event stores payment method as check |
| 366 | ([10701](https://github.com/civicrm/civicrm-core/pull/10701))** |
| 367 | |
| 368 | - **[CRM-20943](https://issues.civicrm.org/jira/browse/CRM-20943) PHP 7.1 |
| 369 | Compatability issue with Manage Events |
| 370 | ([10748](https://github.com/civicrm/civicrm-core/pull/10748))** |
| 371 | |
| 372 | ### Joomla Integration |
| 373 | |
| 374 | - **[CRM-19575](https://issues.civicrm.org/jira/browse/CRM-19575) Cron jobs on |
| 375 | Joomla triggers "Use of undefined constant JDEBUG" |
| 376 | ([10715](https://github.com/civicrm/civicrm-core/pull/10715))** |
| 377 | |
| 378 | ## <a name="misc"></a>Miscellany |
| 379 | |
| 380 | - **[CRM-20965](https://issues.civicrm.org/jira/browse/CRM-20965) Add Pull |
| 381 | Request Template ([10784](https://github.com/civicrm/civicrm-core/pull/10784) |
| 382 | and [10758](https://github.com/civicrm/civicrm-core/pull/10758))** |
| 383 | |
| 384 | This change sets up a PR template in github to help contributers standardize |
| 385 | their pull request documentation. |
| 386 | |
| 387 | - **(NFC) Fix permissions on CRM/Contribute/BAO/Contribution.php |
| 388 | ([10766](https://github.com/civicrm/civicrm-core/pull/10766))** |
| 389 | |
| 390 | - **CRM_Utils_SQL_Select - Allow fluent query execution |
| 391 | ([10686](https://github.com/civicrm/civicrm-core/pull/10686))** |
| 392 | |
| 393 | - **(NFC) gitignore - Remove obsolete entries |
| 394 | ([10714](https://github.com/civicrm/civicrm-core/pull/10714))** |
| 395 | |
| 396 | - **regen.sh - Fix stale function call in sql/GenerateData.php |
| 397 | ([10706](https://github.com/civicrm/civicrm-core/pull/10706))** |
| 398 | |
| 399 | ## <a name="credits"></a>Credits |
| 400 | |
| 401 | This release was developed by the following code authors: |
| 402 | |
| 403 | AGH Strategies - Andrew Hunt; Australian Greens - Seamus Lee; CiviCRM - Coleman |
| 404 | Watts, Tim Otten; CompuCorp - Michael Devery; Coop SymbioTIC - Samuel Vanhove; |
| 405 | Electronic Frontier Foundation - Mark Burdett; Fuzion - Chris Burgess, Eileen |
| 406 | McNaughton, Jitendra Purohit; JMA Consulting - Edsel Lopez, Monish Deb, Pradeep |
| 407 | Nayak; John Kingsnorth; Korlon - Stuart Gaston; Left Join Labs - Sean Madsen; |
| 408 | Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; |
| 409 | myDropWizard - David Snopek; Oxfam Germany - Thomas Schüttler; Progressive |
| 410 | Technology Project - Jamie McClelland; Wikimedia Foundation - Eileen McNaughton |
| 411 | |
| 412 | Most authors also reviewed code for this release; in addition, the following |
| 413 | reviewers contributed their comments: |
| 414 | |
| 415 | Alcohol Justice - Bruce Wolfe; Apple Street Market - Sean Prónay; British |
| 416 | Humanist Association - William Gordon; CiviCoop - Jaap Jansma; CiviDesk - |
| 417 | Nicolas Ganivet; CompuCorp - Guanhuan Chen, Jamie Novick; Coop SymbioTIC - |
| 418 | Mathieu Lutfy, Stéphane Lussier; Dave Greenberg; DevMate - Adam Kwiatkowski; |
| 419 | DreamSpace - Anthony Colombo; Francesc Bassas i Bullich; Fuzion - Peter Davis; |
| 420 | Greenleaf Advancement - Karen Stevenson; JMA Consulting - Joe Murray; Lighthouse |
| 421 | Design and Consulting - Brian Shaughnessy; Lionel Smith-Gordon; Nathan Brettell; |
| 422 | National Democratic Institute - Dean Valentine; Responsive Development |
| 423 | Technologies - Thomas Nilefalk; Semper IT - Karin Gerritsen; SEN Magazine - |
| 424 | Jeremy Nicholls; Skvare - Mark Hanna; Stephen Palmstrom; Tadpole Collective - |
| 425 | Kevin Cristiano; Team Expansion - Greg Harris; Thomas Bacon; Torrance Hodgson |
| 426 | |
| 427 | ## <a name="feedback"></a>Feedback |
| 428 | |
| 429 | These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like |
| 430 | to provide feedback on them, please login to https://chat.civicrm.org/civicrm |
| 431 | and contact `@agh1`. |