Storm 0.16

Milestone information

Project:
Storm
Series:
trunk
Version:
0.16
Released:
 
Registrant:
Jamu Kakar
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
4 James Henstridge, 4 Jamu Kakar, 2 Thomas Herve
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
1 Invalid, 9 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon storm-0.16.0.tar.bz2 (md5, sig) Storm 0.16 6,356
last downloaded 4 days ago
Total downloads: 6,356

Release notes 

The Storm team is proud to announce Storm 0.16!

The new release includes a number of new features:

 * Storm's C extensions are enabled by default
 * Comparable expressions have new string comparison methods
 * The default object cache size has been changed
 * Set expressions use fewer stack frames during compilation
 * MySQL reserved words are correctly handled

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

Finally, you can join us in the #storm channel on irc.freenode.net
and on the Storm mailing list:

  https://lists.canonical.com/mailman/listinfo/storm

Read on for more...

Storm's C extensions are enabled by default
-------------------------------------------

Storm has had C extensions for a long time, but until now they've
been disabled by default. The extensions have a significant
improvement on performance and are now used by default. The
extensions can be disabled by defining a STORM_CEXTENSIONS=0
environment variable. When not available, Storm will automatically
fall back to the equivalent Python versions of optimized code.

Comparable expressions have new string comparison methods
---------------------------------------------------------

Comparable expressions (such as Column and Alias) provide new
startswith(), endswith() and contains_string() methods. These
methods perform prefix, suffix and substring comparisons using LIKE.
Strings used with these methods are automatically escaped.

The default object cache size has been changed
----------------------------------------------

Storm 0.15 included an announcement about the default cache size
being changed from 100 items to 1000 items. Due to a bug this
information was actually incorrect. This is now fixed and should
result in improved performance. Please report any problems or
concerns about this change to the mailing list.

Set expressions use fewer stack frames during compilation
---------------------------------------------------------

The set expression constructor flattens the first argument, if it's
part of the same type. The resulting expression tree uses fewer
stack frames during compilation, reducing the chance of hitting
Python's recursion limit.

MySQL reserved words are correctly handled
------------------------------------------

In addition to the standard SQL92 reserved words, MySQL has it's own
set reserved words. Storm is now aware of them and will perform
escaping correctly, making it easier for users that have table and
column names that conflict with this list.

Changelog 

View the full changelog

Improvements
------------
 - The set expression constructor will now flatten its first argument
   if it is of the same type. The resulting expression tree uses less
   stack when compiling so reduces the chance of hitting Python's
   recursion limit (bug #242813).
 - Add startswith(), endswith() and contains_string() methods to
   Comparable. These methods perform prefix, suffix and substring
   checks respectively using the LIKE operator, taking care of escaping
   for you (bug #387840).
 - C extensions are enabled by default. Define the
   STORM_CEXTENSIONS=0 environment variable to disable them (bug #410592).
 - The README file contains information about Storm's license and
   detailed instructions on setting up a development environment
   suitable for running the entire test suite.
 - 'make doc' uses Pydoctor to generate API documentation.
 - Integration tests for Django now work with Django 1.1.

Bug fixes
---------
 - Remove a leak when mutable variables (ListVariable or PickleVariable
   instances) are collected before store.flush, leaving hooks behind them.
 - The ResultSet min, max and sum methods now work correctly when the
   result set is empty and the column has allow_none=False set.
   Previously this resulted in a NoneError (bug #457801).
 - MySQL reserved words are handled properly (bug #433833).
 - Test loading code has been simplified. Support for py.test has
   been removed in this process, as it was not functioning correctly
   and didn't fit into the PyUnit framework (bug #331905).
 - Remote diverged and remote deleted references now use a weak
   (Python) reference to the local object. This prevents a leak
   when the remote object stays in memory (bug #475148).
 - Check for invalidated state when returning the remote object of a
   relation: it fixes a bug if the local key of the Reference is the
   primary key (bug #435962).
 - The default Cache instance created for a Store honours Cache's
   default size. Store's docstring has been updated to reflect
   this (bug #374180).

0 blueprints and 10 bugs targeted

Bug report Importance Assignee Status
411967 #411967 Storm should provide a LeftOuterJoin expression 4 Medium Jamu Kakar  3 Invalid
475148 #475148 Object leak on reference flush 3 High Thomas Herve  10 Fix Released
374180 #374180 Error in pydoc for storm.store.Store related to default cache size 4 Medium Jamu Kakar  10 Fix Released
410592 #410592 C extensions should be used by default when available 4 Medium Jamu Kakar  10 Fix Released
435962 #435962 Reference can return a cached invalidated object if the local key is the primary key 4 Medium Thomas Herve  10 Fix Released
457801 #457801 Aggregates of allow_none=False columns break for empty result sets 4 Medium James Henstridge  10 Fix Released
242813 #242813 ResultSet set expression API limits size of unions and intersections 5 Low James Henstridge  10 Fix Released
331905 #331905 support for multiple test runners appears to have bitrotted. 5 Low James Henstridge  10 Fix Released
433833 #433833 reserved word "release" in MySQL causing error 5 Low Jamu Kakar  10 Fix Released
387840 #387840 CONTAINSSTRING should move to storm.expr 6 Wishlist James Henstridge  10 Fix Released
This milestone contains Public information
Everyone can see this information.