diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 24b2b9bcc..21e7ebac1 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -102,4 +102,4 @@ jobs: with: packages_dir: wheels/ user: __token__ - password: ${{ secrets.PYPI_TOKEN }} + password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/README.md b/README.md index eb97566e3..1ad942f61 100644 --- a/README.md +++ b/README.md @@ -139,12 +139,12 @@ Create a new environment named `pypi` in the GitHub repository: - Name it `pypi` - Click "Configure environment" -**Step 2: Add PYPI_TOKEN secret** +**Step 2: Add PYPI_API_TOKEN secret** Add your PyPI token to the `pypi` environment: - In the `pypi` environment settings, scroll to "Environment secrets" - Click "Add secret" -- Name: `PYPI_TOKEN` (use this exact name) +- Name: `PYPI_API_TOKEN` (use this exact name) - Value: Your PyPI API token - Click "Add secret" @@ -180,7 +180,7 @@ This method creates a formal GitHub release with a tag, which automatically trig 1. Go to the Releases tab: https://github.com/google/ml-metadata/releases 2. Click the `Draft new release` button (you'll be redirected to https://github.com/google/ml-metadata/releases/new) -3. Click the `Select tag` button and create a new tag for your release (e.g., `v1.18.0`) +3. Click the `Select tag` button and create a new tag for your release (e.g., `v1.21.0`) 4. Click the `Target` dropdown and select your release branch 5. Fill in the **Release title** and **Release notes** sections 6. Choose the release type: diff --git a/RELEASE.md b/RELEASE.md index f901747e8..29e373292 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,4 +1,4 @@ -# Current Version (not yet released; still in development) +# Version 1.21.0 ## Major Features and Improvements @@ -7,14 +7,15 @@ ## Breaking Changes * Removed Python 3.9 support. +* Removed ZetaSQL-based `filter_query` functionality. The `filter_query` + parameter in `ListOptions` that relied on ZetaSQL for declarative filtering + has been removed in version 1.21.0. Users should migrate to native lookup + and lineage APIs (such as `get_artifacts_by_uri`, `get_artifacts_by_context`, + and `get_lineage_subgraph`) and filter retrieved objects directly in Python. ## Deprecations -* Deprecate ZetaSQL-based filter_query functionality. The `filter_query` - parameter in ListOperationOptions that relies on ZetaSQL for declarative - filtering is deprecated and will be removed in version 1.18.0. ZetaSQL - dependency is being removed from ML Metadata. Users should migrate to - alternative filtering approaches before the 1.18.0 release. +* N/A ## Bug Fixed and Other Changes @@ -24,870 +25,3 @@ * Upgraded gRPC (`com_github_grpc_grpc`) to stable release `v1.70.1`. * Upgraded `boringssl` dependency to stable commit `16c8d3db1af20fcc04b5190b25242aadcb1fbb30` to support OpenSSL 1.1.0+ APIs in modern gRPC versions. * Upgraded rules archives (`rules_swift`, `rules_go`, `bazel_gazelle`, `platforms`) to Bazel 7 compatible versions. - - -# Version 1.17.1 - -## Major Features and Improvements - -* Add conda/mamba CI workflows for building manylinux2014 wheels across Python 3.9-3.11 - -## Breaking Changes -* N/A - -## Deprecations - -* N/A - -## Bug Fixed and Other Changes - -* Used dev-toolset-8 for python workflow and dev-toolset-10 for docker workflow. - -# Version 1.17.0 - -## Major Features and Improvements - -* N/A - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -## Bug Fixed and Other Changes - -* Depends on `protobuf>=4.25.2,<5` for Python 3.11 and on `protobuf>4.21.6,<5` - for 3.9 and 3.10. - -# Version 1.16.0 - -## Major Features and Improvements - -* N/A - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -## Bug Fixed and Other Changes - -* N/A - -# Version 1.15.0 - -## Major Features and Improvements - -* Add mlmd_resolver as a wrapper later upon metadata_store. -* Extend GetLineageSubgraph API to support returning `associations` and - `attributions`. - -## Breaking Changes - -* N/A - -## Deprecations - -* Deprecate GetLineageGraph API. -* Deprecate OSS support on Windows OS platform. -* Deprecated python 3.8 support. -* Bumped minimum bazel version to 6.1.0. -* Deprecate types.py support. - -## Bug Fixed and Other Changes - -* Depends on `attrs>=20.3,<24`. -* Depends on `protobuf>=4.25.2,<5` for Python 3.11 and on `protobuf>3.20.3,<5` - for 3.9 and 3.10. - -# Version 1.14.0 - -## Major Features and Improvements - -* Support PostgreSQL database type. -* Support bool_value in (custom_)property filter queries. -* Add masking support for Artifact / Execution / Context updates -* Support using enum names in IN operator in filter queries. -* Support populating ArtifactTypes for GetArtifactByID API. -* Add GetLineageSubgraph API for efficient lineage tracing. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -## Bug Fixed and Other Changes - -* Bumped minimum bazel version to 5.3.0. -* Upgrade Microsoft Visual Studio (MSVC) version to 2017. -* Support filtering by parent/child context id in filter queries. -* Add batch queries for retrieving attributions/associations by - artifact/execution ids in query executor layer and deprecate the original - SelectAttributionByArtifactID and SelectAssociationByExecutionID functions. - -# Version 1.13.1 - -## Major Features and Improvements - -* N/A - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 1.13.0 - -## Major Features and Improvements - -* Fix filter query parsing for QueryLineageGraph when using queries with - aliases. -* Depends on `numpy~=1.22.0`. - -## Breaking Changes - -* N/A - -## Deprecations - -* Deprecated python 3.7 support. - -# Version 1.12.0 - -## Major Features and Improvements - -* N/A - -## Breaking Changes - -* N/A -## Deprecations - -* N/A - -# Version 1.11.0 - -## Major Features and Improvements - -* Introduce methods to Create and Update Artifacts, Executions and Contexts - with custom create and update timestamp. -* Introduce option to always update node's `last_update_time_since_epoch` even - if update request matches stored node. ## Bug Fixes and Other Changes -* Filter support for list Context with Artifact alias `artifacts_0` and - Execution alias `executions_0`. -* Enclose `FilterQueryBuilder::GetWhereClause()` return value in parentheses - to ensure filter query will be evaluated in the correct order. -* Upgrade SQLite version to 3.39.2 to support more advanced SQL statements, - e.g. using tuples with IN operator. -* Adds `external_id` for Type, Artifact, Execution and Context to store unique - string ids from other systems. -* Implements a fat client that supports v7, v8 and v9 schema for MLMD. -* Upgrades MLMD schema version to 10. - - Add `proto_value` and `bool_value` columns for `ArtifactProperty`, - `ExecutionProperty`, `ContextProperty`. The `proto_value` columns store - protocol buffer types (https://developers.google.com/protocol-buffers) -* Implement `UpsertTypes()` with batch queries in metadata store. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 1.10.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Adds utils in shared C++ lib to delete ParentContexts by parent_context_id - and child_context_ids. -* Depends on `attrs>=20.3,<22`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 1.9.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* N/A - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 1.8.0 - -## Major Features and Improvements - -* From this version we will be releasing python 3.9 wheels. - -## Bug Fixes and Other Changes - -* Updates Zlib to 1.2.12. -* Adds .bazelversion to support Bazelisk. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 1.7.0 - -## Major Features and Improvements - -* Upgrade DB schema to V8, including the following changes: - - Add constraint on Event table on (artifact_id, execution_id, type). If - duplicated events are created, already exists error will be returned. - - Add index for properties (for both property name and value). - -## Bug Fixes and Other Changes - -* N/A - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 1.6.0 - -## Major Features and Improvements - -* Apply max_node_size to GetLineageGraphRequest for returned nodes. -* Skip querying type properties when not needed. - -## Bug Fixes and Other Changes - -* Added type information file py.typed according to PEP-561. -* Depends on `absl-py>=0.9,<2.0.0`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 1.5.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Remove INFO log when a type is has empty property definition and not a - simple type. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 1.4.0 - -## Major Features and Improvements - -* Introduce MySQLSourceErrorInfo message to metadata_source proto to support - adding additional error information. MySQL implementation adds MySQL error - numbers as part MySQLSourceErrorInfo payload message. -* Open source GetLineageGraph() to MLMD OSS. MLMD OSS users now can use - GetLineageGraph() to access MLMD lineage. - -## Bug Fixes and Other Changes - -* N/A - -## Breaking Changes - -* N/A - -## Deprecations - -* Deprecated python 3.6 support. - -# Version 1.3.0 - -## Major Features and Improvements - -* Introduces `base_type` field to ArtifactType, ExecutionType and ConteextType - messages in metadata_store.proto. -* Modifies PutArtifactType, PutExecutionType and PutTypes APIs to support - creation of type inheritance link; modifies GetArtifactType(s) and - GetExecutionType(s) APIs to return `base_type` field values as well. - -## Bug Fixes and Other Changes - -* Adds support for PutTypes in the gRPC server. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 1.2.0 - -## Major Features and Improvements - -* Open sources declarative nodes filtering with zetaSQL. It is currently - supported on Linux and MacOS 10.14+. -* Extends get_artifacts, get_executions, get_contexts APIs with filtering - capabilities on properties and 1-hop neighborhood nodes. -* Supports configure GRPC options `grpc.http2.max_ping_strikes` from the - python client. - -## Bug Fixes and Other Changes - -* Introduces `database_name_` field for MySQL MetadataSource implementation to - enable MySQLMetadataSource to switch to different databases within the same - SQL server after connection or during reconnection. - -## Breaking Changes - -* The minimum required OS version for the macOS is 10.14 now. -* Bumped the minimum bazel version required to build `ml_metadata` to 3.7.2. - -## Deprecations - -* N/A - -# Version 1.1.0 - -## Major Features and Improvements - -* Introduced `skip_db_creation` for MySQL backend. It is useful when db - creation is handled by an admin process, while the lib users should not - issue db creation clauses. -* Adds utils in shared C++ lib to delete Contexts, Artifacts, Executions, and - their corresponding edges (e.g., Associations, Attributions, - ParentContexts). -* Removes TensorFlow dependency in MLMD OSS C++ and TensorFlow bazel WORKSPACE - dependency in MLMD OSS bazel WORKSPACE. -* Upgrades MLMD schema version to 7. - - Add `byte_value` column for `ArtifactProperty`, `ExecutionProperty`, - `ContextProperty` for better storing binary property values. - - For MySQL backend, modify `string_value` to use `MEDIUMTEXT` instead of - `TEXT` to persist property value upto 16MB. - - Add index `EventPath`.`idx_eventpath_event_id` for Event retrieval - queries. - -## Bug Fixes and Other Changes - -* Depends on `protobuf>=3.13,<4`. -* Fixes a bug of increasing size of `next_page_token` over pagination calls. -* Returns InvalidArgumentError for PutParentContexts when creating a cyclic - parent context. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 1.0.0 - -## Major Features and Improvements - -* Implements ParentContext creation and retrieval in MLMD python and gRPC - APIs. - -## Bug Fixes and Other Changes - -* When `reuse_context_if_already_exist` is used for PutExecution, returns - Aborted instead of AlreadyExists to improve the API contract when there are - data races to create the same Context for the first time. - -## Breaking Changes - -* Predefines a list of types (MLMD SimpleTypes) when connecting a MLMD - instance. If the types already exist, it is a no-op, otherwise, it creates - the types. This change may break tests which assume the number of types - exist in a MLMD instance. - -## Deprecations - -* N/A - -# Release 0.30.0 - -## Major Features and Improvements - -* Supports versioned type creation and listing in python APIs for non-backward - compatible type evolutions. -* Supports listing nodes by type with version in MLMD APIs. - -## Bug Fixes and Other Changes - -* N/A - -## Breaking Changes - -* N/A - -## Deprecations - -* Drops `create_artifact_with_type` from MetadataStore python class. - -# Release 0.29.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Uses Pybind11 instead of SWIG to wrap C++ libraries for MLMD python client. -* Depends on `absl-py>=0.9,<0.13`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Release 0.28.0 - -## Major Features and Improvements - -* Extends type identifier to be (name, version). The version is optional and - backward compatible with existing usage. -* Supports versioned creation and listing of types in gRPC for non-backward - compatible type evolutions. - -## Bug Fixes and Other Changes - -* N/A - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Release 0.27.0 - -## Major Features and Improvements - -* Introduce `google.protobuf.Struct` as an additional `Value` type for storing - complex, JSON-objects in MLMD. - -## Bug Fixes and Other Changes - -* MLMD wheel for MacOS is now built with minimum OS version 10.9. This will - improve compatibility for the older MacOS versions. - -## Breaking changes - -* N/A - -## Deprecations - -* N/A - -# Release 0.26.0 - -## Major Features and Improvements - -* Exposes limit and order_by parameters to get_artifacts, get_executions and - get_contexts API in python MetadataStore client to allow users to specify - the maximum results to retrieve and the field the results to be ordered by. - -## Bug Fixes and Other Changes - -* Adds `attrs` as py client dependency. - -## Breaking changes - -* N/A - -## Deprecations - -* N/A - -# Release 0.25.1 - -## Major Features and Improvements - -* Adds `reuse_context_if_already_exist` option to `put_execution` python API - to better support concurrent execution publishing with the same new context. -* Supports pagination and ordering options in GetExecutionsByContext and - GetArtifactsByContext APIs. - -## Bug Fixes and Other Changes - -* N/A - -## Breaking changes - -* N/A - -## Deprecations - -* N/A - -# Release 0.25.0 - -## 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. - -# Release 0.24.0 - -## Major Features and Improvements - -* Improves building wheels from source with `setup.py`. -* Supports configure GRPC options `max_receive_message_length` from the python - client. -* Adds python 3.8 support. - -## Bug Fixes and Other Changes - -* Adds `grpcio` as py client dependency. -* Replaces the C++ MOCK_METHOD`` family of macros with the new MOCK_METHOD -* Updates node's `last_update_time_since_epoch` when changing - (custom)properties. -* Disables incompatible Golang BUILD targets temporarily. -* Support GetArtifactByTypeAndName, GetExecutionByTypeAndName, - GetContextByTypeAndName Go API - -## Breaking Changes - -* N/A - -## Deprecations - -* Deprecated py3.5 support - -# Release 0.23.0 - -## Major Features and Improvements - -* GetArtifacts, GetExecutions and GetContexts now supports pagination and - ordering results by ID, Create time and last update time fields. - -## Bug Fixes and Other Changes - -* Python MetadataStore now exposes get_artifact_by_type_and_name and - get_execution_by_type_and_name methods. -* Improves query performance of get_events_by_execution_ids and - get_events_by_artifact_ids by combing multiple queries. -* Drops python dependency on tensorflow to make ml-metadata be friendly with - non-TFX use cases. - -## Breaking Changes - -* Python MetadataStore APIs return mlmd errors instead of tensorflow errors. - -## Deprecations - -* Note: We plan to remove Python 3.5 support after this release. - -# Release 0.22.1 - -## Major Features and Improvements - -* Uses metadata_store per request for grpc server to improve scalability. - -## Bug Fixes and Other Changes - -* Uses Iterable[int] instead Sequence[int] for listing APIs accepting ids. -* Depends on `tensorflow>=1.15,!=2.0.*,<3` - -## Breaking changes - -## Deprecations - -* Drops Python 2 support and stops releasing py2 wheels. - -# Release 0.22.0 - -## Major Features and Improvements - -* Upgrades MLMD schema version to 5. - - Added state columns to persistent Artifact.state, - Execution.last_known_state - - Added user-given unique name per type column to Artifact and Execution. - - Added create_time_since_epoch, last_update_time_since_epoch to all - Nodes. -* Provides GetArtifactByTypeAndName and GetExecutionByTypeAndName API to get - artifact/execution by type and name. -* Refactors transaction executions using TransactionExecutor class. -* Supports storing/retrieving Artifact.state and Execution.last_known_state. - -## Bug Fixes and Other Changes - -* Returns explicit InvalidArgument for get_artifacts_by_uri from 0.15.x - clients when using 0.21.0+ server. - -## Breaking changes - -## Deprecations - -# Release 0.21.2 - -## Major Features and Improvements - -## Bug Fixes and Other Changes - -* Updates logging level for python mlmd client. - -## Breaking changes - -## Deprecations - -# Release 0.21.1 - -## Major Features and Improvements - -* Refactoring MetadataAccessObject to allow for more flexibility. -* Release a script to generate Python API documentation. - -## Bug Fixes and Other Changes - -* GetArtifacts/Executions/Contexts returns OK instead of NotFound to align - with other listing APIs. -* Handles mysql stale connection error 2006 by client-side reconnection. -* Handles mysql innodb deadlock error (1213) and lock timeout (1205) via - client-side retry. -* Avoids update node or properties without changes. - -## Breaking changes - -## Deprecations - -# Release 0.21.0 - -## Major Features and Improvements - -* Adding artifact states. -* Supporting connection retries to gRPC server. -* Allowing the Python API put_execution to update or insert related contexts. -* Adding a new execution state: CANCELED. This indicates an execution being - canceled. -* Adding two event types: INTERNAL_INPUT and INTERNAL_OUTPUT indended to be - used by mlmd powered systems (e.g., orchestrator). -* Add support to pass migration options as command line parameters to the MLMD - gRPC server. -* Adding a new Python API get_context_by_type_and_name to allow querying a - context by its type and context name at the same time. - -## Bug Fixes and Other Changes - -* Refactoring MetadataAccessObject to allow for more flexibility. - -## Breaking Changes - -* The Python API put_execution will need an extra input argument to pass in - contexts and return updated context_ids. Users using the old API could pass - in None or an empty list as context and add another variable to hold the - returned context_ids to migrate. - -## Deprecations - -# Release 0.15.2 - -## Major Features and Improvements - -## Bug Fixes and Other Changes - -* Passes bytes instead of string to grpc.ssl_channel_credentials. -* Align GRPC python client stub error code with swig client error code. -* Add verify_server_cert support to MySQL source SSL options. - -## Breaking Changes - -## Deprecations - -# Release 0.15.1 - -## Major Features and Improvements - -* Add migration options to gRPC MetadataStoreServerConfig. -* Disable auto schema migration by default during connection. The user needs - to explicitly enable it when connecting an older database. -* Support SSL options when using MySQL metadata source. - -## Bug Fixes and Other Changes - -* Fixes MySQL errors with concurrent connection to an empty database. Now, - MLMD returns Aborted when concurrent connection error happens and the caller - can retry appropriately. - -## Breaking Changes - -## Deprecations - -* Deprecates proto field MigrationOptions.disable_upgrade_migration. -* Deprecates `disable_upgrade_migration` in python MetadataStore constructor. - -# Release 0.15.0 - -## Major Features and Improvements - -* Add Dockerfile for building a containerized version of the MLMD gRPC server. -* Add support for connecting to a MYSQL Metadata Source via Unix sockets. -* Add support to pass mysql connection configuration as command line - parameters to the MLMD gRPC server. -* Provides the ability for metadata_store.py to communicate with the MLMD gRPC - server, as an alternative to connecting directly with a database. -* Supports Sqlite for Windows and adds scripts to build wheels for python3 in - Windows. -* Provides GetContextTypes to list all Context Types. -* MLMD ConnectionConfig provides an option to disable an automatic upgrade. -* Supports downgrade of the database schema version to older versions. - -## Bug Fixes and Other Changes - -* Depended on `tensorflow>=1.15,<3` - * Starting from 1.15, package `tensorflow` comes with GPU support. Users - won't need to choose between `tensorflow` and `tensorflow-gpu`. - * Caveat: `tensorflow` 2.0.0 is an exception and does not have GPU - support. If `tensorflow-gpu` 2.0.0 is installed before installing - `ml_metadata`, it will be replaced with `tensorflow` 2.0.0. Re-install - `tensorflow-gpu` 2.0.0 if needed. - -## Breaking Changes - -## Deprecations - -# Release 0.14.0 - -## Major Features and Improvements - -* Add Context and ContextType to MLMD data model, which are used for capturing - grouping concepts (e.g., Project, Pipeline, Owner, etc) of Artifacts and - Executions. -* Add CACHED state to Execution state enum to model an execution that is - skipped due to cached results. -* Add the ability to list all instances of ArtifactType and ExecutionType. -* Support Type update and enforce backward compatibility. -* Support atomic creation and publishing of an execution. -* Support building a manylinux2010 compliant wheel in docker so that it works - in other linux OS outside of Ubuntu. -* Provide MLMD migration scheme to migrate out-of-date MLMD instance. -* Support creating and querying ContextType. -* Support creating, updating and querying Context instances. -* Support grouping artifact and executions into contexts. -* Support querying related artifacts and executions through contexts. - -## Bug Fixes and Other Changes - -## Breaking changes - -## Deprecations - -# Release 0.13.2 - -## Major Features and Improvements - -* Established ML Metadata as a standalone package. -* Provides a way to store information about how each artifact (e.g. file) was - generated. -* Provides tools for determining provenance. - -## Bug Fixes and Other Changes - -## Breaking changes - -## Deprecations diff --git a/docs/index.md b/docs/index.md index 51efb37d8..56cd739b2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -253,7 +253,7 @@ artifacts = store.get_artifacts() # Plus, there are many ways to query the same Artifact [stored_data_artifact] = store.get_artifacts_by_id([data_artifact_id]) artifacts_with_uri = store.get_artifacts_by_uri(data_artifact.uri) -# Note: filter_query is deprecated and will be removed in version 1.18.0. +# Note: filter_query has been removed in version 1.21.0. artifacts_with_conditions = store.get_artifacts( list_options=mlmd.ListOptions( filter_query='uri LIKE "%/data" AND properties.day.int_value > 0')) @@ -271,7 +271,7 @@ trainer_run.properties["state"].string_value = "RUNNING" # Query all registered Execution executions = store.get_executions_by_id([run_id]) # Similarly, the same execution can be queried with conditions. -# Note: filter_query is deprecated and will be removed in version 1.18.0. +# Note: filter_query has been removed in version 1.21.0. executions_with_conditions = store.get_executions( list_options = mlmd.ListOptions( filter_query='type = "Trainer" AND properties.state.string_value IS NOT NULL')) @@ -357,7 +357,7 @@ experiment_executions = store.get_executions_by_context(experiment_id) # You can also use neighborhood queries to fetch these artifacts and executions # with conditions. -# Note: filter_query is deprecated and will be removed in version 1.18.0. +# Note: filter_query has been removed in version 1.21.0. experiment_artifacts_with_conditions = store.get_artifacts( list_options = mlmd.ListOptions( filter_query=('contexts_a.type = "Experiment" AND contexts_a.name = "exp1"'))) @@ -524,6 +524,7 @@ The list of `schema_version` used in MLMD releases are: ml-metadata (MLMD) | schema_version ------------------ | -------------- +1.21.0 | 10 1.16.0 | 10 1.15.0 | 10 1.14.0 | 10 diff --git a/ml_metadata/metadata_store/metadata_store.py b/ml_metadata/metadata_store/metadata_store.py index 35901cd5d..2e21802e8 100644 --- a/ml_metadata/metadata_store/metadata_store.py +++ b/ml_metadata/metadata_store/metadata_store.py @@ -81,11 +81,10 @@ class ListOptions: is_asc: Specifies `order_by` is ascending or descending. If `order_by` is not given, the field is ignored. If `order_by` is set, then by default ascending order is used for performance benefit. - filter_query: DEPRECATED (will be removed in v1.18.0) - An optional boolean + filter_query: DEPRECATED (removed in v1.21.0) - An optional boolean expression in SQL syntax to specify conditions on node attributes and - directly connected assets. This feature depends on ZetaSQL which is being - removed from ML Metadata. Please migrate to alternative filtering approaches - before version 1.18.0. See + directly connected assets. This feature depends on ZetaSQL which has been + removed from ML Metadata. See https://github.com/google/ml-metadata/blob/master/ml_metadata/proto/metadata_store.proto#L705-L783 for the query capabilities and syntax. """ @@ -1482,13 +1481,13 @@ def _call_method_with_list_options( if list_options.order_by: request.options.order_by_field.field = list_options.order_by.value if list_options.filter_query: - # DEPRECATED: ZetaSQL-based filter_query will be removed in v1.18.0 + # DEPRECATED: ZetaSQL-based filter_query has been removed in v1.21.0 import warnings warnings.warn( - 'DEPRECATION WARNING: filter_query is deprecated and will be ' - 'removed in version 1.18.0. This feature depends on ZetaSQL ' - 'which is being removed from ML Metadata. Please migrate to ' - 'alternative filtering approaches before the 1.18.0 release.', + 'DEPRECATION WARNING: filter_query has been removed in version ' + '1.21.0. This feature depended on ZetaSQL which has been removed ' + 'from ML Metadata. Please migrate to alternative filtering ' + 'approaches.', DeprecationWarning, stacklevel=3 ) diff --git a/ml_metadata/query/filter_query_ast_resolver.cc b/ml_metadata/query/filter_query_ast_resolver.cc index 43f43e961..0c702867c 100644 --- a/ml_metadata/query/filter_query_ast_resolver.cc +++ b/ml_metadata/query/filter_query_ast_resolver.cc @@ -14,7 +14,7 @@ limitations under the License. ==============================================================================*/ // DEPRECATED: This file and its associated ZetaSQL-based filter_query -// functionality is deprecated and will be removed in version 1.18.0. +// functionality has been removed in version 1.21.0. // ZetaSQL dependency is being phased out from ML Metadata. // Please migrate to alternative filtering approaches. diff --git a/ml_metadata/query/filter_query_ast_resolver.h b/ml_metadata/query/filter_query_ast_resolver.h index 97d8a6d7b..4ae58d283 100644 --- a/ml_metadata/query/filter_query_ast_resolver.h +++ b/ml_metadata/query/filter_query_ast_resolver.h @@ -23,7 +23,7 @@ limitations under the License. namespace ml_metadata { // DEPRECATED: This class and its associated ZetaSQL-based filter_query -// functionality is deprecated and will be removed in version 1.18.0. +// functionality has been removed in version 1.21.0. // ZetaSQL dependency is being phased out from ML Metadata. // Please migrate to alternative filtering approaches. // diff --git a/ml_metadata/query/filter_query_builder.cc b/ml_metadata/query/filter_query_builder.cc index 0d4aff346..07c23e11e 100644 --- a/ml_metadata/query/filter_query_builder.cc +++ b/ml_metadata/query/filter_query_builder.cc @@ -14,7 +14,7 @@ limitations under the License. ==============================================================================*/ // DEPRECATED: This file and its associated ZetaSQL-based filter_query -// functionality is deprecated and will be removed in version 1.18.0. +// functionality has been removed in version 1.21.0. // ZetaSQL dependency is being phased out from ML Metadata. // Please migrate to alternative filtering approaches. diff --git a/ml_metadata/query/filter_query_builder.h b/ml_metadata/query/filter_query_builder.h index c31c4d96c..f21a49603 100644 --- a/ml_metadata/query/filter_query_builder.h +++ b/ml_metadata/query/filter_query_builder.h @@ -22,7 +22,7 @@ limitations under the License. namespace ml_metadata { // DEPRECATED: This class and its associated ZetaSQL-based filter_query -// functionality is deprecated and will be removed in version 1.18.0. +// functionality has been removed in version 1.21.0. // ZetaSQL dependency is being phased out from ML Metadata. // Please migrate to alternative filtering approaches. // diff --git a/ml_metadata/version.py b/ml_metadata/version.py index 69e315c28..7440425bb 100644 --- a/ml_metadata/version.py +++ b/ml_metadata/version.py @@ -15,4 +15,4 @@ """Contains the version string of ML Metadata.""" # Note that setup.py uses this version. -__version__ = '1.18.0.dev' +__version__ = '1.21.0'