Development on MySQL-python has been a lot slower than I expected, primarily because a new job ate up a lot of my time. However I have managed to get the first 1.0.0 release candidate out during my vacation.
I came to the conclusion that if I was going to get anything accomplished, I needed to have some intermediary releases before 2.0. So here's the revised roadmap:
1.0: Supports all versions of Python from 1.5.2 to 2.3.4 (currently a release candidate), and all MySQL versions from late 3.22 through 4.0 but not 4.1 and later. 1.0.0 should definitely be out around Memorial Day weekend, barring any major disasters. However, there are some issues that are nearly impossible to resolve while maintaining compatibility with Python 1.5.2.
1.1: Requires at least Python 2.3, and supports only MySQL 4.0 (3.23 will probably also be fine). This is the development branch.
1.2: Like 1.1, but this will be the stable release branch.
2.0: May be a complete rewrite for the new Prepared Statements API in MySQL 4.1 and up, or might support both the new and old methods; hasn't been determined yet. MySQL 4.1 is still in development.
I plan for 1.1 to have a very short development cycle. Here's how 1.1 will be different from 1.0 and the current 0.9:
Dropping support for ancient versions of Python; 2.3 will be the minimum required version (for datetime)
Remove the various non-warning (NW) cursor classes; the warnings module will be used instead, and the application can create a filter to either ignore warnings or do something with them, like raise an exception (the current behavior)
Use the standard datetime module for all time-related values; if you prefer to use something else, you can still override this behavior
Use weak references in some cases to avoid problems with connections not being garbage-collected
New-style classes for database connections (sorta does this in a roundabout way now if types.ObjectType exists)
Most of this stuff I've already done but not checked in. There'll probably only be one or two 1.1 releases and then it'll be 1.2. Any further 1.2 releases will be strictly bug-fix releases. After that, maybe I can work on 2.0 (or 1.9).
2.0 is also likely to have a row object that can behave like a sequence or a mapping (dictionary), which will remove the need for the various Cursor classes, but you would still be able to make your own subclasses if you want.
Please test 1.0.0rc1 and report any bugs to the tracker. I've already fixed a couple so please look at closed bugs first. Also test 1.1.0 when I release it.
Log in to post a comment.