1.4.2 (2020-07-30)
- include ancestors in
Key.to_legacy_urlsafe(#494) (0f29190), closes #478 - properly handle explicitly passing default namespace (#488) (3c64483), closes #476
1.4.1 (2020-07-10)
1.4.0 (2020-07-01)
- allow
Query.fetch_pagefor queries with post filters (#463) (632435c), closes #270 - record time spent waiting on rpc calls (#472) (1629805)
- ignore datastore properties that are not mapped to NDB properties (#470) (ab460fa), closes #461
- make sure
testspackage is not included in distribution (#469) (5a20d0a), closes #468 - retry grpc
UNKNOWNerrors (#458) (5d354e4), closes #310
1.3.0 (2020-06-01)
- add templates for python samples projects (#506) (#455) (e329276)
- convert grpc errors to api core exceptions (#457) (042cf6c), closes #416
- Add support for 'name' Key instances to to_legacy_urlsafe (#420) (59fc5af)
- all query types should use cache if available (#454) (69b3a0a), closes #441
- fix
NotImplementedErrorforget_or_insertinside a transaction (#451) (99aa403), closes #433 - make sure datastore key constructor never gets None in a pair (#446) (e6173cf), closes #384 #439
- refactor transactions to use their own event loops (#443) (7590be8), closes #426 #426
- respect
_code_nameinStructuredProperty.__getattr__(#453) (4f54dfc), closes #449 - strip
order_byoption from query when usingcount()(#452) (9d20a2d), closes #447
1.2.1 (2020-05-15)
- clear context cache on rollback (#410) (aa17986), closes #398
- do not allow empty key parts for key constructor in namespaced model (#401) (f3528b3), closes #384
- don't rely on duck typing for
_retry.is_transient_error(#425) (4524542), closes #415 - handle empty batches from Firestore (#396) (1a054ca), closes #386
- make sure reads happen in transaction if there is a transaction (#395) (f32644f), closes #394
- more should be boolean in fetch_page call (#423) (a69ffd2), closes #422
- support same options in model.query as query (#407) (d08019f)
- uniform handling of
projectionargument (#428) (2b65c04), closes #379 - use
skipped_resultsfrom query results to adjust offset (#399) (6d1452d), closes #392 - use fresh context cache for each transaction (#409) (5109b91), closes #394
- use true
keys_onlyquery forQuery.count()(#405) (88184c3), closes #400 #404
1.2.0 (2020-04-20)
- add
namespaceproperty tocontext.Context(#388) (34bac15), closes #385 - new
joinargument fortransactionand related functions (#381) (2c91685), closes #366
- accept
bytesorstras base value forJsonProperty(#380) (e7a0c7c), closes #378 - add
ABORTEDto retryable status codes (#391) (183c0c3), closes #383 - add missing _get_for_dict method (#368) (55b80ff), closes #367
- empty Entities for optional LocalStructuredProperty fields (#370) (27a0969), closes #369
- return type in DateTimeProperty._to_base_type docstring (#371) (0c549c8)
1.1.2 (2020-03-16)
- check for legacy local structured property values (#365) (f81f406), closes #359
- move stub (grpc communication channel) to client (#362) (90e0625), closes #343
1.1.1 (2020-03-05)
- fix bug with
yieldof empty list in tasklets (#354) (2d60ebf), closes #353 - LocalStructuredProperty keep_keys (#355) (9ff1b3d)
- support nested sequences in parallel
yieldfor tasklets (#358) (8c91e7a), closes #349
1.1.0 (2020-03-02)
- allow legacy ndb to read LocalStructuredProperty entities. (#344) (7b07692)
- fix delete in transaction (#333) (5c162f4), closes #271
- make sure
key.Keyuses namespace from client when not specified (#339) (44f02e4), closes #337 - properly exclude from indexes non-indexed subproperties of structured properties (#346) (dde6b85), closes #341
- resurrect support for compressed text property (#342) (5a86456), closes #277
- use correct name when reading legacy structured properties with names (#347) (01d1256), closes #345
1.0.1 (2020-02-11)
- attempt to have fewer transient errors in continuous integration (#328) (0484c7a)
- correct migration doc (#313) (#317) (efce24f)
- disuse
__slots__in most places (#330) (a8b723b), closes #311 - don't set key on structured property entities (#312) (63f3d94), closes #281
- fix race condition in remote calls (#329) (f550510), closes #302
- make query options convert projection properties to strings (#325) (d1a4800)
- use multiple batches of limited size for large operations (#321) (8e69453), closes #318
- use six string_types and integer_types for all isinstance() checks (#323) (133acf8)
1.0.0 (2020-01-30)
- add user agent prefix google-cloud-ndb + version (#299) (9fa136b)
- Finish implementation of UserProperty. (#301) (fd2e0ed), closes #280
- Fix bug when wrapping base values. (#303) (91ca8d9), closes #300
- Fix bug with the _GlobalCacheGetBatch. (#305) (f213165), closes #294
- Preserve
QueryIterator.cursor_after. (#296) (4ffedc7), closes #292
0.2.2 (2020-01-15)
- Convert NDB keys to Datastore keys for serialization. (#287) (779411b), closes #284
- fix missing ne methods (#279) (03dd5e1)
- Fix repr() for ComputedProperty (#291) (2d8857b), closes #256
- Handle
intfor DateTimeProperty (#285) (2fe5be3), closes #261 - More friendly error message when using
fetch_pagewith post-filters. (#269) (a40ae74), closes #254
0.2.1 (2019-12-10)
- Correctly handle
limitandoffsetwhen batching query results. (#237) (8d3ce5c), closes #236 - Improve test cleanup. (#234) (21f3d8b)
- IntegerProperty now accepts
longtype for Python 2.7. (#262) (9591e56), closes #250 - Unstable order bug in unit test. (#251) (7ff1df5), closes #244
11-06-2019 10:39 PST
query.map()andquery.map_async()hanging with empty result set. (#230)- remove dunder version (#202)
- Check context (#211)
- Fix
Model._gql. (#223) - Update intersphinx mapping (#206)
- do not set meanings for compressed property when it has no value (#200)
- Python 2.7 compatibility (#203)
- Add
tzinfoto DateTimeProperty. (#226) - Implement
_prepare_for_putforStructuredPropertyandLocalStructuredProperty. (#221) - Implement
Query.mapandQuery.map_async. (#218) - Allow class member values in projection and distinct queries (#214)
- Implement
Future.cancel()(#204)
- Update README to include Python 2 support. (#231)
- Fix typo in MIGRATION_NOTES.md (#208)
- Spelling fixes. (#209)
- Add spell checking dependencies for documentation build. (#196)
- Enable release-please (#228)
- Introduce local redis for tests (#191)
- Use .kokoro configs from templates. (#194)
09-10-2019 13:43 PDT
- Deprecate
max_memcache_items, memcache options,force_rewrites,Query.map(),Query.map_async(),blobstore. (#168)
- Fix error retrieving values for properties with different stored name (#187)
- Use correct class when deserializing a PolyModel entity. (#186)
- Support legacy compressed properties back and forth (#183)
- Store Structured Properties in backwards compatible way (#184)
- Allow put and get to work with compressed blob properties (#175)
- Raise an exception when storing entity with partial key without Datastore. (#171)
- Normalize to prefer
projectoverapp. (#170) - Enforce naive datetimes for
DateTimeProperty. (#167) - Handle projections with structured properties. (#166)
- Fix polymodel put and get (#151)
_prepare_for_putwas not being called at entity level (#138)- Fix key property. (#136)
- Fix thread local context. (#131)
- Bugfix: Respect
_indexedflag of properties. (#127) - Backwards compatibility with older style structured properties. (#126)
- Read legacy data with Repeated Structured Expando properties. (#176)
- Implement
Context.call_on_commit. (#159) - Implement
Context.flush(#158) - Implement
use_datastoreflag. (#155) - Implement
tasklets.toplevel. (#157) - Add RedisCache implementation of global cache (#150)
- Implement Global Cache (#148)
- ndb.Expando properties load and save (#117)
- Implement cache policy. (#116)
- Fix Kokoro publish-docs job (#153)
- Update Migration Notes. (#152)
- Add
project_urlsfor pypi page (#144) - Fix
TRAMPOLINE_BUILD_FILEin docs/common.cfg. (#143) - Add kokoro docs job to publish to googleapis.dev. (#142)
- Initial version of migration guide (#121)
- Add spellcheck sphinx extension to docs build process (#123)
- Clean up usage of
object.__new__and mocks forModelin unit tests (#177) - Prove tasklets can be Python 2.7 and 3.7 compatible. (#174)
- Discard src directory and fix flake8 failures (#173)
- Add tests for
Model.__eq__()(#169) - Remove skip flag accidentally left over (#154)
- Try to get kokoro to add indexes for system tests (#145)
- Add system test for PolyModel (#133)
- Fix system test under Datastore Emulator. (Fixes #118) (#119)
- Add unit tests for
_entity_from_ds_entityexpando support (#120)
06-11-2019 16:30 PDT
- Implement expando model (#99)
- Model properties (#96)
- Implemented tasklets.synctasklet (#58)
- Implement LocalStructuredProperty (#93)
- Implement hooks. (#95)
- Three easy Model methods. (#94)
- Model.get or insert (#92)
- Implement
Model.get_by_idandModel.get_by_id_async. - Implement
Model.allocate_idsandModel.allocate_ids_async. - Implement
Query.fetch_pageandQuery.fetch_page_async. - Implement
Query.countandQuery.count_async - Implement
Query.getandQuery.get_async.
- update sphinx version and eliminate all warnings (#105)
Initial development release of NDB client library.