All Versions
134
Latest Version
Avg Release Cycle
36 days
Latest Release
-

Changelog History
Page 1

  • v3.15.4 Changes

    • ๐Ÿ‘ป Raise an exception in ReconnectMixin if connection is lost while inside a transaction (if the transaction was interrupted presumably some changes were lost and explicit intervention is needed).
    • โž• Add db.Model property to reduce boilerplate.
    • โž• Add support for running prefetch() queries with joins instead of subqueries (this helps overcome a MySQL limitation about applying LIMITs to a subquery).
    • โž• Add SQL AVG to whitelist to avoid coercing by default.
    • ๐Ÿ‘ Allow arbitrary keywords in metaclass constructor, #2627
    • โž• Add a pyproject.toml to silence warnings from newer pips when wheel package is not available.

    ๐Ÿš€ This release has a small helper for reducing boilerplate in some cases by exposing a base model class as an attribute of the database instance.

  • v3.15.3 Changes

    • โž• Add scalars() query method (complements scalar()), roughly equivalent to writing [t[0] for t in query.tuples()].
    • Small doc improvements
    • ๐Ÿ›  Fix and remove some flaky test assertions with Sqlite INSERT + RETURNING.
    • ๐Ÿ›  Fix innocuous failing Sqlite test on big-endian machines.

    View commits

  • v3.15.2 Changes

    • ๐Ÿ›  Fix bug where field-specific conversions were being applied to the pattern used for LIKE / ILIKE operations. Refs #2609
    • Fix possible infinite loop when accidentally invoking the __iter__ method on certain Column subclasses. Refs #2606
    • โž• Add new helper for specifying which Model a particular selected column-like should be bound to, in queries with joins that select from multiple sources.

    View commits

  • v3.15.1 Changes

    • ๐Ÿ›  Fix issue introduced in Sqlite 3.39.0 regarding the propagation of column subtypes in subqueries.
    • ๐Ÿ›  Fix bug where cockroachdb server version was not set when beginning a transaction on an unopened database.

    View commits

  • v3.15.0 Changes

    โช Rollback behavior change in commit ab43376697 (GH #2026). Peewee will no longer automatically return the cursor rowcount for certain bulk-inserts. This should only affect users of MySQL and Sqlite who relied on a bulk INSERT returning the rowcount (as opposed to the cursor's lastrowid). The rowcount behavior is still available chaining the as_rowcount() method:

  • v3.14.10 Changes

    • โž• Add shortcut for conditional insert using sub-select, see #2528
    • Add convenience left_outer_join() method to query.
    • โž• Add selected_columns property to Select queries.
    • โž• Add name property to Alias instances.
    • ๐Ÿ›  Fix regression in tests introduced by change to DataSet in 3.14.9.

    View commits

  • v3.14.9 Changes

    • ๐Ÿ‘ Allow calling table_exists() with a model-class, refs
    • Improve is_connection_usable() method of MySQLDatabase class.
    • ๐Ÿ‘ Better support for VIEWs with playhouse.dataset.DataSet and sqlite-web.
    • ๐Ÿ‘Œ Support INSERT / ON CONFLICT in playhosue.kv for newer Sqlite.
    • โž• Add ArrayField.contained_by() method, a corollary to contains() and the contains_any() methods.
    • ๐Ÿ‘Œ Support cyclical foreign-key relationships in reflection/introspection, and also for sqlite-web.
    • โž• Add magic methods for FTS5 field to optimize, rebuild and integrity check the full-text index.
    • โž• Add fallbacks in setup.py in the event distutils is not available.

    View commits

  • v3.14.8 Changes

    Back-out all changes to automatically use RETURNING for SqliteExtDatabase, CSqliteExtDatabase and APSWDatabase. The issue I found is that when a RETURNING cursor is not fully-consumed, any parent SAVEPOINT (and possibly ๐Ÿš€ transaction) would not be able to be released. Since this is a backwards-incompatible change, I am going to back it out for now.

    Returning clause can still be specified for Sqlite, however it just needs to be done so manually rather than having it applied automatically.

    View commits

  • v3.14.7 Changes

    ๐Ÿ›  Fix bug in APSW extension with Sqlite 3.35 and newer, due to handling of last insert rowid with RETURNING. Refs #2479.

    View commits

  • v3.14.6 Changes

    Fix pesky bug in new last_insert_id() on the SqliteExtDatabase.

    View commits