Question: What is the versioning style of the project?

Answer: 
You should only be using even numbered versions: `x.[even].z`. These are all "stable" and bug fixes will be released to them (until the next minor version). Only the latest `x.[even].z` version is supported at any given time.

For compatibility, you should just look at the documentation. For example, for events: <http://nodejs.org/api/events.html>

> 
> Stability: 4 - API Frozen
> 
> 
> 

That means you can be rest assured that the EventEmitter class will never change.

Then there's stuff like [domains](http://nodejs.org/api/domain.html) where no one is sure what they're doing, and you probably shouldn't be using it:

> 
> Stability: 1 - Experimental
> 
> 
> 

Your best best is just to stick with `Stability >= 3` features and not worry about compatibility between versions.

Also, there doesn't seem to be a strict release cycle.
Node has a two-track versioning system. Even-numbered versions (0.4, 0.6, 0.8) are stable, and odd-numbered versions are unstable. The stable releases are API-stable, which means that if you are using 0.8.1 and 0.8.2 comes out, you should be able to upgrade with no issues. 

On the 0.9.x stream, any update may change the API, especially in parts of the system that are under active development. When the odd-version reaches a certain level of stability and maturity, it becomes the next even-version.