github SeldonIO/seldon-core v1.19.0-rc.1

pre-release2 days ago

Summary

Overview

This release candidate focuses on platform maintenance, security hardening, and ecosystem modernization. The main themes are extensive CVE remediation, a broad upgrade to Python 3.12 across images and tooling, dependency and base image refreshes, CI and workflow improvements, alongside documentation cleanup and migration work. No major new end-user features are introduced, but the release materially improves security posture, test coverage, and long-term maintainability.

Security and CVE Fixes

  • Multiple CVEs addressed across Go, Python, and container images, including the operator, executor, alibi-detect server, python-builder, and core builder images.
  • Go runtime updated to a newer patch release to address known vulnerabilities.
  • Autoscaling dependencies updated to remediate CVEs in the KEDA library.
  • RClone upgraded and base images refreshed to address container-level CVEs.

Dependency and Runtime Upgrades

  • Python upgraded to Python 3.12 across:
    • Prepackaged servers
    • Alibi Detect and Alibi Explain servers
    • Python wrappers
  • Conda base images migrated from Miniconda to Miniforge(OSS).
  • UBI base images aligned and refreshed (UBI 9.7 where applicable).
  • Protobuf, gRPC, Poetry, and other build-time dependencies updated.
  • Kubernetes compatibility testing expanded to include Kubernetes 1.35 (1.23.x to 1.35.x).

Images and Build System

  • SBOM generation added to Docker image builds for improved license and supply-chain visibility.
  • Deprecated GPU-related Docker images for the Python wrapper and both Alibi servers.

Licensing and Compliance

Regeneration and cleanup of license metadata.

Helm, Operator, and Configuration Changes

  • Deprecated analytics Helm chart excluded from build workflows.
  • Keda dependency upgraded to 2.17.3 and forward-compatible with 2.18.3(latest).

Documentation

Documentation was migrated to GitBook. Can be found here.

Deprecations and Cleanup

  • GPU-related files formally deprecated.
  • Several examples and charts removed or disabled.

Backward Compatibility

  • No intentional breaking API changes introduced in this release candidate.
  • Users should validate custom images and notebooks against Python 3.12.
  • Operators upgrading from older releases should review image and base-OS changes.

Upgrade Notes

Python 3.12 Adoption
All core Python components—including prepackaged servers, Alibi Detect/Explain servers, wrappers, notebooks, and E2E tests—now target Python 3.12.

What this means:

  • Wheels or dependencies not yet compatible with Python 3.12 may fail at runtime.
  • Custom inference images built against older Python versions must be rebuilt and tested.

Container Base Image Changes

  • Migration to newer UBI base images across executor, operator, and supporting images.
  • Conda base images switched to Miniforge.
  • RClone and other third-party tools upgraded for security reasons.

Impact:

  • Slight changes in image size and layer composition.
  • Potential differences in OS-level packages.

Licensing and SBOM Changes

  • SBOMs are now generated for Docker images.
  • License metadata has been regenerated and corrected across dependencies.

Deprecated and Removed Components

  • Analytics Helm chart is no longer built.
  • GPU-related files deprecated.
  • OpenVINO references removed (except for deprecated charts).

Impact:

  • Users relying on deprecated components should plan migration.
  • No supported upgrade path for removed experimental artifacts.

Kubernetes Compatibility

  • Operator tests validated against Kubernetes 1.23 to 1.35.
  • No removal of older supported Kubernetes versions announced, but forward compatibility is improved.

Operator
It is primarily a hardening and modernization release, not a feature-driven one.

Autoscaling (KEDA)

  • KEDA was upgraded to align with Go dependencies.
  • While tests pass, clusters running older KEDA installations may behave differently.

Helm Value Drift
Operator config maps were aligned with Helm values.

Installation

Install with Helm:

helm repo add seldon https://storage.googleapis.com/seldon-charts
helm repo update

helm upgrade --install seldon-core-operator seldon/seldon-core-operator \
  --version 1.19.0-rc.1 \
  --namespace seldon-system \
  --create-namespace

Install from the GCS Chart Artifact:

helm upgrade --install seldon-core-operator \
  https://storage.googleapis.com/seldon-charts/seldon-core-operator-1.19.0-rc.1.tgz \
  --namespace seldon-system \
  --create-namespace

Install from a Locally Downloaded Chart (GitHub Release):

  1. Download the chart from helm-charts repository
  2. Install from the local file
helm upgrade --install seldon-core-operator \
  ./seldon-core-operator-1.19.0-rc.1.tgz \
  --namespace seldon-system \
  --create-namespace

⚠️ Important Notes for RC Installation

  • This is a release candidate, not a GA release.
  • Install first in a staging or test cluster.
  • Custom inference images must be rebuilt if they depend on Python < 3.12.

Changelog

  • fix(models): fix model build by @RafalSkolasinski in #5653
  • Update license.yml by @sakoush in #5715
  • Changes to license.yml required for v2 license check by @sakoush in #5722
  • fix(core1/tests): fix TestPrepack.test_mlflow_v2 by updating model to v1.19.0-dev build by @gsunner in #5888
  • Use latest released version in security_tests.yml by @sakoush in #5937
  • fix(docs) Updated the name from v2 to OIP by @Rajakavitha1 in #6030
  • [Update] added a note about deprecation of seldon and tensorflow protocol by @Rajakavitha1 in #6182
  • docs fix: updated the link to the new docs links by @Rajakavitha1 in #6355
  • Update index.rst by @Rajakavitha1 in #6369
  • Update page.html by @Rajakavitha1 in #6372
  • Update index.rst by @Rajakavitha1 in #6416
  • docs: create a scaffolding for Core 1 by @Rajakavitha1 in #6526
  • docs: porting of the contents to docs-gb part 1 by @Rajakavitha1 in #6528
  • docs: gitbook migration by @Rajakavitha1 in #6541
  • docs: migration of the third set of content by @Rajakavitha1 in #6571
  • docs: gitbook migration 4 by @Rajakavitha1 in #6597
  • docs: gitbook migration part 4 by @Rajakavitha1 in #6606
  • docs: gitbook migration reference section by @Rajakavitha1 in #6611
  • docs: image fixes upto inference graphs under configurations by @Rajakavitha1 in #6615
  • docs: images for the notebooks - part 2 by @Rajakavitha1 in #6622
  • docs: fixed relative links by @Rajakavitha1 in #6634
  • docs: relative links few more by @Rajakavitha1 in #6635
  • docs: broken link checker by @Rajakavitha1 in #6628
  • link checker for docs-gb and v2/docs-gb by @monica-seldon in #6657
  • fix: enable link checker on docs-gb for PRs to master and v2 by @monica-seldon in #6664
  • chore(workflows): Remove GH workflow for the old docs, improve current workflow for Gitbook docs by @tyndria in #6883
  • fix(go-dependencies): CVEs by @domsolutions in #6867
  • fix(build): check for CVEs before merge by @domsolutions in #6869
  • fix(pipeline): CVE scan TF serving proxy by @domsolutions in #6897
  • chore(docs): Mistype & link fix for Core 1 docs by @tyndria in #6915
  • chore(python): Upgrade the seldon-core SDK to Python 3.12 by @vtaskow in #6929
  • chore(wrappers): Use Python 3.12 and move to Miniforge Conda in Docker images by @vtaskow in #6930
  • chore(alibi-explain-server): Upgrade to Python 3.12 by @vtaskow in #6938
  • chore(testing/scripts): Align E2E tests with Python 3.12 by @vtaskow in #6939
  • chore(servers): Update the base image of prepackaged servers to use ones with Python 3.12 by @vtaskow in #6940
  • chore(examples): Replace s2i images base to use ones with seldon-core SDK with Python 3.12 by @vtaskow in #6941
  • chore(notebooks): Adjust convertion of a notebook to IPython script by @vtaskow in #6942
  • chore(python,wrappers): Update protobuf version and update RedHat ubi image from 9 to 10 by @vtaskow in #6947
  • revert custom validator changes to fix validator by @domsolutions in #6957
  • fix(tests): add webhook validation when SeldonDeployments created/modified by @domsolutions in #6963
  • fix(conda): [part 2] seldonio/core-builder image rework by @tyndria in #6884
  • chore(images): Downgrade to ubi9.7 for Snyk to pass by @vtaskow in #6968
  • fix(python-builder): [part 1] Replace continuumio/miniconda3 with condaforge/miniforge3 + upgrade to Python 3.12 by @tyndria in #6882
  • chore(alibi-detect-server): [INFRA-1646] Upgrade alibi-detect-server by @tyndria in #6935
  • chore(tests): Fixed running benchmark tests by @tyndria in #6972
  • fix(conda): [part 3] Fix the rest of places where default anaconda channel is used by @tyndria in #6969
  • Update triggers for a few GH workflows by @tyndria in #6978
  • chore(notebooks): [PART 1] Fix notebooks tests flakiness by @tyndria in #6970
  • chore(notebooks): [PART 2] Fix MLFLOW related tests by @tyndria in #6976
  • chore(images): Use ubi 9.7 for Executor, Operator and RClone Docker images by @vtaskow in #6983
  • chore(e2e): Replace chart path to test newer Core 1 versions upgrades by @vtaskow in #6982
  • chore(alibi-detect): Add Dockerignore to prevent copying te tox env from python package by @vtaskow in #6987
  • core(ci): Bump Python and Poetry versions in the Alibi Explain Server CI workflow by @vtaskow in #6988
  • docs(Jenkins): [INFRA-1613] Deprecate Jenkins Classic & X tutorials by @tyndria in #6904
  • chore(models): Remove text-gen-custom-gpt2 model by @tyndria in #6998
  • feat(alibi-detect): Use latest alibi-detect (0.13.0) release for alibi-detect-server by @tyndria in #7011
  • chore(ci): Add workflow for build and push the python-builder image by @vtaskow in #7013
  • chore(ci-snyk): Refactor Snyk workflows to avoid 'no disk space' issues for Snyk by @vtaskow in #7002
  • chore(ci): Fix linting in the seldon_core Python package(mainly) by @vtaskow in #7015
  • chore(operator): Change prepackaged servers tags in tests by @vtaskow in #7020
  • fix(notebooks): Upgraded or marked as untested few notebooks with alibi-detect-server references by @tyndria in #7014
  • chore(notebooks): [PART 3] Update GB docs generated from notebooks by @tyndria in #6977
  • chore[config] Update mlserver images tags in operator configmap by @tyndria in #7024
  • chore(cves) Fixes for latest CVEs by @tyndria in #7003
  • chore(alibi-explain): Deprecate GPU-related files, improve README, resolve CVEs by @vtaskow in #6986
  • chore("release" script): Update release.py script by @tyndria in #7028
  • chore(): Update the XGBoost server by @vtaskow in #7030
  • chore(): Add k8s 1.34(latest) to operator tests. Tests are passing by @vtaskow in #7034
  • chore(docs) Fix merge conflicts after gitbook-bot commit by @tyndria in #7033
  • chore(ci): Remove prep branch from branch conditions by @vtaskow in #7031
  • chore(python): Remove CVEs, reformat notebooks, recreate licenses by @vtaskow in #7037
  • chore(examples): Triage notebooks&docs where s2i base images are used by @tyndria in #7038
  • chore(): Release 1.19.0 prep by @vtaskow in #7036
  • chore(examples): Get rid of all OpenVINO references (except deprecated helm chart) by @tyndria in #7039
  • chore(ci): Update Python version and upload/download artifact actions versions in CI by @vtaskow in #7040
  • chore(helm): Avoid building seldon-core-analytics chart as it's deprecated by @tyndria in #7041
  • chore(images): Update models images as part of the images workflow by @tyndria in #7045
  • chore(cves) Latest CVE fixes (alibi servers, python-builder and executor) images by @tyndria in #7047
  • chore(): Update Operator, Executor and seldon-core Python package licenses by @vtaskow in #7048

Full Changelog: v1.18.2...v1.19.0-rc.1

Don't miss a new seldon-core release

NewReleases is sending notifications on new releases.