Release 0.6.0 - Entity Lifetimes
This release adds two new mechanisms to handle entity lifetimes, i.e. ways to scope when entities will be deleted:
- TTL tokens (entities with specified lifetime timers)
- Reference counting (weak entities)
Both of these are implemented a new core module called GarbageCollector
. There is also a third lifetime, immortal, which means the platform will not delete the entity by itself, just like it was before. This is the default for backwards compatibility reasons.
A new endpoint has been added to the API, which enables sending TTL tokens to specified entities and extending their lifetime.
Delete API
There are also additions to the API to delete selected entities to both the secondary modules and the external API. The delete action will remove the master record and all snapshots.
Filter Empty Snapshots
An additional option was added to SnapShooter
, whether to keep_empty
entity records as snapshots, or to filter them out in processing.
Docs
Entity Lifetimes
describes the new mechanics in detail- API changes: Added delete endpoint and TTL token endpoint
- Better Configuration docs (Newly added
API
,Control
,GarbageCollector
)
Other changes:
- BUGFIX -
SnapShooter
running hooks on multiple linked entities no longer runs only on one entity per entity type. - An additional reconnect attempt added to
TaskQueueReader
. - Snapshots returned from
/{etype}
endpoint will be sorted by the entity ID. - A few minor changes in logging messages, severity, and length.
- Deployments using
gunicorn
will now also include access logs.