PonyORM v0.7.4 Release Notes

Release Date: 2018-07-23 // almost 6 years ago
  • Major features

    • ๐Ÿ“„ Hybrid methods and properties added: https://docs.ponyorm.com/entities.html#hybrid-methods-and-properties
    • ๐Ÿ‘ Allow to base queries on another queries: select(x.a for x in prev_query if x.b)
    • โž• Added support of Python 3.7
    • โž• Added support of PyPy
    • group_concat() aggregate function added
    • ๐Ÿ“ฆ pony.flask subpackage added for integration with Flask

    Other features

    • distinct option added to aggregate functions
    • ๐Ÿ‘Œ Support of explicit casting to float and bool in queries

    ๐Ÿ‘Œ Improvements

    • Apply @cut_traceback decorator only when pony.MODE is 'INTERACTIVE'

    ๐Ÿ›  Bugfixes

    • In SQLite3 LIKE is case sensitive now
    • #249: Fix incorrect mixin used for Timedelta
    • #251: correct dealing with qualified table names
    • #301: Fix aggregation over JSON Column
    • ๐Ÿ‘ #306: Support of frozenset constants added
    • #308: Fixed an error when assigning JSON attribute value to the same attribute: obj.json_attr = obj.json_attr
    • #313: Fix missed retry on exception raised during db_session. __exit__
    • ๐Ÿ‘€ #314: Fix AttributeError: 'NoneType' object has no attribute 'seeds'
    • #315: Fix attribute lifting for JSON attributes
    • #321: Fix KeyError on obj.delete()
    • #325: duplicating percentage sign in raw SQL queries without parameters
    • #331: Overriding __len__ in entity fails
    • #336: entity declaration serialization
    • #357: reconnect after PostgreSQL server closed the connection unexpectedly
    • ๐Ÿ›  Fix Python implementation of between() function and rename arguments: between(a, x, y) ->
      between(x, a, b)
    • ๐Ÿ›  Fix retry handling: in PostgreSQL and Oracle an error can be raised during commit
    • ๐Ÿ›  Fix optimistic update checks for composite foreign keys
    • Don't raise OptimisticCheckError if db_session is not optimistic
    • Handling incorrect datetime values in MySQL
    • ๐Ÿ‘Œ Improved ImportError exception messages when MySQLdb, pymysql, psycopg2 or psycopg2cffi driver was not found
    • ๐Ÿ›  desc() function fixed to allow reverse its effect by calling desc(desc(x))
    • __contains__ method should check if objects belong to the same db_session
    • ๐Ÿ›  Fix pony.MODE detection; mod_wsgi detection according to official doc
    • ๐Ÿ›  A lot of inner fixes