5 - **[Security advisories](#security)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
11 ## <a name="security"></a>Security advisories
13 - **[CIVI-SA-2017-01](https://civicrm.org/advisory/civi-sa-2017-01-pingback-url-not-encrypted)** Pingback URL not encrypted
14 - **[CIVI-SA-2017-02](https://civicrm.org/advisory/civi-sa-2017-02-privilage-escalation-via-leaked-key)** Privilage escalation via leaked key
15 - **[CIVI-SA-2017-03](https://civicrm.org/advisory/civi-sa-2017-03-cross-site-scritping-in-the-recently-viewed-block)** Cross-site scripting in "Recently Viewed" block
16 - **[CIVI-SA-2017-04](https://civicrm.org/advisory/civi-sa-2017-04-incorrect-escaping-for-on-behalf-of-block)** Incorrect escaping for "On Behalf Of" block
17 - **[CIVI-SA-2017-05](https://civicrm.org/advisory/civi-sa-2017-05-incorrect-escaping-for-search-results-column)** Incorrect escaping for "Search Results" column
18 - **[CIVI-SA-2017-06](https://civicrm.org/advisory/civi-sa-2017-06-incorrect-escaping-in-drupal-views-integration)** Incorrect escaping in Drupal Views integration
19 - **[CIVI-SA-2017-07](https://civicrm.org/advisory/civi-sa-2017-07-insuffient-permission-check-in-mailing-report)** Insuffient permission-check in mailing report
20 - **[CIVI-SA-2017-08](https://civicrm.org/advisory/civi-sa-2017-08-upgrade-multiple-js-libraries)** Upgrade multiple JS libraries
23 ## <a name="features"></a>Features
27 - **[CRM-18081](https://issues.civicrm.org/jira/browse/CRM-18081) Allow search
28 of active relationships during a custom range of dates
29 ([10333](https://github.com/civicrm/civicrm-core/pull/10333))**
31 It is now possible to filter on the active dates of a relationship in Advanced
32 Search and the Relationship Report. If relationship start and end dates are
33 filled accurately, this allows finding active relationships at a specified
36 - **[CRM-20692](https://issues.civicrm.org/jira/browse/CRM-20692) Support jQuery
37 options in AngularJS `crm-ui-tab-set`
38 ([10477](https://github.com/civicrm/civicrm-core/pull/10477))**
40 jQuery UI supports various tab set options. This change allows for the
41 options to be passed through from `crm-ui-tab-set` `<div>` elements in
44 - **[CRM-20680](https://issues.civicrm.org/jira/browse/CRM-20680) Make the
45 CiviCRM logo spin while waiting for next page to load
46 ([10465](https://github.com/civicrm/civicrm-core/pull/10465))**
48 The spinning logo in the navigation menu provides visual indication that a new
51 - **[CRM-20679](https://issues.civicrm.org/jira/browse/CRM-20679) Make the
52 CiviCRM logo spin while quicksearch is running
53 ([10464](https://github.com/civicrm/civicrm-core/pull/10464))**
55 This provides confirmation that the search is running.
57 - **[CRM-20715](https://issues.civicrm.org/jira/browse/CRM-20715) Add index on
58 `is_deceased` column in `civicrm_contact`
59 ([10489](https://github.com/civicrm/civicrm-core/pull/10489))**
61 Queries filtering deceased contacts will have improved performance now that the `is_deceased` field is indexed.
63 - **[CRM-20552](https://issues.civicrm.org/jira/browse/CRM-20552) Task for "Add
64 Relationship - to individual" is missing
65 ([10360](https://github.com/civicrm/civicrm-core/pull/10360)) (completes prior
68 The various search result actions for adding relationships based on different
69 contact types are now abstracted to a single class.
71 - **[CRM-20684](https://issues.civicrm.org/jira/browse/CRM-20684) Standalone
72 form for contact bulk actions
73 ([10471](https://github.com/civicrm/civicrm-core/pull/10471))**
75 A number of search result actions for contacts can now be accessed directly
76 from their own URLs rather than solely from search results.
78 - **[CRM-20594](https://issues.civicrm.org/jira/browse/CRM-20594) Optimze
79 Relationship Count on Contact Summary View
80 ([10371](https://github.com/civicrm/civicrm-core/pull/10371))**
82 The relationship count for a contact is now calculated by using the `COUNT()`
83 SQL function rather than counting the number of rows in the query result.
85 - **[CRM-20238](https://issues.civicrm.org/jira/browse/CRM-20238) Hook for
87 ([10347](https://github.com/civicrm/civicrm-core/pull/10347))**
90 [hook_civicrm_inboundSMS](https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_inboundSMS/)
92 - **[CRM-20575](https://issues.civicrm.org/jira/browse/CRM-20575) Allow user to
93 set created_id field for batch
94 ([10358](https://github.com/civicrm/civicrm-core/pull/10358))**
96 If custom code modifies the batch creation form, it can specify the contact ID
99 - **[CRM-20091](https://issues.civicrm.org/jira/browse/CRM-20091) Case custom
100 fields blocks ([10540](https://github.com/civicrm/civicrm-core/pull/10540),
101 [10482](https://github.com/civicrm/civicrm-core/pull/10482), and
102 [10460](https://github.com/civicrm/civicrm-core/pull/10460)) (tangential work)**
104 A new CustomValue.getTree API action retrieves the labels and values for all
105 of an entity's custom fields, given the entity's type and ID.y54
107 - **[CRM-20600](https://issues.civicrm.org/jira/browse/CRM-20600) Expose
108 AngularJS screens to hooks
109 ([10085](https://github.com/civicrm/civicrm-core/pull/10085) and
110 [10381](https://github.com/civicrm/civicrm-core/pull/10381))**
112 HTML partials in AngularJS can now be modified using
113 `hook_civicrm_alterAngular`. In addition, manipulated and compiled HTML is
114 now cached in the files directory.
116 - **Surface errors from API calls to user on status page.
117 ([10380](https://github.com/civicrm/civicrm-core/pull/10380))**
119 API debug information in status checks now appear with the resulting message.
123 - **[CRM-20475](https://issues.civicrm.org/jira/browse/CRM-20475) People
124 involved tab ([10438](https://github.com/civicrm/civicrm-core/pull/10438))**
126 The phone number for related contacts is now avaiable in the API.
128 - **[CRM-20097](https://issues.civicrm.org/jira/browse/CRM-20097) Case action
129 menu ([10288](https://github.com/civicrm/civicrm-core/pull/10288)) (unrelated
132 The Case API now has better handling for activities with multiple related
137 - **[CRM-20309](https://issues.civicrm.org/jira/browse/CRM-20309) Ensure A/B
138 tests can be sent in parallel
139 ([10227](https://github.com/civicrm/civicrm-core/pull/10227))**
141 This change improves A/B testing where the test group is larger than the
142 mailer job size. In these cases, each mailer job is scheduled one second
143 after the prior one, ensuring that the first *A* job is followed by the first
144 *B* job, then the next *A* job, and so on.
146 - **[CRM-20370](https://issues.civicrm.org/jira/browse/CRM-20370) include
147 additional stats in mailing opened/click reports
148 ([10089](https://github.com/civicrm/civicrm-core/pull/10089))**
150 Open date and click date are now available as CiviMail reports.
152 ### Drupal Integration
154 - **[CRM-20462](https://issues.civicrm.org/jira/browse/CRM-20462) Add filter for
155 current employer in views
156 ([443](https://github.com/civicrm/civicrm-drupal/pull/443))**
158 This feature is now available in Drupal 6.x for CiviCRM 4.7.x. It was
159 previously added for other Drupal-CiviCRM version combinations.
161 - **[CRM-20205](https://issues.civicrm.org/jira/browse/CRM-20205) Expose current
163 ([434](https://github.com/civicrm/civicrm-drupal/pull/434) and
164 [433](https://github.com/civicrm/civicrm-drupal/pull/433))**
166 The current employer ID is now available as a display, contextual filter,
167 filter, and sort field in Views.
169 ### Joomla Integration
171 - **[CRM-12059](https://issues.civicrm.org/jira/browse/CRM-12059) Support
172 hook_civicrm_permissions on Joomla
173 ([10344](https://github.com/civicrm/civicrm-core/pull/10344) and
174 [43](https://github.com/civicrm/civicrm-joomla/pull/43))**
176 CiviCRM permissions in Joomla can now be defined dynamically, allowing
177 extensions using `hook_civicrm_permissions` to work properly
179 ## <a name="bugs"></a>Bugs resolved
183 - **[CRM-20642](https://issues.civicrm.org/jira/browse/CRM-20642) Show/Hide Case
185 ([10451](https://github.com/civicrm/civicrm-core/pull/10451)) (preliminary
188 This fixes a bug in the Activity.get API where filtering on null case, tag, or
189 file ID would yield inconsistent results.
191 - **[CRM-20590](https://issues.civicrm.org/jira/browse/CRM-20590) Add pre and
192 post hook for EntityBatch
193 ([10366](https://github.com/civicrm/civicrm-core/pull/10366))**
195 - **[CRM-20588](https://issues.civicrm.org/jira/browse/CRM-20588) Pre and Post
196 hook for Batch ([10364](https://github.com/civicrm/civicrm-core/pull/10364))**
198 - **[CRM-20585](https://issues.civicrm.org/jira/browse/CRM-20585) Correct the
199 from and to accounts for deferred revenue transactions
200 ([10367](https://github.com/civicrm/civicrm-core/pull/10367))**
202 The from and to accounts for deferred revenue transactions were reversed. This
203 change corrects them moving forward, but it does not affect previously-created
206 - **[CRM-20768](https://issues.civicrm.org/jira/browse/CRM-20768) Web-based
207 installation should accept non-standard MySQL port
208 ([10555](https://github.com/civicrm/civicrm-core/pull/10555))**
210 - **[CRM-20644](https://issues.civicrm.org/jira/browse/CRM-20644) Column names
211 on Advanced search results displayed on contacts are out of order.
212 ([10556](https://github.com/civicrm/civicrm-core/pull/10556))**
214 - **[CRM-18408](https://issues.civicrm.org/jira/browse/CRM-18408) SMTP
215 connection via SSL and TLS in PHP 5.6
216 ([10329](https://github.com/civicrm/civicrm-core/pull/10329)) (preliminary
219 This loads a more recent build of `cacert.pem` for use on hosts which lack one.
221 - **[CRM-20556](https://issues.civicrm.org/jira/browse/CRM-20556) DataTables
222 warning on merge screen
223 ([10503](https://github.com/civicrm/civicrm-core/pull/10503))**
225 This resolves a warning appearing on the duplicate contact merge listing
226 indicating that it could not reinitialize DataTable.
228 - **[CRM-20672](https://issues.civicrm.org/jira/browse/CRM-20672) Related Fields
229 don't populate for relationships with contact type "All Contacts" when mapping
230 an export ([10456](https://github.com/civicrm/civicrm-core/pull/10456))**
232 - **[CRM-20226](https://issues.civicrm.org/jira/browse/CRM-20226) Parent Group
233 do not inherit child group contacts
234 ([10428](https://github.com/civicrm/civicrm-core/pull/10428))**
236 A bug was fixed where members of smart groups would not appear as members of
237 parent groups of the smart group.
239 - **[CRM-20381](https://issues.civicrm.org/jira/browse/CRM-20381) Can't stop
241 ([10181](https://github.com/civicrm/civicrm-core/pull/10181))**
243 This fixes a regression where imported contacts' addresses were geocoded
244 despite bypassing geocoding in the import settings.
246 - **[CRM-20655](https://issues.civicrm.org/jira/browse/CRM-20655) Notice error
248 ([10436](https://github.com/civicrm/civicrm-core/pull/10436))**
250 - **Add help text to civicrm.settings.php re: DSNs containing quotes/backslashes
251 ([10437](https://github.com/civicrm/civicrm-core/pull/10437))**
253 - **[CRM-20618](https://issues.civicrm.org/jira/browse/CRM-20618) Generate
254 contact image if contact id is present
255 ([10396](https://github.com/civicrm/civicrm-core/pull/10396))**
257 This prevents a contact image from being generated for a transaction unless
258 the transaction is actually related to a contact.
260 - **[CRM-20606](https://issues.civicrm.org/jira/browse/CRM-20606) Incorrect
261 state/province names for Austria
262 ([10391](https://github.com/civicrm/civicrm-core/pull/10391))**
264 Two states of Austria were missing umlauts.
266 - **[CRM-20589](https://issues.civicrm.org/jira/browse/CRM-20589) Warning on
268 ([10365](https://github.com/civicrm/civicrm-core/pull/10365))**
270 - **Remove call to nonexistent method
271 ([10382](https://github.com/civicrm/civicrm-core/pull/10382))**
273 A failure in Redis caching would call a nonexistent cache method.
275 - **[CRM-20578](https://issues.civicrm.org/jira/browse/CRM-20578) Empty update
276 of Activity assignee/target results into DB error
277 ([10361](https://github.com/civicrm/civicrm-core/pull/10361))**
279 - **[CRM-19896](https://issues.civicrm.org/jira/browse/CRM-19896)
280 customTranslateFunction not mapped in MagicMerge
281 ([9790](https://github.com/civicrm/civicrm-core/pull/9790))**
283 - **[CRM-20740](https://issues.civicrm.org/jira/browse/CRM-20740) Api fails to
284 check on custom field is null in some cases
285 ([10512](https://github.com/civicrm/civicrm-core/pull/10512))**
287 - **[CRM-19610](https://issues.civicrm.org/jira/browse/CRM-19610) Fatal when
288 creating InnoDB fts indexes
289 ([10453](https://github.com/civicrm/civicrm-core/pull/10453) and
290 [10491](https://github.com/civicrm/civicrm-core/pull/10491))**
292 - **[CRM-20581](https://issues.civicrm.org/jira/browse/CRM-20581) Civi event
293 users do not have access to StateProvince entity via the API
294 ([10363](https://github.com/civicrm/civicrm-core/pull/10363))**
296 All contacts with "Access CiviCRM" permission now can access all states and
301 - **[CRM-20253](https://issues.civicrm.org/jira/browse/CRM-20253) backend
302 contribution receipt sent when option not selected
303 ([10502](https://github.com/civicrm/civicrm-core/pull/10502),
304 [10509](https://github.com/civicrm/civicrm-core/pull/10509),
305 [10508](https://github.com/civicrm/civicrm-core/pull/10508), and
306 [10506](https://github.com/civicrm/civicrm-core/pull/10506))**
308 - **[CRM-20718](https://issues.civicrm.org/jira/browse/CRM-20718) CiviCRM,
309 Contribution page, when using the "On behalf of" Organisation Profile,
310 fieldset title uses hardcoded "Organization Details"
311 ([10499](https://github.com/civicrm/civicrm-core/pull/10499))**
313 The on-behalf profile now uses the profile's name rather than "Organization
316 - **[CRM-20690](https://issues.civicrm.org/jira/browse/CRM-20690) No more than
317 25 Price Options listed
318 ([10476](https://github.com/civicrm/civicrm-core/pull/10476))**
320 This displays all options on a price field rather than the first 25.
322 - **[CRM-20706](https://issues.civicrm.org/jira/browse/CRM-20706) Notice error
323 on using Contribution.getfield API
324 ([10484](https://github.com/civicrm/civicrm-core/pull/10484))**
326 - **[CRM-20574](https://issues.civicrm.org/jira/browse/CRM-20574) Deprecated:
327 Group=''. Name='cvv_backoffice_required'.
328 ([10357](https://github.com/civicrm/civicrm-core/pull/10357))**
330 - **[CRM-20516](https://issues.civicrm.org/jira/browse/CRM-20516) Card type
331 widget appears on front end when a different processor selected
332 ([10375](https://github.com/civicrm/civicrm-core/pull/10375))**
334 - **[CRM-20564](https://issues.civicrm.org/jira/browse/CRM-20564) custom date
335 fields in on-behalf-of forms broken
336 ([10354](https://github.com/civicrm/civicrm-core/pull/10354))**
338 - **[CRM-20747](https://issues.civicrm.org/jira/browse/CRM-20747)
339 `{contribution.campaign}` token not working on Contribution ThankYou letter
340 ([10575](https://github.com/civicrm/civicrm-core/pull/10575))**
342 - **[CRM-20678](https://issues.civicrm.org/jira/browse/CRM-20678)
343 Repeattransaction produces contribution in default currency - instead of the
345 ([10490](https://github.com/civicrm/civicrm-core/pull/10490))**
347 - **[CRM-19963](https://issues.civicrm.org/jira/browse/CRM-19963) Paypal Express
348 not working in German
349 ([9779](https://github.com/civicrm/civicrm-core/pull/9779))**
351 Various conditions were conditional upon the locally-translated label of
352 PayPal rather than the fixed name.
356 - **[CRM-20611](https://issues.civicrm.org/jira/browse/CRM-20611) Cancelling a
357 line-item by changing fee selection of event, leads to incorrect financial
358 records ([10390](https://github.com/civicrm/civicrm-core/pull/10390))**
360 - **method cannot be a protected static
361 ([10404](https://github.com/civicrm/civicrm-core/pull/10404))**
363 The method CRM_Event_Form_Registration_Register::getRegistrationContactID was
364 marked as protected, even though it was called from
365 CRM_Event_Form_Registration_AdditionalParticipant.
367 - **[CRM-20613](https://issues.civicrm.org/jira/browse/CRM-20613) User
368 deprecated function: Deprecated function for New Participant
369 ([10392](https://github.com/civicrm/civicrm-core/pull/10392))**
371 This avoids notices when creating new participants from the backend.
373 - **[CRM-20562](https://issues.civicrm.org/jira/browse/CRM-20562) Wrong
374 Activities created during participant registration via completetransaction.
375 ([10362](https://github.com/civicrm/civicrm-core/pull/10362))**
379 - **[CRM-20694](https://issues.civicrm.org/jira/browse/CRM-20694) CiviMail
380 Report is missing Resubscribe Message
381 ([10479](https://github.com/civicrm/civicrm-core/pull/10479))**
383 - **[CRM-20660](https://issues.civicrm.org/jira/browse/CRM-20660) Mail Summary
384 Report showing same number for Total Opens and Unique Opens
385 ([10443](https://github.com/civicrm/civicrm-core/pull/10443))**
387 This resolves a problem where the Total Opens count was only querying
388 `DISTINCT` open results.
390 - **[CRM-20789](https://issues.civicrm.org/jira/browse/CRM-20789) Unsubscribing
391 from an AB test does not work in 4.7.21
392 ([10583](https://github.com/civicrm/civicrm-core/pull/10583))**
396 - **[CRM-20675](https://issues.civicrm.org/jira/browse/CRM-20675) Membership
397 status update creates renewal activity
398 ([10598](https://github.com/civicrm/civicrm-core/pull/10598))**
400 ### Backdrop Integration
402 - **[CRM-20612](https://issues.civicrm.org/jira/browse/CRM-20612) Error:
403 undefined function config() when installing on Backdrop
404 ([10389](https://github.com/civicrm/civicrm-core/pull/10389))**
406 ### Drupal Integration
408 - **[CRM-20698](https://issues.civicrm.org/jira/browse/CRM-20698) Make
409 "disabled" table rows appear greyed-out
410 ([10481](https://github.com/civicrm/civicrm-core/pull/10481))**
412 CSS in the Seven theme conflicts with CiviCRM's CSS, preventing rows of
413 disabled records from having grey text.
415 - **Improve Views checkbox value handling
416 ([448](https://github.com/civicrm/civicrm-drupal/pull/448) and
417 [449](https://github.com/civicrm/civicrm-drupal/pull/449))**
419 - **[CRM-19303](https://issues.civicrm.org/jira/browse/CRM-19303) CKEditor
420 configuration can't be edited on a Drupal multisite installation
421 ([10577](https://github.com/civicrm/civicrm-core/pull/10577) and
422 [10511](https://github.com/civicrm/civicrm-core/pull/10511))**
424 ## <a name="misc"></a>Miscellany
426 - **[CRM-20744](https://issues.civicrm.org/jira/browse/CRM-20744) Use
427 bower_compoents images for datatable rather than packages
428 ([10520](https://github.com/civicrm/civicrm-core/pull/10520))**
430 - **[CRM-20561](https://issues.civicrm.org/jira/browse/CRM-20561) Load
431 Net_SMTP, Auth_SASL, Net_Socket via Composer
432 ([10384](https://github.com/civicrm/civicrm-core/pull/10384),
433 [3](https://github.com/seamuslee001/civicrm-core/pull/3),
434 [4](https://github.com/seamuslee001/civicrm-core/pull/4),
435 [10385](https://github.com/civicrm/civicrm-core/pull/10385),
436 [185](https://github.com/civicrm/civicrm-packages/pull/185), and
437 [186](https://github.com/civicrm/civicrm-packages/pull/186))**
439 - **[CRM-20687](https://issues.civicrm.org/jira/browse/CRM-20687) Issue numbers
441 ([10473](https://github.com/civicrm/civicrm-core/pull/10473))**
443 - **(NFC) re add in animated-overlay.gif is no longer provided by jquery-ui
444 ([10523](https://github.com/civicrm/civicrm-core/pull/10523))**
446 - **(NFC) Fix clearing messages to ensure test accuracy
447 ([10525](https://github.com/civicrm/civicrm-core/pull/10525))**
449 - **(NFC) Attribution Chirojeugd Vlaanderen
450 ([10519](https://github.com/civicrm/civicrm-core/pull/10519))**
452 - **[CRM-20620](https://issues.civicrm.org/jira/browse/CRM-20620) Use batch api
453 to retrieve all the batches
454 ([10397](https://github.com/civicrm/civicrm-core/pull/10397))**
456 When retrieving the list of transaction batches, the BAO now uses the API
457 rather than a direct SQL query.
459 - **API allows creating multiple addresses same location type
460 ([10510](https://github.com/civicrm/civicrm-core/pull/10510))**
462 This adds a test to confirm that two addresses with the same location type
463 *can* be added in APIv3, even though it is not the desired behavior in the
466 - **There's a better way to say it than "poor man's".
467 ([10500](https://github.com/civicrm/civicrm-core/pull/10500))**
469 Various comments referring to a "poor man's" version of something have been
470 modified to be more specific. Many contain implicit references to the Drupal
471 module [poormanscron](https://www.drupal.org/project/poormanscron), which has
472 less to do with poverty or masculinity than checking periodically for the
473 duration since the previous run of a task.
475 - **[CRM-20651](https://issues.civicrm.org/jira/browse/CRM-20651) Change
476 partial_amount_pay to partial_amount_to_pay for Partial Payment workflow
477 ([10433](https://github.com/civicrm/civicrm-core/pull/10433))**
479 - **(NFC) Civi\API\Kernel - Add more docblocks
480 ([10416](https://github.com/civicrm/civicrm-core/pull/10416))**
482 - **Fix passing null object
483 ([452](https://github.com/civicrm/civicrm-drupal/pull/452))**
485 - **Legacy function param cleanup
486 ([30](https://github.com/civicrm/civicrm-backdrop/pull/30))**
488 ## <a name="credits"></a>Credits
490 This release was developed by the following code authors:
492 Agileware - Agileware Team; Arkadiusz Rzadkowolski; Arun Singh; Australian
493 Greens - Seamus Lee; Blackfly Solutions - Alan Dixon; British Humanist
494 Association - Andrew West; Circle Interactive - Dave Jenkins; CiviCRM - Coleman
495 Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Camilo Rodriguez,
496 Michael Devery; Coop SymbioTIC - Mathieu Lutfy; Effy Elden; Eli Lisseck;
497 Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion -
498 Chris Burgess, Eileen McNaughton, Jitendra Purohit; Ginkgo Street Labs - Frank
499 Gómez; JMA Consulting - Monish Deb, Pradeep Nayak; Joinery - Allen Shaw; Jon
500 Goldberg; Lemniscus - Noah Miller; Lighthouse Design and Consulting - Brian
501 Shaughnessy; Oxfam Germany - Thomas Schüttler; Progressive Technology Project -
502 Jamie McClelland; Redfin Solutions - Chris Wells; Romain Thouvenin; Sean Madsen;
503 Systopia - Björn Endres; Web Access - Kurund Jalmi; Wikimedia Foundation -
506 Most authors also reviewed code for this release; in addition, the following
507 reviewers contributed their comments:
509 Alcohol Justice - Bruce Wolfe; Alex Block; Andy Clarke; Blackfly Solutions -
510 Alan Dixon; Bob Silvern; Bob Vincent; Business & Code - Alain Benbassat; Circle
511 Interactive - Martin Castle; CiviDesk - Nicolas Ganivet; CiviHosting - Hershel
512 Robinson; CompuCorp - Guanhuan Chen, Mirela Stanila; Donald Hirst; Fuzion -
513 Peter Davis; Ginkgo Street Labs - Dan O'Brien; James van der Hoven; JMA
514 Consulting - Joe Murray; Joanne Chester; Johan Vervloet; Korlon - Stuart Gaston;
515 MC3 - Graham Mitchell; Michal Mach; Milton Zurita; MJW Consulting - Matthew
516 Wire; Nubay Services - David Tarrant; Registered Nurses' Association of Ontario -
517 Thomas Mannell; Richard van Oosterhout; Semper IT - Karin Gerritsen; Skvare -
518 Mark Hanna; Systopia - Fabian Schuttenberg; Tech To The People - Xavier Dutoit;
519 Web Access - Rohan Chavan; Wim De Craene