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
andSearchMeta
classes. Complex expressions can now be built step by step by chaining operators. - Updated
search
method inPipeline
class to ease the use of search stages. - Clarified and simplified faceted search.
โป๏ธ Refactoring
- Use operators rather than statement in
Compound
class. - Factorized
Search
andSearchMeta
classes by creating aSearchBase
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 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 inSearch
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.