[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