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
SearchandSearchMetaclasses. Complex expressions can now be built step by step by chaining operators. - Updated
searchmethod inPipelineclass to ease the use of search stages. - Clarified and simplified faceted search.
โป๏ธ Refactoring
- Use operators rather than statement in
Compoundclass. - Factorized
SearchandSearchMetaclasses by creating aSearchBaseclass. - Use
CountOptionsrather than raw dicts. - Created
AnyStageunion 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
Sobject (represents$sign since it is not a valid variable name in Python) to store all MongoDB operators and to create references to fields. - Created
SSobject (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
Expressionsclass.
โป๏ธ Refactoring
- Redefined
Expressionscompletely. 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.,
OperatorEnumis now inmonggregate.operators.py).
๐ฅ Breaking Changes
- Operators now return Python objects rather than expressions/statements.
- Expressions subpackage has been restructured with some parts being removed.
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.
๐ 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 inSearchclass. - Fixed misspelled operators in constructors map in
Searchclass. - Fixed missing aliases and missing kwargs reduction in some
Searchoperators.
๐ 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.pyto 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.