All Versions
16
Latest Version
Avg Release Cycle
149 days
Latest Release
1575 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v0.7.14 Changes
November 23, 2020๐ Features
- โ Add Python 3.9 support
- Allow to use kwargs in select: Entity.select(**kwargs) and obj.collection.select(**kwargs), a feature that was announced but actually missed from 0.7.7
- โ Add support for volatile collection attributes that don't throw "Phantom object appeared/disappeared" exceptions
๐ Bugfixes
- ๐ Fix negative timedelta conversions
- Pony should reconnect to PostgreSQL when receiving 57P01 error (AdminShutdown)
- ๐ Allow mixing compatible types (like int and float) in coalesce() arguments
- ๐ Support of subqueries in coalesce() arguments
- ๐ Fix using aggregated subqueries in ORDER BY section
- ๐ Fix queries with expressions like
(x, y) in ((a, b), (c, d))
- #451: KeyError for seeds with unique attributes in SessionCache.update_simple_index()
-
v0.7.13 Changes
March 03, 2020๐ This release contains no new features or bugfixes. The only reason for this release is to test our CI/CD process.
-
v0.7.12 Changes
February 04, 2020๐ Features
- ๐ CockroachDB support added
- โ CI testing for SQLite, PostgreSQL & CockroachDB
๐ Bugfixes
- ๐ Fix translation of getting array items with negative indexes
- ๐ Fix string getitem translation for slices and negative indexes
- ๐ PostgreSQL DISTINCT bug fixed for queries with ORDER BY clause
- ๐ Fix date difference syntax in PostgreSQL
- ๐ Fix casting json to dobule in PostgreSQL
- ๐ Fix count by several columns in PostgreSQL
- ๐ Fix PostgreSQL MIN and MAX expressions on boolean columns
- ๐ Fix determination of interactive mode in PyCharm
- ๐ Fix column definition when
sql_default
is specified: DEFAULT should be before NOT NULL - โก๏ธ Relax checks on updating in-memory cache indexes (don't throw CacheIndexError on valid cases)
- ๐ Fix deduplication logic for attribute values
-
v0.7.11 Changes
October 23, 2019๐ Features
- ๐ #472: Python 3.8 support
- ๐ Support of hybrid functions (inlining simple Python functions into query)
- ๐ #438: support datetime-datetime, datetime-timedelta, datetime+timedelta in queries
๐ Bugfixes
- #430: add ON DELETE CASCADE for many-to-many relationships
- #465: Should reconnect to MySQL on OperationalError 2013 'Lost connection to MySQL server during query'
- #468: Tuple-value comparisons generate incorrect queries
- ๐ #470 fix PendingDeprecationWarning of imp module
- ๐ Fix incorrect unpickling of objects with Json attributes
- Check value of discriminator column on object creation if set explicitly
- Correctly handle Flask current_user proxy when adding new items to collections
- ๐ Some bugs in syntax of aggregated queries were fixed
- ๐ Fix syntax of bulk delete queries
- Bulk delete queries should clear query results cache so next select will get correct result from the database
- ๐ Fix error message when hybrid method is too complex to decompile
-
v0.7.10 Changes
April 20, 2019๐ Bugfixes
-
v0.7.9 Changes
January 21, 2019๐ Bugfixes
- ๐ Fix handling of empty arrays and empty lists in queries
- ๐ Fix reading optional nullable array columns from database
-
v0.7.8 Changes
January 19, 2019๐ This is a bug fix release
๐ Bugfixes
- #414: prefetching Optional relationships fails on 0.7.7
- ๐ Fix a bug caused by incorrect deduplication of column values
-
v0.7.7 Changes
January 17, 2019Major features
- ๐ Array type support for PostgreSQL and SQLite
- ๐ isinstance() support in queries
- ๐ Support of queries based on collections: select(x for x in y.items)
Other features
- Support of Entity.select(**kwargs)
- ๐ Support of SKIP LOCKED option in 'SELECT ... FOR UPDATE'
- New function make_proxy(obj) to make cros-db_session proxy objects
- Specify ON DELETE CASCADE/SET NULL in foreign keys
- ๐ Support of LIMIT in
SELECT FROM (SELECT ...)
type of queries - ๐ Support for negative JSON array indexes in SQLite
๐ Improvements
- ๐ Improved query prefetching: use fewer number of SQL queries
- Memory optimization: deduplication of values recieved from the database in the same session
- increase DBAPIProvider.max_params_count value
๐ Bugfixes
- #405: breaking change with cx_Oracle 7.0: DML RETURNING now returns a list
- #380: db_session should work with async functions
- โ #385: test fails with python3.6
- ๐ #386: release unlocked lock error in SQLite
- #390: TypeError: writable buffers are not hashable
- #398: add auto coversion of numpy numeric types
- #404: GAE local run detection
- ๐ Fix Flask compatibility: add support of LocalProxy object
- db_session(sql_debug=True) should log SQL commands also during db_session. exit ()
- ๐ Fix duplicated table join in FROM clause
- ๐ Fix accessing global variables from hybrid methods and properties
- ๐ Fix m2m collection loading bug
- ๐ Fix composite index bug: stackoverflow.com/questions/53147694
- ๐ Fix MyEntity[obj.get_pk()] if pk is composite
- MySQL group_concat_max_len option set to max of 32bit platforms to avoid truncation
- ๐ Show all attribute options in show(Entity) call
- For nested db_session retry option should be ignored
- Fix py_json_unwrap
- ๐ Other minor fixes
-
v0.7.6 Changes
August 10, 2018๐ Features since 0.7.5:
- ๐ f-strings support in queries:
select(f'{s.name} - {s.age}' for s in Student)
- #344: It is now possible to specify offset without limit:
query.limit(offset=10)
- ๐ #371: Support of explicit casting of JSON expressions to
str
,int
orfloat
- ๐
@db.on_connect
decorator added
๐ Bugfixes
- ๐ Fix bulk delete bug introduced in 0.7.4
- #370 Fix memory leak introduced in 0.7.4
- Now
exists()
in query does not throw away condition in generator expression:
exists(s.gpa > 3 for s in Student)
- โ
#373: 0.7.4/0.7.5 breaks queries using the
in
operator to test membership of another query result - #374:
auto=True
can be used with allPrimaryKey
types, not onlyint
- #369: Make
QueryResult
looks like alist
object again: add concatenation with lists,.shuffle()
and.to_list()
methods - #355: Fix binary primary keys
PrimaryKey(buffer)
in Python2 - ๐ Interactive mode support for PyCharm console
- ๐ Fix wrong table aliases in complex queries
- ๐ Fix query optimization code for complex queries
- ๐ Fix a bug with hybrid properties that use external functions
- ๐ f-strings support in queries:
-
v0.7.6.rc1 Changes
August 08, 2018๐ This is mostly bugfix release to fix bugs introduced in 0.7.4
๐ New features
- ๐ f-strings support in queries:
select(f'{s.name} - {s.age}' for s in Student)
- #344: It is now possible to specify offset without limit:
query.limit(offset=10)
- ๐ #371: Support of explicit casting of JSON expressions to
str
,int
orfloat
- #367:
@db.on_connect
decorator added
๐ Bugfixes
- ๐ Fix bulk delete bug introduced in 0.7.4
- #370 Fix memory leak introduced in 0.7.4
- Now exists() in query does not throw away condition in generator expression:
exists(s.gpa > 3 for s in Student)
- โ
#373: 0.7.4/0.7.5 breaks queries using the
in
operator to test membership of another query result - #374:
auto=True
can be used with allPrimaryKey
types, not only int - #369: Make QueryResult looks like a list object again: add concatenation with lists,
.shuffle()
and.to_list()
methods - #355: Fix binary primary keys
PrimaryKey(buffer)
in Python2 - ๐ Interactive mode support for PyCharm console
- ๐ Fix wrong table aliases in complex queries
- ๐ Fix query optimization code for complex queries
- ๐ f-strings support in queries: