The latest release of South is bristling with new features and database support, and plenty of bugfixes, of which most are (perhaps somewhat ironically) for the new features.
Major changes include:
- Column type alteration with the new db.alter_column API request; just pass in the names, and a new Field instance.
- A new --add-field Model.field option to startmigration, that automates the common use case of adding a column (or several).
- Basic SQLite support. There's no column alteration or deletion yet (SQLite doesn't support these natively); this should hopefully be in the next release.
- Full support for model inheritance and ManyToManyFields.
- Initial GeoDjango support.
- A 'dry run' ability to test the SQL output of migrations before they are applied.
- Better error handling for MySQL; migrations are now dry-run first to check for syntax errors, and if an error does occur during a migration, helpful advice is printed.
- The post_syncdb signal is now delayed until the end of the migration sequence, so the signal handlers get to see up-to-date tables.
- Very preliminary support for SQL Server
- Index database API methods
For the full list of changes, browse through the Timeline.
0.4 can be downloaded from our downloads page.