---
title: September 2017 DoneJS Community Update
description: This post highlights the notable releases, community projects, and technical content released in the DoneJS community in September 2017.
image: https://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

 October 3, 2017

# September 2017 DoneJS Community Update

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

![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 September 2017.

## Releases

Have you ever wanted a [service worker](https://developers.google.com/web/fundamentals/primers/service-workers/) for precaching your resources built with [steal-tools](https://stealjs.com/docs/steal-tools.html) so they work offline? [steal-serviceworker](https://github.com/stealjs/steal-serviceworker) is the package for you! Add it to your build process and a service worker will be created for your project. Check out the [usage docs](https://github.com/stealjs/steal-serviceworker#usage) for more information.

The team also shipped a bunch of smaller releases last month:

[CanJS](https://canjs.com/):

- [3.10.1](https://github.com/canjs/canjs/releases/tag/v3.10.1) added some helpful warnings and a fix for the `parent.replacements` issue
- [3.10.2](https://github.com/canjs/canjs/releases/tag/v3.10.2) fixed binding to getters that use `lastSetVal`

[DocumentJS](https://documentjs.com/):

- [0.5.1](https://github.com/bitovi/documentjs/releases/tag/v0.5.1) fixed an issue with running `documentjs` as a globally-installed module

[Done-SSR](https://github.com/donejs/done-ssr):

- [1.1.4](https://github.com/donejs/done-ssr/releases/tag/v1.1.4) fixes an issue with the wrong values being cached for routing

[StealJS](https://stealjs.com/):

- [transpile](https://github.com/stealjs/transpile) [2.5.3](https://github.com/stealjs/transpile/releases/tag/v2.5.3), [2.5.4](https://github.com/stealjs/transpile/releases/tag/v2.5.4), and [2.5.5](https://github.com/stealjs/transpile/releases/tag/v2.5.5) fixed some bugs with circular dependencies, slim output for AMD modules, and more
- [steal-condition 0.4](https://github.com/stealjs/steal-conditional/releases/tag/v0.4.0) added support for [optimized builds using steal-tools optimize or stealTools.optimize()](https://stealjs.com/docs/StealJS.guides.optimized_builds.html)

## Blog posts & trainings

[Matthew Phillips](https://twitter.com/matthewcp) published [HTTP/2 in DoneJS](https://www.bitovi.com/blog/http2-in-donejs), in which he discusses what’s been added to support [HTTP/2](https://developers.google.com/web/fundamentals/performance/http2/) in [DoneJS](https://donejs.com/), with specific instructions for how to take advantage of the new features in your app!

I published [an introduction to react-view-model](https://www.bitovi.com/blog/introducing-react-view-model-mvvm-with-react), a package for creating observable ViewModels for React components. I also published a two part series on the [modlet workflow](https://css-tricks.com/key-building-large-javascript-apps-modlet-workflow/) and [how StealJS can improve your development workflow](https://css-tricks.com/modlet-workflow-improve-development-workflow-stealjs/).

Last but certainly not least, [Justin Meyer](https://twitter.com/justinbmeyer) published a blog series on techniques the team uses to keep CanJS [stable and innovative](https://canjs.com/doc/guides/mission.html#Stabilityandinnovationmatter) within a constantly changing technology landscape:

1. [Stable and Innovative Code Bases](https://www.bitovi.com/blog/stable-and-innovative-code-priorities-and-goals)
2. [How to Manage Code Across Many Independent Repositories](https://www.bitovi.com/blog/stable-and-innovative-independent-repositories)
3. [Removing Side Effects - some juice isn't worth the squeeze](https://www.bitovi.com/blog/remove-side-effects)
4. [Coping with Stateful Code](https://www.bitovi.com/blog/coping-with-stateful-code)
5. [How to Integrate Other Libraries using Symbols](https://www.bitovi.com/blog/integrate-other-libraries-with-symbols)

He also hosted [learn how to build a progressively loaded app with StealJS](https://www.meetup.com/DoneJS-Chicago/events/242563210/) at [DoneJS Chicago](https://www.meetup.com/DoneJS-Chicago/) (check out [the guide](https://stealjs.com/docs/StealJS.guides.progressive_loading.html)) *and* made an epic [live stream](https://www.youtube.com/watch?v=UA4606-W3Sg) of the [Advanced Credit Card Guide](https://canjs.com/doc/guides/recipes/credit-card-advanced.html), which walks you through building a credit card payment form with validations. it uses [Kefir.js](https://rpominov.github.io/kefir/) streams (instead of [can-define](https://canjs.com/doc/can-define.html)) to make a ViewModel, and [can-kefir](https://canjs.com/doc/can-kefir.html) is used to make the Kefir streams observable to [can-stache](https://canjs.com/doc/can-stache.html).

## 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:

- [Austin Kurpuis](https://github.com/imaustink)’s contributions to [CanJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Aimaustink%20org%3Acanjs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30) and [DoneJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Aimaustink%20org%3Adonejs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)
- [Bianca](https://github.com/bgando)’s contributions to [CanJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Abgando%20org%3Acanjs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30) and [DoneJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Abgando%20org%3Adonejs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)
- [Brad Momberger](https://github.com/bmomberger-bitovi)’s contributions to [CanJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Abmomberger-bitovi%20org%3Acanjs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)
- [Colin Leong](https://github.com/colin-tucows)’s contributions to [DoneJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Acolin-tucows%20org%3Adonejs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)
- [Ilya Fadeev](https://github.com/ilyavf)’s contributions to [bit-c3](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Ailyavf%20org%3Abitovi-components+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)
- [Jeroen Cornelissen](https://github.com/jeroencornelissen)’s contributions to [CanJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Ajeroencornelissen%20org%3Acanjs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)
- [Joel Kuzmarski](https://github.com/leoj3n)’s contributions to [bit-docs](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Aleoj3n%20org%3Abit-docs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30) and [DoneJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Aleoj3n%20org%3Adonejs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)
- [John Gardner](https://github.com/Sinjhin)’s contributions to [CanJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3ASinjhin%20org%3Acanjs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)
- [Juan Orozco](https://github.com/Macrofig)’s contributions to [CanJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3AMacrofig%20org%3Acanjs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)
- [Manuel Mujica](https://github.com/m-mujica)’s contributions to [DoneJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Am-mujica%20org%3Adonejs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30) and [StealJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Am-mujica%20org%3Astealjs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)
- [Mike 'mitch' Mitchel](https://github.com/mikemitchel)’s contributions to [CanJS](https://github.com/search?utf8=%E2%9C%93&s=created&o=asc&q=author%3Amikemitchel%20org%3Acanjs+is%3Apr+is%3Aclosed+created%3A2017-09-01..2017-09-30)

## Community Survey

Last month we asked you to [help us improve the DoneJS family of projects](https://www.bitovi.com/blog/help-us-improve-canjs-stealjs-and-the-rest-of-the-donejs-family) by taking our first [community survey](https://donejs.com/survey.html), and the results were outstanding! Our goal was to better understand what everyone thinks of the projects, and the feedback we received was invaluable.

We also heard what you wanted us to focus our attention on in the next six weeks. We [discussed](https://youtu.be/XWq2bwm-rjU?t=9m32s) [the results](https://forums.donejs.com/t/donejs-contributors-meeting-2017-09-29/727/10) in our [last contributors meeting](https://forums.donejs.com/t/donejs-contributors-meeting-2017-09-29/727). We’ve started working on the following epics:

- [Make CanJS easier to debug](https://github.com/canjs/canjs/issues/3278)
- [Group API docs by purpose instead of collection](https://github.com/canjs/canjs/issues/3404)
- [Reorganize the API page by topic](https://github.com/stealjs/stealjs/issues/76)
- [Queues for error-free and traceable code](https://github.com/canjs/canjs/issues/3507)
- [can-stache 4.0](https://github.com/canjs/can-stache/issues/289)

The next survey will go out Friday, November 3rd, so [sign up today](https://donejs.com/survey.html) to receive it when it becomes available!

## Say hello 👋

We have events scheduled for the following meetups; RSVP today and come say hello!

- [DoneJS Chicago — Oct 4](https://www.meetup.com/DoneJS-Chicago/events/242563989/)
- [Rockford Web Devs — Oct 10th](https://www.meetup.com/Rockford-Web-Devs/events/238442447/)
- [DoneJS Silicon Valley — Oct 11th](https://www.meetup.com/DoneJS-Silicon-Valley/events/243125502/)
- [DoneJS Boston — Oct 17th](https://www.meetup.com/DoneJS-Boston/events/243126089/)
- [DoneJS Los Angeles — Oct 17th](https://www.meetup.com/DoneJS-LA/events/243126081/)

As always, you can keep up with the latest in the community throughout the month 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 development](https://www.bitovi.com/hubfs/limbo/icons/tag.svg) development ](https://www.bitovi.com/blog/topic/development)[![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)[![Tag for donejs](https://www.bitovi.com/hubfs/limbo/icons/tag.svg) donejs ](https://www.bitovi.com/blog/topic/donejs)

 Previous Post

![banner-blog-gridCSS.jpg](https://www.bitovi.com/hs-fs/hubfs/blogposts/cssgrid/banner-blog-gridCSS.jpg?height=117&name=banner-blog-gridCSS.jpg) [ Using CSS Grid to Build a Page Layout with a Sticky Header and Footer ](https://www.bitovi.com/blog/using-css-grid-to-build-a-page-layout)

  

 Next Post

![](https://www.bitovi.com/hs-fs/hubfs/Banner_Images/lazy-cats.jpg?height=117&name=lazy-cats.jpg) [ Use Lazy Values to Speed Up Your JS Apps ](https://www.bitovi.com/blog/lazy-values-to-speed-up-your-js-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/september-2017-donejs-community-update",
    "@type" : "WebPage",
    "description" : "This post highlights the notable releases, community projects, and technical content released in the DoneJS community in September 2017."
  },
  "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" : "October 6, 2017, 8:36:41 PM",
  "datePublished" : "2017-10-03 18:54:49",
  "description" : "This post highlights the notable releases, community projects, and technical content released in the DoneJS community in September 2017.",
  "headline" : "September 2017 DoneJS Community Update",
  "image" : {
    "@type" : "ImageObject",
    "url" : "https://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"
  }
}
```