[storm] Storm 0.22 is out

Colin Watson cjwatson at canonical.com
Sat Nov 23 03:10:24 UTC 2019


On Thu, Nov 21, 2019 at 11:32:03AM +0000, Colin Watson wrote:
> The Storm team is proud to announce Storm 0.22!

Incidentally, the announcement for the previous Storm 0.21 release never
made it to this list, probably because of changes in Canonical's mailing
list infrastructure (posting to this list now requires emailing
storm at lists.ubuntu.com, not storm at lists.canonical.com; I bounced the
parent message to lists.u.c after wondering why it hadn't shown up).

So, for completeness, here's the NEWS file section for 0.21 (but do use
0.22 instead):

0.21 (2019-09-20)
=================

Improvements
------------

- A new storm.schema.sharding.Sharding class has been added to the schema
  package, which can apply patches "in parallel" against a set of stores. See
  the module docstring for more information.
- Added tox testing support.
- Re-raise DB-API exceptions wrapped in exception types that inherit from
  both StormError and the appropriate DB-API exception type, rather than
  injecting virtual base classes. This preserves existing exception handling
  in applications while also being a viable approach in Python 3.
- Port to Python 3 (bug #1530734, based partly on contributions from Thiago
  Bellini).  Existing Python 2 users should be unaffected.  For people
  porting to Python 3, note the following API changes relative to Python 2:
  - On Python 3, raw=True and token=True in storm.expr.Compile.__call__ only
    treat str specially, not bytes and str, because ultimately the compiler
    is assembling a text string to send to the database.
  - On Python 3, storm.tracer.BaseStatementTracer.connection_raw_execute
    renders text parameters using ascii() rather than by encoding to bytes
    and then calling repr().  While this does result in slightly different
    output from Python 2, it's normally more useful since the encoding is in
    terms of Unicode codepoints rather than UTF-8.
  - storm.sqlobject.AutoUnicodeVariable (and hence StringCol) explicitly
    documents that it only accepts text on Python 3, since native strings
    are already Unicode there so there's much less need for the porting
    affordance.

Bug fixes
---------

- Fixed SQLObject tests to work with SQLObject 2.x by using Unicode strings for
  LIKE operations.
- Cope with ThreadTransactionManager changes in transaction 2.4.0.
- Move tests to a new storm.tests package to avoid package manager conflicts
  (bug #1199578).

API changes
-----------

- Removed Django support, storm.django is no more.
- Removed MySQL support.
- Removed support for Python < 2.6.

-- 
Colin Watson                                    [cjwatson at canonical.com]



More information about the storm mailing list