Peewee v3.4.0 Release Notes

  • Backwards-incompatible changes

    • The regexp() operation is now case-sensitive for MySQL and Postgres. To perform case-insensitive regexp operations, use iregexp().
    • ๐Ÿ‘ The SQLite BareField() field-type now supports all column constraints except specifying the data-type. Previously it silently ignored any column constraints.
    • LIMIT and OFFSET parameters are now treated as parameterized values instead of literals.
    • The schema parameter for SQLite database introspection methods is no longer ignored by default. The schema corresponds to the name given to an attached database.
    • ArrayField now accepts a new parameter field_kwargs, which is used to pass information to the array field's field_class initializer.

    ๐Ÿ†• New features and other changes

    • ๐Ÿ‘ SQLite backup interface supports specifying page-counts and a user-defined progress handler.
    • ๐Ÿš€ GIL is released when doing backups or during SQLite busy timeouts (when using the peewee SQLite busy-handler).
    • โž• Add NATURAL join-type to the JOIN helper.
    • ๐Ÿ‘Œ Improved identifier quoting to allow specifying distinct open/close-quote characters. Enables adding support for MSSQL, for instance, which uses square brackets, e.g. [table].[column].
    • โฑ Unify timeout interfaces for SQLite databases (use seconds everywhere rather than mixing seconds and milliseconds, which was confusing).
    • โž• Added attach() and detach() methods to SQLite database, making it possible to attach additional databases (e.g. an in-memory cache db).

    View commits