[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