Skip to content

Releases: VianneyMI/monggregate

0.21.0 - 2024/04/17 - Vector Search

18 Apr 07:15
9aa59a0
Compare
Choose a tag to compare

New Features

  • Added interface to use vectorSearch

0.20.0 - search section documentation

30 Jan 21:09
1105629
Compare
Choose a tag to compare

Docs

  • Completed documentation by adding a page on how to use search features

Fixes

  • Fixes bug preventing from using faceted search
  • Fixes search crashing with some mismatch between keyword arguments and operators

0.18.1 - Fixed build

30 Dec 14:44
Compare
Choose a tag to compare

Fixes

  • Fixed build that has failed on the last two versions (0.18.0, 0.19.0)

0.18.0 - Search 2.0

12 Nov 21:38
Compare
Choose a tag to compare

Fixes

  • Fixed bug preventing to use Compound operator with Search and SearchMeta classes.

New Features

  • Pipelinized Search and SearchMeta classes. That is complex expressions can be built step by step by chaining operators.
  • Updated search method in ¨Pipeline class to ease the use of the search stages.
  • Clarified and simplified faceted search

Refactoring

  • Use operators rather than statement in Compound class
  • Factorized Search and SearchMeta classes by creating a SearchBase class
  • Use CountOptions rather than raw dicts
  • Created AnyStage union type

Docs

  • Spelling and grammar fixes

0.17.0 - First version of documentation

03 Nov 18:11
Compare
Choose a tag to compare

Docs

  • First version of the documentation 🍾 !

0.16.2 - Fixed group stage

16 Oct 04:18
Compare
Choose a tag to compare

Fixes

  • Allow to use iterable and dicts to group by in Group class and pipeline group function

0.16.1 - Fixed replace_root pipeline function

16 Sep 08:53
Compare
Choose a tag to compare

Fixes

  • Fixed replace_root by passing document argument to ReplaceRoot class

0.16.0 - S, SS and Expressions

29 Aug 21:04
Compare
Choose a tag to compare

New Features

  • Created S object (represents $ sign since it is not a valid variable name in python) to store all MongoDB operators and to create references to fields
  • Created SS object (represents $$) to store aggregation variables and referenes to user variables
  • Interfaced a chunk of new operators(add, divide, multiply, pow, substract, cond, if_null, switch, millisecond, date_from_string, date_to_string, type_)
  • Integrated new operators in Expressions class

Refactoring

  • Redefined Expressions completely. Simplified and clarified how they can be used when using this package.
  • Removed index module that was at the root of the package (monggregate.index.py -> ø)
  • Removed expressions subpackage (monggregate.expression -> ø)
  • Moved expressions fields module to the root of the package (monggregate.expressions.fields.py -> monggregate.fields.py)
  • Removed expressions aggregation_variables module (monggregate.expression.aggregation_variables.py -> ø)
  • Moved the enums that were defined in index to a more relevant place. Ex OperatorEnum is now in monggregate.operators.py

Breaking Changes

  • Operators now return python objects rather than expressions/statements.
    NOTE: The wording might change for clarification purposes.
    statement might be renamed expression and resolve might renamed express
    To do so, some arguments might need to be renamed in the operators
  • Expressions subpackage has been exploded and some parts have been deleted

Documentation

  • Updated readme to reflect changes in the packge. Readme now focuses on the recommended way to use the package and clarifies how to use MongoDB operators.

0.14.1 - Patch to fix autocompletion

06 Aug 17:02
Compare
Choose a tag to compare

Fixes

  • Fixed autocompletion

Refactoring

  • Import pydantic into base.py and using abse.py to access pydantic features

Full Changelog: 0.14.0...0.14.1

0.14.0 - Compatibility with pydantic V2

23 Jul 14:44
Compare
Choose a tag to compare

Upgrades

  • Make package compatible with pydantic V2

Refactoring

  • Use an import trick to still use pydantic V1 even on environments using pydantic V2
  • Centralized pydantic import into base.py in order to avoid having to use import trick on multiple files

Documentation

  • Updated readme to better reflect current state of the pacakge.
  • Started a changelog ! 🍾
  • Major change in the doc