Skip to content

Changelog

All notable changes to this project will be documented in this file.


๐Ÿš€ 0.21.0 - 2024-04-17

Details
Identical to 0.21.0b1.

๐Ÿงช 0.21.0b1 - 2024-04-17

Details

๐Ÿ“– Documentation

Improved docstrings in stages and operators.

๐Ÿงช 0.21.0b0 - 2024-01-30

Details

โœจ New Features

Implemented VectorSearch pipeline stage.


๐Ÿš€ 0.20.0 - 2024-01-27

Details

๐Ÿ› Bug Fixes

Fixed bug in Search where some arguments were not properly forwarded to the appropriate operators.

๐Ÿ“– Documentation

Added documentation for search and search_meta pipeline stages.


๐Ÿš€ 0.19.1 - 2023-12-28

Details

๐Ÿ› Bug Fixes

Fixed build, packaging and release process.


๐Ÿš€ 0.19.0 - 2023-12-20

Details
Failed attempt to fix previously broken release.

๐Ÿš€ 0.18.0 - 2023-11-12

Details
โš ๏ธ This release is not available on PyPI as it was broken.

๐Ÿ› Bug Fixes

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

โœจ New Features

  • Pipelinized Search and SearchMeta classes. Complex expressions can now be built step by step by chaining operators.
  • Updated search method in Pipeline class to ease the use of 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.

๐Ÿ“– Documentation

Spelling and grammar fixes.


๐Ÿš€ 0.17.0 - 2023-10-26

Details

๐Ÿ“– Documentation

First version of the documentation ๐Ÿพ!


๐Ÿš€ 0.16.2 - 2023-09-17

Details

๐Ÿ› Bug Fixes

Allow use of iterables and dicts to group by in Group class and pipeline group function.


๐Ÿš€ 0.16.1 - 2023-09-08

Details

๐Ÿ› Bug Fixes

Fixed replace_root by passing document argument to ReplaceRoot class.


๐Ÿš€ 0.16.0 - 2023-08-29

Details

โœจ 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 references to user variables.
  • Interfaced new operators: add, divide, multiply, pow, subtract, 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.
  • Removed index module from the root of the package (monggregate.index.py โ†’ โˆ…).
  • Removed expressions subpackage (monggregate.expression โ†’ โˆ…).
  • Moved expressions fields module to the root (monggregate.expressions.fields.py โ†’ monggregate.fields.py).
  • Removed expressions aggregation_variables module (monggregate.expression.aggregation_variables.py โ†’ โˆ…).
  • Moved enums to more relevant locations (e.g., 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 be renamed "express". Some argument names in operators might need to be renamed.
  • Expressions subpackage has been restructured with some parts being removed.

๐Ÿ“– Documentation

Updated README to reflect changes in the package, focusing on the recommended usage and clarifying MongoDB operators.


๐Ÿš€ 0.15.0 - 2023-08-09

Details

๐Ÿ› Bug Fixes

  • Fixed bug in Search.from_operator() classmethod due to recent change in operator type in Search class.
  • Fixed misspelled operators in constructors map in Search class.
  • Fixed missing aliases and missing kwargs reduction in some Search operators.

๐Ÿš€ 0.14.1 - 2023-08-06

Details

๐Ÿ› Bug Fixes

Fixed autocompletion.

โ™ป๏ธ Refactoring

Import pydantic into base.py and use base.py to access pydantic features.


๐Ÿš€ 0.14.0 - 2023-07-23

Details

โฌ†๏ธ Upgrades

Made package compatible with Pydantic V2.

โ™ป๏ธ Refactoring

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

๐Ÿ“– Documentation

  • Updated README to better reflect current state of the package.
  • Started a changelog! ๐Ÿพ
  • Major improvements to documentation.

What about previous versions?

Prior to 0.14.0, the changelog was not kept.