Google Groups

SocketStream 0.3.0 released!

SocketStream Aug 2, 2012 5:58 AM
Posted in group: SocketStream
Hi all

I'm very pleased to announce SocketStream 0.3.0 is out and has been pushed to npm.

This is the end result of months of experimentation and development, lessons learned from previous versions, and many kind contributions from our growing community of users (now over 2000 watchers on Github!).

As many of you have been successfully running pre-release versions of 0.3 over the last few months, I'm happy to declare 0.3.0 stable, with the obvious caveat that SocketStream is still *very new* software and any external production deployments must be done with caution. Don't use it for anything super-important (or financial) just yet.


I'm proud to say SocketStream 0.3.0 contains all of the features I spoke about implementing last November at KrtConf (see video at That includes:

* Support for multiple Single Page Clients
* Awesome support for Client Side Templates
* Modular Code Formatters (e.g. Stylus, Jade, etc)
* Modular Websocket Transports (Socket.IO and SockJS are currently supported)
* Request Responders to allow for model syncing and high-speed custom protocols
* Complete rewrite of 0.2. The core is now far more modular and extensible
* Designed to work well with Express and other npm modules

In addition we have a number of great new features introduced over the last 6 months:

* Ability to share sessions between HTTP and WS requests (big win for authentication!)
* The use of Browserify to support client-side modules
* ss-console module - Allows you execute commands against a live server over the REPL

What's new since 0.3 RC2

In summary: A few changes to asset packing and the addition of CDN support to make deployment easier. Several improvements to error handling to increase stability in production.

Good news for all module developers: The API has not changed since RC2 and is now frozen. Subsequent 0.3 releases will focus purely on bug fixes and minor feature enhancements.

I've also spruced up the README, updated all the 'Tour' code on with the latest syntax, added a new "Hosting in Production" guide (, and brought all of the documentation on Github up-to-date.

For those upgrading from 0.2, please see the updated "Changes since 0.2" doc at and feel free to get in touch if you need any help migrating.

Promotion vs Development

As you may know, my original plan was to invest time promoting SocketStream 0.3 with screencasts, building example apps, and expanding

I still fully intend to do all these things; however, I've learned over the years to always work on what you feel most passionate about at the time - so called 'mood driven development' as @antirez puts it (

Over the last month or so (and particularly after NodeConf) I've felt the urge to take a second pass at some of the features in SocketStream 0.3 to see how we can design and architect them better - especially the Request Responder API (which I'm the first to admit is not as simple or elegant as it should be).

As a result of all this experimentation, development of the next major release (SocketStream 0.4) is now well underway. It's not going to be a revolutionary change like 0.3 was, but an evolutionary improvement that builds upon the solid foundation of ideas in 0.3.

I've posted a separate announcement about 0.4 which gives you a preview of some of the upcoming features:!topic/socketstream/gUqMba0dUJg

Speaking Events

I'm going to be speaking about SocketStream at a number of conferences in September, October and November.
The first will be LXJS in Lisbon which I'm hugely excited about! Watch out for more announcements shortly.

And finally...

As I immerse myself in 0.4 development over the coming weeks, if you're using SocketStream and like what you see, please feel free to let others know. I am particularly encouraged by some of the recent comments on Hacker News ( which make me feel confident we are on the right track.

Thanks again to everyone for your ideas, pull requests and support. Enjoy :)