Storm 0.21

Milestone information

Project:
Storm
Series:
trunk
Version:
0.21
Released:
 
Registrant:
Colin Watson
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:
1 Adam Collard, 3 Alberto Donato, 1 Björn Tillenius, 4 Colin Watson, 1 Sidnei da Silva
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
12 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.21.tar.bz2 (md5) storm 0.21 107
last downloaded 55 weeks ago
Total downloads: 107

Release notes 

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.

Changelog 

This release does not have a changelog.

0 blueprints and 12 bugs targeted

Bug report Importance Assignee Status
1154359 #1154359 zope.component > 3.11 restriction breaks make develop on raring 3 High Colin Watson  10 Fix Released
1199578 #1199578 storm-0.20 installs tests directory in site-packages 3 High Colin Watson  10 Fix Released
1530734 #1530734 python3 compatibility 3 High Colin Watson  10 Fix Released
1451872 #1451872 SchemaTest failure 4 Medium Björn Tillenius  10 Fix Released
1461598 #1461598 Test failing on postgres 9.3: column "procpid" does not exist 4 Medium Alberto Donato  10 Fix Released
1563786 #1563786 Add Postgres JSON operators 4 Medium Alberto Donato  10 Fix Released
1035112 #1035112 Librarian: psycopg2.OperationalError: could not send data to server: Connection timed out 5 Low Sidnei da Silva  10 Fix Released
1462224 #1462224 Add support for Postgres CASE 5 Low Alberto Donato  10 Fix Released
676702 #676702 Foreign Keys support for SQLite 1 Undecided   10 Fix Released
1006711 #1006711 Use ABCMeta for storm.exceptions? 1 Undecided Colin Watson  10 Fix Released
1170063 #1170063 Storm crashes on recent psycopg2 1 Undecided   10 Fix Released
1549962 #1549962 Failing tests on xenial 1 Undecided Adam Collard  10 Fix Released
This milestone contains Public information
Everyone can see this information.