[storm] Announcing Storm 0.15!
Jamu Kakar
jkakar at kakar.ca
Sat Aug 8 04:56:13 BST 2009
Hi,
I documented the procedure I used to create the release:
https://storm.canonical.com/ReleaseProcedure
I would eventually like to automate the release process, but for now
documentation will have to do.
Thanks,
J.
On Fri, Aug 7, 2009 at 8:42 PM, Jamu Kakar<jkakar at kakar.ca> wrote:
> The Storm team is proud to announce Storm 0.15!
>
> The new release includes a number of new features:
>
> * New GenerationalCache object cache
> * New ResultSet.find method and other improvements
> * New Neg and Coalesce expressions
> * Python 2.6 is supported
> * New Ubuntu packages
>
> Read on for more...
>
>
> New GenerationalCache object cache
> ----------------------------------
>
> A new GenerationalCache is available. It can be used in place of
> the default Cache and will likely become the default in the future.
> You can use it by passing it as a parameter to Store:
>
> from storm.locals import Store, create_database
> from storm.cache import GenerationalCache
>
> uri = "<uri>"
> store = Store(create_database(uri), GenerationalCache())
>
> Also note that the default cache size has been increased from 100
> objects to 1000. Please try the new cache and report your results
> to mailing list.
>
>
> New ResultSet.find method and other improvements
> ------------------------------------------------
>
> The new ResultSet.find method works just like ReferenceSet.find. It
> takes a list of expressions and uses them to filter the items in the
> original result:
>
> result = store.find(Foo, Foo.bar == 42)
> result = result.find(Foo.baz > 7)
>
> In addition to the new find, ResultSet.set works with expressions and
> ResultSet.remove returns the number of rows that were deleted.
>
>
> New Neg and Coalesce expressions
> --------------------------------
>
> The new Neg expression prepends a minus sign to the expression it
> wraps, providing unary minus. The new Coalesce expression takes an
> arbitrary number of columns and calls the COALESCE function with
> them.
>
>
> Python 2.6 is supported
> -----------------------
>
> Python 2.6 is now fully supported with all tests passing. In
> addition, Storm's C extension compiles for python 2.4, 2.5 and 2.6.
> The PostgreSQL backend now requires pyscopg2 2.0.7 or newer.
>
>
> New Ubuntu packages
> -------------------
>
> This release includes official packages for all supported releases
> of Ubuntu. They are available in the Storm team's PPA:
>
> https://edge.launchpad.net/~storm/+archive/ppa
>
> You can find the release files at:
>
> https://launchpad.net/storm/+download
>
> You can always get the latest source code from Launchpad:
>
> bzr branch lp:storm
>
> As always, you can join us in channel #storm on irc.freenode.net and
> on the storm mailing list:
>
> https://lists.canonical.com/mailman/listinfo/storm
>
>
> Detailed changelog
> ------------------
>
> Improvements:
>
> * Add support for latest version on Django by not checking arguments
> passed to _cursor.
> * Added support for using Expressions with ResultSet.set().
> * The default cache size was changed from 100 to 1000 objects.
> * Added the new GenerationalCache with a faster implementation of
> the caching API (by Jeroen Vermeulen). This will likely become
> the default implementation in the future, so please test it if
> possible.
> * A new UUID property type has been added. It depends on the uuid
> module introduced in Python 2.5 to represent values.
> * The StoreDataManager now gets passed a transaction manager from the
> ZStorm utility. This will make it easier to support non-default
> transaction managers in the future.
> * An adapter is now available for converting ISQLObjectResultSet
> objects to IResultSet. This is intended to help in gradual porting
> SQLObject applications to Storm's native API (bug #338184, by Gavin
> Panella).
> * If a disconnection occurs outside of Storm's control, a
> DisconnectionError will still be raised next time the connection is
> used through Storm. This is useful if the connection is being
> shared with another framework like Django (bug #374909).
> * The PostgreSQL backend now requires psycopg2 >= 2.0.7. The work
> around for broken quoting behaviour in older psycopg2 versions has
> been removed. (bug #322206).
> * A new Neg expression is available. It provides unary minus by
> prepending a minus sign to whatever expression is passed to it
> (bug #397654 by Michael Hudson).
> * A new Coalese expressions is available.
> * ResultSets now have a find(). It acts similar to Store.find(), but
> without the first argument (it uses the same classes as the original
> result), and only returns results found in the original result set.
> (bug #338255).
> * Result.rowcount exposes the number of rows affected by the
> query, when known.
> * ResultSet.remove returns the number of rows deleted from the database.
> (bug #180122).
>
> Bug fixes:
>
> * The fix for ResultSet.count() on distinct results from last release
> has been improved, and the fix has been extended to the other
> aggregates. This may change the result of some count(), min(),
> max(), sum() and avg() calls for results using distinct, limit or
> offset.
> * The test suite now passes when run with Python 2.6.
> * ListVariable now converts its elements to database representation
> correctly (bug #136806 reported by Marc Tardif).
> * compile_python now works for values that don't produce valid Python
> expressions with repr().
> * The C extension should now build under Windows.
>
More information about the storm
mailing list