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.
There is not a strict timed-release cycle. The primary maintainer of Node.JS is a guy named Isaac Schleuter and he has been very public about his goals and targets with node. He is also open to a lot of community input on this, so they run NodeConf and Node Summer Camp and some other events to gather input.

If you have time to really dig into the community, check out the [NodeUp podcast](http://nodeup.com/) and some of Isaac's talks to get an idea about the direction they are going and APIs.

You ask about version 1.0. As far as I remember, Isaac has a couple of specific things he wants to stabilize before going to version 1.0. In particular, I remember Streams and Buffers which have really become key to node's growth. (*that's stated, this just from memory*)