Instead of catching database operational exceptions and returning them in a dictionary, which was the original behavior, — as of this release, database errors are simply raised as they would be if using SQLAlchemy or a DB-API driver directly. Logging exceptions was also considered as an alternative to raising them, but this decision to let them happen seems better and I have noticed it is in keeping with prior art in this area, such as Records or PugSQL.
The original behavior was included due to my concern that database errors can be hard to test for, and might occur due to missing or erroneous user behavior rather than due to software bugs. It might well be a bad idea, from the point of view of an application that uses this library, for execution to halt on such errors. Where that is the case, it now seems to me better for any code that calls `db.result()` to wrap that call in a try/except block, than for the library to attempt to anticipate this and catch the error itself.
Obviously, this could be a breaking change (I imagine it will be for Nerium) and any consumers should test their applications carefully when attempting to upgrade.