Getting to 1.0

Introduction

Twisted 1.0 is not going to be stable. What is going to be stable are specific APIs, namely twisted.internet. Other parts of Twisted are still too immature to be considered stable, and will be worked on in later versions.

The goal of this release, then, is to have twisted.internet in a state where it is a suitable replacement for asyncore/Medusa. That means it should be stable API-wise, have as many tests as we can possibly write for it, and be well documented.

Process

We will, as soon as the twisted.internet APIs are stable, switch to version 0.99.0. At this point, our goal is to document, write tests and fix bugs in twisted.internet - all changes must API compatible from this point onwards.

Changes to other parts of Twisted are acceptable, as long as they follow are usual policies.

1.0 will be released when we feel that the level of bugs is sufficiently low, and the amount of documentation and unit tests is sufficiently high.

Requirements for 0.99

I don't think we need to mark all modules for API stability level. I think we only need to mark modules that *are* stable, if they're not stable, "semi-stable" isn't useful, since we may yet think of some major changes that will make it less stable.

So, another requirement is marking all modules whose API is stable as such, the rest of the modules can be left unmarked.

Requirements for 1.0

These are non-API-related changes that need to be made before 1.0 is released.