| 1 | # CiviCRM 5.1.0 |
| 2 | |
| 3 | Released May 2, 2018 |
| 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? | no | |
| 18 | | Alter the API? | no | |
| 19 | | Require attention to configuration options? | no | |
| 20 | | **Fix problems installing or upgrading to a previous version?** | **yes** | |
| 21 | | **Introduce features?** | **yes** | |
| 22 | | **Fix bugs?** | **yes** | |
| 23 | |
| 24 | ## <a name="features"></a>Features |
| 25 | |
| 26 | ### Core CiviCRM |
| 27 | |
| 28 | - **[CRM-21677](https://issues.civicrm.org/jira/browse/CRM-21677) Report |
| 29 | improvements ([11814](https://github.com/civicrm/civicrm-core/pull/11814), |
| 30 | [11898](https://github.com/civicrm/civicrm-core/pull/11898), |
| 31 | [11889](https://github.com/civicrm/civicrm-core/pull/11889), |
| 32 | [11880](https://github.com/civicrm/civicrm-core/pull/11880), |
| 33 | [11876](https://github.com/civicrm/civicrm-core/pull/11876), |
| 34 | [11875](https://github.com/civicrm/civicrm-core/pull/11875), |
| 35 | [11867](https://github.com/civicrm/civicrm-core/pull/11867), and |
| 36 | [11855](https://github.com/civicrm/civicrm-core/pull/11855))** |
| 37 | |
| 38 | Reports that don't have detailed information about contacts now no longer join |
| 39 | to the address, phone, and email tables. |
| 40 | |
| 41 | - **[CRM-21434](https://issues.civicrm.org/jira/browse/CRM-21434) Add activities |
| 42 | to recent items on view and edit |
| 43 | ([11891](https://github.com/civicrm/civicrm-core/pull/11891))** |
| 44 | |
| 45 | A recently viewed or edited activity will now appear on the list of recent |
| 46 | items in Backdrop, Drupal, and Joomla. |
| 47 | |
| 48 | - **[CRM-21489](https://issues.civicrm.org/jira/browse/CRM-21489) Deadlock |
| 49 | retries have been accidentally blocked |
| 50 | ([11336](https://github.com/civicrm/civicrm-core/pull/11336) and |
| 51 | [197](https://github.com/civicrm/civicrm-packages/pull/197))** |
| 52 | |
| 53 | This restores functionality that retries transactions if they face a deadlock |
| 54 | in the database. The number of times is now a constant that can be set in |
| 55 | `civicrm.settings.php`. |
| 56 | |
| 57 | - **[CRM-21840](https://issues.civicrm.org/jira/browse/CRM-21840) Show Tool Icon |
| 58 | For Radio Button Groups |
| 59 | ([11819](https://github.com/civicrm/civicrm-core/pull/11819))** |
| 60 | |
| 61 | A group of radio buttons will now display a wrench icon if the user has the |
| 62 | permission to edit the options. This now matches the feature for select |
| 63 | boxes. |
| 64 | |
| 65 | - **[CRM-20981](https://issues.civicrm.org/jira/browse/CRM-20981) Allow custom |
| 66 | base-pages with less `crmApp` boilerplate |
| 67 | ([10783](https://github.com/civicrm/civicrm-core/pull/10783))** |
| 68 | |
| 69 | Extensions that use AngularJS can now define a base path more easily. |
| 70 | |
| 71 | - **[CRM-20624](https://issues.civicrm.org/jira/browse/CRM-20624) Expose |
| 72 | description field for option values in UI |
| 73 | ([10403](https://github.com/civicrm/civicrm-core/pull/10403))** |
| 74 | |
| 75 | Custom field options have a `description` field (that has been in the database |
| 76 | for a while); now it can be set from the user interface and viewed when |
| 77 | managing option values. |
| 78 | |
| 79 | - **[CRM-21835](https://issues.civicrm.org/jira/browse/CRM-21835) Detailed |
| 80 | Logging - Use INNODB if Archive is not available |
| 81 | ([11786](https://github.com/civicrm/civicrm-core/pull/11786))** |
| 82 | |
| 83 | The Archive storage engine is not always available in MariaDB, even though it |
| 84 | is the default for log tables when detailed logging is enabled. Now, CiviCRM |
| 85 | will fall back to InnoDB if Archive is not available. |
| 86 | |
| 87 | - **[CRM-21753](https://issues.civicrm.org/jira/browse/CRM-21753) Support |
| 88 | 'criteria' in url on batch merge form |
| 89 | ([11666](https://github.com/civicrm/civicrm-core/pull/11666)) (completes prior |
| 90 | work)** |
| 91 | |
| 92 | This improves handling of criteria set in the URL for batch merges. |
| 93 | |
| 94 | - **[CRM-20811](https://issues.civicrm.org/jira/browse/CRM-20811) Schedule |
| 95 | Reminders uses mixed terminology for Active state: Active? versus Send Email |
| 96 | ([10602](https://github.com/civicrm/civicrm-core/pull/10602))** |
| 97 | |
| 98 | The option for whether a scheduled reminder is active is now displayed as a |
| 99 | checkbox with "Scheduled Reminder Active" rather than "Send Email" or "Send |
| 100 | email or SMS". |
| 101 | |
| 102 | - **CRM_Utils_Check - Soften messages for read-only extensionsDir |
| 103 | ([11895](https://github.com/civicrm/civicrm-core/pull/11895))** |
| 104 | |
| 105 | When a site's extensions directory is not writable by the web server, the |
| 106 | system check message now has a lower severity and explains the consequences |
| 107 | rather than indicating that this is definitely a problem. |
| 108 | |
| 109 | - **Meld Address custom field display template with main custom field template |
| 110 | ([11844](https://github.com/civicrm/civicrm-core/pull/11844))** |
| 111 | |
| 112 | The display for address custom fields now uses the main custom field template. |
| 113 | |
| 114 | - **[CRM-21784](https://issues.civicrm.org/jira/browse/CRM-21784) View custom |
| 115 | data for recurring contributions |
| 116 | ([11697](https://github.com/civicrm/civicrm-core/pull/11697))** |
| 117 | |
| 118 | This resolves a problem where custom data could be set for recurring |
| 119 | contributions but could not be viewed outside of the API. |
| 120 | |
| 121 | ### CiviContribute |
| 122 | |
| 123 | - **[CRM-20610](https://issues.civicrm.org/jira/browse/CRM-20610) Replace |
| 124 | payment details block with editable payment list on 'Edit Contribution' form |
| 125 | ([10776](https://github.com/civicrm/civicrm-core/pull/10776))** |
| 126 | |
| 127 | The backend contribution edit form is now based on the same payment editing |
| 128 | interface as events with multiple payments. |
| 129 | |
| 130 | - **Tweak layout on contribution view screen to make payments clearer |
| 131 | ([11863](https://github.com/civicrm/civicrm-core/pull/11863))** |
| 132 | |
| 133 | When viewing a contribution on the back end, a table of payments now displays |
| 134 | immediately below the total amount. |
| 135 | |
| 136 | ### CiviMail |
| 137 | |
| 138 | - **[CRM-20719](https://issues.civicrm.org/jira/browse/CRM-20719) Show warning |
| 139 | on system status page if reply_id for mailing is not set to any default. |
| 140 | ([10496](https://github.com/civicrm/civicrm-core/pull/10496))** |
| 141 | |
| 142 | This warns users if no auto-reply message is selected as default, as this will |
| 143 | prevent CiviMail messages from being submitted. |
| 144 | |
| 145 | ### Drupal Integration |
| 146 | |
| 147 | - **Add activity created_date, modified_date and original_id fields to views |
| 148 | ([525](https://github.com/civicrm/civicrm-drupal/pull/525))** |
| 149 | |
| 150 | ## <a name="bugs"></a>Bugs resolved |
| 151 | |
| 152 | ### Core CiviCRM |
| 153 | |
| 154 | - **[dev/core#83](https://lab.civicrm.org/dev/core/issues/83) Fix regression |
| 155 | whereby relationship types option no longer in adv search |
| 156 | ([12045](https://github.com/civicrm/civicrm-core/pull/12045))** |
| 157 | |
| 158 | - **Flush versionCheck cache when upgrading |
| 159 | ([12034](https://github.com/civicrm/civicrm-core/pull/12034))** |
| 160 | |
| 161 | A recently-upgraded site will no longer potentially have a cached message |
| 162 | indicating that an upgrade is needed. |
| 163 | |
| 164 | - **[dev/core#64](https://lab.civicrm.org/dev/core/issues/64) - In custom |
| 165 | searches, column headings are being ignored |
| 166 | ([12005](https://github.com/civicrm/civicrm-core/pull/12005))** |
| 167 | |
| 168 | This resolves a regression that displayed standard column headings on results |
| 169 | of custom searches. |
| 170 | |
| 171 | - **Fix trigger generation for modified_date on custom data |
| 172 | ([11984](https://github.com/civicrm/civicrm-core/pull/11984))** |
| 173 | |
| 174 | - **Phone: standardize appearance and translation of extension label |
| 175 | ([11930](https://github.com/civicrm/civicrm-core/pull/11930))** |
| 176 | |
| 177 | - **[dev/core#16](https://lab.civicrm.org/dev/core/issues/16) Select "Enable |
| 178 | multiple bulk email address for a contact", "hold_date" can not be updated |
| 179 | ([11807](https://github.com/civicrm/civicrm-core/pull/11807) and |
| 180 | [11884](https://github.com/civicrm/civicrm-core/pull/11884))** |
| 181 | |
| 182 | - **Handle eq (equals) operator in the report url |
| 183 | ([11885](https://github.com/civicrm/civicrm-core/pull/11885))** |
| 184 | |
| 185 | When setting report filters via the URL, the `eq` operator now works like the |
| 186 | others. It didn't work in past versions. |
| 187 | |
| 188 | - **Fix report form isTableSelected to treat relative date filters as filters |
| 189 | ([11882](https://github.com/civicrm/civicrm-core/pull/11882))** |
| 190 | |
| 191 | - **[CRM-21842](https://issues.civicrm.org/jira/browse/CRM-21842) broken link |
| 192 | ([11879](https://github.com/civicrm/civicrm-core/pull/11879))** |
| 193 | |
| 194 | Links to the "Installation and basic set-up" documentation page had errors. |
| 195 | |
| 196 | - **[dev/core#22](https://lab.civicrm.org/dev/core/issues/22) Unable to delete |
| 197 | Smart Group ([11826](https://github.com/civicrm/civicrm-core/pull/11826))** |
| 198 | |
| 199 | This resolves a fatal error that would appear when attempting to delete a |
| 200 | broken smart group. |
| 201 | |
| 202 | - **Fix template structures |
| 203 | ([11818](https://github.com/civicrm/civicrm-core/pull/11818), |
| 204 | [11839](https://github.com/civicrm/civicrm-core/pull/11839), |
| 205 | [11851](https://github.com/civicrm/civicrm-core/pull/11851), |
| 206 | [11862](https://github.com/civicrm/civicrm-core/pull/11862), and |
| 207 | [11869](https://github.com/civicrm/civicrm-core/pull/11869))** |
| 208 | |
| 209 | This standardizes a number of page templates that didn't match the typical |
| 210 | structure. |
| 211 | |
| 212 | - **Fix ajax error on rendering multi custom data tab when field limit reached |
| 213 | ([11856](https://github.com/civicrm/civicrm-core/pull/11856))** |
| 214 | |
| 215 | - **Escape custom group title. |
| 216 | ([11854](https://github.com/civicrm/civicrm-core/pull/11854))** |
| 217 | |
| 218 | This fixes a bug causing the display of multi-entry custom data sets when the |
| 219 | set's title has an apostrophe in it. |
| 220 | |
| 221 | - **[CRM-20790](https://issues.civicrm.org/jira/browse/CRM-20790) Import |
| 222 | Contacts, Current Employer (Employee of field) is not being imported at all |
| 223 | ([11843](https://github.com/civicrm/civicrm-core/pull/11843)) (completes prior |
| 224 | work)** |
| 225 | |
| 226 | Unit tests now ensure relationships are added on import. |
| 227 | |
| 228 | - **[dev/core#17](https://lab.civicrm.org/dev/core/issues/17) Convert Campaign |
| 229 | Interview Task to use Pseudoconstant and remove PHP notices |
| 230 | ([11809](https://github.com/civicrm/civicrm-core/pull/11809))** |
| 231 | |
| 232 | This replaces use of the deprecated `CRM_Core_OptionGroup::getValue()` with |
| 233 | `CRM_Core_PseudoConstant::getKey()` and fixes PHP notices. |
| 234 | |
| 235 | - **[CRM-21838](https://issues.civicrm.org/jira/browse/CRM-21838) When CRM.alert |
| 236 | falls back to standard JS alert it should strip html |
| 237 | ([11797](https://github.com/civicrm/civicrm-core/pull/11797))** |
| 238 | |
| 239 | ### CiviContribute |
| 240 | |
| 241 | - **[CRM-21763](https://issues.civicrm.org/jira/browse/CRM-21763) Cannot record |
| 242 | payment for only cents owed |
| 243 | ([11668](https://github.com/civicrm/civicrm-core/pull/11668))** |
| 244 | |
| 245 | This resolves a bug where the sum of payments would be fractions of a cent off |
| 246 | from the total amount due. A new utility subtracts currency amounts using the |
| 247 | correct number of decimals for that currency. |
| 248 | |
| 249 | - **[CRM-21791](https://issues.civicrm.org/jira/browse/CRM-21791) Accounting |
| 250 | batch closed by default when created in localized civicrm |
| 251 | ([11878](https://github.com/civicrm/civicrm-core/pull/11878))** |
| 252 | |
| 253 | If an accounting batch is created in a site with a language other than US |
| 254 | English, a bug caused the batch to start out closed. |
| 255 | |
| 256 | - **[dev/core#26](https://lab.civicrm.org/dev/core/issues/26) On behalf form |
| 257 | fails to create new organisation |
| 258 | ([11841](https://github.com/civicrm/civicrm-core/pull/11841))** |
| 259 | |
| 260 | - **[CRM-21807](https://issues.civicrm.org/jira/browse/CRM-21807) Deleted |
| 261 | contacts included by default in Membership and contribution detail report. |
| 262 | ([11727](https://github.com/civicrm/civicrm-core/pull/11727))** |
| 263 | |
| 264 | - **[CRM-21264](https://issues.civicrm.org/jira/browse/CRM-21264) print |
| 265 | contribution in tabular format with group by contact not working |
| 266 | ([11820](https://github.com/civicrm/civicrm-core/pull/11820))** |
| 267 | |
| 268 | ### CiviEvent |
| 269 | |
| 270 | - **Fix fatal error when selecting a $0 price option in change fee selection |
| 271 | ([11934](https://github.com/civicrm/civicrm-core/pull/11934))** |
| 272 | |
| 273 | ### CiviMail |
| 274 | |
| 275 | - **[dev/mail#8](https://lab.civicrm.org/dev/mail/issues/8) Using ACL to |
| 276 | restrict mailing recipients leads to fatal error |
| 277 | ([11963](https://github.com/civicrm/civicrm-core/pull/11963))** |
| 278 | |
| 279 | - **[dev/core#25](https://lab.civicrm.org/dev/core/issues/25) Wrap split_jobs in |
| 280 | a transaction ([11836](https://github.com/civicrm/civicrm-core/pull/11836))** |
| 281 | |
| 282 | The process of splitting mail jobs is now a database transaction, preventing |
| 283 | other processes from potentially processing child jobs before it is finished. |
| 284 | |
| 285 | ### CiviMember |
| 286 | |
| 287 | - **[CRM-21711](https://issues.civicrm.org/jira/browse/CRM-21711) When updating |
| 288 | multiple memberships thru a contribution page custom fields are only updated |
| 289 | on one ([11586](https://github.com/civicrm/civicrm-core/pull/11586))** |
| 290 | |
| 291 | - **[CRM-19151](https://issues.civicrm.org/jira/browse/CRM-19151) Add / fix the |
| 292 | Ability to merge memberships |
| 293 | ([11298](https://github.com/civicrm/civicrm-core/pull/11298)) (initial work)** |
| 294 | |
| 295 | When merging contacts that each have memberships, one membership and all its |
| 296 | data will be deleted unless you check the Add New box. Now, the surviving |
| 297 | membership is updated to have the earliest Join Date and latest End Date of |
| 298 | the two, and the Membership Status is recalculated. |
| 299 | |
| 300 | - **[CRM-19850](https://issues.civicrm.org/jira/browse/CRM-19850) Add a offline |
| 301 | membership without 'record payment' option, later edit the membership and |
| 302 | saving with 'record payment' option |
| 303 | ([11087](https://github.com/civicrm/civicrm-core/pull/11087))** |
| 304 | |
| 305 | This resolves an error that failed to show the payment information when |
| 306 | editing an unpaid membership and checking the "Record Payment" box. |
| 307 | |
| 308 | - **[dev/core#15](https://lab.civicrm.org/dev/core/issues/15) Wrong parameter |
| 309 | passing in LineItem.php |
| 310 | ([11816](https://github.com/civicrm/civicrm-core/pull/11816))** |
| 311 | |
| 312 | This addresses an intermittent bug where membership line items would refer to |
| 313 | the wrong contribution. |
| 314 | |
| 315 | - **[CRM-21682](https://issues.civicrm.org/jira/browse/CRM-21682) Automatic |
| 316 | membership renewal fixes |
| 317 | ([11824](https://github.com/civicrm/civicrm-core/pull/11824) and |
| 318 | [11825](https://github.com/civicrm/civicrm-core/pull/11825))** |
| 319 | |
| 320 | - **“Deceased” status could be translated |
| 321 | ([11890](https://github.com/civicrm/civicrm-core/pull/11890))** |
| 322 | |
| 323 | The membership status update job would look for the status labeled "Deceased", |
| 324 | which may be translated. |
| 325 | |
| 326 | ### Drupal Integration |
| 327 | |
| 328 | - **[dev/core#83](https://lab.civicrm.org/dev/core/issues/18) Log tables for |
| 329 | CiviCRM Drupal Modules can cause WSODs after running upgrades when |
| 330 | re-calculating ([11865](https://github.com/civicrm/civicrm-core/pull/11865))** |
| 331 | |
| 332 | ### Joomla Integration |
| 333 | |
| 334 | - **[CRM-21348](https://issues.civicrm.org/jira/browse/CRM-21348) Don't hide the |
| 335 | "edit" link from logged-in users in profile listings in joomla front-end. |
| 336 | ([11199](https://github.com/civicrm/civicrm-core/pull/11199))** |
| 337 | |
| 338 | - **[CRM-21203](https://issues.civicrm.org/jira/browse/CRM-21203) cli.php PHP |
| 339 | error prevents cron jobs from running |
| 340 | ([11609](https://github.com/civicrm/civicrm-core/pull/11609)) (completes prior |
| 341 | work)** |
| 342 | |
| 343 | ### WordPress Integration |
| 344 | |
| 345 | - **[CRM-21277](https://issues.civicrm.org/jira/browse/CRM-21277) |
| 346 | CRM_Utils_System_WordPress::validInstallDir spams log with warnings when |
| 347 | open_basedir restriction is in effect |
| 348 | ([11086](https://github.com/civicrm/civicrm-core/pull/11086))** |
| 349 | |
| 350 | ## <a name="misc"></a>Miscellany |
| 351 | |
| 352 | - **Increment minimum upgradable version |
| 353 | ([11864](https://github.com/civicrm/civicrm-core/pull/11864))** |
| 354 | |
| 355 | New versions of CiviCRM no longer contain code facilitating a direct upgrade |
| 356 | from versions before 4.1.3. Older sites attempting to upgrade should upgrade |
| 357 | to one or more intermediate versions before upgrading to 5.1.0. |
| 358 | |
| 359 | - **(NFC) make (includes taxes) translation work |
| 360 | ([11927](https://github.com/civicrm/civicrm-core/pull/11927))** |
| 361 | |
| 362 | - **Extract fetchRelationshipDetails function |
| 363 | ([11918](https://github.com/civicrm/civicrm-core/pull/11918))** |
| 364 | |
| 365 | - **NFC Minor comments cleanup on MembershipType |
| 366 | ([11909](https://github.com/civicrm/civicrm-core/pull/11909))** |
| 367 | |
| 368 | - **Remove cloning hack from export and add unit tests |
| 369 | ([11703](https://github.com/civicrm/civicrm-core/pull/11703))** |
| 370 | |
| 371 | - **NFC Fix function name typo |
| 372 | ([11888](https://github.com/civicrm/civicrm-core/pull/11888))** |
| 373 | |
| 374 | - **[NFC] Fix mispelled variable and simplify a couple of other vars |
| 375 | ([11886](https://github.com/civicrm/civicrm-core/pull/11886))** |
| 376 | |
| 377 | - **[NFC] remove unused vars |
| 378 | ([11874](https://github.com/civicrm/civicrm-core/pull/11874))** |
| 379 | |
| 380 | - **CiviUnitTestCase - Extract Api3TestTrait and Api3DocTrait |
| 381 | ([11872](https://github.com/civicrm/civicrm-core/pull/11872))** |
| 382 | |
| 383 | - **Consolidate CustomData code into shared tpl |
| 384 | ([11857](https://github.com/civicrm/civicrm-core/pull/11857))** |
| 385 | |
| 386 | - **[nfc] Add test for thousand separators on import |
| 387 | ([11859](https://github.com/civicrm/civicrm-core/pull/11859))** |
| 388 | |
| 389 | - **[nfc] Minor test tidy ups |
| 390 | ([11860](https://github.com/civicrm/civicrm-core/pull/11860))** |
| 391 | |
| 392 | - **[NFC] fix line endings, using windows line endings, change to 'unix |
| 393 | ([11858](https://github.com/civicrm/civicrm-core/pull/11858))** |
| 394 | |
| 395 | - **NFC reformat whitespace in Email.tpl files |
| 396 | ([11842](https://github.com/civicrm/civicrm-core/pull/11842))** |
| 397 | |
| 398 | - **Version check test: in alphas don't test for site stats not provided for |
| 399 | alphas ([11831](https://github.com/civicrm/civicrm-core/pull/11831))** |
| 400 | |
| 401 | - **Fix style warnings |
| 402 | ([526](https://github.com/civicrm/civicrm-drupal/pull/526))** |
| 403 | |
| 404 | - **add GitHub PR template and Contributing templates to WP repo |
| 405 | ([127](https://github.com/civicrm/civicrm-wordpress/pull/127))** |
| 406 | |
| 407 | ## <a name="credits"></a>Credits |
| 408 | |
| 409 | This release was developed by the following code authors: |
| 410 | |
| 411 | AGH Strategies - Alice Frumin, Andrew Hunt, Eli Lisseck; Agileware - Agileware |
| 412 | Team, Alok Patel, Francis Whittle, Justin Freeman; Andrew Thompson; Australian |
| 413 | Greens - Seamus Lee; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha |
| 414 | Chaku; CompuCorp - Michael Devery, Mukesh Ram; Coop SymbioTIC - Samuel Vanhove; |
| 415 | Davis Media Access - Darrick Servis; Fuzion - Jitendra Purohit; JMA Consulting - |
| 416 | Monish Deb; Joinery - Allen Shaw; Kompetenzzentrum |
| 417 | Technik-Diversity-Chancengleichheit - Niels Heinemann; Left Join Labs - Sean |
| 418 | Madsen; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew |
| 419 | Wire; Naomi Rosenberg; Olivier Tétard; Oxfam Germany - Yuliyana Liyana; Tadpole |
| 420 | Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton |
| 421 | |
| 422 | Most authors also reviewed code for this release; in addition, the following |
| 423 | reviewers contributed their comments: |
| 424 | |
| 425 | Ben Jarlett; British Humanist Association - Andrew West; Chris Burgess; |
| 426 | Christian Wach; CiviDesk - Sunil Pawar; Community Builders - Andrew Perry; |
| 427 | CompuCorp - Jamie Novick; Coop SymbioTIC - Mathieu Lutfy; David Hepper; DevApp - |
| 428 | Adam Kwiatkowski; Donald Hirst; Francesc Bassas i Bullich; Fuzion - Peter Davis; |
| 429 | Ginkgo Street Labs - Frank Gómez; JMA Consulting - Monish Deb; Johan Vervloet; |
| 430 | John Kingsnorth; Korlon - Stuart Gaston; Lemniscus - Noah Miller; Lighthouse |
| 431 | Design and Consulting - Brian Shaughnessy; Lorenzo Ardizzone; Lyons Digital |
| 432 | Media - Barbara Forbes-Lyons; Marcello Gribaudo; National Democratic Institute - |
| 433 | Evan Summers; Neil Zampella; Nicol Wistreich; Pratik Joshi; Progressive |
| 434 | Technology Project - Jamie McClelland; Responsive Development Technologies - |
| 435 | Thomas Nilefalk; Richard Edgar; SEN Magazine - Jeremy Nicholls; Skvare - Mark |
| 436 | Hanna; small biz |
| 437 | |
| 438 | ## <a name="feedback"></a>Feedback |
| 439 | |
| 440 | These release notes are edited by Andrew Hunt. If you'd like to provide |
| 441 | feedback on them, please login to https://chat.civicrm.org/civicrm and contact |
| 442 | `@agh1`. |