Many of the outstanding features of Qpid are dependent on the AMQP 0-9 specification. This includes the implementation of the new frame types and the message class, which replaces the current basic, stream and file classes. To achieve this, I propose the following steps:
1. Branch subversion so that those that still need access to 0-8 may still get it. Any changes made on the branch will need to be merged with the trunk at a later time. 2. Change the trunk to use the 0-9 XML files (these have already been checked in to the spec directory, all that is required is to reconfigure the code generator to use the new files.) The thinking here is that the main development effort should always be centered on the trunk. 3. The code generator will support the ability to suppress elements of the XML spec file without requiring the spec file itself to be modified. This does not currently exist, but will be fairly simple to add. This will allow the basic class to be suppressed on an implementation-by-implementation basis without breaking others that may still use it. 4. It is understood that the implementation of the new message class will take a week or two to complete, and that the trunk will be non-functional until these changes are complete. At a minimum, checkins should compile, but may not pass all functional tests. 5. A coordinated and simultaneous effort will be required to update the C++, Java and Python codebase to implement and use the new frame and message classes. The other clients can follow later. I hope to kick this process off on Thursday, 4th January 2007, and have all the new classes operational and tests passing within a week or so. Comments? Kim