| 1 | # CiviCRM 5.8.0 |
| 2 | |
| 3 | Released December 5, 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?** | **yes** | |
| 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 | - **Configurable quicksearch settings |
| 29 | ([13039](https://github.com/civicrm/civicrm-core/pull/13039) and |
| 30 | [13056](https://github.com/civicrm/civicrm-core/pull/13056))** |
| 31 | |
| 32 | This permits (some) custom fields to be added to quicksearch as searchable |
| 33 | fields. By adding a setting in Search Preferences to configure the search |
| 34 | fields in the quicksearch box in the menu bar. |
| 35 | |
| 36 | - **Permit additional (freeform) relative date filters - e.g 'last 18 months', |
| 37 | 'last 45 days' ([12682](https://github.com/civicrm/civicrm-core/pull/12682))** |
| 38 | |
| 39 | This change adds support for a greater range of date options for relative |
| 40 | searches (e.g last 45 days, last 18 months). It requires option values to be |
| 41 | added by an extension or by an experienced admin, and has a limited UI. |
| 42 | |
| 43 | - **Allow contribution search by recurring payment processor ID / Transaction ID |
| 44 | ([12818](https://github.com/civicrm/civicrm-core/pull/12818))** |
| 45 | |
| 46 | This change adds three new fields to the contribution search form: recurring |
| 47 | contribution transaction ID, payment processor ID and processor ID. |
| 48 | |
| 49 | - **[dev/core#495](https://lab.civicrm.org/dev/core/issues/495) Migrate simple |
| 50 | Preferences & Settings forms to using a Generic class. |
| 51 | [13054](https://github.com/civicrm/civicrm-core/pull/13054), |
| 52 | [13062](https://github.com/civicrm/civicrm-core/pull/13062), |
| 53 | [13047](https://github.com/civicrm/civicrm-core/pull/13047), |
| 54 | [13046](https://github.com/civicrm/civicrm-core/pull/13046), |
| 55 | [13048](https://github.com/civicrm/civicrm-core/pull/13048), |
| 56 | [13040](https://github.com/civicrm/civicrm-core/pull/13040), |
| 57 | [13004](https://github.com/civicrm/civicrm-core/pull/13004), |
| 58 | [13026](https://github.com/civicrm/civicrm-core/pull/13026), |
| 59 | [13027](https://github.com/civicrm/civicrm-core/pull/13027), |
| 60 | [13025](https://github.com/civicrm/civicrm-core/pull/13025), |
| 61 | [12731](https://github.com/civicrm/civicrm-core/pull/12731), |
| 62 | [12940](https://github.com/civicrm/civicrm-core/pull/12940), |
| 63 | [13022](https://github.com/civicrm/civicrm-core/pull/13022), |
| 64 | [13023](https://github.com/civicrm/civicrm-core/pull/13023), |
| 65 | [12906](https://github.com/civicrm/civicrm-core/pull/12906), |
| 66 | [12919](https://github.com/civicrm/civicrm-core/pull/12919), |
| 67 | [12925](https://github.com/civicrm/civicrm-core/pull/12925) and |
| 68 | [12960](https://github.com/civicrm/civicrm-core/pull/12960)** |
| 69 | |
| 70 | Introduce generic settings form (fully metadata driven) - this provides a |
| 71 | supported methodology for extensions to add settings forms and to alter core |
| 72 | settings forms (albeit not all core forms are converted to that point). |
| 73 | |
| 74 | - **Add icons to contact summary tabs |
| 75 | ([13018](https://github.com/civicrm/civicrm-core/pull/13018))** |
| 76 | |
| 77 | This change makes it so that an extension using hook_civicrm_tabset can |
| 78 | specify icons for the contact summary tabs. If no icon is specified |
| 79 | fa-puzzle-piece is used. |
| 80 | |
| 81 | - **Extract selectedChild tabheader functionality and enable for Manage Events |
| 82 | ([12747](https://github.com/civicrm/civicrm-core/pull/12747))** |
| 83 | |
| 84 | This takes the existing functionality of adding "selectedChild=" to a url for |
| 85 | a tabbed page and makes it work across all the pages tabs. The tab will have |
| 86 | an id of 'tab-x' where x is the thing to use after '='. |
| 87 | |
| 88 | This change adds the ability to link to a specific tab for an event (and |
| 89 | generally cleans up the code related to linking to tabs). |
| 90 | |
| 91 | - **Fix search performance issues and reliability on some characters issues by |
| 92 | removing lower case double-conversion |
| 93 | ([12494](https://github.com/civicrm/civicrm-core/pull/12494), |
| 94 | [13035](https://github.com/civicrm/civicrm-core/pull/13035), |
| 95 | [13034](https://github.com/civicrm/civicrm-core/pull/13034), |
| 96 | [12993](https://github.com/civicrm/civicrm-core/pull/12993), |
| 97 | [12987](https://github.com/civicrm/civicrm-core/pull/12987), |
| 98 | [12988](https://github.com/civicrm/civicrm-core/pull/12988), |
| 99 | [12991](https://github.com/civicrm/civicrm-core/pull/12991), |
| 100 | [13053](https://github.com/civicrm/civicrm-core/pull/13053) and |
| 101 | [13055](https://github.com/civicrm/civicrm-core/pull/13055))** |
| 102 | |
| 103 | These changes make performance improvements to searching by moving from using |
| 104 | the php strtolower function and mysql LOWER function to mysql handling |
| 105 | comparing strings in a non case specific way. |
| 106 | |
| 107 | - **[dev/core#6](https://lab.civicrm.org/dev/core/issues/6) Add help text for |
| 108 | "is public" setting on form to edit custom field sets |
| 109 | ([13060](https://github.com/civicrm/civicrm-core/pull/13060))** |
| 110 | |
| 111 | This change improves user experience of the form to edit custom field sets by |
| 112 | adding help text to the field "Is this Custom Data Set public?". |
| 113 | |
| 114 | - **[dev/core#463](https://lab.civicrm.org/dev/core/issues/463) Add in support |
| 115 | for Extension Utils when generating DAO files for Extensions |
| 116 | ([12986](https://github.com/civicrm/civicrm-core/pull/12986))** |
| 117 | |
| 118 | When creating a new entity (e.g DiscountItem) via an extension the new entity |
| 119 | will need a DAO class. Our Civix code currently supports this - at least |
| 120 | somewhat - but will not wrap any translatable strings with ts rather than the |
| 121 | (correct for extensions) E::ts . Adding this to core will allow civix to |
| 122 | leverage it to better create extension DAO objects. |
| 123 | |
| 124 | - **Continue ongoing work to replace jcalendar with datepicker widget - event |
| 125 | search form search to datepicker and cleanup template |
| 126 | ([12978](https://github.com/civicrm/civicrm-core/pull/12978)) and participant |
| 127 | registration form |
| 128 | ([12979](https://github.com/civicrm/civicrm-core/pull/12979)) and manage |
| 129 | events fees page ([12977](https://github.com/civicrm/civicrm-core/pull/12977)) |
| 130 | and manage events registration page |
| 131 | ([12975](https://github.com/civicrm/civicrm-core/pull/12975)) and relationship |
| 132 | form ([12972](https://github.com/civicrm/civicrm-core/pull/12972)) and event |
| 133 | fees page ([12992](https://github.com/civicrm/civicrm-core/pull/12992)) and |
| 134 | Update subscription form |
| 135 | ([12868](https://github.com/civicrm/civicrm-core/pull/12868))*** |
| 136 | |
| 137 | These changes move date picking fields from using jcalendar to use the |
| 138 | datepicker widget in the following places: Event Search form, Participant |
| 139 | Registration Form, Manage Event Fees Page, Manage Events Registration page, |
| 140 | Relationships form, Event Fees page and the Update Subscription form. |
| 141 | |
| 142 | - **[dev/core#472](https://lab.civicrm.org/dev/core/issues/472) Allow for |
| 143 | CiviCRM APIv3 Explorer to find API Examples in extensions in the format of |
| 144 | api/v3/examples/Entity just in the same format as core |
| 145 | ([13006](https://github.com/civicrm/civicrm-core/pull/13006))** |
| 146 | |
| 147 | This change makes it so that APIv3 Explorer displays examples found in |
| 148 | extensions. |
| 149 | |
| 150 | - **Translate description in DAO files |
| 151 | ([13005](https://github.com/civicrm/civicrm-core/pull/13005))** |
| 152 | |
| 153 | This change makes it so that the Description field in the DAO is translated so |
| 154 | that if the getfields api returns the translated string. |
| 155 | |
| 156 | - **Replace translation and calendar image icons |
| 157 | ([13003](https://github.com/civicrm/civicrm-core/pull/13003))** |
| 158 | |
| 159 | This change makes it so that translation and calendar symbols use font |
| 160 | icons instead of images. |
| 161 | |
| 162 | - **[dev/core#457](https://lab.civicrm.org/dev/core/issues/457) Add new hook |
| 163 | exportIds ([12957](https://github.com/civicrm/civicrm-core/pull/12957))** |
| 164 | |
| 165 | This change extends CRM_Utils_Hook::export($exportTempTable, $headerRows, |
| 166 | $sqlColumns, $exportMode, $componentTable, $ids); so that it can return id |
| 167 | columns. |
| 168 | |
| 169 | - **CRM_Core_Resources - Allow container to swap the implementation |
| 170 | ([12959](https://github.com/civicrm/civicrm-core/pull/12959))** |
| 171 | |
| 172 | This change makes it so that CRM_Core_Resources can be modified in an |
| 173 | extension using the hook hook_civicrm_container. |
| 174 | |
| 175 | - **Do not treat an empty array as not set in caches. |
| 176 | ([12784](https://github.com/civicrm/civicrm-core/pull/12784))** |
| 177 | |
| 178 | This change improves performance by respecting empty arrays as a cache hit. |
| 179 | |
| 180 | - **Fix typo in hook that enables links to be added to a block |
| 181 | ([12913](https://github.com/civicrm/civicrm-core/pull/12913))** |
| 182 | |
| 183 | This change fixes the $op sent to hook_civicrm_links($op, $objectName, |
| 184 | $objectId, &$links, &$mask, &$values) from CRM_Core_Block to accept |
| 185 | create.new.shortcuts in addition to create.new.shorcuts (the misspelled op |
| 186 | name before this change). |
| 187 | |
| 188 | - **Send an 500 http response code when an exception is encountered. |
| 189 | ([11821](https://github.com/civicrm/civicrm-core/pull/11821) and |
| 190 | [12902](https://github.com/civicrm/civicrm-core/pull/12902))** |
| 191 | |
| 192 | This change makes it so that instead of always exiting with a 200 code, When |
| 193 | CRM_Utils_System is called with a status > 0, CiviCRM exits with a 500 code. |
| 194 | |
| 195 | - **Register "short" and "long" cache services |
| 196 | ([12873](https://github.com/civicrm/civicrm-core/pull/12873))** |
| 197 | |
| 198 | This change makes it so that extension developers can use Civi::cache('short') |
| 199 | or Civi::cache('default') for a short-lived/latency-optimized PSR-16 cache or |
| 200 | Civi::cache('long') for a long-lived/durability-optimized PSR-16 cache before |
| 201 | this change only Civi::cache('default') was available. |
| 202 | |
| 203 | - **Remove crm.admin.js |
| 204 | ([12884](https://github.com/civicrm/civicrm-core/pull/12884))** |
| 205 | |
| 206 | This change is both a performance improvement (removes an unnecessary |
| 207 | javascript file) and a ui improvement because it improved the icon picker ui. |
| 208 | |
| 209 | - **Style improvement of radio form elements |
| 210 | ([12736](https://github.com/civicrm/civicrm-core/pull/12736))** |
| 211 | |
| 212 | This change adds more space between radio form elements and their labels. |
| 213 | |
| 214 | - **Use description from schema if available when using entityForm |
| 215 | ([12971](https://github.com/civicrm/civicrm-core/pull/12971))** |
| 216 | |
| 217 | This change adds the ability to show the description from the entity schema |
| 218 | instead of hardcoding it in the class when using entityForm. |
| 219 | |
| 220 | - **On reports make current employer available as a field for display |
| 221 | ([12904](https://github.com/civicrm/civicrm-core/pull/12904))** |
| 222 | |
| 223 | This change makes it so that the field "Current Employer" is available as a |
| 224 | column on reports. |
| 225 | |
| 226 | - **[dev/core#487](https://lab.civicrm.org/dev/core/issues/487) Replace ancient |
| 227 | menubar plugin with something responsive |
| 228 | ([13804](https://github.com/civicrm/civicrm-core/pull/13084)) (preliminary |
| 229 | work)** |
| 230 | |
| 231 | This makes some behind-the-scenes changes in order to support a new |
| 232 | [SmartMenus-based menu extension](https://github.com/aydun/uk.squiffle.kam) |
| 233 | that is anticipated to replace the current menu in core. |
| 234 | |
| 235 | ### CiviCase |
| 236 | |
| 237 | - **Added relationship active filter in CiviCRM Case reports. |
| 238 | ([12711](https://github.com/civicrm/civicrm-core/pull/12711))** |
| 239 | |
| 240 | This change adds a filter for is relationship active to CiviCRM Case reports. |
| 241 | |
| 242 | ### CiviContribute |
| 243 | |
| 244 | - **Add validate api action for ContributionPage.submit |
| 245 | ([12829](https://github.com/civicrm/civicrm-core/pull/12829))** |
| 246 | |
| 247 | This change ensures that api calls using the action |
| 248 | ContributionPage.submit check that the parameters are valid for the form. |
| 249 | |
| 250 | - **[dev/financial#33](https://lab.civicrm.org/dev/financial/issues/33) Proposal - |
| 251 | Add in hook alterPostIpn or similar |
| 252 | ([12928](https://github.com/civicrm/civicrm-core/pull/12928))** |
| 253 | |
| 254 | This change adds a hook alterIPNData which allows extension authors the ability |
| 255 | to do custom processing on IPNs such as sending google analytics information |
| 256 | based on the IPN data. |
| 257 | |
| 258 | - **Show contact name on recurring contribution view and improve consistency |
| 259 | with Contribution/Membership view |
| 260 | ([12819](https://github.com/civicrm/civicrm-core/pull/12819))** |
| 261 | |
| 262 | This change improves the ui by including the Contact name in the view of a |
| 263 | recurring payment. |
| 264 | |
| 265 | - **Show recurring contribution links based on payment processor capabilities |
| 266 | ([12821](https://github.com/civicrm/civicrm-core/pull/12821))** |
| 267 | |
| 268 | This change makes it so that the edit link for recurring contributions is |
| 269 | hidden/shown based on the payment processor capabilities. |
| 270 | |
| 271 | ### CiviEvent |
| 272 | |
| 273 | - **Mark event start date as required and refactoring |
| 274 | ([13049](https://github.com/civicrm/civicrm-core/pull/13049))** |
| 275 | |
| 276 | This change makes it so the event start date field has a red * next to it to |
| 277 | indicate that it is a required field. |
| 278 | |
| 279 | ### CiviMail |
| 280 | |
| 281 | - **[dev/core#481](https://lab.civicrm.org/dev/core/issues/481) New |
| 282 | Organization: There is no possible to uncheck in the field "Bulk Mailings?" |
| 283 | ([13019](https://github.com/civicrm/civicrm-core/pull/13019))** |
| 284 | |
| 285 | This change improves the UI when creating a new organization by making the |
| 286 | "Bulk Mailings" field a checkbox (that can be checked and unchecked) instead |
| 287 | of a radio that once checked cannot be unchecked. |
| 288 | |
| 289 | - **Adding [CiviMail Draft] on test mailing (for mosaico) |
| 290 | ([12758](https://github.com/civicrm/civicrm-core/pull/12758))** |
| 291 | |
| 292 | This change adds the text [CiviMail Draft] to the subject of any email that is |
| 293 | sent using the send test functionality. |
| 294 | |
| 295 | - **[dev/core#456](https://lab.civicrm.org/dev/core/issues/456) Improve UX of |
| 296 | scheduling mass SMS |
| 297 | ([13001](https://github.com/civicrm/civicrm-core/pull/13001))** |
| 298 | |
| 299 | This change improves the UI of the schedule SMS mailings form by making it so |
| 300 | one has to choose "Send Immediately" OR "Schedule SMS". Before this change one |
| 301 | could check the box to "Send Immediately" AND a date to Schedule SMS. |
| 302 | |
| 303 | ### Drupal Integration |
| 304 | |
| 305 | - **[CRM-17667](https://issues.civicrm.org/jira/browse/CRM-17667) Drush: Mail |
| 306 | queue processing does not work |
| 307 | ([354](https://github.com/civicrm/civicrm-drupal/pull/354))** |
| 308 | |
| 309 | This change makes it so one can use the drush command `drush |
| 310 | civicrm-process-mail-queue` to execute the scheduled mailing job. |
| 311 | |
| 312 | - **Add a drush command to rebuild SQL triggers |
| 313 | ([545](https://github.com/civicrm/civicrm-drupal/pull/545))** |
| 314 | |
| 315 | This change makes it so that the drush command `drush |
| 316 | civicrm-sql-rebuild-triggers` rebuilds triggers and can dump the SQL commands |
| 317 | into a file. |
| 318 | |
| 319 | ## <a name="bugs"></a>Bugs resolved |
| 320 | |
| 321 | ### Core CiviCRM |
| 322 | |
| 323 | - **[dev/core#477](https://lab.civicrm.org/dev/core/issues/477) Print Summary is |
| 324 | missing some contact info |
| 325 | ([13030](https://github.com/civicrm/civicrm-core/pull/13030))** |
| 326 | |
| 327 | This change fixes a bug where when using the action "Print Summary" for a |
| 328 | contact record the employer and job title were not being printed in the |
| 329 | summary so that the employer and job title fields are printed. |
| 330 | |
| 331 | - **[dev/core#119](https://lab.civicrm.org/dev/core/issues/119) Notice error |
| 332 | ([13063](https://github.com/civicrm/civicrm-core/pull/13063))** |
| 333 | |
| 334 | Fixes a bug where when going to view a location of an event (a url like: |
| 335 | /civicrm/contact/map/event?eid=3&reset=1) would result in an undefined |
| 336 | variable notice so that no notice is thrown. |
| 337 | |
| 338 | - **PHP 7.3 support (Fix misplaced hyphens in regex) |
| 339 | ([13064](https://github.com/civicrm/civicrm-core/pull/13064))** |
| 340 | |
| 341 | This change fixes a bug for users with a PHP 7.3 where importing contributions |
| 342 | with custom field values would result in an error message "preg_match(): |
| 343 | Compilation failed: invalid range in character class at offset 7" when |
| 344 | creating a new contribution with custom field values |
| 345 | |
| 346 | - **[dev/core#287](https://lab.civicrm.org/dev/core/issues/287) Child groups |
| 347 | with all parents disabled shows in group list |
| 348 | ([12797](https://github.com/civicrm/civicrm-core/pull/12797) and |
| 349 | [13061](https://github.com/civicrm/civicrm-core/pull/13061))** |
| 350 | |
| 351 | This change ensures that when a parent group is disabled, so are its children |
| 352 | groups. |
| 353 | |
| 354 | - **Fix custom Home URL parsing |
| 355 | ([13031](https://github.com/civicrm/civicrm-core/pull/13031))** |
| 356 | |
| 357 | This change fixes a bug where Custom Home URLs without a query string would |
| 358 | result in an E_NOTICE and fragments would be removed from the URL so that no |
| 359 | E_NOTICE is thrown and fragments are not removed from the custom url. |
| 360 | |
| 361 | - **Fix Activity api to cope with renamed record type labels (e.g renaming |
| 362 | 'Target' to 'Directed At') |
| 363 | ([13008](https://github.com/civicrm/civicrm-core/pull/13008))** |
| 364 | |
| 365 | This change makes it so the Activity API filters activity contacts options |
| 366 | based on the option name instead of the option label. |
| 367 | |
| 368 | - **[dev/core#474](https://lab.civicrm.org/dev/core/issues/474) Missing log |
| 369 | table warning on status page even if logging is disabled. |
| 370 | ([13010](https://github.com/civicrm/civicrm-core/pull/13010))** |
| 371 | |
| 372 | This change makes it so that the "Missing log table" warning only shows up if |
| 373 | logging is enabled. |
| 374 | |
| 375 | - **[dev/translation#15](https://lab.civicrm.org/dev/translation/issues/15) |
| 376 | Backend credit card contribution are left as Pending if contribution statuses |
| 377 | are localized ([12999](https://github.com/civicrm/civicrm-core/pull/12999))** |
| 378 | |
| 379 | This fixes a bug where backend credit card contributions were being set as |
| 380 | "Pending" if contribution statuses were localized so that if contributions |
| 381 | statuses are localized backend credit card contributions are set |
| 382 | appropriately. |
| 383 | |
| 384 | - **api bug - Fix mishandling of mixed case strings in some api requests on |
| 385 | custom values([12930](https://github.com/civicrm/civicrm-core/pull/12930))** |
| 386 | |
| 387 | This change makes it so that the custom data api searches for custom data with |
| 388 | uppercase letters correctly. |
| 389 | |
| 390 | - **Add ts to untranslated string |
| 391 | ([12989](https://github.com/civicrm/civicrm-core/pull/12989))** |
| 392 | |
| 393 | This change ensures the text "Error" is translated on error messages thrown |
| 394 | when processing an image on a contact. |
| 395 | |
| 396 | - **[dev/core#459](https://lab.civicrm.org/dev/core/issues/459) Fix "crmURL" |
| 397 | parameters in various templates |
| 398 | ([12968](https://github.com/civicrm/civicrm-core/pull/12968))** |
| 399 | |
| 400 | This fixes a bug where some URLs were being generated with double & (e.g. |
| 401 | `http://civicrm.local/wp-admin/admin.php?page=CiviCRM&q=civicrm/contact/view/delete&&reset=1&delete=1&cid=202`). |
| 402 | |
| 403 | - **[dev/core#412](https://lab.civicrm.org/dev/core/issues/412) Avoid truncated |
| 404 | UTF-8 strings when using substr() |
| 405 | ([12935](https://github.com/civicrm/civicrm-core/pull/12935))** |
| 406 | |
| 407 | This change fixes a bug where export forms with custom group names with a |
| 408 | UTF-8 character at the 10th character were not allowing users to pick fields |
| 409 | to export properly so that one can pick multiple fields for export on the |
| 410 | export form with custom group names with a UTF-8 character at the 10th |
| 411 | character. |
| 412 | |
| 413 | - **[dev/core#452](https://lab.civicrm.org/dev/core/issues/452) Error when |
| 414 | exporting CSV batch (PHP 7.1) |
| 415 | ([12946](https://github.com/civicrm/civicrm-core/pull/12946))** |
| 416 | |
| 417 | This change fixes a bug for users using PHP 7.1 where exporting csv batches |
| 418 | would crash so that users using PHP 7.1 can export csv batches. |
| 419 | |
| 420 | - **Status page: hush menu should be on top of other headers |
| 421 | ([12936](https://github.com/civicrm/civicrm-core/pull/12936))** |
| 422 | |
| 423 | This change fixes a bug where on the CiviCRM Status Page, when one went to |
| 424 | hide a status message some of the options in the to hide dropdown menu were |
| 425 | getting hidden by the header for the next status message so that the dropdown |
| 426 | menu appears over the status headers. |
| 427 | |
| 428 | - **Correct inconsistent fileID reference |
| 429 | ([12931](https://github.com/civicrm/civicrm-core/pull/12931))** |
| 430 | |
| 431 | This change fixes a bug where updating a custom field of type file on a |
| 432 | contact thru the api would result in a new file being created instead |
| 433 | of updating the custom field. |
| 434 | |
| 435 | - **Contact layout editor support - Skip html encoding rich-text fields |
| 436 | ([12841](https://github.com/civicrm/civicrm-core/pull/12841))** |
| 437 | |
| 438 | This change fixes a bug where rich text custom fields saved thru the api were |
| 439 | being escaped so that the html is preserved (not escaped). |
| 440 | |
| 441 | - **[dev/core#418](https://lab.civicrm.org/dev/core/issues/418) ensure all valid |
| 442 | relationship types are available |
| 443 | ([12891](https://github.com/civicrm/civicrm-core/pull/12891))** |
| 444 | |
| 445 | This change ensures that the select when adding a relationship to a group of |
| 446 | search results shows all Relationships types including any relationship types |
| 447 | that are any contact type to any contact type. |
| 448 | |
| 449 | - **[dev/core#389](https://lab.civicrm.org/dev/core/issues/389) When using |
| 450 | custom fields for smart group criteria, relative dates create static dates |
| 451 | instead ([12824](https://github.com/civicrm/civicrm-core/pull/12824))** |
| 452 | |
| 453 | This change makes it so that when saving smart groups with custom fields in |
| 454 | which a relative date (example: last 2 weeks) is specified, the last 2 weeks |
| 455 | means 2 weeks from the current date and is not hardcoded to be the last 2 |
| 456 | weeks from when the smart group was created. |
| 457 | |
| 458 | - **[dev/core#425](https://lab.civicrm.org/dev/core/issues/425) "Force Secure |
| 459 | URLs" setting sometimes does not behave as expected, deprecate it ... Slowly :) |
| 460 | ([12908](https://github.com/civicrm/civicrm-core/pull/12908))** |
| 461 | |
| 462 | This change moves forward work to get the "Force Secure URLs" setting to work |
| 463 | as expected by logging a message if CiviCRM thinks SSL is not enabled. |
| 464 | |
| 465 | - **[dev/core#423](https://lab.civicrm.org/dev/core/issues/423) Upgrading gives |
| 466 | error "Incorrect datetime value: '0000-00-00 00:00:00'" in MySQL 5.7 |
| 467 | ([12898](https://github.com/civicrm/civicrm-core/pull/12898))** |
| 468 | |
| 469 | This change fixes a bug when upgrading from CiviCRM 4.7.12 to 5.3.2 where |
| 470 | MySQL was throwing an "Incorrect datetime value: '0000-00-00 00:00:00' for |
| 471 | column 'trxn_date'" so that upgrades can make this jump with no error. |
| 472 | |
| 473 | - **Added missing field name in custom-field deletion dialog |
| 474 | ([12869](https://github.com/civicrm/civicrm-core/pull/12869))** |
| 475 | |
| 476 | This change ensures that when deleting a custom field, the name of the custom |
| 477 | field shows up in the dialog asking you to confirm that you want to delete. |
| 478 | |
| 479 | - **[dev/core#411](https://lab.civicrm.org/dev/core/issues/411) Default currency |
| 480 | shown on forms if payment is made with different currency |
| 481 | ([12875](https://github.com/civicrm/civicrm-core/pull/12875))** |
| 482 | |
| 483 | This change fixes a bug where the default currency was being displayed on the |
| 484 | View Participant page and Contribution page regardless of which currency was |
| 485 | used so that the currency used to make the payment is displayed always. |
| 486 | |
| 487 | - **Make datatables in Activities Relationship tab adjust to screen size |
| 488 | ([12893](https://github.com/civicrm/civicrm-core/pull/12893))** |
| 489 | |
| 490 | This change ensures that the datatables on the Activities Relationship tab |
| 491 | adjusts to screen size when the screen size is changed. |
| 492 | |
| 493 | - **Disable ONLY_FULL_GROUP_BY sql mode when doing add2group function on the |
| 494 | Activity Detail report to avoid fatal error |
| 495 | ([12966](https://github.com/civicrm/civicrm-core/pull/12966))** |
| 496 | |
| 497 | This fixes a bug where the add to group action on the Activity Details |
| 498 | report resulted in a fatal error for civicrm instances that had |
| 499 | ONLY_FULL_GROUP_BY enabled. |
| 500 | |
| 501 | - **Problem with Custom Field in Contact Reports |
| 502 | ([13044](https://github.com/civicrm/civicrm-core/pull/13044))** |
| 503 | |
| 504 | This change makes it so that custom fields of the data type string are |
| 505 | available in the Summary Fields Filters tab for the Constituent Summary |
| 506 | report. |
| 507 | |
| 508 | - **Fix typo in smarty help |
| 509 | ([13075](https://github.com/civicrm/civicrm-core/pull/13075))** |
| 510 | |
| 511 | - **Remove redundant jstree script from search form |
| 512 | ([13153](https://github.com/civicrm/civicrm-core/pull/13153))** |
| 513 | |
| 514 | ### CiviCampaign |
| 515 | |
| 516 | - **[dev/core#422](https://lab.civicrm.org/dev/core/issues/422) Can't use |
| 517 | advanced search to find survey results by result code |
| 518 | ([12897](https://github.com/civicrm/civicrm-core/pull/12897))** |
| 519 | |
| 520 | This fixes a bug where searching on the "activity result" field (available |
| 521 | when using CiviCampaign) would result in no results, so that one can search on |
| 522 | the "activity result" field. |
| 523 | |
| 524 | ### CiviCase |
| 525 | |
| 526 | - **Activities can be linked to multiple cases. Handle caseIds being an array |
| 527 | ([13021](https://github.com/civicrm/civicrm-core/pull/13021))** |
| 528 | |
| 529 | This change makes it so that an Activity can be linked to more than one case. |
| 530 | |
| 531 | ### CiviContribute |
| 532 | |
| 533 | - **[CRM-21311](https://issues.civicrm.org/jira/browse/CRM-21311) Fix |
| 534 | CIVICRM-668 Credit card type is unset on submission causing credit card |
| 535 | payment to fail with CVV validation error message |
| 536 | ([12615](https://github.com/civicrm/civicrm-core/pull/12615))** |
| 537 | |
| 538 | This change fixes a bug where if one changes the default credit card name for |
| 539 | a Credit card, for example "Amex" to "American Express" then one cannot create |
| 540 | a contribution with that credit card type so that one can alter the credit |
| 541 | card names without breaking contributioning with them. |
| 542 | |
| 543 | - **[dev/financial#23](https://lab.civicrm.org/dev/financial/issues/23) |
| 544 | Submitting a contribution page with 0 amount triggers PHP notices |
| 545 | ([12926](https://github.com/civicrm/civicrm-core/pull/12926))** |
| 546 | |
| 547 | This change removes an e-notice when submitting a contribution page with a 0 |
| 548 | transaction amount. |
| 549 | |
| 550 | - **[dev/core#491](https://lab.civicrm.org/dev/core/issues/491) Report results |
| 551 | don't show inactive campaigns |
| 552 | ([13036](https://github.com/civicrm/civicrm-core/pull/13036))** |
| 553 | |
| 554 | This change makes it so that inactive campaigns show up on the Contribution |
| 555 | Details Report. |
| 556 | |
| 557 | - **[dev/core#479](https://lab.civicrm.org/dev/core/issues/479) Contribution |
| 558 | Summary report throw DB error with custom data and soft credit fields |
| 559 | ([13017](https://github.com/civicrm/civicrm-core/pull/13017))** |
| 560 | |
| 561 | This change fixes a bug in the Contribution Summary Report where using a soft |
| 562 | credit amount stats column and a filter on any custom field would result in a |
| 563 | DB error so that the report runs as expected. |
| 564 | |
| 565 | - **[dev/core#526](https://lab.civicrm.org/dev/core/issues/526) Feedback cannot |
| 566 | be translated when saving Contribution Page forms in languages other than |
| 567 | English ([13108](https://github.com/civicrm/civicrm-core/pull/13108))** |
| 568 | |
| 569 | - **[dev/core#534](https://lab.civicrm.org/dev/core/issues/534) Print Invoice |
| 570 | and Pay Now buttons do not appear on Contact Dashboard |
| 571 | ([13131](https://github.com/civicrm/civicrm-core/pull/13131) and |
| 572 | [13137](https://github.com/civicrm/civicrm-core/pull/13137))** |
| 573 | |
| 574 | - **Fix check for financial acls to look for setting rather than sub-key of |
| 575 | non-standard civicontribute_settings' setting |
| 576 | ([13150](https://github.com/civicrm/civicrm-core/pull/13150))** |
| 577 | |
| 578 | - **[dev/core#552](https://lab.civicrm.org/dev/core/issues/552) Contribution net |
| 579 | amount not re-calculated when fee amount is changed |
| 580 | ([13177](https://github.com/civicrm/civicrm-core/pull/13177) and [13178](https://github.com/civicrm/civicrm-core/pull/13178))** |
| 581 | |
| 582 | ### CiviEvent |
| 583 | |
| 584 | - **Prevent hard error when a string is too long for a field. |
| 585 | ([13014](https://github.com/civicrm/civicrm-core/pull/13014))** |
| 586 | |
| 587 | This change fixes a bug where if an event registration's source field was too |
| 588 | long for the database, the event registration would fail, so that the source |
| 589 | field is truncated so that it can be saved to the database. |
| 590 | |
| 591 | - **Fix caching issues with Event permissions |
| 592 | ([12769](https://github.com/civicrm/civicrm-core/pull/12769))** |
| 593 | |
| 594 | This change fixes a bug when checking permissions for events where the |
| 595 | permissions for the first event were being cached and all subsequent events |
| 596 | were returned as having no permission regardless of what their permissions |
| 597 | were. |
| 598 | |
| 599 | - **Fix payment hangs when registering a user for a paid event without recording |
| 600 | payment ([12914](https://github.com/civicrm/civicrm-core/pull/12914))** |
| 601 | |
| 602 | This fixes a bug where registering a user on the back end for a paid event |
| 603 | without recording a payment would result in the payment hanging so that it |
| 604 | does not hang. |
| 605 | |
| 606 | - **Replace deprecated event function |
| 607 | ([13093](https://github.com/civicrm/civicrm-core/pull/13093))** |
| 608 | |
| 609 | - **Fix links for tabs on manage event |
| 610 | ([13172](https://github.com/civicrm/civicrm-core/pull/13172))** |
| 611 | |
| 612 | ### CiviMail |
| 613 | |
| 614 | - **[dev/core#461](https://lab.civicrm.org/dev/core/issues/461) Duplicate |
| 615 | Message template is generated when it is saved through schedule reminder form |
| 616 | ([12982](https://github.com/civicrm/civicrm-core/pull/12982))** |
| 617 | |
| 618 | This change fixes a bug where saving a message thru the schedule reminder form |
| 619 | would result in duplicate message templates being created so that the message |
| 620 | template is only saved once. |
| 621 | |
| 622 | - **[CRM-19751](https://issues.civicrm.org/jira/browse/CRM-19751) Once "multiple |
| 623 | bulk" setting, cannot search for opt out or on hold contacts |
| 624 | ([12883](https://github.com/civicrm/civicrm-core/pull/12883))** |
| 625 | |
| 626 | This begins work to fix a bug for CiviCRM Instances that have the CiviMail |
| 627 | setting "Enable multiple bulk email address for a contact" enabled where |
| 628 | searching for contacts using the criteria "Opt Out" or "On Hold" is filtering |
| 629 | incorrectly. |
| 630 | |
| 631 | - **[dev/core#448](https://lab.civicrm.org/dev/core/issues/448) When creating a |
| 632 | CiviCRM Mailing including a Smart Group, All contacts met by the criteria of |
| 633 | the smart group are added. There is no check performed to make sure that |
| 634 | contacts removed from the smart group aren't included |
| 635 | ([12945](https://github.com/civicrm/civicrm-core/pull/12945))** |
| 636 | |
| 637 | This change ensures that when creating a CiviCRM Mailing including a Smart |
| 638 | Group users who have previously un-subscribed from that Smart Group are not |
| 639 | included. |
| 640 | |
| 641 | - **[dev/core#443](https://lab.civicrm.org/dev/core/issues/443) Fix Non-static |
| 642 | method calls at CRM_Utils_Mail_Incoming class |
| 643 | ([12934](https://github.com/civicrm/civicrm-core/pull/12934))** |
| 644 | |
| 645 | This change fixes a strict warning thrown by CRM_Utils_Mail_Incoming for users |
| 646 | with a PHP 7.1 set up. |
| 647 | |
| 648 | - **[dev/mail#26](https://lab.civicrm.org/dev/mail/issues/26) getRecipients() |
| 649 | appears to use a WHERE clause as an ORDER BY clause |
| 650 | ([12765](https://github.com/civicrm/civicrm-core/pull/12765))** |
| 651 | |
| 652 | This change fixes a bug where the order_by for the list of recipients for a |
| 653 | mailing was being ignored so that the order by is respected. |
| 654 | |
| 655 | - **[dev/core#357](https://lab.civicrm.org/dev/core/issues/357) Email signature |
| 656 | stopped working since ??? 4.6 ?? |
| 657 | ([12828](https://github.com/civicrm/civicrm-core/pull/12828))** |
| 658 | |
| 659 | This change fixes the Email signature functionality when sending an email. |
| 660 | |
| 661 | - **[dev/core#394](https://lab.civicrm.org/dev/core/issues/394) Wildcards are |
| 662 | ignored in some smart group criteria, when the smart group is directly |
| 663 | generated for a mailing |
| 664 | ([12910](https://github.com/civicrm/civicrm-core/pull/12910))** |
| 665 | |
| 666 | This change ensures that wildcards (like %a%) are respected in smart group |
| 667 | criteria when a smart group is being generated for a mailing. |
| 668 | |
| 669 | - **[dev/core#384](https://lab.civicrm.org/dev/core/issues/384) Mobile phone |
| 670 | number selection issues with SMS |
| 671 | ([12890](https://github.com/civicrm/civicrm-core/pull/12890))** |
| 672 | |
| 673 | This change makes it so one can send SMS using CiviSMS to non primary phones |
| 674 | of type "mobile". |
| 675 | |
| 676 | ### CiviMember |
| 677 | |
| 678 | - **[dev/core#166](https://lab.civicrm.org/dev/core/issues/166) |
| 679 | updateAllMemberships in memberschip BAO crasches out of memory on large |
| 680 | numbers of members |
| 681 | ([12306](https://github.com/civicrm/civicrm-core/pull/12306), |
| 682 | [12927](https://github.com/civicrm/civicrm-core/pull/12927) and |
| 683 | [12918](https://github.com/civicrm/civicrm-core/pull/12918))** |
| 684 | |
| 685 | These changes fix a bug where for databases with large numbers of memberships |
| 686 | (the user who reported this problem had 1.3 million memberships) the scheduled task to |
| 687 | update membership statuses was crashing with an out of memory error so that |
| 688 | databases with large numbers of memberships can run the scheduled task to |
| 689 | update membership statuses. |
| 690 | |
| 691 | - **Fix period_type, duration_unit, duration_frequency to be required on |
| 692 | membership type form |
| 693 | ([13227](https://github.com/civicrm/civicrm-core/pull/13227))** |
| 694 | |
| 695 | These fields had become un-required as a regression in 5.5. |
| 696 | |
| 697 | ### Drupal Integration |
| 698 | |
| 699 | - **Intelligently adjust menubar for D7 toolbar toggle |
| 700 | ([12937](https://github.com/civicrm/civicrm-core/pull/12937))** |
| 701 | |
| 702 | This change improves the ui by making the Civi menubar set to 100% minus the |
| 703 | width of the toolbar toggle, but only if the toolbar toggle is actually |
| 704 | present on the screen. Before this change the menu was set to a width of 97% |
| 705 | which was problematic because 97% is a guestimate and some Drupal sites do not |
| 706 | use the toolbar module. |
| 707 | |
| 708 | - **Added a path to the drupal8 path candidates to find civicrm.config.php |
| 709 | ([12903](https://github.com/civicrm/civicrm-core/pull/12903))** |
| 710 | |
| 711 | This change fixes a bug when running the civibuild command `Civibuild |
| 712 | create drup8 --type=drupal8-clean` would result in a fatal error |
| 713 | "Failed to locate template for civicrm.config.php" so that Civibuild generates |
| 714 | the installation files and goes to the next step. |
| 715 | |
| 716 | - **[CRM-20298](https://issues.civicrm.org/jira/browse/CRM-20298) Drupal Views: |
| 717 | Custom fields of type Money should use the same filter operators as Integer |
| 718 | fields ([435](https://github.com/civicrm/civicrm-drupal/pull/435))** |
| 719 | |
| 720 | This change makes it so that in Drupal views, civicrm custom fields of type |
| 721 | money use the filter operators for Integers (instead of the filter operators |
| 722 | for text). |
| 723 | |
| 724 | - **civicrm_handler_field_link_pcp: avoid PHP notice |
| 725 | ([547](https://github.com/civicrm/civicrm-drupal/pull/547))** |
| 726 | |
| 727 | This change fixes a php notice thrown by drupal views that use fields that use |
| 728 | the handler civicrm_handler_field_link_pcp. |
| 729 | |
| 730 | ### Wordpress Integration |
| 731 | |
| 732 | - **[dev/wordpress#12](https://lab.civicrm.org/dev/wordpress/issues/12) A |
| 733 | civicrm shortcode for a contribution page on the homepage results in a "Too |
| 734 | many redirects" error instead of the thank you page |
| 735 | ([13043](https://github.com/civicrm/civicrm-core/pull/13043))** |
| 736 | |
| 737 | This change fixes a bug where putting a wordpress shortcode on the homepage |
| 738 | would result in a too many redirect error instead of the thank you page. |
| 739 | |
| 740 | - **Allow user-defined shortcode components to be rendered |
| 741 | ([134](https://github.com/civicrm/civicrm-wordpress/pull/134))** |
| 742 | |
| 743 | This change makes it so that Wordpress plugins and CiviCRM Extensions which |
| 744 | define custom components for the [civicrm] shortcode, shortcodes work. |
| 745 | |
| 746 | - **Do not start session when running under WP-CLI |
| 747 | ([135](https://github.com/civicrm/civicrm-wordpress/pull/135))** |
| 748 | |
| 749 | This fixes a bug where when running WP-CLI when the Apache user has |
| 750 | permissions that the shell user does not would result in a PHP Warning. |
| 751 | |
| 752 | - **Fix WP-CLI class for PHP 7.2 |
| 753 | ([133](https://github.com/civicrm/civicrm-wordpress/pull/133))** |
| 754 | |
| 755 | This change makes it so one can use WP-CLI in PHP 7.2. |
| 756 | |
| 757 | - **[dev/core#460](https://lab.civicrm.org/dev/core/issues/460) Fix malformed |
| 758 | redirect URLs ([12969](https://github.com/civicrm/civicrm-core/pull/12969))** |
| 759 | |
| 760 | This change fixes a bug where malformed redirect URLs were being formed for |
| 761 | Wordpress users on event registration and confirmation pages. |
| 762 | |
| 763 | - **[dev/wordpress#12](https://lab.civicrm.org/dev/wordpress/issues/12) A |
| 764 | civicrm shortcode for a contribution page on the homepage results in a "Too |
| 765 | many redirects" error instead of the thank you page |
| 766 | ([13099](https://github.com/civicrm/civicrm-core/pull/13099))** |
| 767 | |
| 768 | This resolves a problem retrieving URL parameters when the URL is URL-encoded, |
| 769 | as frequently happens in WordPress. |
| 770 | |
| 771 | ## <a name="misc"></a>Miscellany |
| 772 | |
| 773 | - **Slay dragons ([12495](https://github.com/civicrm/civicrm-core/pull/12495))** |
| 774 | |
| 775 | - **Support CiviTutorial - Fix isAjaxMode to also recognize angular ajax |
| 776 | ([12921](https://github.com/civicrm/civicrm-core/pull/12921))** |
| 777 | |
| 778 | - **(NFC) Fix Namespace issue in Api3DocTrait when calling smarty |
| 779 | ([13007](https://github.com/civicrm/civicrm-core/pull/13007))** |
| 780 | |
| 781 | - **Export code cleanup and testing enhancements - this is an ongoing cleanup |
| 782 | with an end goal of fixing some known bugs |
| 783 | ([12586](https://github.com/civicrm/civicrm-core/pull/12586)) and |
| 784 | ([12864](https://github.com/civicrm/civicrm-core/pull/12864))** |
| 785 | |
| 786 | - **Coding practices fix - Improve type checking in getContactPhone and use |
| 787 | CRM_Utils_Request::r… |
| 788 | ([12687](https://github.com/civicrm/civicrm-core/pull/12687))** |
| 789 | |
| 790 | - **Code cleanup on activity api and activity dashboard query |
| 791 | ([12994](https://github.com/civicrm/civicrm-core/pull/12994)) and |
| 792 | ([12949](https://github.com/civicrm/civicrm-core/pull/12949))** |
| 793 | |
| 794 | - **Code cleanup in api_v3_CaseTest |
| 795 | ([12950](https://github.com/civicrm/civicrm-core/pull/12950))** |
| 796 | |
| 797 | - **Code cleanup Membership form - submit status message |
| 798 | ([12693](https://github.com/civicrm/civicrm-core/pull/12693)) and tidy up |
| 799 | receipt code ([12695](https://github.com/civicrm/civicrm-core/pull/12695))** |
| 800 | |
| 801 | - **Code cleanup and testing on query to generate annual totals |
| 802 | ([12810](https://github.com/civicrm/civicrm-core/pull/12810))** |
| 803 | |
| 804 | - **Code cleanup - commenting on dupesInGroup() |
| 805 | ([12920](https://github.com/civicrm/civicrm-core/pull/12920))** |
| 806 | |
| 807 | - **Code cleanup - Fix spelling error ("sript" vs "script") |
| 808 | ([12912](https://github.com/civicrm/civicrm-core/pull/12912))** |
| 809 | |
| 810 | - **Code cleanup on recurring create action |
| 811 | ([12900](https://github.com/civicrm/civicrm-core/pull/12900)) and viewing |
| 812 | recurring rcords |
| 813 | ([12899](https://github.com/civicrm/civicrm-core/pull/12899))** |
| 814 | |
| 815 | - **Code cleanup (drupal) style fix for contact image handler |
| 816 | ([537](https://github.com/civicrm/civicrm-drupal/pull/537))** |
| 817 | |
| 818 | - **Code cleanup (wordpress) Give comments and docblocks some TLC |
| 819 | ([137](https://github.com/civicrm/civicrm-wordpress/pull/137))** |
| 820 | |
| 821 | - **Code cleanup Fix comment as hook name was changed |
| 822 | ([13009](https://github.com/civicrm/civicrm-core/pull/13009))** |
| 823 | |
| 824 | - **[CRM-21677](https://issues.civicrm.org/jira/browse/CRM-21677) Report code |
| 825 | style improvements (no user impact) |
| 826 | ([13028](https://github.com/civicrm/civicrm-core/pull/13028), |
| 827 | [12922](https://github.com/civicrm/civicrm-core/pull/12922), |
| 828 | [12916](https://github.com/civicrm/civicrm-core/pull/12916), and |
| 829 | [12892](https://github.com/civicrm/civicrm-core/pull/12892))** |
| 830 | |
| 831 | - **Duplicate upgrade step for 5.7.beta1 in 5.8.alpha1 to capture anyone … |
| 832 | ([13033](https://github.com/civicrm/civicrm-core/pull/13033))** |
| 833 | |
| 834 | - **Don't format date twice for RecurringEntity form |
| 835 | ([12974](https://github.com/civicrm/civicrm-core/pull/12974))** |
| 836 | |
| 837 | - **Add `ext/` folder to .gitignore |
| 838 | ([12905](https://github.com/civicrm/civicrm-core/pull/12905))** |
| 839 | |
| 840 | - **Bring structural consistency to the plugin |
| 841 | ([138](https://github.com/civicrm/civicrm-wordpress/pull/138))** |
| 842 | |
| 843 | ## <a name="credits"></a>Credits |
| 844 | |
| 845 | This release was developed by the following code authors: |
| 846 | |
| 847 | AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Alok Patel; Andrei |
| 848 | Mondoc; Australian Greens - Seamus Lee; calbasi.net - Joan Cervan Andreu; Caltha |
| 849 | - Tomasz Pietrzkowski; CEDC - Laryn Kragt Bakker; Chris Burgess; Christian Wach; |
| 850 | CiviCoop - Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - |
| 851 | Yashodha Chaku; Community IT Academy - William Mortada; CompuCorp - Davi |
| 852 | Alexandre; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Derek Lewis; |
| 853 | Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Ginkgo |
| 854 | Street Labs - Frank Gómez; Giovanni Dalmas; Jens Schuppe; JMA Consulting - |
| 855 | Monish Deb; John Kingsnorth; Joinery - Allen Shaw; Joost Fock; Ken West; |
| 856 | Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; |
| 857 | Nicol Wistreich; OSSeed Technologies - Madhavi Malgaonkar; Pradeep Nayak; |
| 858 | Progressive Technology Project - Jamie McClelland; Skvare - Mark Hanna; Third |
| 859 | Sector Design - Michael McAndrew; Wikimedia Foundation - Eileen McNaughton, |
| 860 | Elliott Eggleston |
| 861 | |
| 862 | Most authors also reviewed code for this release; in addition, the following |
| 863 | reviewers contributed their comments: |
| 864 | |
| 865 | Agileware - Agileware Team; British Humanist Association - Andrew West; Campaign |
| 866 | Against Arms Trade - Kirk Jackson; Circle Interactive - Dave Jenkins; CiviFirst |
| 867 | - John Kirk; Clairepickle; Clare Marsh; CompuCorp - Jamie Novick; Donald Lobo; |
| 868 | iXiam - Vangelis Pantazis; JMA Consulting - Joe Murray; JonScreat; Korlon - |
| 869 | Stuart Gaston; Lighthouse Design and Consulting - Brian Shaughnessy; MJCO - |
| 870 | Mikey O'Toole; Richard van Oosterhout; sleewok; Tadpole Collective - Kevin |
| 871 | Cristiano; Tech To The People - Xavier Dutoit |
| 872 | |
| 873 | ## <a name="feedback"></a>Feedback |
| 874 | |
| 875 | These release notes are edited by Alice Frumin and Andie Hunt. If you'd like |
| 876 | to provide feedback on them, please log in to https://chat.civicrm.org/civicrm |
| 877 | and contact `@agh1`. |