---
title: January 2017 DoneJS Community Update
description: This post highlights the notable releases, community projects, and technical content released in the DoneJS community last month.
image: http://www.bitovi.com/hubfs/donejs-banner.jpg
---

- ![AI implementation](https://www.bitovi.com/hubfs/AIConsultingIcon.svg)
  
  [AI implementation](https://www.bitovi.com/services/ai-consulting)
- ![Systems engineering](https://www.bitovi.com/hubfs/icon%20-%20backend.svg)
  
  [Systems engineering](https://www.bitovi.com/services/systems-engineering-consulting)
- ![Project Management](https://www.bitovi.com/hubfs/icon%20-%20PM.svg)
  
  [Project Management](https://www.bitovi.com/services/agile-project-management-consulting)
- ![Product Design](https://www.bitovi.com/hubfs/icon%20-%20design.svg)
  
  [Product Design](https://www.bitovi.com/services/product-design-consulting)
- ![Frontend development](https://www.bitovi.com/hubfs/icon%20-%20frontend.svg)
  
  [Frontend development](https://www.bitovi.com/services/frontend-development-consulting)
- [View more
  
  →
  
  ](https://www.bitovi.com/digital-consulting-services)

We're Experts in...

- [JavaScript](https://www.bitovi.com/services/frontend/javascript-consulting)
- [AI training](https://www.bitovi.com/ai-training-for-software-engineers)
- [Angular](https://www.bitovi.com/services/frontend/angular-consulting)
- [Design systems](https://www.bitovi.com/services/axure-figma-migration)
- [React](https://www.bitovi.com/services/frontend/react-consulting)
- [Temporal](https://www.bitovi.com/services/backend/temporal-consulting)
- [React Native](https://www.bitovi.com/services/frontend/react-consulting/react-native)
- [Node.js](https://www.bitovi.com/services/backend/nodejs-consulting)

Showcase

![Yum! Brands](https://www.bitovi.com/hubfs/yum-showcase-link-1.png)

[View case study](https://www.bitovi.com/en/bitovi-yum-case-study)

More Projects

- [![Levi's](https://www.bitovi.com/hubfs/levis.svg)](https://www.bitovi.com/web-application-consulting-work/levis-ecommerce-responsive-redesign)
- [![Christie's International Real Estate](https://www.bitovi.com/hubfs/christies.svg)](https://design.bitovi.com/christies)
- [![BAFS](https://www.bitovi.com/hubfs/bafs.svg)](https://www.bitovi.com/ux-design-consulting/ux-case-studies/bafs-ppp)
- [View more
  
  →
  
  ](https://www.bitovi.com/our-software-consulting-work)

Open Source Tools

We build powerful tools and open source them to support the community.

[See what we've built →](https://www.bitovi.com/open-source)

- [![Blog](https://www.bitovi.com/hubfs/icon%20-%20blog.svg)
  
  BlogWe post about delivering products and solving problems.
  
  ](https://www.bitovi.com/blog)
- [![Partnerships](https://www.bitovi.com/hubfs/Handshake-1.svg)
  
  PartnershipsLearn about Bitovi's technology partners
  
  ](https://www.bitovi.com/partnerships)
- [![Academy](https://www.bitovi.com/hubfs/icon%20-%20academy%20(4).svg)
  
  AcademyFree courses to build delivery skills
  
  ](https://www.bitovi.com/academy)
- [![Open source tools](https://www.bitovi.com/hubfs/icon%20-%20open%20source.svg)
  
  Open source toolsUse or contribute to our community
  
  ](https://www.bitovi.com/open-source)

Let's Connect

- [![Discord](https://www.bitovi.com/hubfs/DiscordLogo.svg)
  
  Discord
  
  ](https://discord.gg/J7ejFsZnJ4)
- [![LinkedIn](https://www.bitovi.com/hubfs/LinkedinLogo.svg)
  
  LinkedIn
  
  ](https://www.linkedin.com/company/bitovi/)
- [![GitHub](https://www.bitovi.com/hubfs/GithubLogo.svg)
  
  GitHub
  
  ](https://github.com/bitovi/)

![Eggbot](https://www.bitovi.com/hubfs/build_assets/bitovi-limbo-cms-react/338/js_client_assets/assets/eggbot-LTGhdSGL.png)

Name *

Work Email *

Phone

What's your project?

Send

### Contact Us

(312) 620-0386contact@bitovi.com

 February 3, 2017

# January 2017 DoneJS Community Update

 This post highlights the notable releases, community projects, and technical content released in the DoneJS community last month.

![Chasen Le Hara](https://app.hubspot.com/settings/avatar/47447d7b410651534d079d84497c1a5c)

 Chasen Le Hara

Share:

[![Twitter](https://www.bitovi.com/hubfs/limbo-generated/_astro/twitter-white.os3xLc3C_Z2nW4or.svg) ](https://twitter.com/intent/tweet?text=) [![Reddit](https://www.bitovi.com/hubfs/limbo-generated/imgs/icons/reddit.png) ](http://reddit.com/submit?url=)

Lots of notable releases, community projects, and technical content were released in the DoneJS community last month! This post outlines some of the highlights from January 2017.

## Notable releases

After announcing [the release of CanJS 3](https://www.bitovi.com/blog/canjs-3-0-release) last month, we released [CanJS 3.4](https://github.com/canjs/canjs/releases/tag/v3.4.0), which features [can-connect-feathers](https://canjs.com/doc/can-connect-feathers.html) for seamless integration with [FeathersJS](http://feathersjs.com/).

Hot on the heels of [StealJS 1.0](https://www.bitovi.com/blog/stealjs-1.0-release) release last month, [Steal 1.1](https://github.com/stealjs/steal/releases/tag/v1.1.0) and [Steal-Tools 1.1](https://github.com/stealjs/steal-tools/releases/tag/v1.1.0) were published! The former includes a new feature which [simplifies the use of steal-clone with default exports](https://github.com/stealjs/steal/pull/992), while the latter [adds support for minifying JavaScript files with a custom function](https://github.com/stealjs/steal-tools/pull/589).

## Community projects

The following projects were released by various members in our community.

[Adam L Barrett](https://github.com/BigAB) published a 0.10 release of [react-view-models](https://www.npmjs.com/package/react-view-models), which connects “observable view-models to React presentational components to create auto-rendering container components.” The project is in its infancy, but if you’re interested in contributing, check out [the project’s issues on GitHub](https://github.com/canjs/react-view-models/issues).

[Juan Orozco](https://github.com/Macrofig) published a few validation-related modules for CanJS:

- [can-validate-legacy](https://www.npmjs.com/package/can-validate-legacy) is the previous version of can-validate for CanJS 2.3 projects.
- [can-validate](https://www.npmjs.com/package/can-validate) has been updated for CanJS 3
- [can-define-validate-validatejs](https://www.npmjs.com/package/can-define-validate-validatejs) integrates [can-define](https://canjs.com/doc/can-define.html) with [Validate.js](https://validatejs.org/)

[Matthew Phillips](https://github.com/matthewp) released a couple different modules:

- [can-custom-elements](https://www.npmjs.com/package/can-custom-elements) is the start of an exploration into how CanJS can integrate with [Custom Elements](https://www.w3.org/TR/custom-elements/)
- [steal-parse-amd](https://www.npmjs.com/package/steal-parse-amd) is “a parsing version of SystemJS’s AMD extension”

[Nico R.](https://github.com/nriesco) published [donejs-select](https://www.npmjs.com/package/donejs-select), which is a component for “KnockoutJS-style select for DoneJS.”

Marshall published [can-route-react](https://www.npmjs.com/package/can-route-react), which “is a collection of React components that help with routing… modeled after the ones found in [React Router](https://github.com/ReactTraining/react-router).” It’s still an experiment, so if you’re interested in contributing, check out [the project’s issues on GitHub](https://github.com/icanjs/can-route-react/issues).

![highres_457506184.jpg](https://www.bitovi.com/hs-fs/hubfs/Events/highres_457506184.jpg?width=597&height=298&name=highres_457506184.jpg)

## Blog posts, talks & trainings

I published a blog post on [How to Upgrade to StealJS 1](https://www.bitovi.com/blog/how-to-upgrade-to-stealjs-1). If you’re migrating a project from a previous version to StealJS 1, you’ll enjoy the improved [Migration Guide](https://stealjs.com/docs/StealJS.topics.migrating-one.html).

[Manuel Mujica](https://github.com/m-mujica) has done some incredible work on [steal-conditional](https://github.com/stealjs/steal-conditional). He [recorded a video with Matthew Phillips](https://www.youtube.com/watch?v=sdkO9I9YBs4) and published a blog post on [How To Conditionally Load Modules with StealJS](https://www.bitovi.com/blog/how-to-conditionally-load-modules-with-stealjs). It was even featured by [JavaScript Daily](https://twitter.com/JavaScriptDaily/status/825767468081803264)!

Steve Domino published a blog post on [creating a DoneJS app with Nanobox](https://hackernoon.com/how-to-create-a-donejs-app-in-3-easy-steps-6e51b738cbee).

[Justin Meyer](https://github.com/justinbmeyer) hosted a training on [How DefineMap Works](https://www.youtube.com/watch?v=eXp3m-ZlL4Y).

We also hosted and were involved in a few local meetups:

- [DoneJS Chicago Hack Night](https://www.meetup.com/DoneJS-Chicago/events/235738140/)
- [SeattleJS](https://www.meetup.com/seattlejs/events/231089467/)
- [DoneJS Raleigh–Durham StealJS Overview](https://www.meetup.com/DoneJS-raleigh-durham/events/233079906/)
- [NodeSchool](https://www.meetup.com/NodeSchool-YQR/events/236704409/)
- [LearnJS](https://www.meetup.com/Southbay-Javascript/events/236738218/)

Additionally, [Adam Barrett](https://github.com/BigAB) hosted a [StealJS Overview & Walkthrough](https://forwardcourses.com/workshops/118). It’s now available to any Forward Courses subscribers.

![IMG_20170130_184536.jpg](https://www.bitovi.com/hs-fs/hubfs/Events/IMG_20170130_184536.jpg?width=597&height=447&name=IMG_20170130_184536.jpg)

## Contributors

In addition to the projects and releases we’ve already mentioned, we’d like to recognize the following contributions from people outside the core team:

[Brad Momberger](https://github.com/bmomberger-bitovi) made some contributions to CanJS:

- [Allow numbers (literals and variables like %index) to be the value of bracket expressions](https://github.com/canjs/can-stache/pull/145)
- [Fix for Call expressions inside of Bracket expressions](https://github.com/canjs/can-stache/pull/146)
- [Use two-level extend to prevent subclasses from overwriting parent defines](https://github.com/canjs/can-map-define/pull/25)
- [Ensure sync of child and parent in two-way bindings](https://github.com/canjs/can-stache-bindings/pull/127)

[Colin Leong](https://github.com/colin-tucows) made a contribution to DoneJS:

- [Support secure flag for cookie](https://github.com/donejs/done-ssr/pull/207)

[Curtis Cummings](https://github.com/ccummings) made a few contributions to FuncUnit and Testee:

- [Upgrade Syn to 0.2.2 to fix](https://github.com/bitovi/funcunit/pull/184)
- [Fixing example code blocks in actions and getters docs](https://github.com/bitovi/funcunit/pull/185)
- [Adding state to passed and failed tests so Mocha reporters work properly](https://github.com/bitovi/testee/pull/102)

[Ilya Fadeev](https://github.com/ilyavf) made some contributions to CanJS:

- [Support `init` or `setup` returning something other than new instance](https://github.com/canjs/can-construct/pull/30)
- [Add constructor/hydrate behaviour](https://github.com/canjs/can-connect/pull/243)
- [Maximum call stack if two instances without id are created (can/constructor-hydrate)](https://github.com/canjs/can-connect/pull/245)
- [In can/map/map behavior check whether other behavior methods are available](https://github.com/canjs/can-connect/pull/246)

[jcarbou](https://github.com/jcarbou) made a contribution to StealJS:

- [Ignore jam section without main attribute](https://github.com/stealjs/steal-npm/pull/218)

[Juan Orozco](https://github.com/Macrofig) made a contribution to CanJS:

- [Improve click handling when pushstate is activated](https://github.com/canjs/can-route-pushstate/pull/28)

[Kevin Dillon](https://github.com/kdillon) made a contribution to Syn:

- [Added touch and pointer events for click](https://github.com/bitovi/syn/pull/121)

[Manuel Mujica](https://github.com/m-mujica) made a ton of contributions to StealJS:

- [Prevent streams to mutate recycle's cached data](https://github.com/stealjs/steal-tools/pull/578)
- [Minify JS bundles instead of individual nodes](https://github.com/stealjs/steal-tools/pull/583)
- [Test conditional builds using `~` lookup scheme](https://github.com/stealjs/steal-tools/pull/584)
- [Fix trace detection with commented out import statements](https://github.com/stealjs/system-trace/pull/24)
- [Merge system-trace into core](https://github.com/stealjs/steal/pull/1016)
- [Support custom globals configuration](https://github.com/stealjs/steal/pull/1030)

[Mike ‘mitch’ Mitchel](https://github.com/mikemitchel) made a contribution to CanJS:

- [Fix the docs dropdown to point to the latest version of CanJS 2.3](https://github.com/canjs/canjs/pull/2968)

[Nitin Pasumarthy](https://github.com/Nithanaroy) made a few contributions to CanJS

- [Change scope object in Call expressions example](https://github.com/canjs/can-stache/pull/153)
- [Fix a typo in example of DefineMap](https://github.com/canjs/canjs/pull/2981)
- [Incorrect param explanation](https://github.com/canjs/can-stache-bindings/pull/126)

## What’s next

The core team is focused on the DoneJS 1.0 release, which will include CanJS 3 and StealJS 1.

We’re also starting to think about issues we’ll tackle after the DoneJS 1 release. One of those issues is improving templating in CanJS. We have a [request for proposals](https://github.com/canjs/canjs/issues/2995) open to collect ideas from the community. If you have thoughts on templating within CanJS, join the conversation!

This month we’ll be hosting a couple local meetups:

- [SDC: Javascript Module Loaders ](https://www.meetup.com/SoftDev/events/236219826/)
- [DoneJS Chicago: Hack Night](https://www.meetup.com/DoneJS-Chicago/events/237182487/)

Keep up with the latest in the community by [following us on Twitter](https://twitter.com/donejs) or joining us on our [forums](http://forums.donejs.com/) or [Gitter chat](https://gitter.im/donejs/donejs)!

[![Tag for open source](https://www.bitovi.com/hubfs/limbo/icons/tag.svg) open source ](https://www.bitovi.com/blog/topic/open-source)[![Tag for canjs](https://www.bitovi.com/hubfs/limbo/icons/tag.svg) canjs ](https://www.bitovi.com/blog/topic/canjs)[![Tag for stealjs](https://www.bitovi.com/hubfs/limbo/icons/tag.svg) stealjs ](https://www.bitovi.com/blog/topic/stealjs)

 Previous Post

![](https://www.bitovi.com/hs-fs/hubfs/stealbkg.png?height=117&name=stealbkg.png) [ How To Conditionally Load Modules with StealJS ](https://www.bitovi.com/blog/how-to-conditionally-load-modules-with-stealjs)

  

 Next Post

![](https://www.bitovi.com/hs-fs/hubfs/Banner_Images/haul-hound-banner.jpg?height=117&name=haul-hound-banner.jpg) [ Building a Real-time, Multi-platform App in 3 Months ](https://www.bitovi.com/blog/building-real-time-multi-platform-app)

```json
{
  "@context" : "http://schema.org",
  "@type" : "Organization",
  "address" : {
    "@type" : "PostalAddress",
    "addressCountry" : "United States",
    "addressLocality" : "Libertyville",
    "addressRegion" : "IL",
    "postalCode" : "60048",
    "streetAddress" : "1134 Pine Tree Lane "
  },
  "alternateName" : "Bitovi",
  "areaServed" : {
    "@type" : "GeoCircle",
    "geoMidpoint" : {
      "@type" : "GeoCoordinates",
      "latitude" : "41.8781",
      "longitude" : "87.6298"
    },
    "geoRadius" : "5000 km"
  },
  "description" : "Bitovi is a UX, UI design and front-end JavaScript development consulting company",
  "email" : "contact@bitovi.com",
  "image" : "https://www.bitovi.com/hubfs/bitovi-logo-x2.png",
  "logo" : "https://www.bitovi.com/hubfs/bitovi-logo-23-1.svg",
  "mainEntityOfPage" : {
    "@id" : "https://www.bitovi.com/blog/january-2017-donejs-community-update",
    "@type" : "WebPage",
    "description" : "This post highlights the notable releases, community projects, and technical content released in the DoneJS community last month."
  },
  "naics" : "541511",
  "name" : "Bitovi Web App Consulting",
  "sameAs" : [ "https://www.facebook.com/BitoviLLC/", "https://twitter.com/bitovi", "https://www.linkedin.com/company/bitovi" ],
  "telephone" : "312-620-0386",
  "url" : "http://bitovi.com"
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Chasen Le Hara"
  },
  "dateModified" : "February 4, 2017, 4:51:13 PM",
  "datePublished" : "2017-02-03 22:40:44",
  "description" : "This post highlights the notable releases, community projects, and technical content released in the DoneJS community last month.",
  "headline" : "January 2017 DoneJS Community Update",
  "image" : {
    "@type" : "ImageObject",
    "url" : "http://www.bitovi.com/hubfs/donejs-banner.jpg"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://www.bitovi.com/hubfs/bitovi-logo-23-1.svg"
    },
    "name" : "Bitovi"
  }
}
```