The Storm team is proud to announce Storm 0.20! Tarballs can be found at Launchpad or PyPI:
https://launchpad.net/storm/+milestone/0.20 https://pypi.python.org/pypi/storm >From the NEWS file: 0.20 (2013-06-28) ================= Improvements ------------ - A new CaptureTracer has been added to storm.testing, for capturing all SQL statements executed by Storm. It can be used like this: with CaptureTracer() as tracer: # Run queries pass print tracer.queries # Print all queries run in the context manager block You will need the python-fixtures package in order to use this feature. - Setuptools <http://pypi.python.org/pypi/setuptools> is now required to run setup.py. This makes it much easier to install the majority of the dependencies required to run the test suite in its entirety. - Disconnection errors arising from PostgreSQL are now more reliably detected, especially with regard to recent libpq updates in Ubuntu. There are also disconnection tests that simulate sudden termination of pgbouncer <http://pgfoundry.org/projects/pgbouncer/>. - Insert expressions now support multi-row and subquery INSERT statements. - Support in the postgres backend to use the RETURNING extension for UPDATE statement, optionally specifying the columns to return. (PostgreSQL >= 8.2 only) - Add a new Distinct expression for pre-pending the 'DISTINCT' token to SQL expressions that support it (like columns). - Switch to REPEATABLE READ as isolation level for Postgres. If you use psycopg2 < 2.4, it doesn't change anything. For psycopg2 2.4 and newer, it will keep the same behavior on Postgres < 9 as it's equivalent to SERIALIZABLE, but it will be less strict on Postgres >= 9. - Add support for two-phase commits, using the DB API version 2.0, which is only supported by PostgreSQL. - ZStormResourceManager now has a schema_stamp_dir optional instance attribute that, if set, will be used to to save timestamps of the schema's patch packages, so schema upgrades will be performed only when needed. Bug fixes --------- - When a SQLObjectResultSet object was sliced with slice.start and slice.end both zero (sqlobject[0:0]), the full, unsliced resultset was returned (bug #872086). - Fixes some test failures around Django disconnections from PostgreSQL stores. - Some of the proxy-less disconnection tests were causing segfaults, so they're now run in a subprocess via subunit's IsolatedTestCase, when it's available. - Fix a few non-uses of super() in TestHelper. - Abort the transaction and reset ZStorm at the end of tests/zope/README.txt. - Fix the ./test script to not import tests until after local eggs have been added to sys.path. This ensures that all possible features are available to the tests. - If transaction.commit() fails, call transaction.abort() to rollback everything and leave the transaction in a clean state when using Django's ZopeTransactionMiddleware and DatabaseWrapper. - It's now again possible to use the Desc() expression when passing an order_by parameter to a ReferenceSet (bug #620369). Enjoy :) Free -- storm mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/storm
