Skip to content

New Features in CiviVolunteer 2.2

Ginkgo Street Labs is pleased to announce the availability of CiviVolunteer 2.2.

Two themes are evident in this release: improving stability and furthering the multi-tier use case. The increased adoption of CiviVolunteer as a multi-tier system, where one organization facilitates the volunteer programs of partner organizations, has necessitated improvements to permissions granularity as well as streamlining of interfaces. Improvements in CiviVolunteer 2.2 include:

  • Version 2.1 introduced settings for volunteer project defaults under Volunteers > Configure Volunteer Settings. Version 2.2 builds on this work, adding the ability to set defaults for a project's manager, beneficiary, and other relationships.
  • New permissions Edit Volunteer Project Relationships and Edit Volunteer Registration Profiles provide an easy way for site administrators to simplify the volunteer project creation workflow for partner organizations or less technical staff. Users who don't have these permissions won't see the relevant configuration options during project creation/edit; their projects will use the site-wide defaults for these configurations.\
  • Fifteen bug reports were closed in the production of CiviVolunteer 2.2, and lessons learned in the adoption of the Angular paradigm applied under the hood, to improve system reliability. VOL-267 is a particularly nasty bug that can result in accidental mass deletions of project data; upgrading to CiviVolunteer 2.2 is strongly recommended to eliminate this possibility.
  • Increased support for using custom fields as columns and filters in the volunteer report.

Notes for Developers

  • CiviVolunteer 2.2 changes the return of api.VolunteerUtil.getsupportingdata; the array relating to project relationships is structured differently, significantly simplifying the code required to consume it on the client side. We don't expect this API was being used downstream, so it is unlikely this change will have practical implications for anyone.
  • The result of api.VolunteerProjectContact.get previously included a flag can_be_read_by_current_user for each contact. This has been removed.
  • api.VolunteerProject.create now creates a flexible need for new projects. Previously this required a separate call to api.VolunteerNeed.create. To mitigate problems for downstream developers expecting to need to make this call, api.VolunteerNeed.create now throws an exception if the call would result in the creation of a second flexible need for a given project. More details in VOL-269.


CiviVolunteer can be downloaded from the CiviCRM extensions directory or installed from within CiviCRM from the Administer menu, under System Settings > Manage Extensions (some systems may have it under Custom Data and Screens > Manage Extensions). You'll also need to install version 1.0.1 or later of Angular Profiles – a utility extension which helps the Angular and Backbone JavaScript frameworks play nicely together – in order for CiviVolunteer to function properly. If you're currently using CiviVolunteer, the new version should be available as an update on the Manage Extensions page.


Thanks to everyone who has contributed to CiviVolunteer through financial support, code, bug reporting, testing, and documentation.