SQLObject 3.2.0

Released 11 Mar 2017.

Minor features

  • Drop table name from VACUUM command in SQLiteConnection: SQLite doesn’t vacuum a single table and SQLite 3.15 uses the supplied name as the name of the attached database to vacuum.
  • Remove driver keyword from RdbhostConnection as it allows one driver rdbhdb.
  • Add driver keyword for FirebirdConnection. Allowed values are ‘fdb’, ‘kinterbasdb’ and ‘pyfirebirdsql’. Default is to test ‘fdb’ and ‘kinterbasdb’ in that order. pyfirebirdsql is supported but has problems.
  • Add driver keyword for MySQLConnection. Allowed values are ‘mysqldb’, ‘connector’, ‘oursql’ and ‘pymysql’. Default is to test for mysqldb only.
  • Add support for MySQL Connector (pure python; binary packages are not at PyPI and hence are hard to install and test).
  • Add support for oursql MySQL driver (only Python 2.6 and 2.7 until oursql author fixes Python 3 compatibility).
  • Add support for PyMySQL - pure python mysql interface).
  • Add parameter timeout for MSSQLConnection (usable only with pymssql driver); timeouts are in seconds.
  • Remove deprecated

Drivers (work in progress)

  • Extend support for PyGreSQL driver. There are still some problems.
  • Add support for py-postgresql PostgreSQL driver. There are still problems with the driver.
  • Add support for pyfirebirdsql.There are still problems with the driver.

Bug fixes

  • Fix MSSQLConnection.columnsFromSchema: remove ( and ) from default value.
  • Fix MSSQLConnection and SybaseConnection: insert default values into a table with just one IDENTITY column.
  • Remove excessive NULLs from CREATE TABLE for MSSQL/Sybase.
  • Fix concatenation operator for MSSQL/Sybase (it’s +, not ||).
  • Fix MSSQLConnection.server_version() under Py3 (decode version to str).


  • The docs are now generated with Sphinx.
  • Move docs/LICENSE to the top-level directory so that Github recognizes it.


  • Rename py.test -> pytest in tests and docs.
  • Great Renaming: fix pytest warnings by renaming TestXXX classes to SOTestXXX to prevent pytest to recognize them as test classes.
  • Fix pytest warnings by converting yield tests to plain calls: yield tests were deprecated in pytest.
  • Tests are now run at CIs with Python 3.5.
  • Drop Circle CI.
  • Run at Travis CI tests with Firebird backend (server version 2.5; drivers fdb and firebirdsql). There are problems with tests.
  • Run tests at AppVeyor for windows testing. Run tests with MS SQL, MySQL, Postgres and SQLite backends; use Python 2.7, 3.4 and 3.5, x86 and x64. There are problems with MS SQL and MySQL.

SQLObject 3.1.0

Released 16 Aug 2016.


  • Add UuidCol.
  • Add JsonbCol. Only for PostgreSQL. Requires psycopg2 >= 2.5.4 and PostgreSQL >= 9.2.
  • Add JSONCol, a universal json column.
  • For Python >= 3.4 minimal FormEncode version is now 1.3.1.
  • If mxDateTime is in use, convert timedelta (returned by MySQL) to mxDateTime.Time.


  • Developer’s Guide is extended to explain SQLObject architecture and how to create a new column type.
  • Fix URLs that can be found; remove missing links.
  • Rename reStructuredText files from *.txt to *.rst.

Source code


  • Tests are now run at Circle CI.
  • Use pytest-cov for test coverage. Report test coverage via and
  • Install mxDateTime to run date/time tests with it.

SQLObject 3.0.0

Released 1 Jun 2016.


  • Support for Python 2 and Python 3 with one codebase! (Python version >= 3.4 currently required.)

Minor features

  • PyDispatcher (>=2.0.4) was made an external dependency.


  • Source code was made flake8-clean.


Older news

Get SQLObject at Fast, secure and Free Open Source software downloads