From edcffd4131759cd20bccee609258992d268f2605 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 21:00:00 +0000 Subject: [PATCH 01/11] Prepare release 0.52.0: update version, dependencies, and Python 3.10-3.13 support --- .github/workflows/build.yml | 2 +- .github/workflows/docs.yml | 4 ++-- .github/workflows/test.yml | 2 +- RELEASE.md | 21 +++++++++++++++++++ fairness_indicators/version.py | 2 +- setup.py | 17 ++++++++------- tensorboard_plugin/setup.py | 19 ++++++++++------- .../RELEASE.md | 20 ++++++++++++++++++ .../version.py | 2 +- 9 files changed, 68 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1ed235e..97660fd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.9", "3.10"] + python-version: ["3.10", "3.11", "3.12", "3.13"] steps: - name: Checkout diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4b33fe1..e2e6fcb 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,10 +20,10 @@ jobs: git config user.email 41898282+github-actions[bot]@users.noreply.github.com if: (github.event_name != 'pull_request') - - name: Set up Python 3.9 + - name: Set up Python 3.10 uses: actions/setup-python@v5 with: - python-version: '3.9' + python-version: '3.10' cache: 'pip' cache-dependency-path: | setup.py diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1648354..7ddf111 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: - python-version: ['3.9', '3.10'] + python-version: ['3.10', '3.11', '3.12', '3.13'] package-root-dir: ['./', './tensorboard_plugin'] steps: diff --git a/RELEASE.md b/RELEASE.md index ca4f448..cf579a7 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -10,6 +10,27 @@ ## Deprecations +# Version 0.52.0 + +## Major Features and Improvements + +* N/A + +## Bug Fixes and Other Changes + +* Depends on `tensorflow>=2.21,<2.22`. +* Depends on `tensorflow-data-validation>=1.21.0,<1.22.0`. +* Depends on `tensorflow-model-analysis>=0.52.0,<0.53.0`. +* Removed Python 3.9 support and added support for Python 3.10, 3.11, 3.12, and 3.13. + +## Breaking Changes + +* N/A + +## Deprecations + +* N/A + # Version 0.48.0 ## Major Features and Improvements diff --git a/fairness_indicators/version.py b/fairness_indicators/version.py index 0f30712..09696c2 100644 --- a/fairness_indicators/version.py +++ b/fairness_indicators/version.py @@ -14,4 +14,4 @@ """Contains the version string of Fairness Indicators.""" # Note that setup.py uses this version. -__version__ = "0.49.0.dev" +__version__ = "0.52.0" diff --git a/setup.py b/setup.py index d01b6b1..0874892 100644 --- a/setup.py +++ b/setup.py @@ -20,8 +20,8 @@ import setuptools -if sys.version_info >= (3, 11): - sys.exit("Sorry, Python >= 3.11 is not supported") +if sys.version_info >= (3, 14): + sys.exit("Sorry, Python >= 3.14 is not supported") def select_constraint(default, nightly=None, git_master=None): @@ -38,10 +38,10 @@ def select_constraint(default, nightly=None, git_master=None): REQUIRED_PACKAGES = [ - "tensorflow>=2.17,<2.18", + "tensorflow>=2.21,<2.22", "tensorflow-hub>=0.16.1,<1.0.0", - "tensorflow-data-validation>=1.17.0,<2.0.0", - "tensorflow-model-analysis>=0.48.0,<0.49.0", + "tensorflow-data-validation>=1.21.0,<2.0.0", + "tensorflow-model-analysis>=0.52.0,<0.53.0", "witwidget>=1.4.4,<2", "protobuf>=4.21.6,<6.0.0", ] @@ -73,7 +73,7 @@ def select_constraint(default, nightly=None, git_master=None): package_data={ "fairness_indicators": ["documentation/*"], }, - python_requires=">=3.9,<4", + python_requires=">=3.10,<4", install_requires=REQUIRED_PACKAGES, tests_require=REQUIRED_PACKAGES, extras_require={"docs": DOCS_PACKAGES, "test": TEST_PACKAGES, "dev": "pre-commit"}, @@ -86,7 +86,10 @@ def select_constraint(default, nightly=None, git_master=None): "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3 :: Only", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics", diff --git a/tensorboard_plugin/setup.py b/tensorboard_plugin/setup.py index b19ef09..2fdfbe6 100644 --- a/tensorboard_plugin/setup.py +++ b/tensorboard_plugin/setup.py @@ -19,8 +19,8 @@ from setuptools import find_packages, setup -if sys.version_info >= (3, 11): - sys.exit("Sorry, Python >= 3.11 is not supported") +if sys.version_info >= (3, 14): + sys.exit("Sorry, Python >= 3.14 is not supported") def select_constraint(default, nightly=None, git_master=None): @@ -38,10 +38,10 @@ def select_constraint(default, nightly=None, git_master=None): REQUIRED_PACKAGES = [ "protobuf>=4.21.6,<6.0.0", - "tensorboard>=2.17.0,<2.18.0", - "tensorflow>=2.17,<2.18", - "tf-keras>=2.17,<2.18", - "tensorflow-model-analysis>=0.48,<0.49", + "tensorboard>=2.21.0,<2.22.0", + "tensorflow>=2.21,<2.22", + "tf-keras>=2.21,<2.22", + "tensorflow-model-analysis>=0.52,<0.53", "werkzeug<2", ] @@ -76,7 +76,7 @@ def select_constraint(default, nightly=None, git_master=None): "fairness_indicators = tensorboard_plugin_fairness_indicators.plugin:FairnessIndicatorsPlugin", ], }, - python_requires=">=3.9,<4", + python_requires=">=3.10,<4", install_requires=REQUIRED_PACKAGES, tests_require=REQUIRED_PACKAGES, extras_require={ @@ -90,7 +90,10 @@ def select_constraint(default, nightly=None, git_master=None): "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3 :: Only", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics", diff --git a/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md b/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md index c47cc78..d232b30 100644 --- a/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md +++ b/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md @@ -10,6 +10,26 @@ ## Deprecations +# Version 0.52.0 + +## Major Features and Improvements + +* N/A + +## Bug Fixes and Other Changes + +* Support `tensorflow>=2.21,<2.22`. +* Depends on `tensorflow-model-analysis>=0.52.0,<0.53.0`. +* Removed Python 3.9 support and added support for Python 3.10, 3.11, 3.12, and 3.13. + +## Breaking Changes + +* N/A + +## Deprecations + +* N/A + # Version 0.48.0 ## Major Features and Improvements diff --git a/tensorboard_plugin/tensorboard_plugin_fairness_indicators/version.py b/tensorboard_plugin/tensorboard_plugin_fairness_indicators/version.py index dde7818..f08be06 100644 --- a/tensorboard_plugin/tensorboard_plugin_fairness_indicators/version.py +++ b/tensorboard_plugin/tensorboard_plugin_fairness_indicators/version.py @@ -15,4 +15,4 @@ """Contains the version string of Fairness Indicators Tensorboard Plugin.""" # Note that setup.py uses this version. -__version__ = "0.49.0.dev" +__version__ = "0.52.0" From abe8fc59044cb1f1fe6331fa57702cd4c4cfad19 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 21:33:21 +0000 Subject: [PATCH 02/11] Update protobuf dependency range to >=6.0.0,<7.0.0 --- setup.py | 2 +- tensorboard_plugin/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 0874892..a5d66b1 100644 --- a/setup.py +++ b/setup.py @@ -43,7 +43,7 @@ def select_constraint(default, nightly=None, git_master=None): "tensorflow-data-validation>=1.21.0,<2.0.0", "tensorflow-model-analysis>=0.52.0,<0.53.0", "witwidget>=1.4.4,<2", - "protobuf>=4.21.6,<6.0.0", + "protobuf>=6.0.0,<7.0.0", ] TEST_PACKAGES = [ diff --git a/tensorboard_plugin/setup.py b/tensorboard_plugin/setup.py index 2fdfbe6..1ec7be0 100644 --- a/tensorboard_plugin/setup.py +++ b/tensorboard_plugin/setup.py @@ -37,7 +37,7 @@ def select_constraint(default, nightly=None, git_master=None): REQUIRED_PACKAGES = [ - "protobuf>=4.21.6,<6.0.0", + "protobuf>=6.0.0,<7.0.0", "tensorboard>=2.21.0,<2.22.0", "tensorflow>=2.21,<2.22", "tf-keras>=2.21,<2.22", From 267f34659133deac970872f5a92984d27b9cc235 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 21:52:38 +0000 Subject: [PATCH 03/11] Fix TFMA import failure and test environment: add numpy<2.0.0 constraint and pytest pythonpath --- setup.py | 1 + tensorboard_plugin/pytest.ini | 1 + tensorboard_plugin/setup.py | 1 + 3 files changed, 3 insertions(+) diff --git a/setup.py b/setup.py index a5d66b1..4583799 100644 --- a/setup.py +++ b/setup.py @@ -44,6 +44,7 @@ def select_constraint(default, nightly=None, git_master=None): "tensorflow-model-analysis>=0.52.0,<0.53.0", "witwidget>=1.4.4,<2", "protobuf>=6.0.0,<7.0.0", + "numpy>=1.23.5,<2.0.0", ] TEST_PACKAGES = [ diff --git a/tensorboard_plugin/pytest.ini b/tensorboard_plugin/pytest.ini index 61d2b34..a02cf33 100644 --- a/tensorboard_plugin/pytest.ini +++ b/tensorboard_plugin/pytest.ini @@ -2,3 +2,4 @@ addopts = "--import-mode=importlib" testpaths = "tensorboard_plugin_fairness_indicators" python_files = "*_test.py" +pythonpath = . diff --git a/tensorboard_plugin/setup.py b/tensorboard_plugin/setup.py index 1ec7be0..8a7c322 100644 --- a/tensorboard_plugin/setup.py +++ b/tensorboard_plugin/setup.py @@ -43,6 +43,7 @@ def select_constraint(default, nightly=None, git_master=None): "tf-keras>=2.21,<2.22", "tensorflow-model-analysis>=0.52,<0.53", "werkzeug<2", + "numpy>=1.23.5,<2.0.0", ] TEST_PACKAGES = [ From 2b46c62fa1f02ef969cc9f32681c88ffe040dec2 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 22:01:30 +0000 Subject: [PATCH 04/11] Fix EvalConfig import in tests and utilities and add pytest pythonpath to pyproject.toml --- fairness_indicators/example_model_test.py | 3 ++- fairness_indicators/tutorial_utils/util.py | 3 ++- fairness_indicators/tutorial_utils/util_test.py | 3 ++- pyproject.toml | 1 + .../tensorboard_plugin_fairness_indicators/plugin_test.py | 3 ++- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/fairness_indicators/example_model_test.py b/fairness_indicators/example_model_test.py index cbc3a8a..582ad7e 100644 --- a/fairness_indicators/example_model_test.py +++ b/fairness_indicators/example_model_test.py @@ -28,6 +28,7 @@ import tensorflow_model_analysis as tfma from google.protobuf import text_format from tensorflow import keras +from tensorflow_model_analysis.proto import config_pb2 as tfma_config from fairness_indicators import example_model @@ -113,7 +114,7 @@ def test_example_model(self): } } """, - tfma.EvalConfig(), + tfma_config.EvalConfig(), ) validate_tf_file_path = self._write_tf_records(data) diff --git a/fairness_indicators/tutorial_utils/util.py b/fairness_indicators/tutorial_utils/util.py index c7d3fd1..a06f38b 100644 --- a/fairness_indicators/tutorial_utils/util.py +++ b/fairness_indicators/tutorial_utils/util.py @@ -22,6 +22,7 @@ import tensorflow as tf import tensorflow_model_analysis as tfma from google.protobuf import text_format +from tensorflow_model_analysis.proto import config_pb2 as tfma_config TEXT_FEATURE = "comment_text" LABEL = "toxicity" @@ -219,7 +220,7 @@ def get_eval_results( slice_selection, "true" if compute_confidence_intervals else "false", ), - tfma.EvalConfig(), + tfma_config.EvalConfig(), ) eval_shared_model = tfma.default_eval_shared_model( diff --git a/fairness_indicators/tutorial_utils/util_test.py b/fairness_indicators/tutorial_utils/util_test.py index 36666c6..566ad54 100644 --- a/fairness_indicators/tutorial_utils/util_test.py +++ b/fairness_indicators/tutorial_utils/util_test.py @@ -23,6 +23,7 @@ import tensorflow as tf import tensorflow_model_analysis as tfma from google.protobuf import text_format +from tensorflow_model_analysis.proto import config_pb2 as tfma_config from fairness_indicators.tutorial_utils import util @@ -329,7 +330,7 @@ def test_get_eval_results_called_correclty( disabled_outputs{values: "analysis"} } """, - tfma.EvalConfig(), + tfma_config.EvalConfig(), ) mock_run_model_analysis.assert_called_once_with( diff --git a/pyproject.toml b/pyproject.toml index a862155..9f98d56 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -113,3 +113,4 @@ ignore = [ addopts = "--import-mode=importlib" testpaths = ["fairness_indicators"] python_files = ["*_test.py"] +pythonpath = ["."] diff --git a/tensorboard_plugin/tensorboard_plugin_fairness_indicators/plugin_test.py b/tensorboard_plugin/tensorboard_plugin_fairness_indicators/plugin_test.py index d993580..ff5656c 100644 --- a/tensorboard_plugin/tensorboard_plugin_fairness_indicators/plugin_test.py +++ b/tensorboard_plugin/tensorboard_plugin_fairness_indicators/plugin_test.py @@ -30,6 +30,7 @@ plugin_event_multiplexer as event_multiplexer, ) from tensorboard.plugins import base_plugin +from tensorflow_model_analysis.proto import config_pb2 as tfma_config from tensorflow_model_analysis.utils import example_keras_model from werkzeug import test as werkzeug_test from werkzeug import wrappers @@ -116,7 +117,7 @@ def _make_eval_config(self): } } """, - tfma.EvalConfig(), + tfma_config.EvalConfig(), ) def testRoutes(self): From 76e9acd165151785fbd94d7a4faa9a5b17628d88 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 22:05:43 +0000 Subject: [PATCH 05/11] Allow NumPy >= 2.1.0 on Python 3.13 to resolve ml-dtypes dependency --- setup.py | 3 ++- tensorboard_plugin/setup.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 4583799..1aba3ce 100644 --- a/setup.py +++ b/setup.py @@ -44,7 +44,8 @@ def select_constraint(default, nightly=None, git_master=None): "tensorflow-model-analysis>=0.52.0,<0.53.0", "witwidget>=1.4.4,<2", "protobuf>=6.0.0,<7.0.0", - "numpy>=1.23.5,<2.0.0", + "numpy>=1.23.5,<2.0.0; python_version < '3.13'", + "numpy>=2.1.0; python_version >= '3.13'", ] TEST_PACKAGES = [ diff --git a/tensorboard_plugin/setup.py b/tensorboard_plugin/setup.py index 8a7c322..f61c847 100644 --- a/tensorboard_plugin/setup.py +++ b/tensorboard_plugin/setup.py @@ -43,7 +43,8 @@ def select_constraint(default, nightly=None, git_master=None): "tf-keras>=2.21,<2.22", "tensorflow-model-analysis>=0.52,<0.53", "werkzeug<2", - "numpy>=1.23.5,<2.0.0", + "numpy>=1.23.5,<2.0.0; python_version < '3.13'", + "numpy>=2.1.0; python_version >= '3.13'", ] TEST_PACKAGES = [ From 3d5e0c9a612210cc8c2185606029e6433ba83d90 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 22:07:59 +0000 Subject: [PATCH 06/11] Remove unused tfma import in util_test.py to pass ruff linter --- fairness_indicators/tutorial_utils/util_test.py | 1 - 1 file changed, 1 deletion(-) diff --git a/fairness_indicators/tutorial_utils/util_test.py b/fairness_indicators/tutorial_utils/util_test.py index 566ad54..1a8f71e 100644 --- a/fairness_indicators/tutorial_utils/util_test.py +++ b/fairness_indicators/tutorial_utils/util_test.py @@ -21,7 +21,6 @@ import pandas as pd import tensorflow as tf -import tensorflow_model_analysis as tfma from google.protobuf import text_format from tensorflow_model_analysis.proto import config_pb2 as tfma_config From fcec3daa4ed4887354a94275a3c606e46f5aef93 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 22:18:33 +0000 Subject: [PATCH 07/11] Update RELEASE.md files with complete 0.52.0 dependency changes --- RELEASE.md | 4 +++- .../tensorboard_plugin_fairness_indicators/RELEASE.md | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index cf579a7..49c5e63 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -19,8 +19,10 @@ ## Bug Fixes and Other Changes * Depends on `tensorflow>=2.21,<2.22`. -* Depends on `tensorflow-data-validation>=1.21.0,<1.22.0`. +* Depends on `tensorflow-data-validation>=1.21.0,<2.0.0`. * Depends on `tensorflow-model-analysis>=0.52.0,<0.53.0`. +* Depends on `protobuf>=6.0.0,<7.0.0`. +* Added conditional NumPy dependency (`numpy>=1.23.5,<2.0.0` for Python < 3.13 and `numpy>=2.1.0` for Python >= 3.13). * Removed Python 3.9 support and added support for Python 3.10, 3.11, 3.12, and 3.13. ## Breaking Changes diff --git a/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md b/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md index d232b30..6d53fa3 100644 --- a/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md +++ b/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md @@ -18,8 +18,11 @@ ## Bug Fixes and Other Changes -* Support `tensorflow>=2.21,<2.22`. +* Support `tensorflow>=2.21,<2.22` and `tf-keras>=2.21,<2.22`. +* Depends on `tensorboard>=2.21.0,<2.22.0`. * Depends on `tensorflow-model-analysis>=0.52.0,<0.53.0`. +* Depends on `protobuf>=6.0.0,<7.0.0`. +* Added conditional NumPy dependency (`numpy>=1.23.5,<2.0.0` for Python < 3.13 and `numpy>=2.1.0` for Python >= 3.13). * Removed Python 3.9 support and added support for Python 3.10, 3.11, 3.12, and 3.13. ## Breaking Changes From 0f6a4915f6d68ccb3d674f285dfaf0a372b04e52 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 22:19:39 +0000 Subject: [PATCH 08/11] Align TFDV dependency constraint with TFX minor version convention (<1.22.0) --- RELEASE.md | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index 49c5e63..b725cd6 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -19,7 +19,7 @@ ## Bug Fixes and Other Changes * Depends on `tensorflow>=2.21,<2.22`. -* Depends on `tensorflow-data-validation>=1.21.0,<2.0.0`. +* Depends on `tensorflow-data-validation>=1.21.0,<1.22.0`. * Depends on `tensorflow-model-analysis>=0.52.0,<0.53.0`. * Depends on `protobuf>=6.0.0,<7.0.0`. * Added conditional NumPy dependency (`numpy>=1.23.5,<2.0.0` for Python < 3.13 and `numpy>=2.1.0` for Python >= 3.13). diff --git a/setup.py b/setup.py index 1aba3ce..27a0120 100644 --- a/setup.py +++ b/setup.py @@ -40,7 +40,7 @@ def select_constraint(default, nightly=None, git_master=None): REQUIRED_PACKAGES = [ "tensorflow>=2.21,<2.22", "tensorflow-hub>=0.16.1,<1.0.0", - "tensorflow-data-validation>=1.21.0,<2.0.0", + "tensorflow-data-validation>=1.21.0,<1.22.0", "tensorflow-model-analysis>=0.52.0,<0.53.0", "witwidget>=1.4.4,<2", "protobuf>=6.0.0,<7.0.0", From 88dd82a0315d893f163a38a0c3d85b8c9720adc5 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 22:21:41 +0000 Subject: [PATCH 09/11] Keep only Version 0.52.0 release notes in RELEASE.md files for release branch --- RELEASE.md | 523 ------------------ .../RELEASE.md | 470 ---------------- 2 files changed, 993 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index b725cd6..8907e90 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,15 +1,5 @@ -# Current Version (Still in Development) - -## Major Features and Improvements - -## Bug Fixes and Other Changes - -## Breaking Changes - -## Deprecations - # Version 0.52.0 ## Major Features and Improvements @@ -32,516 +22,3 @@ ## Deprecations * N/A - -# Version 0.48.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow>=2.17,<2.18`. -* Depends on `tensorflow-data-validation>=1.17.0,<1.18.0`. -* Depends on `tensorflow-model-analysis>=0.48,<0.49`. -* Depends on `protobuf>=4.21.6,<6.0.0`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.47.0 - -## Major Features and Improvements - - * Add fairness indicator metrics in the third_party library. - -## Bug Fixes and Other Changes - -* Depends on `tensorflow>=2.16,<2.17`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.46.0 - -## Major Features and Improvements - -* Update example model to use Keras models instead of estimators. - -## Bug Fixes and Other Changes - -* N/A - -## Breaking Changes - -* N/A - -## Deprecations - -* Deprecated python 3.8 support - -# Version 0.44.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow>=2.12.0,<2.13`. -* Depends on `tensorflow-data-validation>=1.13.0,<1.14.0`. -* Depends on `tensorflow-model-analysis>=0.44,<0.45`. -* Depends on `protobuf>=3.20.3,<5`. - -## Breaking Changes - -* N/A - -## Deprecations - -* Deprecating python3.7 support. - -# Version 0.43.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow>=2.11,<2.12` -* Depends on `tensorflow-data-validation>=1.11.0,<1.12.0`. -* Depends on `tensorflow-model-analysis>=0.42,<0.43`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.42.0 - -## Major Features and Improvements - -* This is the last version that supports TensorFlow 1.15.x. TF 1.15.x support - will be removed in the next version. Please check the - [TF2 migration guide](https://www.tensorflow.org/guide/migrate) to migrate - to TF2. - -## Bug Fixes and Other Changes - -* N/A -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.41.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow-data-validation>=1.10.0,<1.11.0`. -* Depends on `tensorflow-model-analysis>=0.41,<0.42`. -* Depends on `tensorflow>=1.15.5,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.40.0 - -## Major Features and Improvements - -* Allow counterfactual metrics to be calculated from predictions instead of - only features. -* Add precision and recall to the set of fairness indicators metrics. - -## Bug Fixes and Other Changes - -* Depends on `tensorflow-data-validation>=1.9.0,<1.10.0`. -* Depends on `tensorflow-model-analysis>=0.40,<0.41`. -* Depends on `tensorflow>=1.15.5,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,<3`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.39.0 - -## Major Features and Improvements - -* Allow counterfactual metrics to be calculated from predictions instead of - only features. -* Add precision and recall to the set of fairness indicators metrics. - -## Bug Fixes and Other Changes - -* Depends on `tensorflow-data-validation>=1.8.0,<1.9.0`. -* Depends on `tensorflow-model-analysis>=0.39,<0.40`. -* Depends on `tensorflow>=1.15.5,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.38.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow-data-validation>=1.7.0,<1.8.0`. -* Depends on `tensorflow-model-analysis>=0.38,<0.39`. -* Depends on `tensorflow>=1.15.5,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.37.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Fix Fairness Indicators UI bug with overlapping charts when comparing EvalResults -* Depends on `tensorflow-data-validation>=1.6.0,<1.7.0`. -* Depends on `tensorflow-model-analysis>=0.37,<0.38`. -* Depends on `tensorflow>=1.15.5,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,<3`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.36.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow-data-validation>=1.5.0,<1.6.0`. -* Depends on `tensorflow-model-analysis>=0.36,<0.37`. -* Depends on `tensorflow>=1.15.2,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,<3`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.35.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow-data-validation>=1.4.0,<1.5.0`. -* Depends on `tensorflow-model-analysis>=0.35,<0.36`. - -## Breaking Changes - -* N/A - -## Deprecations - -* Deprecating python 3.6 support. - -# Version 0.34.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow>=1.15.2,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,<3`. -* Depends on `tensorflow-data-validation>=1.3.0,<1.4.0`. -* Depends on `tensorflow-model-analysis>=0.34,<0.35`. - -## Breaking Changes - -* Drop Py2 support. - -## Deprecations - -* N/A - -# Version 0.33.0 - -## Major Features and Improvements - -* Porting Counterfactual Fairness metrics into FI UI. - -## Bug Fixes and Other Changes - -* Improve rendering of HTML stubs for Fairness Indicators UI -* Depends on `tensorflow>=1.15.2,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3`. -* Depends on `protobuf>=3.13,<4`. -* Depends on `tensorflow-data-validation>=1.2.0,<1.3.0`. -* Depends on `tensorflow-model-analysis>=0.33,<0.34`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.30.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow>=1.15.2,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.5.*,<3`. -* Depends on `tensorflow-data-validation>=0.30,<0.31`. -* Depends on `tensorflow-model-analysis>=0.30,<0.31`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.29.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow-data-validation>=0.29,<0.30`. -* Depends on `tensorflow-model-analysis>=0.29,<0.30`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.28.0 - -## Major Features and Improvements - -* In Fairness Indicators UI, sort metrics list to show common metrics first -* For lift, support negative values in bar chart. -* Adding two new metrics - Flip Count and Flip Rate to evaluate Counterfactual - Fairness. -* Add Lift metrics under addons/fairness. -* Porting Lift metrics into FI UI. - -## Bug Fixes and Other Changes - -* Depends on `tensorflow-data-validation>=0.28,<0.29`. -* Depends on `tensorflow-model-analysis>=0.28,<0.29`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.27.0 - -## Major Features and Improvements - -* N/A - -## Bug fixes and other changes - -* Added test cases for DLVM testing. -* Move the util files to a seperate folder. -* Add `tensorflow-hub` as a dependency because it's used inside the - example_model.py. -* Depends on `tensorflow>=1.15.2,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,<3`. -* Depends on `tensorflow-data-validation>=0.27,<0.28`. -* Depends on `tensorflow-model-analysis>=0.27,<0.28`. - -## Breaking changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.26.0 - -## Major Features and Improvements - -* Sorting fairness metrics table rows to keep slices in order with slice drop - down in the UI. - -## Bug fixes and other changes - -* Update fairness_indicators.documentation.examples.util to TensorFlow 2.0. -* Table now displays 3 decimal places instead of 2. -* Fix the bug that metric list won't refresh if the input eval result changed. -* Remove d3-tip dependency. -* Depends on `tensorflow>=1.15.2,!=2.0.*,!=2.1.*,!=2.2.*,!=2.4.*,<3`. -* Depends on `tensorflow-data-validation>=0.26,<0.27`. -* Depends on `tensorflow-model-analysis>=0.26,<0.27`. - -## Breaking changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.25.0 - -## Major Features and Improvements - -* Add workflow buttons to Fairness Indicators UI, providing tutorial on how to - configure metrics and parameters, and how to interpret the results. -* Add metric definitions as tooltips in the metric selector UI -* Removing prefix from metric names in graph titles in UI. -* From this release Fairness Indicators 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 fairness-indicators - ``` - - 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 Fairness Indicators available on PyPI by - running the command `pip install fairness-indicators` . - -## Bug fixes and other changes - -* Update table colors. -* Modify privacy note in Fairness Indicators UI. -* Depends on `tensorflow-data-validation>=0.25,<0.26`. -* Depends on `tensorflow-model-analysis>=0.25,<0.26`. - -## Breaking changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.24.0 - -## Major Features and Improvements - -* Made the Fairness Indicators UI thresholds drop down list sorted. - -## Bug fixes and other changes - -* Fix in the issue where the Sort menu is not hidden when there is no model - comparison. -* Depends on `tensorflow-data-validation>=0.24,<0.25`. -* Depends on `tensorflow-model-analysis>=0.24,<0.25`. - -## Breaking changes - -* N/A - -## Deprecations - -* Deprecated Py3.5 support. - -# Version 0.23.1 - -## Major Features and Improvements - -* N/A - -## Bug fixes and other changes - -* Fix broken import path in Fairness_Indicators_Example_Colab and Fairness_Indicators_on_TF_Hub_Text_Embeddings. - -## Breaking changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.23.0 - -## Major Features and Improvements - -* N/A - -## Bug fixes and other changes - -* Depends on `tensorflow>=1.15.2,!=2.0.*,!=2.1.*,!=2.2.*,<3`. -* Depends on `tensorflow-data-validation>=0.23,<0.24`. -* Depends on `tensorflow-model-analysis>=0.23,<0.24`. - -## Breaking changes - -* N/A - -## Deprecations - -* Deprecating Py2 support. -* Note: We plan to drop py3.5 support in the next release. diff --git a/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md b/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md index 6d53fa3..f27f9c9 100644 --- a/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md +++ b/tensorboard_plugin/tensorboard_plugin_fairness_indicators/RELEASE.md @@ -1,15 +1,5 @@ -# Current Version (Still in Development) - -## Major Features and Improvements - -## Bug Fixes and Other Changes - -## Breaking Changes - -## Deprecations - # Version 0.52.0 ## Major Features and Improvements @@ -32,463 +22,3 @@ ## Deprecations * N/A - -# Version 0.48.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Support `tensorflow>=2.17,<2.18`. -* Depends on `tensorflow-model-analysis>=0.48,<0.49`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.47.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Support `tensorflow>=2.16,<2.17`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.46.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* N/A - -## Breaking Changes - -* N/A - -## Deprecations - -* Deprecated python 3.8 support - -# Version 0.44.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow>=2.12,<2.13`. -* Depends on tensorflow-model-analysis>=0.44,<0.45. -* Depends on `protobuf>=3.20.3,<5`. - -## Breaking Changes - -* N/A - -## Deprecations - -* Deprecating python3.7 support. - -# Version 0.43.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on tensorflow>=2.11,<3. -* Depends on tensorflow-model-analysis>=0.43,<0.44. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.42.0 - -## Major Features and Improvements - -* This is the last version that supports TensorFlow 1.15.x. TF 1.15.x support - will be removed in the next version. Please check the - [TF2 migration guide](https://www.tensorflow.org/guide/migrate) to migrate - to TF2. - -## Bug Fixes and Other Changes - -* Depends on tensorflow>=2.10.0,<3. -* Depends on tensorflow-model-analysis>=0.42,<0.43. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.41.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on tensorflow>=2.9.0,<3. -* Depends on tensorflow-model-analysis>=0.41,<0.42. - -## Breaking Changes - -* N/A -## Deprecations - -* N/A - -# Version 0.40.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on tensorflow>=2.8.0,<3. -* Depends on tensorflow-model-analysis>=0.40,<0.41. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.39.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `Werkzeug<2`. -* Depends on `tensorflow>=2.8.0,<3`. -* Depends on `tensorboard>=2.8.0,<3`. -* Depends on `tensorflow-model-analysis>=0.38,<0.39`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.38.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow>=2.8.0,<3`. -* Depends on `tensorboard>=2.8.0,<3`. -* Depends on `tensorflow-model-analysis>=0.38,<0.39`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.37.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* N/A - -## Breaking Changes - -* Depends on `tensorflow-model-analysis>=0.37,<0.38`. - -## Deprecations - -* N/A - -# Version 0.36.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow>=2.7.0,<3`. -* Depends on `tensorboard>=2.7.0,<3`. -* Depends on `tensorflow-model-analysis>=0.36,<0.37`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.35.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* N/A - -## Breaking Changes - -* Depends on `tensorflow-model-analysis>=0.35,<0.36`. - -## Deprecations - -* Deprecating python3.6 support. - -# Version 0.34.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorboard>=2.5.0,<3`. -* Depends on `tensorflow>=2.6.0,<3`. -* Depends on `tensorflow-model-analysis>=0.34,<0.35`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.33.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorboard>=2.5.0,<3`. -* Depends on `tensorflow>=2.5.0,<3`. -* Depends on `protobuf>=3.13,<4`. -* Depends on `tensorflow-model-analysis>=0.33,<0.34`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.30.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorboard>=2.4.0,!=2.5.*,<3`. -* Depends on `tensorflow>=2.4.0,!=2.5.*,<3`. -* Depends on `tensorflow-model-analysis>=0.30,<0.31`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.29.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow-model-analysis>=0.29,<0.30`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.28.0 - -## Major Features and Improvements - -* N/A - -## Bug Fixes and Other Changes - -* Depends on `tensorflow-model-analysis>=0.28,<0.29`. - -## Breaking Changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.27.0 - -## Major Features and Improvements - -* N/A - -## Bug fixes and other changes - -* Depends on `tensorboard>=2.4.0,<3`. -* Depends on `tensorflow>=2.4.0,<3`. -* Depends on `tensorflow-model-analysis>=0.27,<0.28`. - -## Breaking changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.26.0 - -## Major Features and Improvements - -* N/A - -## Bug fixes and other changes - -* Depends on `tensorboard>=2.3.0,!=2.4.*,<3`. -* Depends on `tensorflow>=2.3.0,!=2.4.*,<3`. -* Depends on `tensorflow-model-analysis>=0.26,<0.27`. - -## Breaking changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.25.0 - -## Major Features and Improvements - -* From this release Tensorboard Plugin 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 tensorboard-plugin-fairness-indicators - ``` - - 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 Tensorboard Plugin available on PyPI by - running the command `pip install tensorboard-plugin-fairness-indicators` . - -## Bug fixes and other changes - -* Adding support for model comparison using dynamic URL in TensorBoard plugin. -* Depends on `tensorflow-model-analysis>=0.25,<0.26`. - -## Breaking changes - -* N/A - -## Deprecations - -* N/A - -# Version 0.24.0 - -## Major Features and Improvements - -* N/A - -## Bug fixes and other changes - -* Fix in the error message while rendering evaluation results in - TensorBoard plugin from evaluation output path provided in the URL. -* Depends on `tensorflow-model-analysis>=0.24,<0.25`. - -## Breaking changes - -* N/A - -## Deprecations - -* Deprecating Py3.5 support. - -# Version 0.23.0 - -## Major Features and Improvements - -* N/A - -## Bug fixes and other changes - -* Depends on `tensorboard>=2.3.0,<3`. -* Depends on `tensorflow>=2.3.0,<3`. -* Depends on `tensorflow-model-analysis>=0.23,<0.24`. -* Adding model comparison support in TensorBoard Plugin. - -## Breaking changes - -* N/A - -## Deprecations - -* Deprecating Py2 support. -* Note: We plan to drop py3.5 support in the next release. From dbc52365cced50ac86d55f05d86de562e6ca7de9 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 22:26:27 +0000 Subject: [PATCH 10/11] Update build workflow to trigger on release/tags and build tensorboard plugin --- .github/workflows/build.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 97660fd..bc45592 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,9 +4,15 @@ on: push: branches: - master + - r* + tags: + - '*' pull_request: branches: - master + - r* + release: + types: [published, created, edited] workflow_dispatch: jobs: @@ -33,8 +39,10 @@ jobs: - name: Build wheels run: | python -m build --wheel --sdist + cd tensorboard_plugin && python -m build --wheel --sdist && cd .. mkdir wheelhouse mv dist/* wheelhouse/ + mv tensorboard_plugin/dist/* wheelhouse/ - name: List and check wheels run: | pip install twine pkginfo>=1.11.0 @@ -49,7 +57,7 @@ jobs: upload_to_pypi: name: Upload to PyPI runs-on: ubuntu-latest - if: (github.event_name == 'release' && startsWith(github.ref, 'refs/tags')) || (github.event_name == 'workflow_dispatch') + if: (github.event_name == 'release') || (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')) || (github.event_name == 'workflow_dispatch') needs: [build] environment: name: pypi @@ -70,6 +78,7 @@ jobs: - name: Upload to PyPI uses: pypa/gh-action-pypi-publish@release/v1.12 with: + password: ${{ secrets.PYPI_API_TOKEN || secrets.PYPI_TOKEN || secrets.PYPI_PASSWORD }} packages_dir: wheels/ repository_url: https://pypi.org/legacy/ verify_metadata: false From 30fcb4b5bcd23db420bb98e9f6cb57a38160bf77 Mon Sep 17 00:00:00 2001 From: Venkata Sai Madhur Karampudi Date: Mon, 6 Jul 2026 22:33:43 +0000 Subject: [PATCH 11/11] Ensure PyPI publishing only triggers when a release is published --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bc45592..d9c6d90 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ on: - master - r* release: - types: [published, created, edited] + types: [published] workflow_dispatch: jobs: @@ -57,7 +57,7 @@ jobs: upload_to_pypi: name: Upload to PyPI runs-on: ubuntu-latest - if: (github.event_name == 'release') || (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')) || (github.event_name == 'workflow_dispatch') + if: (github.event_name == 'release' && github.event.action == 'published') || (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')) || (github.event_name == 'workflow_dispatch') needs: [build] environment: name: pypi