Há alguns dias atrás foi lançada a versão 0.5.0 do SQLAlchemy. Eu fiz uma tradução o e-mail de lançamento de Michael Bayer. Segue:
Estou feliz em anunciar o lançamento do SQLAlchemy 0.5.0, a primeira versão oficial da série .Essa série tem sido desenvolvida desde os sprints na Pycon 2008, onde nós começamos a reorganizar o sistema de atributos do ORM e adicionamos suporte abrangente a rollback e suporte a SAVEPOINT para a sessão.
Para realmente ter uma noção das novidades, o documento http://www.sqlalchemy.org/trac/wiki/05Migration aponta a maioria delas, e uma boa leitura no tutorial de ORM e na documentação da sessão ilustram as principais mudanças de paradigma na série 0.5. As mudanças mais profundas são:
* Query pode agora selecionar qualquer combinação de entidades/colunas, habilitadas pelo ORM ou não
* A camada declarativa foi muito bem testada e deve ser considerada como uma primeira escolha para muitas aplicações.
* A Session ativamente expira seu estado após uma operação de commit e pode reverter seu estado interno após um rollback (tudo isso é configurável, já que resulta em uma porção de consultas SQL sendo feitas ao banco).SAVEPOINTs são muito úteis.
* A habilidade do Query de criar joins automaticamente ou semiautomaticamente usando o query.join() foi grandemente melhorada.
* O objeto Query pode fazer updates e deletes diretamente baseados em critérios.
* Os sistemas de joined and single table inheritance systems, foram dramaticamente melhorados, principalmente do ponto de vista do objeto Query.
* O ORM tem muitos pontos de extensibilidade novos, incluindo AttributeExtension, SessionExtension, e comparator_factory.
* O método de configurar valores padrões no nível de esquema foi simplificado.
* O dialeto MS-SQL foi vastamente melhorado e tem suporte ativo graças ao trabalho incansável de Michael Trier.
* A velocidade aumentou cerca de 20% sobre o 0.4.
* A documentação foi convertida para o Sphinx, e uma nova referência da API com busca foi criada.
* O Python 2.3 não é mais suportado.A série 0.5 foi pré-lançada através de uma série de quatro versões candidatas a liberação em um período de muitos meses, então muitos aplicativos em produção já estão usando a série 0.5 do SQLAlchemy, incluindo a nova aplicação de blog de Armin Ronacher, o Zine: http://zine.pocoo.org/ .
Também está em desenvolvimento a série 0.6 do SQLAlchemy, que é onde tencionamos fazer nossa reforma dos dialetos, que permitirá os DBAPIs interagirem com os dialetos de banco de dados de uma forma agnóstica – isso irá facilitar o suporte a dialetos que sejam agnósticos em relação ao backend, como o zxJDBC, mxODBC, pyodbc, assim como dialetos alternativos como o pg8000 que estão provando serem muito rápidos em termos de Py3K. Nosso suporte a Py3K está previsto para o 0.6 onde esperamos que o agnosticismo em relação ao DBAPI irá nos permitir utilizar rapidamente os driver para Py3K assim que eles forem lançados.
Mais em: http://www.sqlalchemy.org/