Major Features and Improvements
* Supports MetadataStoreClientConfig options `client_timeout_sec` from the
python client. The grpc APIs would return DeadlineExceededError when server
does not respond within `client_timeout_ms`.
* From this release MLMD will also be hosting nightly packages on
https://pypi-nightly.tensorflow.org. To install the nightly package use the
following command:
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple ml-metadata
Note: These nightly packages are unstable and breakages are likely to
happen. The fix could often take a week or more depending on the complexity
involved for the wheels to be available on the PyPI cloud service. You can
always use the stable version of MLMD available on PyPI by running the
command `pip install ml-metadata` .
* Upgrades MLMD schema version to 6.
- Add `ParentType` table for supporting type inheritance.
- Add `Type`.`version` column for Type evolution development.
- Add `Type`.`idx_type_name` index for type lookup APIs.
- Add `Type`.`description` column for capturing static information about
Type.
- Add `ParentContext` table for supporting context parental relationship.
- Add `Artifact`.`idx_artifact_uri` for filtering artifacts by uri.
- Add `Event`.`idx_event_artifact_id` and `idx_event_execution_id` for
lineage traversal APIs.
- Add indices on `create_time_since_epoch`, `last_update_time_since_epoch`
for `Artifact`, `Execution` and `Context` for sorted listing queries.
* Allows omitting stored properties when using `put_artifact_type`,
`put_execution_type`, `put_context_type`, to help writing forward
compatibility MLMD type registration calls.
Bug Fixes and Other Changes
* Optimizes GetContext*/GetArtifact*/GetExecution* and corresponding List*
calls to reduce number of backend queries.
* Documentation fixes for QueryExecutor methods.
Breaking Changes
* N/A
Deprecations
* Deprecates `all_fields_match` and `can_delete_fields` from python APIs
`put_artifact_type`, `put_execution_type`, `put_context_type`. In previous
releases these parameters can only be set with default values, otherwise
Unimplemented error returns. This change should be no-op for all existing
users.