# A short story on why you should upgrade to CanJS 4.0

**URL:** <https://forums.bitovi.com/t/a-short-story-on-why-you-should-upgrade-to-canjs-4-0/911>\
**Category:** Uncategorized\
**Created:** [June 13, 2018, 8:48pm UTC](https://forums.bitovi.com/t/a-short-story-on-why-you-should-upgrade-to-canjs-4-0/911 "2018-06-13T20:48:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![justinbmeyer](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/justinbmeyer/32/179_2.png) [@justinbmeyer](https://forums.bitovi.com/u/justinbmeyer)\
**Post date:** [June 13, 2018, 8:48pm UTC](https://forums.bitovi.com/t/a-short-story-on-why-you-should-upgrade-to-canjs-4-0/911/1 "2018-06-13T20:48:19Z")

</div>

So I’m working on an application and I get this error in the console:

![image](https://canada1.discourse-cdn.com/flex035/uploads/donejs/original/1X/0364a07faa386b407136cdf70d8aba4082308abb.png)

Clicking _ **contribution-month.js:314** _ brings me to this code:

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/donejs/original/1X/a3186c691eca54f5c7a6b4751482b7aa327f261f.png)

Someone is calling `osProjectContributionsMap( ... )` without a `currentContributionMonth`!!! What a JERK!

Here’s where CanJS 3.0 and 4.0 differ … I add a breakpoint for when there is no `currentContributionMonth`:

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/donejs/original/1X/9cf805479ad4067a3890583acefd3bb66b5bcd93.png)

Reload the page, and what do I see:

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/donejs/original/1X/068cafd58476ff13dfb91ee8836140ea8343dd97.png)

I see the stache expression that caused the problem! In 3.0, you’d just see some anonymous function.
