Whats new in CiviCRM v3.4 / v4.0?

2011-02-25 11:02
Written by

Overview and New Features in CiviCRM v3.4 / v4.0 With the release of 3.4.alpha1, a brief tour of some of the new features and changes in v3.4 / v4.0 is in order. This release had 7 successful Make It Happen Projects. We also had a record number of patches (100+) that were incorporated into this release.

  • v3.4 and v4.0 have the same set of CMS independent features. v3.4 supports Drupal 6.x and Joomla 1.5.x only. v4.0 supports Drupal 7 and Joomla 1.6.x. v3.4 is expected to be the last release to support D6/J1.5.
  • API v3 - The new version 3 API contains the standardisation that many of us have been hanging out for. The names of the function files and the functions have been standardised as have the inputs and outputs. There is a new wrapper function: civicrm_api( entity,action,$params ); to make it easier to call. If you have any doubt on how to use it we have developed an API explorer and code generator that is shipped with civicrm and will let you use interactive
  • Thanks to the folks at Progressive Technology Project, we have integrated CiviCampaign with other CiviCRM components, specifically: CiviContribute, CiviMember, CiviEvent, CiviMail and CiviEngage. We've also integrated the PhoneList and WalkList CiviEngage Reports with CiviCampaign, making CiviCampaign more useful for grassroots organizing and political campaigns. We plan on extending and improving CiviCampaign in v4.1 via another Make It Happen
  • We've made significant strides with our logging framework and reporting. v3.4 has comprehensive logging reports with a "revert" feature for contact and contribution data.
  • Joomla v1.6 introduced an ACL based permissioning system. With the help of Brian Shaughnessy, Elin Waring and a successful Make It Happen Campaign, we've integrated Joomla! ACL Permissioning and CiviCRM. This gets CiviJoomla to much closer parity with CiviDrupal. The front end Joomla! layer is updated to Joomla! 1.6 style, including using JForm for menu parameters and 1.6 language strings.
  • We introduced workflow capabilities with CiviMail in later versions of 3.3. We've optimized the CiviMail queries to use the smart group cache and store the "intended recipients" in a new database table. This allows CiviReport to be more accurate when a mailing was delivered. Storing the intended recipients in a new table avoids expensive queries and also solves the ACL permissioning w/CiviMail bugs from prior releases. CiviMail now also supports hierarchical groups
  • We continue to work on improving and optimizing dedupe. v3.4 introduces Prev/Next navigation during dedupe merges. Dedupe results are now cached in a database table, thus allowing users to merge and continue to the next pair of "potential merges". We've laid the framework to introduce prev/next navigation with other CiviCRM searches. Dedupe results are now displayed via a pagination system.
  • With major sponsorship from Corvair Society of America (CORSA), and in collaboration with JMA Consulting, CiviMember now allows membership upsell. This allows membership type to be changed on renewal while maintaining membership record continuity for the contact.
  • Offline and existing contributions can now be credited to a Personal Campaign Page. This is another successful Make It Happen project.
  • v3.4 introduces the second phase of CiviCRM Extensions. You can now browse and download CiviCRM extensions from within your CiviCRM install.
  • Thanx to a great patch from AGH Strategies, CiviCRM now supports US counties. A US counties SQL file is now shipped in the distribution (this will be part of 3.4.alpha2)
  • Thanx to the boredom of an incredibly long plane ride, CiviCRM Advanced Search now supports viewing details on "related contacts". For e.g., you can specify: Show me the details of all the parents of the kids in the second grade.
  • Our first alpha release had 99% of tests passing. We plan on increasing the number of tests by 10% before the final release. Automated testing is an important aspect of ensuring the quality of CiviCRM releases.
Click thumbs up if you thought this blog post was useful (login to vote or to comment)


great work - look forward to exploring both versions. para 7 has word 'deduce' - best to change to dedupe, since deduce also makes sense - sort of

What's the backward compitability with API version 2.0?

Also it was confusing some location API required your to put in the param version => '3.0',

I have a lot of customized code that uses API V2, if they are not backward compitable I would be in some hot water shortly. :\

v2.0 has been left as is, so existing code should work as is. Would be good if you can test before we hit final in case there are some unforeseen issues.

xavier, lobo:


Thanks guys,


I realize that the day was probably going to come. I'm very happy that you guys decided to spearhead and tackle some of the API issues. I'm actually very excited to employ some API V3 and since it looks more standaridzed and eaiser to understand. I think for the long term view this is a great step since even if Civi Core refactors the entity action model can still be carried over.


I'll be more than happy to update my code to test the new API versions and offer any thing I find :)


Good work guys

My recommendation is to wait for the next Alpha release before doing any testing as we are working through the function rename now.


Personally as soon as the renamed apiv3 is back in trunk I'm going to try backporting it to existing sites & see how it plays (it should be fairly easy to backport after the rename)



The next alpha is coming out anyday (api branch has been merged back in the trunk).


I'd suggest to install from the svn from the trunk branch, likely that the code is updated at a steady pace during the alpha/beta period)





You did test on the trunk, right ? version shouldn't be mandatory if I remember right. After a long soul searching, Eileen has started and changed API v3 so it's 100% compatible with v2 and if some people steps up, might be maintained longer than for the next version.

This being said, we would very very much appreciate if you can join us in the forum and try migrating a some of your code, see if it's as smooth as we hope.

Thanks for all the hard work of the core team and contributions from the awesome CiviCRM community!

Can't wait to give the next alpha a try.


Guest (not verified)
2011-03-05 - 10:06

Hi, is there any projected release date for 4.0? I'm kind of stuck right now - I want to build a new install, but:

--Drupal 6 is on the way out
--CiviCRM has announced they won't be supporting or backporting anything to version 3.3 or before
--And yet, CiviCRM 3.4/4.0 isn't even close to ready

In effect, there's no good supported version. You've stomped over the old versions and told people to stop using them, but there's no new version. I tried Drupal 7 and CiviCRM 4.0 alpha, but there are install problems (no CiviCRM menu item created, other things a little wonky)... Basically I can install something old and deprecated, setting myself up for an immediate, difficult, mandatory upgrade path, or I can install something new and broken, setting myself up for a host of random problems. Neither of these choices is appealing.

By the way, the sandbox doesn't work:


demo/demo doesn't work for a username/password.

1. I suspect 3.4 / 4.0 will be out in 4-6 weeks

2. 3.3 is still supported and critical bugs are being fixed. New features are introduced in 3.4 / 4.0

3. In general we do not backport new features to older versions.


Would help if you can be a lot more specific with what the bugs present in 3.4/4.0 on the forums here: http://forum.civicrm.org/index.php/board,61.0.html regards lobo

A) 3.4 will run on Drupal 6 so while there is no backports planned for 3.3.x the 3.3.x to 3.4 upgrade should be fairly painless.

B) While it is not recommended to use 4.0.alpha1 for a live site, nobody is stopping you from doing so.

If you go with B, I would recomend actively reporting your bugs in a reproducable maner. 



Curtis (not verified)
2011-03-09 - 08:43

You state:
"In collaboration with JMA Consulting, CiviMember now allows membership upsell. This allows membership type to be changed on renewal while maintaining membership record continuity for the contact."

However, we, Corvair Society of America (CORSA), were the ones that provided the majority of funding for this project. Yet we are not listed anywhere on your site. In addition, after we were told the project had been fully funded, the campaign continued...

Apologies for the oversight. We did not originally have information about the ultimate source of the sponsorship. I have updated the blog post and we will have more formal recognition post when the release goes stable which will definitely include the Corvair Society of America (CORSA).


Development costs for the project were actually not fully funded. JMA Consulting contributed the remaining hours.