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

Changelog History
Page 5

  • v3.6.1 Changes

    ๐Ÿ›  Fixed issue with setup script.

    View commits

  • v3.6.0 Changes

    • ๐Ÿ‘Œ Support for Python 3.7, including bugfixes related to new StopIteration handling inside of generators.
    • ๐Ÿ‘Œ Support for specifying ROWS or RANGE window frame types. For more information, see the new frame type documentation.
    • โž• Add APIs for user-defined window functions if using pysqlite3 and sqlite 3.25.0 or newer.
    • TimestampField now uses 64-bit integer data-type for storage.
    • โž• Added support to pwiz and playhouse.reflection to enable generating models from VIEWs.
    • โž• Added lower-level database API for introspecting VIEWs.
    • ๐Ÿ‘ Revamped continuous integration setup for better coverage, including 3.7 and 3.8-dev.
    • ๐Ÿ‘ Allow building C extensions even if Cython is not installed, by distributing pre-generated C source files.
    • Switch to using setuptools for packaging.

    View commits

  • v3.5.2 Changes

    • ๐Ÿ†• New guide to using window functions in Peewee.
    • ๐Ÿ†• New and improved table name auto-generation. This feature is not backwards compatible, so it is disabled by default. To enable, set legacy_table_names=False in your model's Meta options. For more details, see table names documentation.
    • ๐Ÿ‘ Allow passing single fields/columns to window function order_by and partition_by arguments.
    • ๐Ÿ‘Œ Support for FILTER (WHERE...) clauses with window functions and aggregates.
    • โž• Added IdentityField class suitable for use with Postgres 10's new identity column type. It can be used anywhere AutoField or BigAutoField was being used previously.
    • ๐Ÿ›  Fixed bug creating indexes on tables that are in attached databases (SQLite).
    • ๐Ÿ›  Fixed obscure bug when using prefetch() and ModelAlias to populate a back-reference related model.

    View commits

  • v3.5.1 Changes

    ๐Ÿ†• New features

    • ๐Ÿ†• New documentation for working with relationships in Peewee.
    • ๐Ÿ‘Œ Improved tests and documentation for MySQL upsert functionality.
    • ๐Ÿ‘ Allow database parameter to be specified with ModelSelect.get() method. For discussion, see #1620.
    • โž• Add QualifiedNames helper to peewee module exports.
    • โž• Add temporary= meta option to support temporary tables.
    • ๐Ÿ‘ Allow a Database object to be passed to constructor of DataSet helper.

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixed edge-case where attempting to alias a field to it's underlying column-name (when different), Peewee would not respect the alias and use the field name instead. See #1625 for details and discussion.
    • Raise a ValueError when joining and aliasing the join to a foreign-key's object_id_name descriptor. Should prevent accidentally introducing O(n) queries or silently ignoring data from a joined-instance.
    • ๐Ÿ›  Fixed bug for MySQL when creating a foreign-key to a model which used the BigAutoField for it's primary-key.
    • ๐Ÿ›  Fixed bugs in the implementation of user-defined aggregates and extensions with the APSW SQLite driver.
    • Fixed regression introduced in 3.5.0 which ignored custom Model __repr__().
    • ๐Ÿ›  Fixed regression from 2.x in which inserting from a query using a SQL() was no longer working. Refs #1645.

    View commits

  • v3.5.0 Changes

    Backwards-incompatible changes

    • Custom Model repr no longer use the convention of overriding __unicode__, and now use __str__.
    • โœ… Redesigned the sqlite json1 integration. and changed some of the APIs and semantics of various JSONField methods. The documentation has been expanded to include more examples and the API has been simplified to make it easier to work with. These changes do not have any effect on the Postgresql JSON fields.

    ๐Ÿ†• New features

    • ๐Ÿ‘ Better default repr for model classes and fields.
    • ForeignKeyField() accepts a new initialization parameter, deferrable, for specifying when constraints should be enforced.
    • BitField.flag() can be called without a value parameter for the common use-case of using flags that are powers-of-2.
    • SqliteDatabase pragmas can be specified as a dict (previously required a list of 2-tuples).
    • โœ… SQLite TableFunction (docs) will print Python exception tracebacks raised in the initialize and iterate callbacks, making debugging significantly easier.

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixed bug in migrator.add_column() where, if the field being added declared a non-standard index type (e.g., binary json field with GIN index), this index type was not being respected.
    • ๐Ÿ›  Fixed bug in database.table_exists() where the implementation did not match the documentation. Implementation has been updated to match the documentation.
    • ๐Ÿ›  Fixed bug in SQLite TableFunction implementation which raised errors if the return value of the iterate() method was not a tuple.

    View commits

  • v3.4.0 Changes

    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

  • v3.3.4 Changes

    • โž• Added a BinaryUUIDField class for efficiently storing UUIDs in 16-bytes.
    • ๐Ÿ›  Fix dataset's update_cache() logic so that when updating a single table that was newly-added, we also ensure that all dependent tables are updated at the same time. Refs coleifer/sqlite-web#42.

    View commits

  • v3.3.3 Changes

    • More efficient implementation of model dependency-graph generation. Improves performance of recursively deleting related objects by omitting unnecessary subqueries.
    • Added union(), union_all(), intersect() and except_() to the Model-specific query implementations. This was an oversight that should have been patched in 3.3.2, but is fixed in 3.3.3.
    • โœ… Major cleanup to test runner and standardized test skipping logic to integrate with standard-library unittest conventions.

    View commits

  • v3.3.2 Changes

    • Add methods for union(), union_all, intersect() and except_(). Previously, these methods were only available as operator overloads.
    • โœ‚ Removed some Python 2.6-specific support code, as 2.6 is no longer officially supported.
    • ๐Ÿ›  Fixed model-graph resolution logic for deferred foreign-keys.
    • ๐Ÿ‘ Better support for UPDATE...FROM queries (Postgresql).

    View commits

  • v3.3.1 Changes

    • ๐Ÿ›  Fixed long-standing bug in 3.x regarding using column aliases with queries that utilize the ModelCursorWrapper (typically queries with one or more joins).
    • ๐Ÿ›  Fix typo in model metadata code, thanks @klen.
    • โž• Add examples of using recursive CTEs to docs.

    View commits