Skip to content
This repository has been archived by the owner on Jun 24, 2024. It is now read-only.

Latest commit

 

History

History
85 lines (70 loc) · 4.06 KB

CHANGELOG.md

File metadata and controls

85 lines (70 loc) · 4.06 KB

2.0.15 (2021-04-23)

  • Added support for column_property()
  • nplus1loader is not an optional dependency. Install it if you want raiseload_col()
  • Tested with SqlAlchemy 1.3.21-23 and Python 3.9
  • Migrated to Poetry

2.0.14 (2020-12-03)

  • Proper handling of deferred columns: projections overwrite them

2.0.12 (2020-11-11)

  • Fixed a bug with joining self-referential relationships
  • Tested with SqlAlchemy 1.3.20

2.0.11 (2020-04-15)

  • Removed the raiseload_col() and imported the implementation from nplus1loader. That's a new dependency.
  • Tested with SqlAlchemy 1.3.16

2.0.10 (2020-01-29)

  • Tested with SqlAlchemy 1.3.12-15
  • Fixed an issue with MongoSQL not detecting TypeDecorator()-wrapped JSON columns as JSON

2.0.9 (2019-11-27)

  • Support string input for: project, sort, group, join, joinf. Previously, they only accepted arrays or objects. Now, they also accept strings: whitespace-separated as a list of columns.
  • Tested with SqlAlchemy 1.3.11

2.0.8 (2019-10-27)

  • CrudView._method_create_or_update_many(): saving many objects at once
  • MongoQuery.options(): no_limit_offset=True lets you disable limits & offsets for a specific query
  • Tested with SqlAlchemy 1.3.9-10

2.0.7 (2019-10-07)

  • project: now allow using a string of field names, separated by whitespace. Example: {project: "name age weight"}

  • @saves_relations: now possible to differentiate a value not provided from a provided None

  • Better sqlalchemy error messages: a new mongosql.exc.RuntimeQueryError provides more details about internal errors.

    Example:

    mongosql.exc.RuntimeQueryError: Error processing MongoQuery(Assignment -> Category).join: (cryptic sqlalchemy message)

  • Bugfix: compilation of dialect-specific clauses used to fail with some JOINs

  • Bugfix: max_items + force_filter used to cause trouble because MongoSQL could not make the correct decision that a nested query is necessary

2.0.6 (2019-09-17)

  • bundled_project are now loaded quietly (meaning, they are loaded, but not included into the projection)
  • MongoQuerySettingsDict.pluck_from(): now skips the max_items key because it does not make sense when inherited
  • Bugfix: in some cases, the projection property returned invalid results
  • Bugfix: when the join operation includes two relationships that are LEFT JOINed, the query is not broken anymore.

2.0.5 (2019-08-27)

  • ensure_loaded setting for projections

2.0.4 (2019-07-26)

  • filter: new $prefix operator
  • AssociationProxy support for project and filter
  • MongoQuery.get_final_query_object() method for debugging
  • Project Handler: the new default_projection behavior lets you build APIs that return no fields by default: the API user will have to require every field explicitly.

2.0.3 (2019-07-06)

  • CrudHelper is not able to save @property values: welcome writable_properties!
  • Fix: bundled_project now takes care of force_included fields as well
  • Recommendation when a legacy column is removed: use legacy_fields together with force_include on a @property that fakes the missing column or relationship.
  • CrudHelper now removes legacy_fields from the input dict
  • legacy_fields are now included into all projections generated by project and join handlers

2.0.2 (2019-06-29)

  • legacy_fields setting will make handlers ignore certain fields that are not available anymore. Works with: filter, sort, group, join, joinf, aggregate.
  • method_decorator has had a few improvements that no one would notice

2.0.0 (2019-06-18)

  • Version 2.0 is released!
  • Complete redesign
  • Query Object format is the same: backwards-compatible
  • outerjoin is renamed to join, old buggy join is now joinf
  • join is not handled by a tweaked selectin loader, which is a lot easier and faster!
  • Overall 1.5x-2.5x performance improvement
  • MongoQuery settings lets you configure everything
  • StrictCrudHelper is much more powerful
  • @saves_relations helps with saving related entities
  • MongoQuery.end_count() counts and selects at the same time