All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.8 - 2021-10-26
- Validate special characters in document ID and ensure
get_by_id/get_by_doc_idraisesModelNotFoundErrorin case of such issues. Especially an uneven number of slashes could raise a ValueError. Saving a model can now raise anInvalidDocumentIDexception in case the ID is invalid.
0.2.7 - 2021-10-25
get_by_id/get_by_doc_idwith an empty string raises aModelNotFoundErrorinstead of leaking agoogle.api_core.exceptions.InvalidArgumentexception.
0.2.6 - 2021-09-20
- Support for subcollections
- Fixing support for
_prefixed document ID attributes
0.2.5 - 2021-08-20
- Support for customizing the field used to hold the document ID. By subclassing the
AsyncBareModel/BareModelit's possible to use any field for the document ID, not just theid, which is used byAsyncModel/Model.
- Update
grpcioto^1.39.0which fixes a problem with emulator support on Windows. - Pre-commit hooks for keeping line-endings consistent.
- Incorrect links in CHANGELOG.md
0.2.4 - 2021-05-24
- Allow firedantic to be used with older versions of
google-cloud-firestorethat works with the firestore emulator on Windows.
0.2.3 - 2021-05-21
firedantic.operatorswith operators as constants to avoid gotchas with filters likenot-inandarray_contains. Preferable way to build queries is toimport firedantic.operators as opand then useop.NOT_IN,op.ARRAY_CONTAINS,op.GTEand so on.
- Fix filter bug affecting
array_containsandarray_contains_any - Update
pydanticto ^1.8.2 that fixes CVE-2021-29510
0.2.2 - 2021-04-29
- Helpers for truncating collections
- Make the filter optional for
findandfind_one
0.2.1 - 2021-03-31
- Update
google-cloud-firestoreto 2.1.0 that supports async with firestore emulator. Using an officially released version ofgoogle-cloud-firestorefrom PyPI will also make it possible to get this release offiredanticuploaded to PyPI.
0.2.0 - 2021-03-29
- New AsyncModel that supports async and await syntax.
- Refactor file structure;
models.pyno longer exists, so make sure to importModeldirectly from firedantic:from firedantic import Model - Update
google-cloud-firestore. The 2.0.2 version has an issue with running in async mode against the emulator, that has been fixed in the gitmaster, but not included in any official release yet. Using the latest master (pinned to the commit hash). In case you are using poetry to installfiredantic, please be aware that poetry has an issue with updating from a pypi package to a git commit. The simplest work-around is to after updatingfiredantic(and thus alsogoogle-cloud-firestore) delete the virtualenv and then runpoetry installagain - Update
pydanticto 1.8.1 andgrpcioto 1.36.1 - Fixes for Mypy errors and warnings
- Updated examples in README
0.1.4 - 2020-12-08
Model.findto do more complex queries supporting all Firestore operators
0.1.3 - 2020-11-09
- Respect model's aliases when saving a model
CollectionNotDefinederrortruncate_collectionclass method forModel
0.1.2 - 2020-09-21
- Update README.md
- Add imports to root level init
- Update CHANGELOG.md
- Bump version
0.1.1 - 2020-09-21
- .nvmrc
- .prettierrc.yaml
- README.md with build status badge
- Only run deploy to PyPi on Python 3.6 environment
- CHANGELOG.md
- Bump version
0.1.0 - 2020-09-21
- Project files
- CHANGELOG.md
- Update README.md
- Update .gitignore